Skip to content

feat: implement dynamic copyright years and interactive AOSSIE footer#357

Open
SoorejS wants to merge 2 commits intoAOSSIE-Org:mainfrom
SoorejS:feat/dynamic-branding-maintenance
Open

feat: implement dynamic copyright years and interactive AOSSIE footer#357
SoorejS wants to merge 2 commits intoAOSSIE-Org:mainfrom
SoorejS:feat/dynamic-branding-maintenance

Conversation

@SoorejS
Copy link
Copy Markdown
Contributor

@SoorejS SoorejS commented Mar 17, 2026

Addressed Issues:

Fixes #354

Screenshots/Recordings:

Before:
image

After:
image

image

Additional Notes:

This PR removes hardcoded copyright years and replaces them with a dynamic solution using:

new Date().getFullYear()

This ensures the year automatically updates without requiring manual changes in future.

Additionally:

  • Converted "AOSSIE" footer text into a clickable link pointing to the official website.
  • Used target="_blank" and rel="noopener noreferrer" for safe external navigation.

Changes made:

  • Updated footer logic in relevant pages (e.g., About.tsx, CoachPage.tsx).
  • Ensured consistent implementation across all affected components.

All changes were tested locally and verified to work correctly without introducing any UI or functional regressions.


Benefits:

  • Eliminates need for yearly manual updates
  • Reduces maintenance overhead
  • Prevents outdated copyright display
  • Improves user experience with interactive footer navigation

All changes were tested locally and do not introduce any regressions or console errors.

AI Usage Disclosure:

We encourage contributors to use AI tools responsibly when creating Pull Requests. While AI can be a valuable aid, it is essential to ensure that your contributions meet the task requirements, build successfully, include relevant tests, and pass all linters. Submissions that do not meet these standards may be closed without warning to maintain the quality and integrity of the project. Please take the time to understand the changes you are proposing and their impact. AI slop is strongly discouraged and may lead to banning and blocking. Do not spam our repos with AI slop.

Check one of the checkboxes below:

  • This PR does not contain AI-generated code at all. I have tested the code locally and I am responsible for it.

I have used the following AI models and tools: NA

Checklist

  • My PR addresses a single issue, fixes a single bug or makes a single improvement.
  • My code follows the project's code style and conventions
  • If applicable, I have made corresponding changes or additions to the documentation
  • If applicable, I have made corresponding changes or additions to tests
  • My changes generate no new warnings or errors
  • I have joined the Discord server and I will share a link to this PR with the project maintainers there
  • I have read the Contribution Guidelines
  • Once I submit my PR, CodeRabbit AI will automatically review it and I will address CodeRabbit's comments.
  • I have filled this PR template completely and carefully, and I understand that my PR may be closed without review otherwise.

Summary by CodeRabbit

  • Bug Fixes

    • Footer copyright now updates automatically to the current year.
  • New Features

    • Added AOSSIE attribution links in footer sections.
  • Style

    • Footer attribution styled with italic/medium weight and a hover color for improved visual emphasis.

@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Mar 17, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 0c36e0bc-e2ff-4309-bc10-029299ae0df7

📥 Commits

Reviewing files that changed from the base of the PR and between 1d75d7e and 45d3833.

📒 Files selected for processing (1)
  • frontend/src/Pages/CoachPage.tsx
🚧 Files skipped from review as they are similar to previous changes (1)
  • frontend/src/Pages/CoachPage.tsx

📝 Walkthrough

Walkthrough

Frontend pages About.tsx and CoachPage.tsx now use a dynamic current year via new Date().getFullYear() instead of hardcoded years; both footers include an AOSSIE hyperlink and CoachPage footer adds an italicized "Managed with ❤️ by AOSSIE" attribution with styling.

Changes

Cohort / File(s) Summary
Footer Year & Link Updates
frontend/src/Pages/About.tsx, frontend/src/Pages/CoachPage.tsx
Replaced hardcoded copyright years with new Date().getFullYear(). Converted AOSSIE footer text into a clickable link in both files; CoachPage additionally adds an italicized linked attribution ("Managed with ❤️ by AOSSIE") and minor styling for hover/weight.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Poem

🐰 A rabbit's ode to timeless footers
Years once frozen now leap free,
getFullYear() keeps them company.
Links to AOSSIE, tidy and bright,
Footers hopping into the right light. ✨

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ 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%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately describes the main change: implementing dynamic copyright years and interactive AOSSIE footer links across multiple pages.
Linked Issues check ✅ Passed Changes successfully address both requirements from issue #354: dynamic year generation using new Date().getFullYear() applied to About.tsx and CoachPage.tsx, and AOSSIE text converted to hyperlinks with proper target and rel attributes.
Out of Scope Changes check ✅ Passed All changes are directly scoped to the linked issue requirements; modifications to About.tsx and CoachPage.tsx footer content for copyright year automation and AOSSIE link implementation are within scope.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
📝 Coding Plan
  • Generate coding plan for human review comments

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

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@frontend/src/Pages/CoachPage.tsx`:
- Around line 136-137: Replace the single-year copyright text in the JSX
paragraph inside CoachPage (the <p className="text-xs text-muted-foreground
mt-1"> element) with a dynamic range pattern starting at 2016 and ending at the
current year and change the owner to "AOSSIE" (e.g., "© 2016-{new
Date().getFullYear()} AOSSIE. All rights reserved.") so it matches the About
page and the requirement.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 364119d7-d9d9-4bc7-a702-0a14c06c360f

📥 Commits

Reviewing files that changed from the base of the PR and between 90fb523 and 1d75d7e.

📒 Files selected for processing (2)
  • frontend/src/Pages/About.tsx
  • frontend/src/Pages/CoachPage.tsx

@SoorejS SoorejS changed the title feat: implement dynamic copyright years and interactive AOSSIE footer… feat: implement dynamic copyright years and interactive AOSSIE footer Mar 17, 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.

[Enhancement]: Automate Copyright Year and Add AOSSIE Footer Link

1 participant