Skip to content

Commit 3709180

Browse files
committed
fix: improve image optimization
1 parent daec078 commit 3709180

File tree

37 files changed

+134
-101
lines changed

37 files changed

+134
-101
lines changed

src/app.d.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,12 @@ export declare namespace App {
99
// interface Error {}
1010
// interface Platform {}
1111

12-
declare module '*&picture' {
12+
declare module '*?image' {
13+
const out: Picture;
14+
export default out;
15+
}
16+
17+
declare module '*?avatar' {
1318
const out: Picture;
1419
export default out;
1520
}

src/components/clients/ClientCallToAction.svelte

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
export let href: string = client.href;
88
</script>
99

10-
<CallToAction {href} picture={client.banner}>
10+
<CallToAction {href} picture={client.banner} picMaxWidth="40vw">
1111
<div class="flex flex-col gap-3 p-6 md:p-10">
1212
<div class="flex flex-row items-center">
1313
<!-- Status Dot -->
@@ -20,7 +20,7 @@
2020
<!-- Avatar & Name -->
2121
<div class="flex flex-row items-center gap-4">
2222
{#if client.avatar}
23-
<Image picture={client.avatar} class="h-11 w-11 rounded-lg" />
23+
<Image alt="{client.name} Avatar" maxWidth="5vw" picture={client.avatar} class="h-11 w-11 rounded-lg" />
2424
{/if}
2525

2626
<span class="text-2xl font-bold">{client.name}</span>

src/components/interactive/CallToAction.svelte

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,15 @@
66
77
export let href: string;
88
export let picture: Picture | undefined;
9+
10+
export let picMaxWidth = '100%';
911
</script>
1012

1113
<a {href} {...getLinkProps(href)} class="relative flex overflow-clip rounded-xl border border-white/25 transition-all hover:scale-[101%] hover:shadow-xl">
1214
<div class="absolute inset-0">
1315
<!-- Picture -->
1416
{#if picture}
15-
<Image {picture} class="h-full w-full object-cover object-top" alt="Cover" />
17+
<Image {picture} class="h-full w-full object-cover object-top" alt="Cover" maxWidth={picMaxWidth} />
1618
<div class="absolute top-0 left-0 z-[1] h-full w-full bg-gradient-to-b from-transparent to-black/60" />
1719
{:else}
1820
<!-- Cool ass gradient instead -->

src/components/interactive/Link.svelte

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
{/if}
2222

2323
{#if picture}
24-
<Image width="30px" height="30px" class={picClass} {picture} alt={picAlt} />
24+
<Image maxWidth="5vw" class={picClass} {picture} alt={picAlt} />
2525
{/if}
2626

2727
<h1 class:group-hover:animate-pulse={style === 'back'}><slot /></h1>

src/components/layout/NavBar.svelte

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
<div class="flex h-24 border-b border-b-white/10">
1010
<div class="my-auto flex w-full flex-row items-center">
1111
<!-- Avatar -->
12-
<Image class="aspect-square h-11 w-11 rounded-xl object-cover object-top" picture={FEATURED_ARTIST.commission.images[0]} alt="Logo" />
12+
<Image maxWidth="5vw" class="aspect-square h-11 w-11 rounded-xl object-cover object-top" picture={FEATURED_ARTIST.commission.images[0]} alt="Logo" />
1313
<div class="flex-grow md:hidden" />
1414

1515
<!-- Navigation -->

src/lib/data/blog/tests/meta.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import type { PostMetadata } from '$lib/data/blog';
2-
import cover from './images/ball.png?w=512;1280;1920&picture';
2+
import cover from './images/ball.png?image';
33

44
// noinspection JSUnusedGlobalSymbols
55
export default {

src/lib/data/clients/fadecloud/meta.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import type { Client } from '$lib/data/clients';
2-
import CubeGeneratorIsland from './assets/cube-generator-island.png?w=512;1280;1920&picture';
2+
import CubeGeneratorIsland from './assets/cube-generator-island.png?image';
33
import CubeGeneratorPlace from './assets/cube-generator-place.mp4';
4-
import avatar from './avatar.png?w=100;200;300&picture';
5-
import banner from './banner.png?w=512;1280;1920&picture';
4+
import avatar from './avatar.png?avatar';
5+
import banner from './banner.png?image';
66

77
// noinspection JSUnusedGlobalSymbols
88
export default {

src/lib/data/clients/innitgg/meta.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
import type { Client } from '$lib/data/clients';
2-
import MapCasino from './assets/map-casino.png?w=512;1280;1920&picture';
3-
import MapCult from './assets/map-cult.png?w=512;1280;1920&picture';
4-
import MapLobby from './assets/map-lobby.png?w=512;1280;1920&picture';
5-
import MapRoyale from './assets/map-royale.png?w=512;1280;1920&picture';
6-
import avatar from './avatar.jpg?w=100;200;300&picture';
7-
import banner from './banner.jpg?w=512;1280;1920&picture';
2+
import MapCasino from './assets/map-casino.png?image';
3+
import MapCult from './assets/map-cult.png?image';
4+
import MapLobby from './assets/map-lobby.png?image';
5+
import MapRoyale from './assets/map-royale.png?image';
6+
import avatar from './avatar.jpg?avatar';
7+
import banner from './banner.jpg?image';
88

99
// noinspection JSUnusedGlobalSymbols
1010
export default {

src/lib/data/clients/katalyst/meta.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
import type { Client } from '$lib/data/clients';
2-
import avatar from './avatar.jpg?w=100;200;300&picture';
3-
import banner from './banner.jpg?w=512;1280;1920&picture';
2+
import avatar from './avatar.jpg?avatar';
3+
import banner from './banner.jpg?image';
44

5-
import CraftadiaAvatar from './assets/craftadia-avatar.png?w=100;200;300&picture';
6-
import CraftadiaBank from './assets/craftadia-bank.png?w=512;1280;1920&picture';
7-
import CraftadiaTreasureMerchant from './assets/craftadia-treasure-merchant.png?w=512;1280;1920&picture';
8-
import CraftadiaWheel from './assets/craftadia-wheel.png?w=512;1280;1920&picture';
5+
import CraftadiaAvatar from './assets/craftadia-avatar.png?avatar';
6+
import CraftadiaBank from './assets/craftadia-bank.png?image';
7+
import CraftadiaTreasureMerchant from './assets/craftadia-treasure-merchant.png?image';
8+
import CraftadiaWheel from './assets/craftadia-wheel.png?image';
99

1010
export default {
1111
name: 'Katalyst Media',

src/lib/data/clients/mcparty/meta.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
import type { Client } from '$lib/data/clients';
22

3-
import avatar from './avatar.png?w=100;200;300&picture';
4-
import banner from './banner.png?w=512;1280;1920&picture';
3+
import avatar from './avatar.png?avatar';
4+
import banner from './banner.png?image';
55

6-
import MasayoshiAvatar from './assets/masayoshi-avatar.png?w=100;200;300&picture';
7-
import MasayoshiGamesBanner1 from './assets/masayoshi-games-banner.jpg?w=512;1280;1920&picture';
6+
import MasayoshiAvatar from './assets/masayoshi-avatar.png?avatar';
7+
import MasayoshiGamesBanner1 from './assets/masayoshi-games-banner.jpg?image';
88

9-
import McPartyBlizzard from './assets/mcparty-blizzard.png?w=512;1280;1920&picture';
10-
import McPartyLobby from './assets/mcparty-lobby.png?w=512;1280;1920&picture';
9+
import McPartyBlizzard from './assets/mcparty-blizzard.png?image';
10+
import McPartyLobby from './assets/mcparty-lobby.png?image';
1111

1212
// noinspection JSUnusedGlobalSymbols
1313
export default {

0 commit comments

Comments
 (0)