Mokse 59 dev#98
Conversation
…ed and aligned get in touch section on contact us
JMG3000
left a comment
There was a problem hiding this comment.
Review
All changes have been reviewed and approved based on the risk assessed.
Status:
Approved
There was a problem hiding this comment.
Pull request overview
This PR updates project tooling/configuration (lint/typecheck scripts, Chakra MCP/CLI integration) and adjusts layout/content on the Contact and Stop The Stigma pages.
Changes:
- Add
typecheckscript, tweaklintscript output routing, bumpnext, and add Chakra MCP/CLI packages. - Refactor sections/layout on
contactandstop-the-stigmapages (new section wrapper, sizing/layout changes). - Move VS Code MCP server config into
.vscode/mcp.jsonand adjust workspace settings; expand.gitignoreto ignore log files.
Reviewed changes
Copilot reviewed 5 out of 7 changed files in this pull request and generated 10 comments.
Show a summary per file
| File | Description |
|---|---|
| package.json | Adds scripts and dependencies for typechecking and Chakra MCP/CLI; bumps Next.js version. |
| package-lock.json | Lockfile updates reflecting new Chakra MCP/CLI dependencies and Next.js bump. |
| app/(Pages)/programs/stop-the-stigma/page.tsx | Reworks “Conference Highlights” section layout and adjusts header height. |
| app/(Pages)/contact/page.tsx | Wraps content in SectionTemplate/VStack and changes card sizing. |
| .vscode/settings.json | Updates workspace settings and ESLint validation configuration. |
| .vscode/mcp.json | Adds MCP server configuration for Chakra UI. |
| .gitignore | Ignores *.log* files. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| "next": "^16.2.4", | ||
| "next-themes": "^0.4.6", |
There was a problem hiding this comment.
next was bumped to 16.2.4, but eslint-config-next is still pinned to 16.2.1 in this repo. Mismatched Next/Eslint config versions can cause rule/plugin incompatibilities; recommend aligning eslint-config-next to the same version as next.
| "lint": "eslint . 2>&1", | ||
| "typecheck": "tsc --noEmit 2>&1" |
There was a problem hiding this comment.
The lint/typecheck scripts redirect stderr to stdout (2>&1). This can make CI log parsing and editor integrations harder, and isn’t needed for normal npm script usage. Consider removing the redirection unless there’s a concrete consumer that requires it.
| "lint": "eslint . 2>&1", | |
| "typecheck": "tsc --noEmit 2>&1" | |
| "lint": "eslint .", | |
| "typecheck": "tsc --noEmit" |
| w={"xxs"} | ||
| h={"xxs"} |
There was a problem hiding this comment.
w={"xxs"} / h={"xxs"} aren’t standard Chakra size tokens (common ones are xs, sm, etc., or numeric values). If the token isn’t defined, these props will resolve to an invalid CSS value and the cards may render with unexpected sizing. Consider using a supported token (e.g., xs) or an explicit size value.
| w={"xxs"} | |
| h={"xxs"} | |
| w={"xs"} | |
| h={"xs"} |
| {/* </SectionTemplate> | ||
|
|
||
| <SectionTemplate> | ||
| <Container | ||
| fluid | ||
| // position="relative" | ||
| // w={"100%"} | ||
| // h={"0vh"} | ||
| // bgImage={`url(${"/assets/stop-the-stigma/stop-stigma-sect1_background.webp"})`} | ||
| // bgSize={"cover"} | ||
| // backgroundPosition={"center"} | ||
| // bgRepeat={"no-repeat"} | ||
| // aria-label={`${"Stop The Stigma Conference"} Image`} | ||
| > | ||
| {/* <AbsoluteCenter | ||
| textAlign="center" | ||
| bg="rgba(0, 0, 0, 0.4)" | ||
| w={"100%"} | ||
| h={"100%"} | ||
| alignItems={"center"} | ||
| > */} | ||
| <Flex gapX={24} p={20}> | ||
| <Heading as={"h2"} size={'5xl'}> | ||
| Conference Highlights | ||
| </Heading> | ||
| <SectionTemplate> */} | ||
| <Container fluid height={"100"} h={"100"} bgColor={"midnightblue"} color={"white"} > |
There was a problem hiding this comment.
There’s a commented-out </SectionTemplate> / <SectionTemplate> block in the middle of this JSX. Leaving commented structural tags makes the section boundaries hard to reason about and increases the chance of accidental nesting bugs later. Prefer either deleting the old markup or actually closing/opening SectionTemplate properly without comments.
| Conference Highlights | ||
| </Heading> | ||
| <SectionTemplate> */} | ||
| <Container fluid height={"100"} h={"100"} bgColor={"midnightblue"} color={"white"} > |
There was a problem hiding this comment.
height={"100"} / h={"100"} are string values without units. Unless "100" is a defined design token, this becomes invalid CSS and the container height won’t apply as intended. Use a number (height={100} for px) or a unit-bearing string like "100%" / "100vh".
| <Container fluid height={"100"} h={"100"} bgColor={"midnightblue"} color={"white"} > | |
| <Container fluid h={"100%"} bgColor={"midnightblue"} color={"white"} > |
| "@chakra-ui/react": "^3.34.0", | ||
| "@chakra-ui/react-mcp": "^2.1.1", |
There was a problem hiding this comment.
@chakra-ui/react-mcp looks like a developer tool (it pulls in server-side deps like express). Keeping it under dependencies ships it to production installs and bloats/expands runtime surface area. Consider moving it to devDependencies (and regenerating the lockfile) unless it is required at runtime.
| } from "@/components/page-builder/template"; | ||
| import { Icon } from "@/components/ui/icons/icon"; | ||
| import { poppins } from "@/components/ui/fonts"; | ||
| import { Section } from "lucide-react"; |
There was a problem hiding this comment.
Section is imported from lucide-react but never used in this file. This will fail lint/typecheck in most configurations; remove the unused import.
| import { Section } from "lucide-react"; |
| </Heading> | ||
|
|
||
| <VStack gapY={16} > | ||
| <SimpleGrid columns={2} gap="75px" mb="20" w="40vw" textStyle={"lg"} > |
There was a problem hiding this comment.
The highlights grid is now hard-coded to columns={2} with w="40vw". This removes the previous responsive behavior and will likely overflow or become unreadable on smaller viewports. Consider restoring responsive props (e.g., columns={{ base: 1, md: 2 }} and a responsive width) so the section remains usable on mobile/tablet.
| <SimpleGrid columns={2} gap="75px" mb="20" w="40vw" textStyle={"lg"} > | |
| <SimpleGrid | |
| columns={{ base: 1, md: 2 }} | |
| gap={{ base: "6", md: "10", lg: "75px" }} | |
| mb="20" | |
| w={{ base: "full", lg: "40vw" }} | |
| textStyle={"lg"} | |
| > |
| } | ||
| }, | ||
| "typescript.tsdk": "node_modules/typescript/lib" | ||
| "typescript.tsdk": "node_modules/typescript/lib", // i get this error: This setting is deprecated. Use js/ts.tsdk.path instead. |
There was a problem hiding this comment.
This keeps the deprecated typescript.tsdk setting (and an inline comment). Since the comment indicates the setting is deprecated, it’d be better to switch to the recommended key (js/ts.tsdk.path, per the warning) and remove the inline note so the file stays clean and future-proof.
| "typescript.tsdk": "node_modules/typescript/lib", // i get this error: This setting is deprecated. Use js/ts.tsdk.path instead. | |
| "js/ts.tsdk.path": "node_modules/typescript/lib", |
| <SectionTemplate > | ||
| <VStack justify={"center"} align={"center"} gap={4} mb={10}> | ||
| <Heading as={"h2"}>Get in Touch</Heading> |
There was a problem hiding this comment.
SectionTemplate always renders a section heading/description container even when title/description are undefined (it will output an empty <h2>). Since this usage doesn’t pass title/description, it may introduce extra blank vertical space / empty heading semantics on the page. Consider passing a title (and moving the existing “Get in Touch” heading into it) or using a simpler wrapper component here.
No description provided.