Commit Graph

121 Commits

Author SHA1 Message Date
aeec3b4865 Add yeast type swapper with intelligent unit conversion
All checks were successful
CI / update (push) Successful in 16s
- Implements swap button for Frischhefe/Trockenhefe ingredients
- Supports 3:1 fresh-to-dry yeast conversion ratio
- Handles special Prise unit conversions (1 Prise = 1 Prise or 1g)
- Accounts for recipe multipliers (0.5x, 1x, 1.5x, 2x, 3x, custom)
- Automatic unit switching between grams and Prise for practical cooking

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-04 12:57:28 +02:00
55a4e6a262 Revert "Implement secure client-side favorites loading to fix nginx 502 issues"
All checks were successful
CI / update (push) Successful in 16s
This reverts commit 48b94e3aef.
2025-09-04 12:26:27 +02:00
48b94e3aef Implement secure client-side favorites loading to fix nginx 502 issues
All checks were successful
CI / update (push) Successful in 16s
- 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
15a72e73ca Revert "Fix server-side favorites fetching for production nginx setup"
This reverts commit bda30eb42d.
2025-09-04 12:13:08 +02:00
bda30eb42d Fix server-side favorites fetching for production nginx setup
All checks were successful
CI / update (push) Successful in 17s
- 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
b534cd1ddc Add favorite indicators to recipe cards and improve favorites UI
All checks were successful
CI / update (push) Successful in 17s
- 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
fe46ab194e 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
605a2e0509 Implement better auth flow with direct Authentik redirects
- Create custom /login and /logout endpoints that bypass Auth.js default pages
- Use auto-submitting forms to POST to Auth.js with proper form data
- Update UserHeader links to use new custom endpoints (/login, /logout)
- Remove old login/logout page server files that are no longer needed
- Login flow: /login → auto-submit form → /auth/signin/authentik → Authentik
- Logout flow: /logout → auto-submit form → /auth/signout → Authentik logout
- Provides seamless user experience with loading spinners during redirects
- Maintains all Auth.js security features and session management
- Eliminates intermediate Auth.js pages for cleaner auth flow

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-31 21:58:55 +02:00
36bdb0d65c Card.svelte: fix top-right icon offset 2025-08-31 21:09:34 +02:00
22ddee4942 Fix Card.svelte icon positioning and styling
- Restored icon to top-right position with absolute positioning
- Added proper circular background with nord0 color
- Set correct dimensions (50px × 50px) and border-radius for circular shape
- Added shadow and hover effects to match original design
- Fixed z-index to ensure icon appears above other elements
- Maintained shake animation on card hover for visual feedback

The icon now appears correctly in the top-right corner with a round
background instead of being positioned at bottom center with transparent
background.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-31 21:07:10 +02:00
c43bf2d441 Add missing Payment model and database connection utilities
- Created Payment model with mongoose schema for cospend functionality
- Added database connection utilities with proper connection caching
- Fixed build errors related to missing imports
- Build now succeeds and dev server starts correctly

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-31 21:03:15 +02:00
c8d879d4f9 Upgrade SvelteKit 4 to SvelteKit 5 with latest dependencies
Major changes:
- Upgraded Svelte from v4 to v5.38.6 (latest stable)
- Upgraded SvelteKit from v2.0.0 to v2.37.0 (latest)
- Upgraded Vite from v5 to v7.1.3 for better performance
- Updated all related packages to latest compatible versions
- Added pnpm as package manager with packageManager field
- Fixed Card.svelte nested anchor tags issue by converting inner links to buttons
- Updated component styling to maintain visual consistency
- Removed incompatible svelte-preprocess-import-assets package

Dependencies updated:
- @sveltejs/kit: ^2.0.0 → ^2.37.0
- @sveltejs/vite-plugin-svelte: ^3.0.0 → ^6.1.3
- svelte: ^4.0.0 → ^5.38.6
- vite: ^5.0.0 → ^7.1.3
- @sveltejs/adapter-auto: ^3.0.0 → ^6.1.0
- @sveltejs/adapter-node: ^2.0.0 → ^5.0.0
- svelte-check: ^3.4.6 → ^4.0.0
- mongoose: ^7.4.0 → ^8.0.0
- sharp: ^0.32.3 → ^0.33.0

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-31 21:01:19 +02:00
f69310dfec render HTML in Recipe Card description 2024-10-22 17:29:29 +02:00
af2763e64f Render html also in edit panels 2024-03-02 12:38:03 +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
913e76ab9c update multiplier on navgation 2024-02-21 13:47:30 +01:00
0275ddb596 apply ingredient amount to multiplier 2024-02-21 13:26:27 +01:00
03a25458e3 attempt to fix rand_array() 2024-02-21 10:29:17 +01:00
683967932b "fix" symbol in header on mobile 2024-02-20 20:27:33 +01:00
8d62bc4213 simplify boolean assignemnt 2024-02-19 23:22:29 +01:00
968c170cba remove unnecesarry deps since moving to authjs 2024-02-19 23:17:16 +01:00
d1587a3672 move globals out of component into css file 2024-02-18 23:34:14 +01:00
5382ed1091 do not display placeholder image in edit/adding recipe 2024-02-18 19:58:20 +01:00
5eede48406 first attempt in disabling image coursel on redirect 2024-02-18 19:53:47 +01:00
25af1f9145 add link styling 2024-02-18 15:09:25 +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
6aed4baf22 add forgotten css 2024-02-01 17:17:20 +01:00
42a8b607a1 add initial Glaube section 2024-02-01 17:15:51 +01:00
8029c8bbee only margin-right in MediaScroller 2024-01-24 11:09:54 +01:00
e37842114a Search: enable click only result 2024-01-22 16:04:58 +01:00
d5edf25393 fix weird shift in Cards due to double insertion of <a> tag on server 2024-01-22 15:09:08 +01:00
f6887af97a Card.svelte: placeholder image also blurred if JS disabled 2024-01-22 14:53:26 +01:00
74b9de25fb fix Search 2024-01-22 14:47:22 +01:00
df4a3763c1 no blurred image if JS disabled 2024-01-22 14:43:52 +01:00
7dcd495e0c Card is now fully loaded in itself
No longer do we have this weird shift of the description to the right of
the Card until some magical JS is loaded to fix it.
Not yet perfect: The now wrapping a-tag is for some reason still weirdly
sent to client until some js cleans it up. Currently results in a too
large gap which is fixed by local js.

Still TODO: do not blur images if no js present
2024-01-22 14:13:56 +01:00
8f53f66286 Card.svelte: get rid of :has() and Firefox-specific hacks 2024-01-22 12:40:55 +01:00
895c5c5157 slightly improve js-free Card rendering 2024-01-21 10:34:23 +01:00
3ebd48f480 fix Login/PFP falling below viewport 2024-01-20 17:49:20 +01:00
2b18b377c0 Header: add box-shadow 2024-01-20 16:29:47 +01:00
e0b3f546c8 add forgotten Card icon to darktheme 2024-01-20 00:43:31 +01:00
00c23bcdba dark theme implemented 2024-01-20 00:39:53 +01:00
a2e443c150 Search: temporarily disable auto-scroll 2024-01-10 11:03:41 +01:00
140a9347e0 remove shys from Search 2024-01-10 10:55:59 +01:00
40696be73b remove shys from pagetitle 2023-12-30 12:47:06 +01:00
6fe881c6fc force line-wrap test 2023-12-30 12:41:25 +01:00
156736477e add multiplier url parameter 2023-12-28 14:20:19 +01:00
01c79545b3 initial move entries setup 2023-12-11 21:32:16 +01:00