03df3b0d14ab1a6d76c1d4a816a4a3ba3cef7365
Streamlined the translation approval workflow by removing the side-by-side German/English comparison and focusing on the English translation only: - TranslationApproval: Removed two-column comparison grid, now shows only English translation in single-column layout for cleaner UI - Added 'Vollständig neu übersetzen' button to TranslationApproval actions section (next to Re-translate button as requested) - Edit page: Removed standalone 'Vollständig neu übersetzen' button from submit buttons, now handled within translation approval workflow - Updated CSS to use simplified .translation-preview and .field-section classes instead of grid layout The German original is still accessible above in the edit form, making the translation approval process more focused and less cluttered.
Personal Homepage
My own homepage, bocken.org, built with svelte-kit.
TODO
General
- Admin user management -> move to authentik via oIDC
- login to authentik
- only let rezepte_users edit recipes -> currently only letting them log in, should be changed
- get user info from authentik (more than email and name)
- upload pfp
- upload/change pfp
- registration only with minimal permissions
- logout without /logout page
- preferences page
- change password
- css dark mode
@media (prefers-color-scheme: dark) {} - dark mode toggle
Rezepte
- Do not list recipes that are all-year as "seasonal"
- nutrition facts
- verify randomize arrays based on day
- notes for next time
- refactor, like, a lot
- expose json-ld for recipes https://json-ld.org/ https://schema.org/Recipe
- reference other recipes in recipe
- add a link to the recipe
- add ingredients to the ingredients list
- include steps?
- add favoriting ability when logged in
- favorite button on recipe
- store favorites in DB -> add to user object
- favorite API endpoint (requires auth of user)
- set
- retrieve
- favorite page/MediaScroller
- graceful degradation for JS-less browsers
- use js-only class with display:none and remove it with JS
- disable search -> use form action instead on submit?
- do not blur images without js
- correct Recipe Card rendering
Glaube
- just keep it md rendered
- Google Speech to Text API integration?
- Gebete
Outside of this sveltekit project but planned to run on the server as well
- create LDAP and OpenID
- emailwiz setup
- fail2ban
- LDAP?
Dendrite
- setup dendrite
- Connect to LDAP/OIDC (waiting on upstream)
- Serve some web-frontend -> Just element?
Gitea
- consistent theming
- OpenID Connect
- sane landing page
Jellyfin
- connect to LDAP
- consitent theming
Webtrees
- setup Oauth2proxy -> not necessary, authentik has proxy integrated
- connect to OIDC using Oauth2proxy (using authentik)
- consistent theming
- auto-login if not logged in
Jitsi
- consistent theming
- move away from docker
- find a way to improve max video quality without jitsi becoming unreliable
Searx
- investigate SearxNG as more reliable alternative
- consistent theming
Photoprism
- consistent theming
- OIDC integration (waiting on upstream)
Nextcloud
- consistent theming
- collabora integration
Transmission
- move behind authentik
Description
My personal website built to learn SvelteKit. The largest part is the Recipes subsection.
https://bocken.org
Languages
Svelte
64%
TypeScript
33.4%
CSS
1.7%
Python
0.5%
JavaScript
0.2%
Other
0.2%