Skip to content

Releases: carrilloapps/web-aprs-passcode

[2.3.0] - 2025-01-08

09 Dec 20:11

Choose a tag to compare

Added

  • Dark/Light Theme Toggle - User preference with system default detection

    • Implemented next-themes for theme management
    • Created ThemeToggle component with Sun/Moon icons
    • Added ThemeProvider wrapper component
    • Theme persists across navigation
    • System preference detection on initial load
    • Theme toggle accessible in main page and documentation layout
  • Comprehensive SEO Implementation - Optimized metadata for search engines

    • Dynamic metadata generation per locale using generateMetadata()
    • OpenGraph tags for social media sharing
    • Twitter Card metadata
    • Alternate language links for all 10 locales
    • Robots configuration for search engine crawling
    • Comprehensive keywords for better discoverability
    • Metadata translations in all languages (title and description)

Changed

  • Layout Structure - Enhanced main layout with SEO and theme support
    • Added generateMetadata() function for dynamic SEO
    • Integrated ThemeProvider with system default preference
    • Improved metadata structure for better SEO
  • Page Headers - Updated header sections across all pages
    • Theme toggle positioned alongside language switcher
    • Consistent header design in main page and documentation
    • Better visual hierarchy with grouped controls

Technical Details

  • Dependencies Added:
    • next-themes@latest - Theme management system
  • New Components:
    • /src/components/theme-provider.tsx - Theme context provider
    • /src/components/theme-toggle.tsx - UI toggle button
  • SEO Features:
    • Title template: %s | APRS Passcode Generator
    • OpenGraph images and descriptions
    • Twitter card support
    • Language alternates for /, /docs/aprs-guide, /docs/technical-specs, /docs/resources, /docs/faq
    • Robots: index, follow for public indexing
  • Theme Configuration:
    • Uses class-based theme switching (.dark class)
    • Default theme: system (auto-detects user preference)
    • Smooth transition between themes
    • SSR-safe implementation with mounted state