Commit Graph

61 Commits

Author SHA1 Message Date
33954b5290 SSR for json-ld 2025-09-04 19:14:02 +02:00
78f4360c5e attempt 2 for json-ld exposure 2025-09-04 19:09:08 +02:00
a582bac94d Add JSON-LD structured data for recipes
- Create recipeJsonLd.ts function with Schema.org compliant Recipe markup
- Add API endpoint at /api/rezepte/json-ld/[name] for on-demand generation
- Include proper ISO 8601 time parsing for German formats
- Add rel="alternate" link in recipe pages for discoverability
- Set author to Alexander Bocken with proper Person type
- Include caching headers for performance optimization

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-04 18:57:47 +02:00
1c2a9502ad Implement progressive enhancement for favorites button
- Add server-side form handling for favorites without JavaScript
- Create toggleFavorite server action that uses existing API endpoint
- Update FavoriteButton component with form-based fallback
- Maintain JavaScript enhancement for smoother UX when available
- Use server-side fetch to reuse centralized favorites API logic

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-04 17:05:07 +02:00
9d9e2b6af6 Implement progressive enhancement for yeast swapper with state persistence
- Add server-side form handling for yeast swapping without JavaScript
- Implement toggle-based URL parameter system (y0=1, y1=1) for clean URLs
- Add server action to toggle yeast flags and preserve all URL state
- Update multiplier forms to preserve yeast toggle states across submissions
- Calculate yeast conversions server-side from original recipe data
- Fix {{multiplier}} placeholder replacement to handle non-numeric amounts
- Enable multiple independent yeast swappers with full state preservation
- Maintain perfect progressive enhancement: works with and without JS

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-04 16:08:29 +02:00
b05dcf9e3b Implement progressive enhancement for universal search with context-aware filtering
Add comprehensive search solution that works across all recipe pages with proper fallbacks. Features include universal API endpoint, context-aware filtering (category/tag/icon/season/favorites), and progressive enhancement with form submission fallback for no-JS users.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-04 14:53:59 +02:00
65aee45555 Implement progressive enhancement for recipe multiplier with form fallbacks
Add form-based multiplier controls that work without JavaScript while providing enhanced UX when JS is available. Fixed fraction display and NaN flash issues.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-04 14:34:43 +02:00
fe960f0a9d Revert "Implement secure client-side favorites loading to fix nginx 502 issues"
This reverts commit 48b94e3aef.
2025-09-04 12:26:27 +02:00
5c28ccea49 Implement secure client-side favorites loading to fix nginx 502 issues
- Create client-side favorites store with secure authentication
- Remove server-side favorites fetching that caused nginx routing issues
- Update FavoriteButton to properly handle short_name/ObjectId relationship
- Use existing /api/rezepte/favorites/check endpoint for status checking
- Maintain security by requiring authentication for all favorites operations

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-04 12:20:08 +02:00
32bf6ccbc5 Revert "Fix server-side favorites fetching for production nginx setup"
This reverts commit bda30eb42d.
2025-09-04 12:13:08 +02:00
f17d8b2098 Fix server-side favorites fetching for production nginx setup
- Use absolute URLs for internal server-side fetch calls to bypass nginx routing issues
- Add debugging logs to favorites loading process
- Temporarily disable CSRF protection for local testing
- Clean up page server load function

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-04 12:09:28 +02:00
82c71ad136 Add favorite indicators to recipe cards and improve favorites UI
- Add heart emoji indicators to recipe cards (top-left positioning)
- Show favorites across all recipe list pages (season, category, icon, tag)
- Create favorites utility functions for server-side data merging
- Convert client-side load files to server-side for session access
- Redesign favorite button with emoji hearts (🖤/❤️) and bottom-right positioning
- Fix randomizer array mutation issue causing card display glitches
- Implement consistent favorite indicators with drop shadows for visibility

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-01 20:45:28 +02:00
cd54ad0498 Implement user favorites feature for recipes
- Add UserFavorites MongoDB model with ObjectId references
- Create authenticated API endpoints for favorites management
- Add Heart icon and FavoriteButton components with toggle functionality
- Display favorite button below recipe tags for logged-in users
- Add Favoriten navigation link (visible only when authenticated)
- Create favorites page with grid layout and search functionality
- Store favorites by MongoDB ObjectId for data integrity

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-01 20:18:57 +02:00
74dd2b1f4b Update @auth/sveltekit to latest stable version 1.10.0
- Upgraded @auth/sveltekit from 0.14.0 to 1.10.0
- Updated session API from event.locals.getSession() to event.locals.auth()
- Fixed TypeScript definitions for new auth API in app.d.ts
- Updated layout server load functions to use LayoutServerLoad type
- Fixed session callbacks with proper token type casting
- Switched to generic OIDC provider config to resolve issuer validation issues
- All auth functionality now working with latest Auth.js version

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-31 21:45:14 +02:00
d6dce464f7 switch from "Unterwegs" to "Snack" 2025-03-31 17:57:40 +02:00
6ec68d2028 added tips-and-tricks route 2024-10-28 17:00:43 +01:00
ba52273816 fix trim() 2024-08-27 18:13:52 +02:00
ef12c59c51 trim spaces from short_name, otherwise recipes become unnavigatable if ending on spaces 2024-08-18 21:20:03 +02:00
d355f2fc09 emoji font for icon 2024-02-26 12:00:38 +01:00
e725a0430a eager image loading for top recipes on page 2024-02-25 12:54:30 +01:00
0f0321a42d specify emoji font for icons 2024-02-25 11:15:06 +01:00
afdfd4f651 invalidate image cache on /edit properly 2024-02-21 09:38:55 +01:00
c86844afac finally buildable without jwt 2024-02-19 23:38:08 +01:00
51fd5c7f01 add recipe counter 2024-02-18 17:35:17 +01:00
5b34fa7a9c first attempt of img cache invalidation 2024-02-18 14:43:42 +01:00
779dc96967 Correctly display user with pfp if available 2024-02-15 04:28:31 +01:00
ca62e48f7b initial OIDC setup 2024-02-14 16:07:55 +01:00
8029c8bbee only margin-right in MediaScroller 2024-01-24 11:09:54 +01:00
f2b834108f fix missing nordtheme mvs 2024-01-21 10:36:32 +01:00
a48a14f1cf simplify structure by remove (rezepte) 2024-01-20 16:39:27 +01:00
4321ece385 First fully working user management, move to layout groups 2023-07-18 14:18:52 +02:00
1f34c36384 cleaner login and registration 2023-07-18 12:05:30 +02:00
902a3611b1 rearrange tags 2023-07-14 14:34:15 +02:00
79691581b9 active season/icon highlighted insteas of using text 2023-07-14 14:33:55 +02:00
fd1157151e break word 2023-07-13 23:15:13 +02:00
2eaef8e10c bodge img upload on edit if no img available 2023-07-13 18:18:01 +02:00
7c56cff5bf update image and season interval on navigation 2023-07-13 17:18:09 +02:00
3a8d4e0979 add Getränke cateogry in all display 2023-07-13 11:50:29 +02:00
2483524fbf rm jukit stuff 2023-07-12 12:28:34 +02:00
691aa1b0b7 fix img APIs to working standard 2023-07-12 12:23:35 +02:00
385a878cf5 add initial img API endpoints 2023-07-12 11:35:43 +02:00
32ff7a2a20 randomize moved to API 2023-07-11 22:54:13 +02:00
5ffd3dbadd fix recipe page 2023-07-11 19:00:58 +02:00
099bf61dec fix some icon animations 2023-07-10 13:19:35 +02:00
357e2f7eeb randomize order of recipes based on day 2023-07-10 13:00:11 +02:00
abd09f2291 render html in preamble 2023-07-05 15:20:18 +02:00
7eb731181a Icon route added 2023-07-03 12:39:34 +02:00
17cfa89cce do not render &shy; or similar in name 2023-07-03 09:35:36 +02:00
a48b9686e7 Remove unnecessary a11y warnings 2023-07-03 00:09:00 +02:00
0ad95d1f2c API routes now return proper Responses and basic errors are handled
slight improvements in layouting
2023-07-02 23:39:31 +02:00