Skip to content

Aug12025 - #38

Merged
skywalkerSam merged 5 commits into
mainfrom
aug12025
Aug 30, 2025
Merged

Aug12025#38
skywalkerSam merged 5 commits into
mainfrom
aug12025

Conversation

@skywalkerSam

@skywalkerSamskywalkerSam commented Aug 30, 2025

Copy link
Copy Markdown
Owner

Summary by CodeRabbit

  • New Features
    • Content on key pages now refreshes automatically every hour for up-to-date information.
    • Theme toggle keyboard behavior updated: shortcuts now consistently switch to dark mode; smoother icon transitions.
  • Style
    • Footer now displays a dynamic year and links to GitHub, with updated hover styling.
  • Accessibility
    • Theme toggle includes improved labeling for assistive technologies.
  • Chores
    • Development environment files are now excluded from version control.

@vercel

vercelBot commented Aug 30, 2025

Copy link
Copy Markdown

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

ProjectDeploymentPreviewCommentsUpdated (UTC)
skywalkersam-devReadyReadyPreviewCommentAug 30, 2025 8:57am

@coderabbitai

coderabbitaiBot commented Aug 30, 2025

Copy link
Copy Markdown

Important

Review skipped

Review was skipped due to path filters

⛔ Files ignored due to path filters (2)
  • src/app/opengraph-image.png is excluded by !**/*.png
  • src/app/twitter-image.png is excluded by !**/*.png

CodeRabbit blocks several paths by default. You can override this behavior by explicitly including those paths in the path filters. For example, including **/dist/** will override the default block on the dist directory, by removing the pattern from both the lists.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Walkthrough

Adds VS Code folder to .gitignore, enables 1-hour ISR on root and About pages, updates Footer links and dynamic year, and revises theme-toggle keyboard handling and icon transitions to default-force dark mode; minor class reorderings and import path adjustments included.

Changes

Cohort / File(s)Summary of Changes
VCS ignore updates
\.gitignore
Added .vscode/ to ignore VS Code workspace settings.
ISR configuration on pages
src/app/(root)/page.tsx, src/app/about/page.tsx
Exported revalidate = 3600 to enable 1-hour Incremental Static Regeneration; minor Tailwind class reordering without functional effect.
Footer adjustments
src/components/Footer.tsx
Switched alias imports to relative paths; replaced static year with dynamic new Date().getFullYear() + 10000; changed external link from Twitter to GitHub; updated hover class; left old year line commented.
Theme toggle behavior and UI
src/components/ui/theme-toggle.tsx
Reworked key handler: ignores inputs/contenteditable, lowercases keys, maps Shift+D/L/S to set dark; commented-out light/system branches; added aria-label and updated icon transition classes; noted forcing dark due to background canvas.

Sequence Diagram(s)

sequenceDiagram
autonumber
actor User
participant Doc as Document
participant ModeToggle as Theme Toggle Handler
participant Theme as Theme Provider
User->>Doc: Keydown (e.g., Shift+D/L/S)
Note over Doc,ModeToggle: Ignore if target is input/textarea/contenteditable
Doc->>ModeToggle: key + modifier (lowercased)
alt Shift + d/l/s
ModeToggle->>Theme: setTheme("dark")
Note right of Theme: Dark forced (background canvas constraint)
else Other keys
ModeToggle--xTheme: No-op
end
User->>ModeToggle: Click button
ModeToggle->>ModeToggle: Toggle dropdown & show icons (updated transitions)
Loading

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

  • About #32 — Also modifies src/app/about/page.tsx, updating its content; related through edits to the same page module.

Poem

I tap-tap keys by moonlit glow,
A toggle flips to dark—on we go!
Pages wake each hour anew,
Footer hops to GitHub too.
In burrows of code I cheer and grin,
Ignore the .vscode bin—
Thump-thump, ship it in! 🐇✨

✨ Finishing Touches
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch aug12025

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
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

CodeRabbit Commands (Invoked using PR/Issue comments)

Type @coderabbitai help to get the list of available commands.

Other keywords and placeholders

  • Add @coderabbitai ignore or @coderabbit ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Status, Documentation and Community

  • Visit our Status Page to check the current availability of CodeRabbit.
  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@coderabbitaicoderabbitaiBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🧹 Nitpick comments (7)
.gitignore (1)

2-2: Ignoring .vscode is fine; consider keeping sharable settings.

If you want to share recommended workspace settings/extensions, invert-ignore those files.

-.vscode/+.vscode/*+!.vscode/extensions.json+!.vscode/settings.json
src/app/about/page.tsx (1)

14-14: Class reordering is a no-op.

No behavioral change; consider adopting a Tailwind class sorter for consistency.

src/app/(root)/page.tsx (1)

5-7: ISR on root — LGTM.

If you want the same policy for all routes in this segment, you could set revalidate in layout.tsx.

// layout.tsx
+export const revalidate = 3600;
src/components/ui/theme-toggle.tsx (3)

20-26: Broaden “typing context” guard.

Add select elements to avoid intercepting typing/search within dropdowns.

- const isTyping =- tag === "input" ||- tag === "textarea" ||- (e.target as HTMLElement | null)?.isContentEditable;+ const isTyping =+ tag === "input" ||+ tag === "textarea" ||+ tag === "select" ||+ (e.target as HTMLElement | null)?.isContentEditable;

27-34: Keyboard shortcuts all force dark — verify intent, or restore mappings.

SHIFT+L and SHIFT+S mapping to dark may surprise users and conflicts with the menu offering Light/System.

Option A (keep “force dark” but simplify):

- if (e.shiftKey && key === "d") setTheme("dark");- else if (e.shiftKey && key === "l") setTheme("dark");- else if (e.shiftKey && key === "s") setTheme("dark");+ if (e.shiftKey && ["d", "l", "s"].includes(key)) setTheme("dark");

Option B (restore distinct shortcuts):

- if (e.shiftKey && key === "d") setTheme("dark");- else if (e.shiftKey && key === "l") setTheme("dark");- else if (e.shiftKey && key === "s") setTheme("dark");+ if (!e.shiftKey) return;+ if (key === "d") setTheme("dark");+ else if (key === "l") setTheme("light");+ else if (key === "s") setTheme("system");

50-53: Tighten a11y and icon layout.

Advertise shortcuts and overlay both icons to avoid subtle layout shifts; also honor reduced motion.

- <Button variant="outline" size="icon" className="relative" aria-label="Toggle theme">- <Sun className="h-[1.2rem] w-[1.2rem] scale-100 rotate-0 transition-all dark:scale-0 dark:-rotate-90" />- <Moon className="absolute h-[1.2rem] w-[1.2rem] scale-0 rotate-90 transition-all dark:scale-100 dark:rotate-0" />+ <Button+ variant="outline"+ size="icon"+ className="relative"+ aria-label="Toggle theme"+ aria-keyshortcuts="Shift+D, Shift+L, Shift+S"+ >+ <Sun+ aria-hidden="true"+ className="absolute h-[1.2rem] w-[1.2rem] rotate-0 scale-100 transition-all motion-reduce:transition-none dark:-rotate-90 dark:scale-0"+ />+ <Moon+ aria-hidden="true"+ className="absolute h-[1.2rem] w-[1.2rem] rotate-90 scale-0 transition-all motion-reduce:transition-none dark:rotate-0 dark:scale-100"+ />
src/components/Footer.tsx (1)

19-21: Confirm the +10000 year offset.

This renders “© 12025” today (August 30, 2025). If not intentional, drop the offset.

- {/* &copy; 12025,{" "} */}- &copy; {new Date().getFullYear() + 10000},{" "}+ &copy; {new Date().getFullYear()},{" "}
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

💡 Knowledge Base configuration:

  • MCP integration is disabled by default for public repositories
  • Jira integration is disabled by default for public repositories
  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 57b6fe5 and fb8bae8.

📒 Files selected for processing (5)
  • .gitignore (1 hunks)
  • src/app/(root)/page.tsx (1 hunks)
  • src/app/about/page.tsx (1 hunks)
  • src/components/Footer.tsx (2 hunks)
  • src/components/ui/theme-toggle.tsx (2 hunks)
🧰 Additional context used
🧬 Code graph analysis (3)
src/components/Footer.tsx (1)
src/components/NextLogo.tsx (1)
  • NextLogo (6-21)
src/app/about/page.tsx (2)
src/app/(root)/page.tsx (1)
  • revalidate (6-6)
src/components/Stars.tsx (1)
  • Stars (7-34)
src/app/(root)/page.tsx (2)
src/app/about/page.tsx (1)
  • revalidate (8-8)
src/components/Stars.tsx (1)
  • Stars (7-34)
🔇 Additional comments (4)
src/app/about/page.tsx (1)

7-9: 1-hour ISR enabled — LGTM.

Confirm 3600s aligns with your content freshness needs; bump down if About updates more frequently.

src/app/(root)/page.tsx (1)

10-10: Tailwind class reorder only.

No functional diff.

Also applies to: 12-12

src/components/Footer.tsx (2)

3-4: Switch to relative imports — LGTM.

Local components under the same segment resolve reliably without the alias.


22-23: GitHub link and hover color — LGTM.

Good external link and palette alignment.

@skywalkerSam
skywalkerSam merged commit 951dc5a into mainAug 30, 2025
4 checks passed
Sign up for freeto 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.

1 participant

@skywalkerSam