Skip to content

feat(hero, popular-tools): update links to point to external osmium tool#47

Merged
creatorcluster merged 2 commits intocreatorcluster:mainfrom
Coder-soft:main
Mar 8, 2026
Merged

feat(hero, popular-tools): update links to point to external osmium tool#47
creatorcluster merged 2 commits intocreatorcluster:mainfrom
Coder-soft:main

Conversation

@Coder-soft
Copy link

@Coder-soft Coder-soft commented Mar 8, 2026

Change Hero component CTA links from internal routes to external Osmium URL

Update PopularTools component to support external links and modify first tool entry

Replace "Music Copyright Checker" with "Osmium" tool pointing to external site

Add conditional rendering to handle both internal and external navigation

Summary by CodeRabbit

  • Updates
    • Changed navigation links to redirect to the external Osmium service
    • Renamed primary tool from "Music Copyright Checker" to "Osmium" with updated branding and description
    • Improved link handling to support both internal routes and external navigation seamlessly

- Change Hero component CTA links from internal routes to external Osmium URL
- Update PopularTools component to support external links and modify first tool entry
- Replace "Music Copyright Checker" with "Osmium" tool pointing to external site
- Add conditional rendering to handle both internal and external navigation
@vercel
Copy link

vercel bot commented Mar 8, 2026

@Coder-soft is attempting to deploy a commit to the yamura3's projects Team on Vercel.

A member of the Team first needs to authorize it.

@coderabbitai
Copy link

coderabbitai bot commented Mar 8, 2026

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 2e5a3630-bd60-452f-a305-c3bf994ef873

📥 Commits

Reviewing files that changed from the base of the PR and between af5d0c9 and 4fc69f8.

📒 Files selected for processing (2)
  • src/components/Hero.tsx
  • src/components/PopularTools.tsx

📝 Walkthrough

Walkthrough

Both Hero and PopularTools components were refactored to support external navigation. Hero.tsx now uses anchor tags pointing to an external Osmium application URL, replacing internal routes. PopularTools.tsx adds conditional rendering logic to detect external URLs and render tool cards as anchor elements instead of internal Links.

Changes

Cohort / File(s) Summary
Hero Navigation
src/components/Hero.tsx
Replaced internal router Links with external anchor tags pointing to https://osmiumchecks.vercel.app/. Updated CTA text from "Creator Packs are here!" to "Osmium out" while maintaining overall hero structure.
Popular Tools Integration
src/components/PopularTools.tsx
Renamed first tool to "Osmium" with external URL, added detection logic for external paths (http prefix), and implemented conditional rendering to wrap tool cards in anchors for external URLs or Links for internal routes. Extracted card markup into reusable constant.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Poem

🐰 Once locked in routes both near and far,
Our links now bound to Osmium's star,
From Hero's heart to PopularTools' case,
External anchors guide the way forward! ✨

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

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

@creatorcluster creatorcluster merged commit 1ed199e into creatorcluster:main Mar 8, 2026
1 of 3 checks passed
@greptile-apps
Copy link

greptile-apps bot commented Mar 8, 2026

Greptile Summary

This PR replaces internal route links in the Hero and PopularTools components with external links pointing to the Osmium copyright-checking tool (https://osmiumchecks.vercel.app/). It also renames the first "Popular Tools" card from "Music Copyright Checker" to "Osmium" and adds conditional rendering logic in PopularTools to distinguish between internal React Router Link navigation and plain <a> tags for external URLs.

Key changes:

  • Hero.tsx: The "NEW" announcement badge and the "Check Music Copyright" CTA button now use <a> elements targeting the external Osmium URL instead of internal routes (/resources?tab=creator-packs and /gappa).
  • PopularTools.tsx: The first tool entry is updated to "Osmium" with an external URL. A helper variable isExternal is derived by checking tool.path.startsWith('http'), then a conditional renders either <a> or <Link> accordingly.

Issues found:

  • All three new external <a> elements across both files are missing target="_blank" and rel="noopener noreferrer". This will cause clicks to navigate users completely away from the SPA (bad UX) and leaves the app exposed to reverse-tabnabbing if target="_blank" is added later without rel="noopener noreferrer".

Confidence Score: 3/5

  • Safe to merge after adding target="_blank" rel="noopener noreferrer" to the three new external anchor tags.
  • The logic for conditional internal/external routing is correct and the change is scoped to two presentational components. The only blocking issue is the missing target and rel attributes on all external links, which causes users to navigate away from the SPA entirely on click — a clear UX regression from the previous behaviour.
  • Both src/components/Hero.tsx and src/components/PopularTools.tsx need target="_blank" rel="noopener noreferrer" added to their external <a> elements.

Important Files Changed

Filename Overview
src/components/Hero.tsx Two <Link> elements replaced with <a> tags pointing to the external Osmium URL; both new anchors are missing target="_blank" and rel="noopener noreferrer", which will navigate users away from the SPA on click.
src/components/PopularTools.tsx First tool entry renamed to "Osmium" with an external URL; conditional rendering correctly distinguishes internal (Link) vs. external (a) navigation, but the external anchor is missing target="_blank" and rel="noopener noreferrer".

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[User clicks link] --> B{Is path external?}
    B -- Yes --> C[render external anchor tag]
    B -- No --> D[render React Router Link]
    C --> E[Navigate to osmiumchecks.vercel.app]
    D --> F[SPA client-side navigation]
Loading

Last reviewed commit: 4fc69f8

Comment on lines +165 to +171
<a
href="https://osmiumchecks.vercel.app/"
className="inline-flex items-center rounded-full border border-cow-purple/30 bg-cow-purple/10 px-4 py-1.5 text-sm font-medium text-cow-purple transition-colors hover:bg-cow-purple/20 font-geist"
>
<span className="mr-2 px-2 py-0.5 rounded-full bg-cow-purple text-white text-xs font-bold">NEW</span>
Creator Packs are here! <IconArrowRight className="ml-2 h-4 w-4" />
</Link>
Osmium out <IconArrowRight className="ml-2 h-4 w-4" />
</a>
Copy link

Choose a reason for hiding this comment

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

Missing target="_blank" and rel="noopener noreferrer" on external links

All three external <a> tags added in this PR are missing target="_blank" and rel="noopener noreferrer". Without target="_blank", clicking any of these links will navigate the user away from the SPA entirely, which is almost certainly unintended. Without rel="noopener noreferrer", the opened external page gets access to window.opener and can perform a reverse-tabnabbing redirect on the originating page.

This same issue applies to:

  • src/components/Hero.tsx line 165 (announcement badge)
  • src/components/Hero.tsx line 229 (Check Music Copyright CTA)
  • src/components/PopularTools.tsx line 144 (Osmium tool card link)
Suggested change
<a
href="https://osmiumchecks.vercel.app/"
className="inline-flex items-center rounded-full border border-cow-purple/30 bg-cow-purple/10 px-4 py-1.5 text-sm font-medium text-cow-purple transition-colors hover:bg-cow-purple/20 font-geist"
>
<span className="mr-2 px-2 py-0.5 rounded-full bg-cow-purple text-white text-xs font-bold">NEW</span>
Creator Packs are here! <IconArrowRight className="ml-2 h-4 w-4" />
</Link>
Osmium out <IconArrowRight className="ml-2 h-4 w-4" />
</a>
<a
href="https://osmiumchecks.vercel.app/"
target="_blank"
rel="noopener noreferrer"
className="inline-flex items-center rounded-full border border-cow-purple/30 bg-cow-purple/10 px-4 py-1.5 text-sm font-medium text-cow-purple transition-colors hover:bg-cow-purple/20 font-geist"
>

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