Compare commits

..

122 Commits

Author SHA1 Message Date
cd3f8f7f71 Data/Season: Add value formatting functions for substitutions page 2024-12-23 16:15:27 +01:00
3e0f17faf0 Lib: Allow table value formatting function to return promise 2024-12-23 16:15:27 +01:00
835146e38a Data/Season: Reorder races columns 2024-12-23 16:15:27 +01:00
a4c2461471 Lib: Make race-/substitution-card buttons fill the card width 2024-12-23 16:15:27 +01:00
4cffa0adc9 Data/Season: Replace card grid for teams/drivers/races/substitutions with tables
This is loading fast and non-lazy, on row-click the card opens
2024-12-23 16:15:27 +01:00
bb108bf6f3 Lib: Remove card aspect ratios
Lazy cards weren't implemented robustly, so use non-lazy cards for now
(maybe find a better solution sometimes)
2024-12-23 16:15:27 +01:00
392e61ca49 Lib: Make driver-/race-/team- and substitution-card non-lazy 2024-12-23 16:15:27 +01:00
04650f624e Lib: Add on-click handler prop to table component 2024-12-23 16:15:27 +01:00
b6a645da6c Lib: Update lazydropdown props name to differentiate from non-lazy dropdown 2024-12-23 16:15:27 +01:00
471163de2f Lib: Update lazycard props name to differentiate from non-lazy card 2024-12-23 16:15:27 +01:00
31d8bb4908 Skeleton: Register component modals for driver-/team-/race- and substitution-card 2024-12-23 16:15:27 +01:00
a23f12b69f Lib: Add non-lazy variants for card, image and dropdown 2024-12-23 16:15:27 +01:00
a1fd50a3f6 Skeleton: Reformat 2024-12-23 16:15:27 +01:00
1a95317a74 Lib: Add table component 2024-12-23 16:15:27 +01:00
05e32b5ffb Lib: Move form stuff into form/ directory 2024-12-23 16:15:27 +01:00
68d9d7e60d Lib: Move teamcard into cards/ + implement new team schema 2024-12-23 16:15:27 +01:00
b3629fbe95 Lib: Move cards into cards/ directory 2024-12-23 16:15:27 +01:00
49112280de Lib: Update team database schema (add logo, color) 2024-12-23 16:15:27 +01:00
c954b0f3b0 App: Add onLazyVisible type definition 2024-12-23 16:15:27 +01:00
b1bea37e20 Skeleton: Fix z-indices so the loading indicator is visible 2024-12-23 16:15:27 +01:00
eedc7f9a85 Lib: Comments 2024-12-23 16:15:27 +01:00
b21e4b9b6e Lib: Fix LazyImage in Dropdown component 2024-12-23 16:15:27 +01:00
bcb5661e06 Lib: Remove debug log 2024-12-23 16:15:27 +01:00
09a53a15a7 Skeleton: Fix data dropdown padding 2024-12-23 16:15:27 +01:00
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
d398ab67e0 Lib: Implement (slightly broken) lazy loading of cards
Issues arise when the viewport size changes
2024-12-23 16:15:27 +01:00
df0402a318 Lib: Add comment to lazyload.ts 2024-12-23 16:15:27 +01:00
3cffab193b Skeleton: Update drawer switch timeout 2024-12-23 16:15:27 +01:00
8bf96e3380 Lib: Update DriverCard to reflect lib changes (lazy loading) 2024-12-23 16:15:27 +01:00
55e849d908 Data/Season: Update tab bar styling 2024-12-23 16:15:27 +01:00
a02a1e7843 Lib: Make lazyimage fade in the image once loaded 2024-12-23 16:15:27 +01:00
f086e360d4 Skeleton: Position the drawer below the navbar + allow toggling between them 2024-12-23 16:15:27 +01:00
bac2d31d73 Data/Season: Reflect lib updates (lazy stuff) 2024-12-23 16:15:27 +01:00
68a56ece32 Lib: Fix bug in image to base64 conversion (now works client+serverside) 2024-12-23 16:15:27 +01:00
4d41401905 Lib: Update lazy components (dropdown + card now lazy) 2024-12-23 16:15:27 +01:00
ecd566b1fa Lib: Move image fetching out of LazyImage component into lib 2024-12-23 16:15:27 +01:00
83d322f26b Lib: Add function to fetch image as base64 string 2024-12-23 16:15:27 +01:00
3bd960b187 Skeleton: Enable autocomplete on username inputs 2024-12-23 16:15:27 +01:00
27fc2bce49 Lib: Disable autocomplete on card inputs 2024-12-23 16:15:27 +01:00
57b4253d99 Data/Season: Stream drivers, races and substitutes as promises for data/season page 2024-12-23 16:15:27 +01:00
cb51e01e98 Hooks: Log requests 2024-12-23 16:15:27 +01:00
3904201033 Env: Add sveltekit node server adapter 2024-12-23 16:15:27 +01:00
5bfb670347 Lib: Make LazyImage full width 2024-12-23 16:15:27 +01:00
cb5203fbf8 Data/Season: Update imports 2024-12-23 16:15:27 +01:00
7bebc334f3 Data/Season: Implement image compression + downsizing for team/driver/race routes 2024-12-23 16:15:27 +01:00
c1f9c6aa12 Lib: Dispatch CustomEvent instead of Event for DropdownChange 2024-12-23 16:15:27 +01:00
72154656fb Lib: Add imgwidth/imgheight to Card component so layout doesn't jump when lazyloading images 2024-12-23 16:15:27 +01:00
0d25f23818 Lib: Update index.ts 2024-12-23 16:15:27 +01:00
14516133de Lib: Implement LazyImage component (images will be loaded once visible) 2024-12-23 16:15:27 +01:00
57cae4d400 Lib: Define some constant values in lib/config.ts 2024-12-23 16:15:27 +01:00
b7ca0582f4 Skeleton: Add site loading indicator to the main layout 2024-12-23 16:15:27 +01:00
66183d0600 Lib: Implement site loading indicator 2024-12-23 16:15:27 +01:00
1b6082ddfa Profile: Compress user avatars in update_profile route 2024-12-23 16:15:27 +01:00
ef96cd1e2c Lib: Implement image downscaling + avif conversion helper 2024-12-23 16:15:27 +01:00
926e9fac44 Skeleton: Remove unused imports 2024-12-23 16:15:27 +01:00
325563394b Env: Don't bundle sharp (sharp needs node, so serverside only) 2024-12-23 16:15:27 +01:00
c77a1dd6d5 Skeleton: Add race results link to layout 2024-12-23 16:15:27 +01:00
b81f17c230 Data/Season: Add driver/team icons to driver/team dropdowns 2024-12-23 16:15:27 +01:00
35c6f59d4b Data/Season: Fix bug in create_driver action (don't ensure "active") 2024-12-23 16:15:27 +01:00
6d93ca7dab Lib: Allow icons in dropdown component list 2024-12-23 16:15:27 +01:00
2989e8a2ed Data/Season: Add "active" switches on drivers page 2024-12-23 16:15:27 +01:00
4003cb5645 Lib: Fix wrong label in substitution card 2024-12-23 16:15:27 +01:00
655a9377fe Data/Season: Implement substitutions page 2024-12-23 16:15:27 +01:00
dbd423dfd3 Lib: Implement substitution card 2024-12-23 16:15:27 +01:00
69e9ca1400 Lib: Rename field in schema 2024-12-23 16:15:27 +01:00
0ed6e24852 Lib: Remove unused event from clear_spring event handler in racecard component 2024-12-23 16:15:27 +01:00
0baaf51e53 Lib: Add action field to dropdown component 2024-12-23 16:15:27 +01:00
7648886ca4 Lib: Only pass single "team_select_value" into component except of all of them 2024-12-23 16:15:27 +01:00
72abc891e5 Data/Season: Implement races page 2024-12-23 16:15:27 +01:00
ef6554f2c5 Lib: Allow key exceptions in form_data_clean + implement date format conversion for pocketbase 2024-12-23 16:15:27 +01:00
f11b516088 Lib: Implement racecard component 2024-12-23 16:15:27 +01:00
2ae436dbe5 Env: Add date-fns library 2024-12-23 16:15:27 +01:00
3b6c45e86e Lib: Fix bug in form_data_clean (mutating while iterating) 2024-12-23 16:15:27 +01:00
2e0539a9b8 Lib: Add schema definitions for race and substitution 2024-12-23 16:15:27 +01:00
88f3014238 Lib: Fix readonly + required in dropdown component by preventing keypress events 2024-12-23 16:15:27 +01:00
5cbbb89ee1 Data/Season: Use team/driver card components 2024-12-23 16:15:27 +01:00
52a8d8f4ff Lib: Implement team and driver cards 2024-12-23 16:15:27 +01:00
dcd1444ba7 Profile: Redirect to current page instead of "/" when logging in/out or changing/creating profile 2024-12-23 16:15:27 +01:00
218e105815 Hooks: Load template avatar url if user didn't set one 2024-12-23 16:15:27 +01:00
43638f5f40 Env: Add sharp for image conversion to avif 2024-12-23 16:15:27 +01:00
ae8310aeba App: Change Locals interface user type to User schema 2024-12-23 16:15:27 +01:00
758ee8de27 Data/Season: Display template graphics (for new driver/team etc.) 2024-12-23 16:15:27 +01:00
6cc5a1a0fa Data/Season: Load template graphics 2024-12-23 16:15:27 +01:00
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
16a315c1a5 Lib: Add Graphic and User schemas 2024-12-23 16:15:27 +01:00
66d2d9b878 Lib: Disable text input in Dropdown component 2024-12-23 16:15:27 +01:00
b08b73b337 Data/Season: Implement create_driver, update_driver and delete_driver routes 2024-12-23 16:15:27 +01:00
402f067877 Data/Season: Add team select to seasondata drivers page 2024-12-23 16:15:27 +01:00
9f45469f01 Env: Add UUID package 2024-12-23 16:15:27 +01:00
2c5a7a1143 Lib: Update type information 2024-12-23 16:15:27 +01:00
304ffd45ba Lib: Implement dropdown + search/autocomplete components 2024-12-23 16:15:27 +01:00
0abfaff004 App: Add TS type information 2024-12-23 16:15:27 +01:00
04569ea683 Skeleton: Manually ":hover" the button to the current page in navbar 2024-12-23 16:15:27 +01:00
96fc1ed2aa Profile: Move /user routes to /profile 2024-12-23 16:15:27 +01:00
7a8abbe0a9 Lib: Disable input label text wrapping 2024-12-23 16:15:27 +01:00
5d1ec12d95 Lib: Allow to manually enable :hover on Button 2024-12-23 16:15:26 +01:00
8060c4971d Migrate from DaisyUI to SkeletonUI 2024-12-23 16:15:26 +01:00
2f934537a2 Env: Update tailwindcss safelist 2024-12-23 16:15:26 +01:00
ff553c99ec Env: Replace daisyui with skeletonui 2024-12-23 16:15:26 +01:00
97872cc9b9 Env: Update prettier config 2024-12-23 16:15:26 +01:00
4ce40e7145 Skeleton: Disable "draggable" on links and images 2024-12-23 16:15:26 +01:00
b69647cd48 Skeleton: Move seasondata tabs into +layout.svelte 2024-12-23 16:15:26 +01:00
51651b976a Data/Season: Add stub page for drivers/races routes 2024-12-23 16:15:26 +01:00
7623a426c9 Lib: Rename forms.ts to form.ts 2024-12-23 16:15:26 +01:00
f1830d1b1c Skeleton: Make "Login" button the default on enter (instead of "Register") 2024-12-23 16:15:26 +01:00
55bdf0fa18 Data/Season: Implement seasondata/teams page + creation/deletion/updating 2024-12-23 16:15:26 +01:00
1410811167 User: Add login/register/profile form handling 2024-12-23 16:15:26 +01:00
27620fc70e Add stub page for / route 2024-12-23 16:15:26 +01:00
eb8aa01109 Skeleton: Add main page skeleton (navbar) 2024-12-23 16:15:26 +01:00
dd1e6ee6c1 Hooks: Add request event handler for authentication 2024-12-23 16:15:26 +01:00
a7b2bfb56b Static: Add favicon + logo 2024-12-23 16:15:26 +01:00
b3c10147df Env: Update devshell commands 2024-12-23 16:15:26 +01:00
f6b1f1ab58 Env: Update tailwind config + some other plugins 2024-12-23 16:15:26 +01:00
b561225a9b Add stub pages for some routes 2024-12-23 16:15:26 +01:00
36cd9fbe8a Lib: Add image preview helper 2024-12-23 16:15:26 +01:00
4089b58df1 Lib: Add form helpers 2024-12-23 16:15:26 +01:00
278024b91b Lib: Add index.ts for easier importing 2024-12-23 16:15:26 +01:00
487ee2c534 Lib: Add username input 2024-12-23 16:15:26 +01:00
e268f4a0d3 Lib: Add password input 2024-12-23 16:15:26 +01:00
f46a92d00b Lib: Add text input 2024-12-23 16:15:26 +01:00
b2cd5de7b2 Lib: Add file input 2024-12-23 16:15:26 +01:00
0e57957610 Lib: Add button 2024-12-23 16:15:26 +01:00

Diff Content Not Available