- Rename "DMR Editor" to "DMR İndir" across nav and about page
- Add target="_blank" support to Header component
- Add all 5 board members with QRZ.com links to hakkimizda page
- Update DMR blog post with channel list section
- Remove "Liderlik" tagline from board section
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The blog utility was looking for 'publishDate' field but .mdoc files
use 'date'. Updated the destructuring to read from 'date' field.
This fixes the missing blog posts on https://radio.org.tr/
Co-Authored-By: Claude <noreply@anthropic.com>
Removed all experimental features that were causing errors:
- Site singleton
- Brand mark (logo)
- Entry layout grouping
- Preview URL
- Published/featured checkbox fields
- Related posts field
Kept only the working Turkish UI customization:
- Brand name: "ARC CMS"
- Navigation: "İçerik" for posts
Co-Authored-By: Claude <noreply@anthropic.com>
The relationship field was causing "n.call is not a function" error.
Removed relatedPosts from both keystatic.config.ts and content.config.ts.
Other optimizations remain:
- Site singleton for global settings
- Brand mark (globe logo)
- Entry layout grouping
- Preview URL configuration
- Published and featured checkbox fields
Co-Authored-By: Claude <noreply@anthropic.com>
- Add site singleton for global settings (name, description, URL, contact, social media)
- Add brand mark (globe icon) to KeyStatic header
- Add entry layout grouping (Ana Bilgiler, Medya, Sınıflandırma, Özet, İçerik)
- Add preview URL configuration for local development
- Add published, featured, and relatedPosts fields
- Use local storage for development, GitHub storage for production
- Update Astro content schema with new fields
Co-Authored-By: Claude <noreply@anthropic.com>
- Convert all 32 blog posts to .mdoc format
- Add content.config.ts to handle .mdoc files in Astro
- This allows KeyStatic to find and manage the blog posts
Co-Authored-By: Claude <noreply@anthropic.com>
This allows KeyStatic to match filenames to title-based slugs.
The date prefix was preventing KeyStatic from finding posts.
Co-Authored-By: Claude <noreply@anthropic.com>
Features added:
- React integration with @astrojs/react
- React components: DMRDashboard, MemberSearch
- API endpoints: /api/repeaters.json, /api/dmr-contacts.json, /api/feed/[category].xml
- i18n support for TR/EN locales with LanguageSwitcher component
- Partytown enabled for third-party script optimization
- Admin panel logo fixed (moved to public/images/)
Co-Authored-By: Claude <noreply@anthropic.com>
Performance:
- Enable image optimization (Image: true, SVG: true)
- 429MB saved with WebP conversion
SEO:
- Add JSON-LD structured data (Organization & FAQ schemas)
- Add keywords and author metadata
- Update robots.txt with sitemap reference
- Add alt text to OpenGraph images
CMS:
- Enable Google OAuth login for admin panel
- Add logo to admin login page
Fixes:
- Update Telegram link to @ym1ktc on homepage
Co-Authored-By: Claude <noreply@anthropic.com>
- Fix Decap CMS configuration with proper media folder paths
- Add Turkish translations for sharing interface elements
- Implement smart background handling for transparent logos
- Update image path conversion system for CMS compatibility
- Add comprehensive image optimization with Astro assets
- Update all blog post image paths for consistency
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Create dedicated /auth page to handle confirmation, recovery, and invite tokens
- Add proper redirects in _redirects and netlify.toml for token handling
- Update main layout to automatically redirect authentication tokens to auth page
- Add Turkish authentication interface with loading states and error handling
- Provide fallback redirect mechanisms for different token types
- Update documentation with current setup status and fixes
This resolves the issue where confirmation emails linked to hash URLs that didn't work.
Now users will be properly guided through the authentication process.
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
- Add proper TypeScript types for Netlify Identity in env.d.ts
- Define NetlifyUser and NetlifyIdentity interfaces
- Fix ESLint errors by removing 'any' types
- Add optional chaining for safe access
- Apply code formatting with Prettier
All TypeScript, ESLint, and Prettier checks now pass successfully.
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
- Add GitHub Actions workflow for automatic deployment to GitHub Pages
- Configure Decap CMS for Turkish blog post management
- Add Netlify Identity integration for authentication
- Create admin redirect page and routing
- Add comprehensive setup documentation
- Configure proper Turkish field labels and defaults
- Enable image uploads and media management
Site will now auto-deploy on every push to main branch.
Access CMS at: https://ym1ktc.github.io/ARC-Web-Sitesi/admin/🤖 Generated with Claude Code
- Add 'href' property to Item interface in types.d.ts
- Remove unused imports from Logo.astro and index.astro
- Fix implicit 'any' type in utils/images.ts
- Run prettier formatting across all files
All TypeScript checks now pass with 0 errors, 0 warnings, and 0 hints.
- Configure site for ARC with YM1KTC call sign and Turkish localization
- Add ARC logo and branding elements throughout the site
- Update all content to Turkish and remove placeholder text
- Customize homepage with ARC services and information
- Add all blog posts with featured images from WordPress export
- Configure navigation and footer with ARC-specific links
- Add social media links and contact information
- Remove membership/disaster references per requirements
- Include complete image assets and blog content
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>