Skip to content

xTDH info page#1637

Merged
GelatoGenesis merged 2 commits intomainfrom
b-17651952663
Dec 8, 2025
Merged

xTDH info page#1637
GelatoGenesis merged 2 commits intomainfrom
b-17651952663

Conversation

@GelatoGenesis
Copy link
Copy Markdown
Collaborator

@GelatoGenesis GelatoGenesis commented Dec 8, 2025

Summary by CodeRabbit

Release Notes

  • New Features
    • Added a new informational page about xTDH in the Network section, covering production mechanics, grant reception and distribution, daily rate calculations, ownership boundaries, and practical examples.
    • Added "xTDH" navigation link in the sidebar's Network section for easy access to this new page.

✏️ Tip: You can customize this high-level summary in your review settings.

Signed-off-by: GelatoGenesis <tarmokalling@gmail.com>
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Dec 8, 2025

Walkthrough

A new informational page about xTDH has been added to the network section. The implementation includes a client-side component with static content, a Next.js page wrapper with metadata generation, and a sidebar navigation link.

Changes

Cohort / File(s) Summary
xTDH Page Components
app/network/xtdh/page.client.tsx, app/network/xtdh/page.tsx
New client-side component rendering static xTDH information with sections on production, grants, daily rates, and ownership. Server-side wrapper page exports metadata generation and renders the client component.
Navigation
hooks/useSidebarSections.ts
Added "xTDH" sidebar item with route /network/xtdh to Network section.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~5–10 minutes

  • Simple addition of static informational page content
  • Straightforward metadata generation following existing patterns
  • Minimal state management (only TitleContext hook)
  • No complex logic or dynamic data fetching

Suggested reviewers

  • ragnep

Poem

🐰 A garden of knowledge now grows in the network,
Where xTDH's secrets are shared with delight,
From production to grants, the page does the work,
A sidebar link guides weary travelers right!

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'xTDH info page' accurately summarizes the main change: adding a new informational page for xTDH with supporting components and sidebar navigation.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch b-17651952663

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (2)
hooks/useSidebarSections.ts (1)

19-26: Confirm intent of second “xTDH” entry and simplify href literal

You now have two distinct xTDH entries: one under Network (/network/xtdh) and one under Collections (/xtdh). If this is intentional (info page vs collection view), all good; if not, it may confuse users and navigation/search mappings. Also, the template literal on Line 25 doesn’t interpolate anything, so a normal string is slightly cleaner.

Example tweak:

-          { name: "xTDH", href: `/network/xtdh` },
+          { name: "xTDH", href: "/network/xtdh" },
app/network/xtdh/page.tsx (1)

1-13: Metadata wiring and server/client split look good; async can be dropped

The server wrapper cleanly renders the client page and uses getAppMetadata with the required title, matching the app router guidelines. Since generateMetadata doesn’t perform any async work, you can simplify it to a sync function for clarity.

For example:

-import { getAppMetadata } from "@/components/providers/metadata";
-import XTDHMainPage from "./page.client";
-
-export default function XTDH() {
-  return <XTDHMainPage />;
-}
-
-export const generateMetadata = async () => {
-  return getAppMetadata({
-    title: "xTDH",
-    description: "Network",
-  });
-};
+import { getAppMetadata } from "@/components/providers/metadata";
+import XTDHMainPage from "./page.client";
+
+export default function XTDH() {
+  return <XTDHMainPage />;
+}
+
+export const generateMetadata = () =>
+  getAppMetadata({
+    title: "xTDH",
+    description: "Network",
+  });
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 4547ea3 and 23860e0.

📒 Files selected for processing (3)
  • app/network/xtdh/page.client.tsx (1 hunks)
  • app/network/xtdh/page.tsx (1 hunks)
  • hooks/useSidebarSections.ts (1 hunks)
🧰 Additional context used
📓 Path-based instructions (6)
**/*.{ts,tsx,js,jsx}

📄 CodeRabbit inference engine (.cursorrules)

**/*.{ts,tsx,js,jsx}: Do not include any comments in the code; it should be self-explanatory
Write correct, up-to-date, bug-free, fully componentized, secure, and efficient code
Include all required imports and ensure proper naming of key components
Use NextJS features that match the current version

**/*.{ts,tsx,js,jsx}: Replace <img> elements with <Image /> from next/image to satisfy @next/next/no-img-element ESLint rule
Use <Link href="/path"> from Next.js for internal navigation instead of plain HTML links to satisfy @next/next/no-html-link-for-pages ESLint rule

Files:

  • hooks/useSidebarSections.ts
  • app/network/xtdh/page.client.tsx
  • app/network/xtdh/page.tsx
**/*.{js,jsx,ts,tsx}

📄 CodeRabbit inference engine (AGENTS.md)

**/*.{js,jsx,ts,tsx}: Code must satisfy ESLint (Next's Core Web Vitals + React Hooks)
Use framework APIs: internal links should use <Link>, images should use next/image, and adopt Next's ESLint rules (Core Web Vitals)

**/*.{js,jsx,ts,tsx}: Code must satisfy ESLint (Next's Core Web Vitals + React Hooks rules)
Follow existing code style and naming conventions; maintain clean code standards (measured by SonarQube)

Files:

  • hooks/useSidebarSections.ts
  • app/network/xtdh/page.client.tsx
  • app/network/xtdh/page.tsx
**/*.{ts,tsx}

📄 CodeRabbit inference engine (AGENTS.md)

**/*.{ts,tsx}: Must pass tsc --noEmit type checking
Prefer direct named imports for React hooks and types (import { useMemo, useRef, FC, etc. } from "react") over React. namespace usage (React.useMemo, React.useRef, etc.)
If the react-hooks/exhaustive-deps lint rule is triggered: if the Effect only derives state, remove the Effect and compute during render; if listening to an external system and needing fresh props/state, wrap non-reactive logic in useEffectEvent

**/*.{ts,tsx}: Must pass tsc --noEmit for TypeScript type checking
Prefer Server Components over Client Components; use Server Functions/Server Actions ('use server') for mutations
Remove unnecessary Effects; if Effect only derives state, compute during render instead
Use useEffectEvent for non-reactive logic inside Effects to avoid unnecessary re-runs
Use framework APIs: <Link> for internal links, next/image for images, adopt Next's ESLint rules
Use 'use cache' directive and Cache Components features for explicit opt-in caching in Next.js 16
Use TypeScript and React functional components with hooks
When parsing Seize URLs or similar, fail fast if base origin is unavailable; do not fall back to placeholder origins
Replace <img> elements with <Image /> from next/image
Use <Link href="/path"> for internal navigation instead of plain HTML links
Move data fetches to Server Components; handle mutations through Server Functions/Server Actions with 'use server' directive

Files:

  • hooks/useSidebarSections.ts
  • app/network/xtdh/page.client.tsx
  • app/network/xtdh/page.tsx
**/*.{tsx,jsx}

📄 CodeRabbit inference engine (.cursorrules)

**/*.{tsx,jsx}: Use FontAwesome for icons in React components
Use TailwindCSS for styling in React components
Use react-query for data fetching
Always add readonly before props in React components

Files:

  • app/network/xtdh/page.client.tsx
  • app/network/xtdh/page.tsx
app/**/*.{ts,tsx}

📄 CodeRabbit inference engine (AGENTS.md)

Routes in app/ should export generateMetadata using the helper getAppMetadata with a title property

All production routes must live under the App Router (app/) directory

Files:

  • app/network/xtdh/page.client.tsx
  • app/network/xtdh/page.tsx
app/**/page.{ts,tsx}

📄 CodeRabbit inference engine (GEMINI.md)

Export generateMetadata in App Router routes using the getAppMetadata helper from '@/components/providers/metadata'

Files:

  • app/network/xtdh/page.tsx
🧠 Learnings (2)
📚 Learning: 2025-12-05T10:55:30.859Z
Learnt from: CR
Repo: 6529-Collections/6529seize-frontend PR: 0
File: GEMINI.md:0-0
Timestamp: 2025-12-05T10:55:30.859Z
Learning: Applies to app/**/page.{ts,tsx} : Export `generateMetadata` in App Router routes using the `getAppMetadata` helper from '@/components/providers/metadata'

Applied to files:

  • app/network/xtdh/page.tsx
📚 Learning: 2025-12-03T14:52:34.255Z
Learnt from: CR
Repo: 6529-Collections/6529seize-frontend PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-03T14:52:34.255Z
Learning: Applies to app/**/*.{ts,tsx} : Routes in `app/` should export `generateMetadata` using the helper `getAppMetadata` with a title property

Applied to files:

  • app/network/xtdh/page.tsx
🧬 Code graph analysis (2)
app/network/xtdh/page.client.tsx (1)
contexts/TitleContext.tsx (1)
  • useSetTitle (210-218)
app/network/xtdh/page.tsx (2)
app/network/xtdh/page.client.tsx (1)
  • XTDHMainPage (6-108)
components/providers/metadata.ts (1)
  • getAppMetadata (5-36)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: Analyze (javascript-typescript)

Comment thread app/network/xtdh/page.client.tsx
@sonarqubecloud
Copy link
Copy Markdown

sonarqubecloud Bot commented Dec 8, 2025

@GelatoGenesis GelatoGenesis merged commit bdcd5e7 into main Dec 8, 2025
8 checks passed
@coderabbitai coderabbitai Bot mentioned this pull request Jan 15, 2026
@coderabbitai coderabbitai Bot mentioned this pull request Feb 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants