Remove duplicate ShamrockFooter and Navbar rendered by individual pages#118
Conversation
…rd page Agent-Logs-Url: https://github.com/DarkModder33/main/sessions/642fae13-2081-4500-a0de-7569c4c722c4 Co-authored-by: DarkModder33 <254196519+DarkModder33@users.noreply.github.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Reviewer's guide (collapsed on small PRs)Reviewer's GuideThis PR removes page-level rendering of shared layout components (ShamrockFooter and a duplicate Navbar) so that app/layout.tsx is the single source of truth for the global footer and navigation. Class diagram for Layout, Navbar, ShamrockFooter, and page componentsclassDiagram
class Layout {
+ReactNode children
+render()
-Navbar navbar
-ShamrockFooter footer
}
class Navbar {
+render()
}
class ShamrockFooter {
+render()
}
class PageComponent {
+render()
}
class DashboardPage {
+render()
}
Layout o-- Navbar
Layout o-- ShamrockFooter
Layout o-- PageComponent
Layout o-- DashboardPage
%% Previously each page had its own footer instance (removed now)
class DeprecatedPageFooterResponsibility {
-ShamrockFooter localFooter
}
DeprecatedPageFooterResponsibility ..|> PageComponent
File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
🔗 Link AuditStatus: ❌ Failed Top findings
|
There was a problem hiding this comment.
Pull request overview
Removes per-page rendering of shared layout elements so global app/layout.tsx is the single render site for the footer and navigation, eliminating duplicated UI across routes.
Changes:
- Removed
ShamrockFooterimports/usages from individual pages to prevent double footers. - Removed the dashboard page’s local
Navbarin favor of the global top nav. - Standardized shared layout responsibility on
app/layout.tsx.
Reviewed changes
Copilot reviewed 45 out of 45 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| app/web3-token-roadmap-consulting/page.tsx | Removed per-page ShamrockFooter render. |
| app/trading/xai/page.tsx | Removed per-page ShamrockFooter render. |
| app/trading/sentiment/page.tsx | Removed per-page ShamrockFooter render. |
| app/trading/portfolio/page.tsx | Removed per-page ShamrockFooter render. |
| app/trading/page.tsx | Removed per-page ShamrockFooter render. |
| app/spades/page.tsx | Removed per-page ShamrockFooter render. |
| app/services/page.tsx | Removed per-page ShamrockFooter render. |
| app/schedule/page.tsx | Removed per-page ShamrockFooter render. |
| app/pricing/page.tsx | Removed per-page ShamrockFooter render. |
| app/preview/page.tsx | Removed per-page ShamrockFooter render. |
| app/portfolio/page.tsx | Removed per-page ShamrockFooter render. |
| app/onboarding/page.tsx | Removed per-page ShamrockFooter render. |
| app/music/showcase/page.tsx | Removed per-page ShamrockFooter render. |
| app/music/scholarships/page.tsx | Removed per-page ShamrockFooter render. |
| app/music/page.tsx | Removed per-page ShamrockFooter render. |
| app/music/lessons/page.tsx | Removed per-page ShamrockFooter render. |
| app/investor-academy/page.tsx | Removed per-page ShamrockFooter render. |
| app/intelligence/watchlist/page.tsx | Removed per-page ShamrockFooter render. |
| app/intelligence/probability/page.tsx | Removed per-page ShamrockFooter render. |
| app/intelligence/politics/page.tsx | Removed per-page ShamrockFooter render. |
| app/intelligence/page.tsx | Removed per-page ShamrockFooter render. |
| app/intelligence/ops/page.tsx | Removed per-page ShamrockFooter render. |
| app/intelligence/news/page.tsx | Removed per-page ShamrockFooter render. |
| app/intelligence/flow/page.tsx | Removed per-page ShamrockFooter render. |
| app/intelligence/dark-pool/page.tsx | Removed per-page ShamrockFooter render. |
| app/intelligence/crypto-flow/page.tsx | Removed per-page ShamrockFooter render. |
| app/intelligence/content/page.tsx | Removed per-page ShamrockFooter render. |
| app/intelligence/calculator/page.tsx | Removed per-page ShamrockFooter render. |
| app/games/page.tsx | Removed per-page ShamrockFooter render. |
| app/game/GamePageClient.tsx | Removed per-page ShamrockFooter render. |
| app/dev-hub/page.tsx | Removed per-page ShamrockFooter render. |
| app/dashboard/page.tsx | Removed local dashboard Navbar render to rely on global nav. |
| app/crypto-project/page.tsx | Removed per-page ShamrockFooter render. |
| app/blog/page.tsx | Removed per-page ShamrockFooter render. |
| app/blog/[slug]/page.tsx | Removed per-page ShamrockFooter render. |
| app/billing/page.tsx | Removed per-page ShamrockFooter render. |
| app/beginner-ai-crypto-trading-assistant/page.tsx | Removed per-page ShamrockFooter render. |
| app/ai/page.tsx | Removed per-page ShamrockFooter render. |
| app/ai-powered-guitar-lessons/page.tsx | Removed per-page ShamrockFooter render. |
| app/ai-hub/page.tsx | Removed per-page ShamrockFooter render. |
| app/admin/social-wizard/page.tsx | Removed per-page ShamrockFooter render. |
| app/admin/monetization/page.tsx | Removed per-page ShamrockFooter render. |
| app/admin/monetization/ai-credits/page.tsx | Removed per-page ShamrockFooter render. |
| app/admin/investor-academy/page.tsx | Removed per-page ShamrockFooter render. |
| app/about/page.tsx | Removed per-page ShamrockFooter render. |
| import { CounterCard } from "@/components/counter/CounterCard"; | ||
| import { Navbar } from "@/components/dashboard/Navbar"; | ||
| import { StatCard } from "@/components/dashboard/StatCard"; | ||
| import { Button } from "@/components/ui/button"; |
There was a problem hiding this comment.
Since the dashboard page no longer imports/uses @/components/dashboard/Navbar, that component appears to be unused across the repo. Consider removing components/dashboard/Navbar.tsx (and any related styles/tests) to avoid dead code, or migrate any remaining unique behavior from it into the global layout nav if it’s still needed.
| import { Button } from "@/components/ui/button"; |
44 individual page components each imported and rendered their own
<ShamrockFooter />despiteapp/layout.tsxalready rendering one globally — producing a doubled footer (Platform/Services/Company link columns) on every affected route.app/dashboard/page.tsxsimilarly rendered its own<Navbar />alongside the global nav.Changes
ShamrockFooterimport and JSX usage;app/layout.tsxis now the sole render siteapp/dashboard/page.tsx— removedNavbarimport and JSX usage; global layout nav is sufficientSummary by Sourcery
Consolidate global layout usage by removing page-level footers and navbars that duplicated components already rendered in app/layout.tsx.
Bug Fixes: