Skip to content

Remove duplicate ShamrockFooter and Navbar rendered by individual pages#118

Merged
DarkModder33 merged 1 commit intomainfrom
copilot/remove-duplicate-menu-buttons
Apr 12, 2026
Merged

Remove duplicate ShamrockFooter and Navbar rendered by individual pages#118
DarkModder33 merged 1 commit intomainfrom
copilot/remove-duplicate-menu-buttons

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Apr 12, 2026

44 individual page components each imported and rendered their own <ShamrockFooter /> despite app/layout.tsx already rendering one globally — producing a doubled footer (Platform/Services/Company link columns) on every affected route. app/dashboard/page.tsx similarly rendered its own <Navbar /> alongside the global nav.

Changes

  • 44 page files — removed ShamrockFooter import and JSX usage; app/layout.tsx is now the sole render site
  • app/dashboard/page.tsx — removed Navbar import and JSX usage; global layout nav is sufficient

Summary by Sourcery

Consolidate global layout usage by removing page-level footers and navbars that duplicated components already rendered in app/layout.tsx.

Bug Fixes:

  • Eliminate duplicated ShamrockFooter instances across multiple pages by relying on the footer rendered in the global layout.
  • Remove the extra Navbar from the dashboard page so only the global navigation bar is shown.

…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>
@vercel
Copy link
Copy Markdown
Contributor

vercel Bot commented Apr 12, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
main Ready Ready Preview, Comment Apr 12, 2026 1:48pm

Request Review

@sourcery-ai
Copy link
Copy Markdown
Contributor

sourcery-ai Bot commented Apr 12, 2026

Reviewer's guide (collapsed on small PRs)

Reviewer's Guide

This 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 components

classDiagram
  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
Loading

File-Level Changes

Change Details Files
Deduplicate globally shared layout components by relying on app/layout.tsx for the footer and navbar.
  • Remove ShamrockFooter imports from all page components that previously rendered a local footer instance.
  • Remove ShamrockFooter JSX from page component trees, leaving the surrounding page layout and content intact.
  • Remove the extra Navbar import and JSX from the dashboard page so it uses the global navigation instead.
  • Ensure no other layout structure, styling, or metadata configuration is changed as part of this cleanup.
app/dashboard/page.tsx
app/onboarding/page.tsx
app/spades/page.tsx
app/about/page.tsx
app/admin/investor-academy/page.tsx
app/admin/monetization/ai-credits/page.tsx
app/admin/monetization/page.tsx
app/admin/social-wizard/page.tsx
app/ai-hub/page.tsx
app/ai-powered-guitar-lessons/page.tsx
app/ai/page.tsx
app/beginner-ai-crypto-trading-assistant/page.tsx
app/billing/page.tsx
app/blog/[slug]/page.tsx
app/blog/page.tsx
app/crypto-project/page.tsx
app/dev-hub/page.tsx
app/game/GamePageClient.tsx
app/games/page.tsx
app/intelligence/calculator/page.tsx
app/intelligence/content/page.tsx
app/intelligence/crypto-flow/page.tsx
app/intelligence/dark-pool/page.tsx
app/intelligence/flow/page.tsx
app/intelligence/news/page.tsx
app/intelligence/ops/page.tsx
app/intelligence/page.tsx
app/intelligence/politics/page.tsx
app/intelligence/probability/page.tsx
app/intelligence/watchlist/page.tsx
app/investor-academy/page.tsx
app/music/lessons/page.tsx
app/music/page.tsx
app/music/scholarships/page.tsx
app/music/showcase/page.tsx
app/portfolio/page.tsx
app/preview/page.tsx
app/pricing/page.tsx
app/schedule/page.tsx
app/services/page.tsx
app/trading/page.tsx
app/trading/portfolio/page.tsx
app/trading/sentiment/page.tsx
app/trading/xai/page.tsx
app/web3-token-roadmap-consulting/page.tsx

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

@DarkModder33 DarkModder33 marked this pull request as ready for review April 12, 2026 13:48
@github-actions
Copy link
Copy Markdown

🔗 Link Audit

Status: ❌ Failed
Mode: standard (changed-scope)
Scanned files: 348
Indexed routes: 58
Broken links: 1
Missing anchors: 0
Generated: 2026-04-12T13:48:52.629Z
Changed-scope fallback: Changed-files scan unavailable (No valid base ref found among: origin/main, main, origin/master, master); used full scan.

Top findings

  • components/shamrock/ShamrockFooter.tsx:195/ai-consulting

Copilot AI review requested due to automatic review settings April 12, 2026 13:48
@DarkModder33 DarkModder33 merged commit c69be5d into main Apr 12, 2026
9 of 13 checks passed
@DarkModder33 DarkModder33 deleted the copilot/remove-duplicate-menu-buttons branch April 12, 2026 13:49
Copy link
Copy Markdown
Contributor

@sourcery-ai sourcery-ai Bot left a comment

Choose a reason for hiding this comment

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

Hey - I've reviewed your changes and they look great!


Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

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 ShamrockFooter imports/usages from individual pages to prevent double footers.
  • Removed the dashboard page’s local Navbar in 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.

Comment thread app/dashboard/page.tsx
import { CounterCard } from "@/components/counter/CounterCard";
import { Navbar } from "@/components/dashboard/Navbar";
import { StatCard } from "@/components/dashboard/StatCard";
import { Button } from "@/components/ui/button";
Copy link

Copilot AI Apr 12, 2026

Choose a reason for hiding this comment

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

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.

Suggested change
import { Button } from "@/components/ui/button";

Copilot uses AI. Check for mistakes.
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.

3 participants