Mokse 24 home page#96
Conversation
…-footer Remove unused "Home" link from footer component
-WARN this is a mockup, official terms needed.
…plate and adjusting SectionTemplate structure
…ss hydration warning in layout
…usting layout structure
…s-and-Conditions-page Add Terms and Conditions page with structured content and templates
…ed-in-footer Added club recognition to footer with link to club website
…n-on-the-home Mokse 20 update donate button on the home
Mokse 48 footer component
Add Programs page and enhance Services page layout - Created a new Programs page with a header template and introductory text. - Updated Services page layout to improve structure and added HStack for better alignment of support options. - Modified RootLayout to suppress hydration warnings. - Enhanced Navbar links with badges for new sections.
…MokseWebsite into MOKSE-24-Home-Page
There was a problem hiding this comment.
Pull request overview
Updates the Mokse site’s home/services experience and introduces new top-level pages by adjusting service/support card behavior, navigation badges, and header layout flexibility.
Changes:
- Refactors Services “support options” cards/data to remove image/link fields and updates service CTA links.
- Enhances
HeaderTemplatewith configurable grid span/width for title positioning and adds “New” badges in the navbar. - Adds new
ProgramsandTerms and Conditionspages; updates the home-page Donate CTA and root layout hydration handling.
Reviewed changes
Copilot reviewed 11 out of 11 changed files in this pull request and generated 11 comments.
Show a summary per file
| File | Description |
|---|---|
data/services.ts |
Updates service/support option data and links; removes support option media/link fields. |
components/services/support-card.tsx |
Simplifies SupportCard rendering (icon + text) and comments out image/link support. |
components/services/service-card.tsx |
Tweaks service card icon/link rendering and layout. |
components/page-builder/template.tsx |
Adds new header layout controls via grid span/width props. |
components/common/navbar.tsx |
Wraps nav items to properly float “New” badges over text. |
components/common/footer.tsx |
Updates footer attribution link text/content. |
app/page.tsx |
Changes Donate button destination to PayPal. |
app/layout.tsx |
Adds suppressHydrationWarning on <html>. |
app/(Pages)/terms/page.tsx |
Adds a new Terms and Conditions page. |
app/(Pages)/services/page.tsx |
Replaces the support options grid with a wrapping centered HStack layout. |
app/(Pages)/programs/page.tsx |
Adds a new Programs landing page using HeaderTemplate. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| import { Card, Image as ChakraImage, Float, Heading } from "@chakra-ui/react"; | ||
| import { Link as ChakraLink, SimpleGrid } from "@chakra-ui/react"; | ||
|
|
There was a problem hiding this comment.
SimpleGrid is imported but unused in this component. This will be reported by the Next.js TypeScript ESLint preset; remove the unused import (or use it if intended).
| import { Card, Image as ChakraImage, Heading, Text } from "@chakra-ui/react"; | ||
| import { Link as ChakraLink, SimpleGrid } from "@chakra-ui/react"; |
There was a problem hiding this comment.
ChakraImage, ChakraLink, and SimpleGrid are currently unused because the image/link sections are commented out. Please remove unused imports (or restore usage) to avoid lint failures.
| title: string; | ||
| description: string; | ||
| image: string; | ||
| imageAlt: string; | ||
| iconLink: string; | ||
| // image: string; | ||
| // imageAlt: string; | ||
| // iconLink: string; |
There was a problem hiding this comment.
SupportCardProps keeps removed fields as commented-out lines. This makes the component contract ambiguous; prefer deleting these fields entirely or reintroducing them as optional, typed props if they’re still part of the intended UI.
| description, | ||
| image, | ||
| imageAlt, | ||
| iconLink, | ||
| // image, | ||
| // imageAlt, | ||
| // iconLink, |
There was a problem hiding this comment.
The component parameter list also contains commented-out props. Keeping dead/commented code here makes it harder to see what the component actually supports; please remove the commented parameters (or re-enable the feature and update types/data accordingly).
| title: string; | ||
| description: string; | ||
| image: string; | ||
| imageAlt: string; | ||
| iconLink: string; | ||
| // image: string; | ||
| // imageAlt: string; | ||
| // iconLink: string; |
There was a problem hiding this comment.
SupportOption has its removed fields left in as commented-out properties. Prefer removing these lines or modeling them as optional properties (e.g., image?: string) so the type accurately reflects what supportOptions can contain.
| import { services, supportOptions, faqItems } from "../../../data/services"; | ||
| import { Link as ChakraLink, SimpleGrid } from "@chakra-ui/react"; | ||
| import { Link as ChakraLink, HStack, SimpleGrid } from "@chakra-ui/react"; |
There was a problem hiding this comment.
faqItems and ChakraLink are imported but unused (FaqItem pulls faqItems internally). Please remove unused imports to avoid lint failures.
| export function HeaderTemplate({ | ||
| title, | ||
| titleAlignment = 1, | ||
| titleLocation = 75, | ||
| image, |
There was a problem hiding this comment.
The new titleAlignment / titleLocation names are misleading: they represent a grid column span and a width percentage, not alignment/location in the typical sense. Consider renaming to something like titleColSpan / titleWidthPercent to make call sites clearer.
| <SimpleGrid columns={2} gap={6}> | ||
| <VStack direction={direction} w={"75%"} pl={16}> | ||
| <Heading as={"h1"} p={2} alignItems={"left"}> | ||
| <Text | ||
| textStyle={"7xl"} | ||
| className={poppins.className} | ||
| // textAlign={"start"} | ||
| textTransform={"capitalize"} | ||
| overflow={"hidden"} | ||
| wordBreak={"none"} | ||
| verticalAlign={"baseline"} | ||
| _light={{ color: "white" }} | ||
| > | ||
| {title} | ||
| </Text> | ||
| </Heading> | ||
| <Container fluid> | ||
| <Text _light={{ color: "white" }}>{description}</Text> | ||
| </Container> | ||
| </VStack> | ||
| <GridItem colSpan={titleAlignment}> | ||
| <VStack direction={direction} w={`${titleLocation}%`} pl={16} > | ||
| <Heading as={"h1"} p={2} alignItems={"center"}> |
There was a problem hiding this comment.
titleAlignment is passed directly to GridItem colSpan while SimpleGrid is hard-coded to columns={2}. To prevent invalid layouts, constrain/validate this prop (e.g., type it as 1 | 2, or clamp values) so it can’t exceed the grid’s column count.
|
|
||
| import { IconName } from "../ui/icons/icon-registry"; | ||
| import { Icon } from "../ui/icons/icon"; | ||
| import { Card, Image as ChakraImage, Heading } from "@chakra-ui/react"; | ||
| import { Card, Image as ChakraImage, Heading, Text } from "@chakra-ui/react"; | ||
| import { Link as ChakraLink, SimpleGrid } from "@chakra-ui/react"; |
There was a problem hiding this comment.
This import section has multiple unused imports now that the image/link portions of SupportCard are commented out (including Image/NextLink above, and some Chakra imports here). With the Next.js TypeScript ESLint preset, unused imports typically fail linting; please remove the unused imports or restore usage.
| import SupportCard from "../../../components/services/support-card"; | ||
| import FaqItem from "../../../components/services/faq-item"; | ||
| import { services, supportOptions, faqItems } from "../../../data/services"; | ||
| import { Link as ChakraLink, SimpleGrid } from "@chakra-ui/react"; | ||
| import { Link as ChakraLink, HStack, SimpleGrid } from "@chakra-ui/react"; |
There was a problem hiding this comment.
There are unused imports at the top of this file (e.g., Image and NextLink above) after the recent refactor. With the Next.js TypeScript ESLint preset, unused imports typically fail linting; please remove them or reintroduce usage.
No description provided.