Commit Graph
100 Commits
Author SHA1 Message Date
christoph 49112280de Lib: Update team database schema (add logo, color) 2024-12-23 16:15:27 +01:00
christoph c954b0f3b0 App: Add onLazyVisible type definition 2024-12-23 16:15:27 +01:00
christoph b1bea37e20 Skeleton: Fix z-indices so the loading indicator is visible 2024-12-23 16:15:27 +01:00
christoph eedc7f9a85 Lib: Comments 2024-12-23 16:15:27 +01:00
christoph b21e4b9b6e Lib: Fix LazyImage in Dropdown component 2024-12-23 16:15:27 +01:00
christoph bcb5661e06 Lib: Remove debug log 2024-12-23 16:15:27 +01:00
christoph 09a53a15a7 Skeleton: Fix data dropdown padding 2024-12-23 16:15:27 +01:00
christoph f0c568b982 Lib: Remove previous lazy loading approach and replace with static aspect ratios
The element size must be valid before it is loaded, this is a problem
for cards, as they adapt to their content's size.
Previously I tried to load the first card non-lazily and measure its
dimensions for the next cards, but that was not stable on viewport
changes (could have measured the aspect ratio instead...).
Now, all the aspect ratios are just measured and defined manually,
stupid but simple.
2024-12-23 16:15:27 +01:00
christoph d398ab67e0 Lib: Implement (slightly broken) lazy loading of cards
Issues arise when the viewport size changes
2024-12-23 16:15:27 +01:00
christoph df0402a318 Lib: Add comment to lazyload.ts 2024-12-23 16:15:27 +01:00
christoph 3cffab193b Skeleton: Update drawer switch timeout 2024-12-23 16:15:27 +01:00
christoph 8bf96e3380 Lib: Update DriverCard to reflect lib changes (lazy loading) 2024-12-23 16:15:27 +01:00
christoph 55e849d908 Data/Season: Update tab bar styling 2024-12-23 16:15:27 +01:00
christoph a02a1e7843 Lib: Make lazyimage fade in the image once loaded 2024-12-23 16:15:27 +01:00
christoph f086e360d4 Skeleton: Position the drawer below the navbar + allow toggling between them 2024-12-23 16:15:27 +01:00
christoph bac2d31d73 Data/Season: Reflect lib updates (lazy stuff) 2024-12-23 16:15:27 +01:00
christoph 68a56ece32 Lib: Fix bug in image to base64 conversion (now works client+serverside) 2024-12-23 16:15:27 +01:00
christoph 4d41401905 Lib: Update lazy components (dropdown + card now lazy) 2024-12-23 16:15:27 +01:00
christoph ecd566b1fa Lib: Move image fetching out of LazyImage component into lib 2024-12-23 16:15:27 +01:00
christoph 83d322f26b Lib: Add function to fetch image as base64 string 2024-12-23 16:15:27 +01:00
christoph 3bd960b187 Skeleton: Enable autocomplete on username inputs 2024-12-23 16:15:27 +01:00
christoph 27fc2bce49 Lib: Disable autocomplete on card inputs 2024-12-23 16:15:27 +01:00
christoph 57b4253d99 Data/Season: Stream drivers, races and substitutes as promises for data/season page 2024-12-23 16:15:27 +01:00
christoph cb51e01e98 Hooks: Log requests 2024-12-23 16:15:27 +01:00
christoph 3904201033 Env: Add sveltekit node server adapter 2024-12-23 16:15:27 +01:00
christoph 5bfb670347 Lib: Make LazyImage full width 2024-12-23 16:15:27 +01:00
christoph cb5203fbf8 Data/Season: Update imports 2024-12-23 16:15:27 +01:00
christoph 7bebc334f3 Data/Season: Implement image compression + downsizing for team/driver/race routes 2024-12-23 16:15:27 +01:00
christoph c1f9c6aa12 Lib: Dispatch CustomEvent instead of Event for DropdownChange 2024-12-23 16:15:27 +01:00
christoph 72154656fb Lib: Add imgwidth/imgheight to Card component so layout doesn't jump when lazyloading images 2024-12-23 16:15:27 +01:00
christoph 0d25f23818 Lib: Update index.ts 2024-12-23 16:15:27 +01:00
christoph 14516133de Lib: Implement LazyImage component (images will be loaded once visible) 2024-12-23 16:15:27 +01:00
christoph 57cae4d400 Lib: Define some constant values in lib/config.ts 2024-12-23 16:15:27 +01:00
christoph b7ca0582f4 Skeleton: Add site loading indicator to the main layout 2024-12-23 16:15:27 +01:00
christoph 66183d0600 Lib: Implement site loading indicator 2024-12-23 16:15:27 +01:00
christoph 1b6082ddfa Profile: Compress user avatars in update_profile route 2024-12-23 16:15:27 +01:00
christoph ef96cd1e2c Lib: Implement image downscaling + avif conversion helper 2024-12-23 16:15:27 +01:00
christoph 926e9fac44 Skeleton: Remove unused imports 2024-12-23 16:15:27 +01:00
christoph 325563394b Env: Don't bundle sharp (sharp needs node, so serverside only) 2024-12-23 16:15:27 +01:00
christoph c77a1dd6d5 Skeleton: Add race results link to layout 2024-12-23 16:15:27 +01:00
christoph b81f17c230 Data/Season: Add driver/team icons to driver/team dropdowns 2024-12-23 16:15:27 +01:00
christoph 35c6f59d4b Data/Season: Fix bug in create_driver action (don't ensure "active") 2024-12-23 16:15:27 +01:00
christoph 6d93ca7dab Lib: Allow icons in dropdown component list 2024-12-23 16:15:27 +01:00
christoph 2989e8a2ed Data/Season: Add "active" switches on drivers page 2024-12-23 16:15:27 +01:00
christoph 4003cb5645 Lib: Fix wrong label in substitution card 2024-12-23 16:15:27 +01:00
christoph 655a9377fe Data/Season: Implement substitutions page 2024-12-23 16:15:27 +01:00
christoph dbd423dfd3 Lib: Implement substitution card 2024-12-23 16:15:27 +01:00
christoph 69e9ca1400 Lib: Rename field in schema 2024-12-23 16:15:27 +01:00
christoph 0ed6e24852 Lib: Remove unused event from clear_spring event handler in racecard component 2024-12-23 16:15:27 +01:00
christoph 0baaf51e53 Lib: Add action field to dropdown component 2024-12-23 16:15:27 +01:00
christoph 7648886ca4 Lib: Only pass single "team_select_value" into component except of all of them 2024-12-23 16:15:27 +01:00
christoph 72abc891e5 Data/Season: Implement races page 2024-12-23 16:15:27 +01:00
christoph ef6554f2c5 Lib: Allow key exceptions in form_data_clean + implement date format conversion for pocketbase 2024-12-23 16:15:27 +01:00
christoph f11b516088 Lib: Implement racecard component 2024-12-23 16:15:27 +01:00
christoph 2ae436dbe5 Env: Add date-fns library 2024-12-23 16:15:27 +01:00
christoph 3b6c45e86e Lib: Fix bug in form_data_clean (mutating while iterating) 2024-12-23 16:15:27 +01:00
christoph 2e0539a9b8 Lib: Add schema definitions for race and substitution 2024-12-23 16:15:27 +01:00
christoph 88f3014238 Lib: Fix readonly + required in dropdown component by preventing keypress events 2024-12-23 16:15:27 +01:00
christoph 5cbbb89ee1 Data/Season: Use team/driver card components 2024-12-23 16:15:27 +01:00
christoph 52a8d8f4ff Lib: Implement team and driver cards 2024-12-23 16:15:27 +01:00
christoph dcd1444ba7 Profile: Redirect to current page instead of "/" when logging in/out or changing/creating profile 2024-12-23 16:15:27 +01:00
christoph 218e105815 Hooks: Load template avatar url if user didn't set one 2024-12-23 16:15:27 +01:00
christoph 43638f5f40 Env: Add sharp for image conversion to avif 2024-12-23 16:15:27 +01:00
christoph ae8310aeba App: Change Locals interface user type to User schema 2024-12-23 16:15:27 +01:00
christoph 758ee8de27 Data/Season: Display template graphics (for new driver/team etc.) 2024-12-23 16:15:27 +01:00
christoph 6cc5a1a0fa Data/Season: Load template graphics 2024-12-23 16:15:27 +01:00
christoph 95a2d086ee Lib: Replace get_by_id helper with more general get_by_value (key can be chosen) 2024-12-23 16:15:27 +01:00
christoph 16a315c1a5 Lib: Add Graphic and User schemas 2024-12-23 16:15:27 +01:00
christoph 66d2d9b878 Lib: Disable text input in Dropdown component 2024-12-23 16:15:27 +01:00
christoph b08b73b337 Data/Season: Implement create_driver, update_driver and delete_driver routes 2024-12-23 16:15:27 +01:00
christoph 402f067877 Data/Season: Add team select to seasondata drivers page 2024-12-23 16:15:27 +01:00
christoph 9f45469f01 Env: Add UUID package 2024-12-23 16:15:27 +01:00
christoph 2c5a7a1143 Lib: Update type information 2024-12-23 16:15:27 +01:00
christoph 304ffd45ba Lib: Implement dropdown + search/autocomplete components 2024-12-23 16:15:27 +01:00
christoph 0abfaff004 App: Add TS type information 2024-12-23 16:15:27 +01:00
christoph 04569ea683 Skeleton: Manually ":hover" the button to the current page in navbar 2024-12-23 16:15:27 +01:00
christoph 96fc1ed2aa Profile: Move /user routes to /profile 2024-12-23 16:15:27 +01:00
christoph 7a8abbe0a9 Lib: Disable input label text wrapping 2024-12-23 16:15:27 +01:00
christoph 5d1ec12d95 Lib: Allow to manually enable :hover on Button 2024-12-23 16:15:26 +01:00
christoph 8060c4971d Migrate from DaisyUI to SkeletonUI 2024-12-23 16:15:26 +01:00
christoph 2f934537a2 Env: Update tailwindcss safelist 2024-12-23 16:15:26 +01:00
christoph ff553c99ec Env: Replace daisyui with skeletonui 2024-12-23 16:15:26 +01:00
christoph 97872cc9b9 Env: Update prettier config 2024-12-23 16:15:26 +01:00
christoph 4ce40e7145 Skeleton: Disable "draggable" on links and images 2024-12-23 16:15:26 +01:00
christoph b69647cd48 Skeleton: Move seasondata tabs into +layout.svelte 2024-12-23 16:15:26 +01:00
christoph 51651b976a Data/Season: Add stub page for drivers/races routes 2024-12-23 16:15:26 +01:00
christoph 7623a426c9 Lib: Rename forms.ts to form.ts 2024-12-23 16:15:26 +01:00
christoph f1830d1b1c Skeleton: Make "Login" button the default on enter (instead of "Register") 2024-12-23 16:15:26 +01:00
christoph 55bdf0fa18 Data/Season: Implement seasondata/teams page + creation/deletion/updating 2024-12-23 16:15:26 +01:00
christoph 1410811167 User: Add login/register/profile form handling 2024-12-23 16:15:26 +01:00
christoph 27620fc70e Add stub page for / route 2024-12-23 16:15:26 +01:00
christoph eb8aa01109 Skeleton: Add main page skeleton (navbar) 2024-12-23 16:15:26 +01:00
christoph dd1e6ee6c1 Hooks: Add request event handler for authentication 2024-12-23 16:15:26 +01:00
christoph a7b2bfb56b Static: Add favicon + logo 2024-12-23 16:15:26 +01:00
christoph b3c10147df Env: Update devshell commands 2024-12-23 16:15:26 +01:00
christoph f6b1f1ab58 Env: Update tailwind config + some other plugins 2024-12-23 16:15:26 +01:00
christoph b561225a9b Add stub pages for some routes 2024-12-23 16:15:26 +01:00
christoph 36cd9fbe8a Lib: Add image preview helper 2024-12-23 16:15:26 +01:00
christoph 4089b58df1 Lib: Add form helpers 2024-12-23 16:15:26 +01:00
christoph 278024b91b Lib: Add index.ts for easier importing 2024-12-23 16:15:26 +01:00