diff --git a/src/lib/components/DriverCard.svelte b/src/lib/components/DriverCard.svelte index e7d80b1..89b22f3 100644 --- a/src/lib/components/DriverCard.svelte +++ b/src/lib/components/DriverCard.svelte @@ -1,11 +1,11 @@ -First Name + required={require_inputs} + >First Name + Last Name + required={require_inputs} + >Last Name + Driver Code + required={require_inputs} + >Driver Code + - Team + required={require_inputs} + >Team + - + diff --git a/src/lib/components/Card.svelte b/src/lib/components/LazyCard.svelte similarity index 55% rename from src/lib/components/Card.svelte rename to src/lib/components/LazyCard.svelte index 1062415..1b4b71e 100644 --- a/src/lib/components/Card.svelte +++ b/src/lib/components/LazyCard.svelte @@ -1,6 +1,7 @@ -
- - {#if imgsrc !== undefined} -
-
diff --git a/src/lib/components/LazyImage.svelte b/src/lib/components/LazyImage.svelte index dd96467..b3d46d4 100644 --- a/src/lib/components/LazyImage.svelte +++ b/src/lib/components/LazyImage.svelte @@ -6,19 +6,30 @@ interface LazyImageProps extends HTMLImgAttributes { /** The URL to the image resource to lazyload */ src: string; + + /** The aspect ratio width used to reserve image space (while its loading) */ + imgwidth: number; + + /** The aspect ratio height used to reserve image space (while its loading) */ + imgheight: number; } - let { src, ...restProps }: LazyImageProps = $props(); + let { src, imgwidth, imgheight, ...restProps }: LazyImageProps = $props(); + + // Once the image is visible, this will be set to true, triggering the loading + let load: boolean = $state(false); const lazy_visible_handler = () => { load = true; }; - - // Once the image is visible, this will be set to true, triggering the loading - let load: boolean = $state(false); -
+ +
{#if load} {#await fetch_image_base64(src) then data} diff --git a/src/lib/components/RaceCard.svelte b/src/lib/components/RaceCard.svelte index fe55c7c..7dee71e 100644 --- a/src/lib/components/RaceCard.svelte +++ b/src/lib/components/RaceCard.svelte @@ -1,7 +1,7 @@ -
- + diff --git a/src/lib/components/SubstitutionCard.svelte b/src/lib/components/SubstitutionCard.svelte index d516c36..f587229 100644 --- a/src/lib/components/SubstitutionCard.svelte +++ b/src/lib/components/SubstitutionCard.svelte @@ -1,9 +1,9 @@ - - Substitute + Substitute + - For + required={require_inputs} + >For + - Race + required={require_inputs} + >Race +
@@ -145,4 +149,4 @@
- + diff --git a/src/lib/components/TeamCard.svelte b/src/lib/components/TeamCard.svelte index 4d67d35..b70cbbb 100644 --- a/src/lib/components/TeamCard.svelte +++ b/src/lib/components/TeamCard.svelte @@ -1,11 +1,11 @@ -
- + diff --git a/src/lib/components/index.ts b/src/lib/components/index.ts index fe12bc4..602da24 100644 --- a/src/lib/components/index.ts +++ b/src/lib/components/index.ts @@ -1,8 +1,8 @@ import Button from "./Button.svelte"; -import Card from "./Card.svelte"; import DriverCard from "./DriverCard.svelte"; -import Dropdown from "./Dropdown.svelte"; import Input from "./Input.svelte"; +import LazyCard from "./LazyCard.svelte"; +import LazyDropdown from "./LazyDropdown.svelte"; import LazyImage from "./LazyImage.svelte"; import LoadingIndicator from "./LoadingIndicator.svelte"; import RaceCard from "./RaceCard.svelte"; @@ -17,10 +17,10 @@ import UserIcon from "./svg/UserIcon.svelte"; export { // Components Button, - Card, DriverCard, - Dropdown, Input, + LazyCard, + LazyDropdown, LazyImage, LoadingIndicator, RaceCard,