-
+
{$page.error?.message && $page.status !== 404 ? $page.error.message : $t(message)}
-
+
{$t('Please')}
window.history.back()}>{$t('go back')}, or window.location.reload()}>{$t('refresh the page')}
(showStack = !showStack)} fullWidth>
- {$t('See more')}
+ {$t('See more')}
-
-
diff --git a/svelte-app/src/routes/+layout.svelte b/svelte-app/src/routes/+layout.svelte
index 872c49eaa..992d50027 100644
--- a/svelte-app/src/routes/+layout.svelte
+++ b/svelte-app/src/routes/+layout.svelte
@@ -120,6 +120,7 @@
{$t('Skip to content')}
-
+
@@ -146,34 +150,3 @@
-
-
diff --git a/svelte-app/src/routes/[[lang=lang]]/+page.svelte b/svelte-app/src/routes/[[lang=lang]]/+page.svelte
index 3c192ca20..cac3a1973 100644
--- a/svelte-app/src/routes/[[lang=lang]]/+page.svelte
+++ b/svelte-app/src/routes/[[lang=lang]]/+page.svelte
@@ -43,7 +43,11 @@
{#if data.posts.length}
-
+
{#each data.posts as post}
{/each}
@@ -55,18 +59,8 @@
{:else}
-
-
{$t('No content')}
+
{/if}
-
-
diff --git a/svelte-app/src/styles/_animations.scss b/svelte-app/src/styles/_animations.scss
deleted file mode 100644
index d68f61db6..000000000
--- a/svelte-app/src/styles/_animations.scss
+++ /dev/null
@@ -1,38 +0,0 @@
-@keyframes bounceUp {
- 0%,
- 20%,
- 50%,
- 80%,
- 100% {
- transform: translateY(0);
- }
- 40% {
- transform: translateY(-3px);
- }
- 60% {
- transform: translateY(-1.5px);
- }
-}
-@keyframes bounceDown {
- 0%,
- 20%,
- 50%,
- 80%,
- 100% {
- transform: translateY(0);
- }
- 40% {
- transform: translateY(3px);
- }
- 60% {
- transform: translateY(1.5px);
- }
-}
-
-.scroll-hover-up svg {
- animation: bounceUp 2s infinite;
-}
-
-.scroll-hover-down svg {
- animation: bounceDown 2s infinite;
-}
diff --git a/svelte-app/src/styles/_mixins.scss b/svelte-app/src/styles/_mixins.scss
index b57905311..15389c9f5 100644
--- a/svelte-app/src/styles/_mixins.scss
+++ b/svelte-app/src/styles/_mixins.scss
@@ -1,24 +1,4 @@
-@import 'variables';
-
-/**
- * Focus state mixin
- * @param {string} $size - 'sm' or 'lg'
- */
-@mixin focus-state($size: 'lg') {
- @apply outline-offset-4 outline-2 outline-accent-light;
-
- &:focus-visible {
- @apply outline;
- }
-
- @if $size == 'sm' {
- @apply outline-offset-2;
- }
-
- :global(.dark) & {
- @apply outline-accent-dark;
- }
-}
+@import 'breakpoints';
@mixin media($key) {
@if not map-has-key($breakpoints, $key) {
diff --git a/svelte-app/src/styles/_tw.scss b/svelte-app/src/styles/_tw.scss
new file mode 100644
index 000000000..dc3b3ce99
--- /dev/null
+++ b/svelte-app/src/styles/_tw.scss
@@ -0,0 +1,101 @@
+@layer base {
+ body {
+ @apply h-full w-full overflow-x-hidden;
+ }
+
+ @layer base {
+ body,
+ html {
+ height: 100vh;
+ overflow: hidden;
+ transition: background 150ms ease;
+ }
+
+ body,
+ html,
+ div,
+ span,
+ p,
+ img {
+ box-sizing: border-box;
+ }
+
+ body {
+ @apply bg-black text-light;
+
+ &.light {
+ @apply bg-light text-dark;
+ }
+
+ &:not(.is-loaded) {
+ cursor: wait !important;
+
+ & a,
+ & button,
+ & [role='button'] {
+ cursor: not-allowed !important;
+ }
+ }
+
+ &.is-loading {
+ cursor: wait !important;
+
+ & a,
+ & button,
+ & [role='button'] {
+ cursor: not-allowed !important;
+ }
+ }
+ }
+
+ ::selection {
+ @apply bg-accent-light/80 text-light;
+ }
+
+ .dark {
+ ::selection {
+ @apply bg-accent-dark/80 text-dark;
+ }
+ }
+ }
+}
+
+@layer utilities {
+ .focus-outline {
+ @apply outline-offset-4;
+
+ &,
+ &-sm {
+ @apply focus-visible:outline outline-accent-light outline-2 dark:outline-accent-dark;
+ }
+
+ &-sm {
+ @apply outline-offset-2;
+ }
+ }
+}
+
+@layer components {
+ .pt-ol,
+ .pt-ul {
+ li {
+ @apply mb-2 leading-6;
+ }
+ }
+
+ .pt-ol {
+ li {
+ ol {
+ @apply list-[lower-alpha] my-3;
+ }
+ }
+ }
+
+ .pt-ul {
+ li {
+ ul {
+ @apply list-disc my-3;
+ }
+ }
+ }
+}
diff --git a/svelte-app/src/styles/_utils.scss b/svelte-app/src/styles/_utils.scss
deleted file mode 100644
index e69de29bb..000000000
diff --git a/svelte-app/src/styles/_variables.scss b/svelte-app/src/styles/_variables.scss
deleted file mode 100644
index 5f9bbb078..000000000
--- a/svelte-app/src/styles/_variables.scss
+++ /dev/null
@@ -1,2 +0,0 @@
-@import 'colors';
-@import 'breakpoints';