Add Terms and Conditions page with structured content and templates#87
Conversation
-WARN this is a mockup, official terms needed.
There was a problem hiding this comment.
Pull request overview
Adds a new /terms route to present Terms and Conditions content using the existing Page Builder template components.
Changes:
- Introduces
app/(Pages)/terms/page.tsxwith a Terms and Conditions page layout. - Uses
PageBuilder,HeaderTemplate,BodyTemplate, andSectionTemplateto structure the page. - Adds structured terms content including conduct, IP, liability, and contact info.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| "use client"; | ||
| import { | ||
| BodyTemplate, | ||
| HeaderTemplate, | ||
| PageBuilder, | ||
| SectionTemplate, | ||
| } from "@/components/page-builder/template"; |
There was a problem hiding this comment.
This page is marked as a client component ("use client"), but it only renders static content and server-compatible templates (other pages like app/(Pages)/services/page.tsx use these templates without "use client"). Consider removing "use client" here to avoid unnecessarily shipping this page’s markup to the client bundle.
| <HeaderTemplate | ||
| title=" " | ||
| description="" imageHeight={"10vh"} | ||
| /> |
There was a problem hiding this comment.
HeaderTemplate is rendered with title=" " and no image/imageLabel. This produces an empty <h1> (bad for accessibility/SEO) and results in bgImage being set to url(undefined) and aria-label becoming "undefined Image" (see HeaderTemplate implementation). Prefer omitting HeaderTemplate entirely for this page, or provide a real title plus a valid image and imageLabel.
| > </SectionTemplate> | ||
| <div className="prose prose-lg"> | ||
| <h1>Terms and Conditions</h1> | ||
| <p> | ||
| Welcome to Mokse! These terms and conditions outline the rules and | ||
| regulations for the use of our website and services. By accessing or | ||
| using our website, you agree to be bound by these terms. If you do | ||
| not agree with any part of these terms, please do not use our | ||
| website. | ||
| </p> | ||
| <h2>1. Use of Our Services</h2> | ||
| <p> | ||
| You must be at least 18 years old to use our services. You are | ||
| responsible for maintaining the confidentiality of your account and | ||
| password, and for restricting access to your computer. You agree to | ||
| accept responsibility for all activities that occur under your | ||
| account or password. | ||
| </p> | ||
| <h2>2. Intellectual Property</h2> | ||
| <p> | ||
| All content on our website, including but not limited to text, | ||
| graphics, logos, images, and software, is the property of Mokse or | ||
| its content suppliers and is protected by international copyright | ||
| laws. You may not reproduce, distribute, modify, or create | ||
| derivative works from any content on our website without our prior | ||
| written consent. | ||
| </p> | ||
| <h2>3. User Conduct</h2> | ||
| <p> | ||
| You agree not to use our website for any unlawful purpose or in any | ||
| way that could damage, disable, overburden, or impair our servers or | ||
| networks. You also agree not to interfere with any other party's use | ||
| and enjoyment of our website. | ||
| </p> | ||
| <h2>4. Limitation of Liability</h2> | ||
| <p> | ||
| In no event shall Mokse be liable for any direct, indirect, | ||
| incidental, special, consequential, or punitive damages arising out | ||
| of or in connection with your use of our website or services. | ||
| </p> | ||
| <h2>5. Changes to Terms</h2> | ||
| <p> | ||
| We reserve the right to modify these terms and conditions at any | ||
| time. Any changes will be effective immediately upon posting on our | ||
| website. Your continued use of our website after any changes | ||
| constitutes your acceptance of the new terms. | ||
| </p> | ||
| <h2>6. Contact Us</h2> | ||
| <p> | ||
| If you have any questions about these terms and conditions, please | ||
| contact us at <a href="mailto:info@mokse.org">info@mokse.org</a>. | ||
| </p> | ||
| </div> |
There was a problem hiding this comment.
SectionTemplate requires children, but it’s being used with only a whitespace child (> </SectionTemplate>). This makes the layout harder to reason about and separates the section heading/description from the actual terms content below. Either move the terms content inside SectionTemplate (as its children) or remove SectionTemplate and let the main content control headings/structure.
| > </SectionTemplate> | |
| <div className="prose prose-lg"> | |
| <h1>Terms and Conditions</h1> | |
| <p> | |
| Welcome to Mokse! These terms and conditions outline the rules and | |
| regulations for the use of our website and services. By accessing or | |
| using our website, you agree to be bound by these terms. If you do | |
| not agree with any part of these terms, please do not use our | |
| website. | |
| </p> | |
| <h2>1. Use of Our Services</h2> | |
| <p> | |
| You must be at least 18 years old to use our services. You are | |
| responsible for maintaining the confidentiality of your account and | |
| password, and for restricting access to your computer. You agree to | |
| accept responsibility for all activities that occur under your | |
| account or password. | |
| </p> | |
| <h2>2. Intellectual Property</h2> | |
| <p> | |
| All content on our website, including but not limited to text, | |
| graphics, logos, images, and software, is the property of Mokse or | |
| its content suppliers and is protected by international copyright | |
| laws. You may not reproduce, distribute, modify, or create | |
| derivative works from any content on our website without our prior | |
| written consent. | |
| </p> | |
| <h2>3. User Conduct</h2> | |
| <p> | |
| You agree not to use our website for any unlawful purpose or in any | |
| way that could damage, disable, overburden, or impair our servers or | |
| networks. You also agree not to interfere with any other party's use | |
| and enjoyment of our website. | |
| </p> | |
| <h2>4. Limitation of Liability</h2> | |
| <p> | |
| In no event shall Mokse be liable for any direct, indirect, | |
| incidental, special, consequential, or punitive damages arising out | |
| of or in connection with your use of our website or services. | |
| </p> | |
| <h2>5. Changes to Terms</h2> | |
| <p> | |
| We reserve the right to modify these terms and conditions at any | |
| time. Any changes will be effective immediately upon posting on our | |
| website. Your continued use of our website after any changes | |
| constitutes your acceptance of the new terms. | |
| </p> | |
| <h2>6. Contact Us</h2> | |
| <p> | |
| If you have any questions about these terms and conditions, please | |
| contact us at <a href="mailto:info@mokse.org">info@mokse.org</a>. | |
| </p> | |
| </div> | |
| > | |
| <div className="prose prose-lg"> | |
| <h1>Terms and Conditions</h1> | |
| <p> | |
| Welcome to Mokse! These terms and conditions outline the rules and | |
| regulations for the use of our website and services. By accessing or | |
| using our website, you agree to be bound by these terms. If you do | |
| not agree with any part of these terms, please do not use our | |
| website. | |
| </p> | |
| <h2>1. Use of Our Services</h2> | |
| <p> | |
| You must be at least 18 years old to use our services. You are | |
| responsible for maintaining the confidentiality of your account and | |
| password, and for restricting access to your computer. You agree to | |
| accept responsibility for all activities that occur under your | |
| account or password. | |
| </p> | |
| <h2>2. Intellectual Property</h2> | |
| <p> | |
| All content on our website, including but not limited to text, | |
| graphics, logos, images, and software, is the property of Mokse or | |
| its content suppliers and is protected by international copyright | |
| laws. You may not reproduce, distribute, modify, or create | |
| derivative works from any content on our website without our prior | |
| written consent. | |
| </p> | |
| <h2>3. User Conduct</h2> | |
| <p> | |
| You agree not to use our website for any unlawful purpose or in any | |
| way that could damage, disable, overburden, or impair our servers or | |
| networks. You also agree not to interfere with any other party's use | |
| and enjoyment of our website. | |
| </p> | |
| <h2>4. Limitation of Liability</h2> | |
| <p> | |
| In no event shall Mokse be liable for any direct, indirect, | |
| incidental, special, consequential, or punitive damages arising out | |
| of or in connection with your use of our website or services. | |
| </p> | |
| <h2>5. Changes to Terms</h2> | |
| <p> | |
| We reserve the right to modify these terms and conditions at any | |
| time. Any changes will be effective immediately upon posting on our | |
| website. Your continued use of our website after any changes | |
| constitutes your acceptance of the new terms. | |
| </p> | |
| <h2>6. Contact Us</h2> | |
| <p> | |
| If you have any questions about these terms and conditions, please | |
| contact us at <a href="mailto:info@mokse.org">info@mokse.org</a>. | |
| </p> | |
| </div> | |
| </SectionTemplate> |
| title="Terms and Conditions" | ||
| description="Read our terms and conditions to understand the rules and guidelines for using our website and services." | ||
| > </SectionTemplate> | ||
| <div className="prose prose-lg"> |
There was a problem hiding this comment.
The prose prose-lg classes are from Tailwind Typography, but this repo doesn’t include @tailwindcss/typography (not present in package.json/package-lock.json). As-is, these classes won’t apply any styling. Either add/configure the typography plugin, or replace this with Chakra typography components / existing styled templates so the page renders as intended.
| <div className="prose prose-lg"> | |
| <div className="text-gray-900 text-base lg:text-lg space-y-4"> |
…plate and adjusting SectionTemplate structure
…ss hydration warning in layout
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 2 out of 2 changed files in this pull request and generated 5 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| <SectionTemplate | ||
| title="Terms and Conditions" | ||
| description="Read our terms and conditions to understand the rules and guidelines for using our website and services." | ||
| ><div className="prose prose-lg"> | ||
| <h1>Terms and Conditions</h1> | ||
| <p> | ||
| Welcome to Mokse! These terms and conditions outline the rules and | ||
| regulations for the use of our website and services. By accessing or | ||
| using our website, you agree to be bound by these terms. If you do | ||
| not agree with any part of these terms, please do not use our | ||
| website. | ||
| </p> | ||
| <h2>1. Use of Our Services</h2> | ||
| <p> | ||
| You must be at least 18 years old to use our services. You are |
There was a problem hiding this comment.
The page heading is rendered twice and with an invalid heading order: SectionTemplate already renders the title as an h2, but the children start with an h1 (and then additional h2s). This hurts accessibility/SEO; choose a single page-level h1 (e.g., via HeaderTemplate or making the template heading h1) and keep subsequent sections as h2/h3 in descending order.
| import { | ||
| BodyTemplate, | ||
| HeaderTemplate, | ||
| PageBuilder, | ||
| SectionTemplate, | ||
| } from "@/components/page-builder/template"; | ||
| import { Box } from "@chakra-ui/react"; |
There was a problem hiding this comment.
HeaderTemplate is imported but not used (the only reference is inside a commented-out block). This will trip linting/TS unused-import checks; either remove the import or render HeaderTemplate for the page header.
| {/* | ||
| * NEEDS to resize with "block height" param. | ||
| <HeaderTemplate/> */} |
There was a problem hiding this comment.
Please avoid committing commented-out JSX/TODO blocks in page components. Either implement the intended HeaderTemplate usage (with the needed sizing param) or remove this commented section to keep the page maintainable.
| {/* | |
| * NEEDS to resize with "block height" param. | |
| <HeaderTemplate/> */} |
| import { Box } from "@chakra-ui/react"; | ||
|
|
||
| export default function Page() { | ||
| return ( | ||
| <PageBuilder> | ||
| {/* | ||
| * NEEDS to resize with "block height" param. | ||
| <HeaderTemplate/> */} | ||
| <BodyTemplate> | ||
| <Box height={"10vh"}/> |
There was a problem hiding this comment.
Using a fixed 10vh spacer Box is a brittle layout hack (it will vary by viewport and may not match the navbar height). Prefer using the existing HeaderTemplate pattern (as other pages do) or apply a consistent top padding/margin that matches the navbar height/token.
| import { Box } from "@chakra-ui/react"; | |
| export default function Page() { | |
| return ( | |
| <PageBuilder> | |
| {/* | |
| * NEEDS to resize with "block height" param. | |
| <HeaderTemplate/> */} | |
| <BodyTemplate> | |
| <Box height={"10vh"}/> | |
| export default function Page() { | |
| return ( | |
| <PageBuilder> | |
| <HeaderTemplate /> | |
| <BodyTemplate> |
| ><div className="prose prose-lg"> | ||
| <h1>Terms and Conditions</h1> |
There was a problem hiding this comment.
prose / prose-lg classes won’t have any effect in this repo because Tailwind Typography isn’t configured (no @tailwindcss/typography dependency/plugin and globals only @import "tailwindcss"). Either add/configure the typography plugin or style this content with Chakra components / existing design tokens so it renders as intended.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| <Box height={"10vh"}/> | ||
| <SectionTemplate | ||
| title="Terms and Conditions" | ||
| description="Read our terms and conditions to understand the rules and guidelines for using our website and services." | ||
| ><div className="text-base lg:text-lg space-y-4"> | ||
| <p> | ||
| Welcome to Mokse! These terms and conditions outline the rules and | ||
| regulations for the use of our website and services. By accessing or | ||
| using our website, you agree to be bound by these terms. If you do | ||
| not agree with any part of these terms, please do not use our | ||
| website. | ||
| </p> | ||
| <h2>1. Use of Our Services</h2> | ||
| <p> | ||
| You must be at least 18 years old to use our services. You are | ||
| responsible for maintaining the confidentiality of your account and | ||
| password, and for restricting access to your computer. You agree to | ||
| accept responsibility for all activities that occur under your | ||
| account or password. | ||
| </p> | ||
| <h2>2. Intellectual Property</h2> | ||
| <p> | ||
| All content on our website, including but not limited to text, | ||
| graphics, logos, images, and software, is the property of Mokse or | ||
| its content suppliers and is protected by international copyright | ||
| laws. You may not reproduce, distribute, modify, or create | ||
| derivative works from any content on our website without our prior | ||
| written consent. | ||
| </p> | ||
| <h2>3. User Conduct</h2> | ||
| <p> | ||
| You agree not to use our website for any unlawful purpose or in any | ||
| way that could damage, disable, overburden, or impair our servers or | ||
| networks. You also agree not to interfere with any other party's use | ||
| and enjoyment of our website. | ||
| </p> | ||
| <h2>4. Limitation of Liability</h2> | ||
| <p> | ||
| In no event shall Mokse be liable for any direct, indirect, | ||
| incidental, special, consequential, or punitive damages arising out | ||
| of or in connection with your use of our website or services. | ||
| </p> | ||
| <h2>5. Changes to Terms</h2> | ||
| <p> | ||
| We reserve the right to modify these terms and conditions at any | ||
| time. Any changes will be effective immediately upon posting on our | ||
| website. Your continued use of our website after any changes | ||
| constitutes your acceptance of the new terms. | ||
| </p> | ||
| <h2>6. Contact Us</h2> | ||
| <p> | ||
| If you have any questions about these terms and conditions, please | ||
| contact us at <a href="mailto:info@mokse.org">info@mokse.org</a>. | ||
| </p> | ||
| </div></SectionTemplate> | ||
|
|
There was a problem hiding this comment.
The 10vh spacer (<Box height={"10vh"} />) is a brittle layout hack (varies widely by device and can create excessive whitespace). Prefer using consistent spacing via the template/layout (e.g., padding/margin on BodyTemplate / SectionTemplate, or a theme spacing token) so the page aligns predictably with the navbar/footer across breakpoints.
| <Box height={"10vh"}/> | |
| <SectionTemplate | |
| title="Terms and Conditions" | |
| description="Read our terms and conditions to understand the rules and guidelines for using our website and services." | |
| ><div className="text-base lg:text-lg space-y-4"> | |
| <p> | |
| Welcome to Mokse! These terms and conditions outline the rules and | |
| regulations for the use of our website and services. By accessing or | |
| using our website, you agree to be bound by these terms. If you do | |
| not agree with any part of these terms, please do not use our | |
| website. | |
| </p> | |
| <h2>1. Use of Our Services</h2> | |
| <p> | |
| You must be at least 18 years old to use our services. You are | |
| responsible for maintaining the confidentiality of your account and | |
| password, and for restricting access to your computer. You agree to | |
| accept responsibility for all activities that occur under your | |
| account or password. | |
| </p> | |
| <h2>2. Intellectual Property</h2> | |
| <p> | |
| All content on our website, including but not limited to text, | |
| graphics, logos, images, and software, is the property of Mokse or | |
| its content suppliers and is protected by international copyright | |
| laws. You may not reproduce, distribute, modify, or create | |
| derivative works from any content on our website without our prior | |
| written consent. | |
| </p> | |
| <h2>3. User Conduct</h2> | |
| <p> | |
| You agree not to use our website for any unlawful purpose or in any | |
| way that could damage, disable, overburden, or impair our servers or | |
| networks. You also agree not to interfere with any other party's use | |
| and enjoyment of our website. | |
| </p> | |
| <h2>4. Limitation of Liability</h2> | |
| <p> | |
| In no event shall Mokse be liable for any direct, indirect, | |
| incidental, special, consequential, or punitive damages arising out | |
| of or in connection with your use of our website or services. | |
| </p> | |
| <h2>5. Changes to Terms</h2> | |
| <p> | |
| We reserve the right to modify these terms and conditions at any | |
| time. Any changes will be effective immediately upon posting on our | |
| website. Your continued use of our website after any changes | |
| constitutes your acceptance of the new terms. | |
| </p> | |
| <h2>6. Contact Us</h2> | |
| <p> | |
| If you have any questions about these terms and conditions, please | |
| contact us at <a href="mailto:info@mokse.org">info@mokse.org</a>. | |
| </p> | |
| </div></SectionTemplate> | |
| <Box mt={16}> | |
| <SectionTemplate | |
| title="Terms and Conditions" | |
| description="Read our terms and conditions to understand the rules and guidelines for using our website and services." | |
| ><div className="text-base lg:text-lg space-y-4"> | |
| <p> | |
| Welcome to Mokse! These terms and conditions outline the rules and | |
| regulations for the use of our website and services. By accessing or | |
| using our website, you agree to be bound by these terms. If you do | |
| not agree with any part of these terms, please do not use our | |
| website. | |
| </p> | |
| <h2>1. Use of Our Services</h2> | |
| <p> | |
| You must be at least 18 years old to use our services. You are | |
| responsible for maintaining the confidentiality of your account and | |
| password, and for restricting access to your computer. You agree to | |
| accept responsibility for all activities that occur under your | |
| account or password. | |
| </p> | |
| <h2>2. Intellectual Property</h2> | |
| <p> | |
| All content on our website, including but not limited to text, | |
| graphics, logos, images, and software, is the property of Mokse or | |
| its content suppliers and is protected by international copyright | |
| laws. You may not reproduce, distribute, modify, or create | |
| derivative works from any content on our website without our prior | |
| written consent. | |
| </p> | |
| <h2>3. User Conduct</h2> | |
| <p> | |
| You agree not to use our website for any unlawful purpose or in any | |
| way that could damage, disable, overburden, or impair our servers or | |
| networks. You also agree not to interfere with any other party's use | |
| and enjoyment of our website. | |
| </p> | |
| <h2>4. Limitation of Liability</h2> | |
| <p> | |
| In no event shall Mokse be liable for any direct, indirect, | |
| incidental, special, consequential, or punitive damages arising out | |
| of or in connection with your use of our website or services. | |
| </p> | |
| <h2>5. Changes to Terms</h2> | |
| <p> | |
| We reserve the right to modify these terms and conditions at any | |
| time. Any changes will be effective immediately upon posting on our | |
| website. Your continued use of our website after any changes | |
| constitutes your acceptance of the new terms. | |
| </p> | |
| <h2>6. Contact Us</h2> | |
| <p> | |
| If you have any questions about these terms and conditions, please | |
| contact us at <a href="mailto:info@mokse.org">info@mokse.org</a>. | |
| </p> | |
| </div></SectionTemplate> | |
| </Box> |
| <h2>1. Use of Our Services</h2> | ||
| <p> | ||
| You must be at least 18 years old to use our services. You are |
There was a problem hiding this comment.
SectionTemplate already renders the section title as an h2. Using additional h2 elements for the numbered subsections creates an invalid heading hierarchy for assistive tech. Consider making these subsection headings h3 (or render them via Chakra Heading with as="h3") so the page has a single h2 for the section and nested headings beneath it.
| } from "@/components/page-builder/template"; | ||
| import { Box } from "@chakra-ui/react"; | ||
|
|
||
| export default function Page() { |
There was a problem hiding this comment.
The default export component name Page is very generic and makes React DevTools and stack traces harder to read. Consider renaming it to something specific like TermsPage (or similar) to match the convention used by other route components (e.g., AboutUs, Contact).
| export default function Page() { | |
| export default function TermsPage() { |
This pull request introduces a new Terms and Conditions page to the application. The page uses the existing page builder templates for consistent layout and includes detailed content outlining the website's rules, user responsibilities, intellectual property, user conduct, liability limitations, and contact information.
New page addition:
Terms and Conditionspage atapp/(Pages)/terms/page.tsxusing thePageBuilder,HeaderTemplate,BodyTemplate, andSectionTemplatecomponents, and provided comprehensive terms and conditions content for users.-WARN this is a mockup, official terms needed.