Skip to content

Commit 74b9c17

Browse files
committed
feat: art page adjustments
1 parent 20949ee commit 74b9c17

File tree

32 files changed

+187
-170
lines changed

32 files changed

+187
-170
lines changed

src/components/interactive/CallToAction.svelte

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
<div class="absolute inset-0">
1313
<!-- Picture -->
1414
{#if picture}
15-
<Image {picture} class="h-full w-full object-cover" alt="Cover" />
15+
<Image {picture} class="h-full w-full object-cover object-top" alt="Cover" />
1616
<div class="absolute top-0 left-0 z-[1] h-full w-full bg-gradient-to-b from-transparent to-black/60" />
1717
{:else}
1818
<!-- Cool ass gradient instead -->

src/components/interactive/Link.svelte

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,9 @@
77
export let picture: Picture | undefined = undefined;
88
export let style: 'default' | 'back' = 'default';
99
10+
export let picAlt = 'Logo';
11+
export let picClass = 'h-11 w-11 rounded-xl';
12+
1013
let className = '';
1114
// noinspection ReservedWordAsName
1215
export { className as class };
@@ -18,7 +21,7 @@
1821
{/if}
1922

2023
{#if picture}
21-
<Image width="30px" height="30px" class="h-11 w-11 rounded-xl" {picture} alt="Company Logo" />
24+
<Image width="30px" height="30px" class={picClass} {picture} alt={picAlt} />
2225
{/if}
2326

2427
<h1 class:group-hover:animate-pulse={style === 'back'}><slot /></h1>
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
<script lang="ts">
2+
export let emoji: string;
3+
export let title: string;
4+
5+
let className = '';
6+
export { className as class };
7+
</script>
8+
9+
<div class="flex flex-col gap-3 {className}">
10+
<p class="text-2xl font-medium"><span class="pr-4">{emoji}</span> {title}</p>
11+
<h1 class="text-5xl font-bold leading-[1.8] sm:text-5xl sm:leading-[1.8]">
12+
<slot />
13+
</h1>
14+
</div>

src/components/layout/NavBar.svelte

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,11 @@
5555
{#each links as link, index}
5656
<a class="group relative text-lg font-medium text-white opacity-75" href={link.href} bind:this={indicators[index]}>
5757
{link.name}
58-
<div class="absolute -bottom-1 left-0 h-1 w-full rounded-full bg-transparent transition-all {isCurrent(link) ? 'group-hover:bg-primary-200/50' : ''}" />
58+
<div
59+
class="absolute -bottom-1 left-0 h-1 w-full rounded-full bg-transparent transition-all {!link.match.test($page.url.pathname)
60+
? 'group-hover:bg-primary-200/50'
61+
: ''}"
62+
/>
5963
</a>
6064
{/each}
6165

src/components/seo/Seo.svelte

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
https://github.com/rodneylab/sveltekit-seo/blob/main/LICENSE
1212
-->
1313
<script lang="ts">
14+
import { page } from '$app/stores';
1415
import OpenGraph from './OpenGraph.svelte';
1516
import Twitter from './Twitter.svelte';
1617
@@ -19,7 +20,7 @@
1920
import website from '$lib/config/website';
2021
2122
export let title: string;
22-
export let slug: string;
23+
export let slug: string = $page.url.pathname;
2324
export let description = '';
2425
2526
export let ogImage: { url: string; alt: string } | undefined = undefined;
@@ -29,7 +30,7 @@
2930
alt: 'Compact Banner Purple',
3031
};
3132
32-
const url = `${website.siteUrl}/${slug || ''}`;
33+
const url = `${website.siteUrl}${slug || ''}`;
3334
const pageTitle = `${title || 'Commission'} | ${website.siteTitle}`;
3435
3536
const openGraphProps = {

src/lib/data/commissions.ts

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,33 @@ import _ from 'lodash';
33
* The featured artist data & commission.
44
*/
55
import FeaturedArtist from '$lib/data/commissions/siomi/artist';
6+
import RefSheet from '$lib/data/commissions/amber/artist';
67
import { importData } from '$lib/util/data';
8+
import type { Picture } from 'imagetools-core';
79

810
/**
911
* Designed to have a single file per artist, which is significantly easier to
1012
* organize imports for.
1113
*/
1214
export interface ArtistData {
15+
/**
16+
* The artist's name.
17+
*/
1318
name: string;
14-
avatar: string;
19+
20+
/**
21+
* The artist's avatar.
22+
*/
23+
avatar?: Picture;
24+
25+
/**
26+
* A link to their website, Twitter, etc.
27+
*/
1528
link?: string;
1629

30+
/**
31+
* The artist's commissions.
32+
*/
1733
commissions: CommissionData[];
1834
}
1935

@@ -29,7 +45,7 @@ export interface CommissionData {
2945
* The images for the commission. The first image is the main image, and
3046
* the rest are additional images.
3147
*/
32-
images: string[];
48+
images: Picture[];
3349

3450
/**
3551
* Optional links to other places, such as the artist's progress Tweets
@@ -67,3 +83,4 @@ export const getArtists = async (): Promise<Record<string, ArtistData>> => {
6783
};
6884

6985
export const FEATURED_ARTIST = { artist: FeaturedArtist, commission: FeaturedArtist.commissions[0] };
86+
export const REF_SHEET = { artist: RefSheet, commission: RefSheet.commissions[1] };
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import type { ArtistData } from '$lib/data/commissions';
2-
import commission2 from './images/2.png';
2+
import Commission2 from './images/2.png?w=256;512;1280;1920&picture';
33

44
// noinspection JSUnusedGlobalSymbols
55
export default {
@@ -10,7 +10,7 @@ export default {
1010
slug: 'commission-2',
1111
title: 'Commission 2',
1212
description: 'A small little goober.',
13-
images: [commission2],
13+
images: [Commission2],
1414
},
1515
],
16-
} as ArtistData;
16+
} satisfies ArtistData;

src/lib/data/commissions/alpha/artist.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import type { ArtistData } from '$lib/data/commissions';
2-
import avatar from './avatar.jpg';
3-
import commission1 from './images/1.png';
4-
import commission1bg from './images/1-bg.png';
2+
import avatar from './avatar.jpeg?w=50;100;200;300&picture';
3+
import Commission1 from './images/1.png?w=256;512;1280;1920&picture';
4+
import Commission1BG from './images/1-bg.png?w=256;512;1280;1920&picture';
55

66
// noinspection JSUnusedGlobalSymbols
77
export default {
@@ -14,7 +14,7 @@ export default {
1414
slug: 'commission-1',
1515
title: 'Commission 1',
1616
description: 'The first commission that Alpha has made for me! Look how cute she is,,,',
17-
images: [commission1, commission1bg],
17+
images: [Commission1, Commission1BG],
1818
links: [
1919
{
2020
text: 'Finished Tweet',
@@ -23,4 +23,4 @@ export default {
2323
],
2424
},
2525
],
26-
} as ArtistData;
26+
} satisfies ArtistData;
146 KB
Loading
-23.5 KB
Binary file not shown.

0 commit comments

Comments
 (0)