8d5d64a9bd61e553a78b8e02d3e5aa9fb6d455b6
Extract language switching functionality from UserHeader into a new LanguageSelector component. In mobile view, the selector appears in the top bar next to the hamburger menu. In desktop view, it appears in the navigation bar to the left of the UserHeader. - Create LanguageSelector component with local element bindings - Update Header component with language_selector_mobile and language_selector_desktop slots - Remove language selector code from UserHeader - Update recipe and main layouts to use new component - Hide desktop language selector inside mobile hamburger menu
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
69.1%
TypeScript
27.9%
CSS
1.9%
Python
0.7%
JavaScript
0.2%
Other
0.2%