diff --git a/src/routes/terms/+page.server.ts b/src/routes/terms/+page.server.ts new file mode 100644 index 0000000..77a0ff5 --- /dev/null +++ b/src/routes/terms/+page.server.ts @@ -0,0 +1,21 @@ +import { error } from '@sveltejs/kit' +import type { PageServerLoad } from './$types' +import { fetchAPI } from '$utils/api' + +export const load: PageServerLoad = async () => { + try { + const res = await fetchAPI(`query { + legal { + terms + } + }`) + + const { data } = res + + return { + ...data + } + } catch (err) { + throw error(500, err.message) + } +} \ No newline at end of file diff --git a/src/routes/terms/+page.svelte b/src/routes/terms/+page.svelte new file mode 100644 index 0000000..5fee006 --- /dev/null +++ b/src/routes/terms/+page.svelte @@ -0,0 +1,37 @@ + + + + + + + + + + +
+
+ {#each legal.terms as { title, text }, index} +
+

{index + 1}. {title}

+
+ {@html text} +
+
+ {/each} +
+
+
\ No newline at end of file diff --git a/src/style/pages/_terms.scss b/src/style/pages/_terms.scss new file mode 100644 index 0000000..9e5a1b6 --- /dev/null +++ b/src/style/pages/_terms.scss @@ -0,0 +1,59 @@ +.terms { + // Categories + &__categories { + .container { + display: block; + + @include bp (sm) { + display: grid; + } + + & > * { + margin-bottom: clamp(40px, 5vw, 72px); + } + } + } + + // Section + &__section { + --columns: 16; + display: block; + padding: 0 20px; + + @include bp (sm) { + display: grid; + align-items: baseline; + grid-column: 3 / -3; + } + @include bp (sd) { + grid-column: 5 / -5; + } + + h2 { + margin-bottom: 0.75em; + color: $color-secondary-light; + line-height: 1.1; + + @include bp (sm) { + position: sticky; + top: clamp(24px, 3vw, 40px); + grid-column: 1 / span 4; + margin-bottom: 0; + text-align: right; + } + @include bp (sd) { + grid-column: 1 / span 6; + } + } + .text { + color: $color-tertiary; + + @include bp (sm) { + grid-column: 6 / -1; + } + @include bp (sd) { + grid-column: 8 / -1; + } + } + } +} \ No newline at end of file