diff --git a/package.json b/package.json index 013e1aa..e071115 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ui", - "version": "6.4.19", + "version": "6.4.20", "license": "BUSL-1.1", "private": true, "packageManager": "pnpm@9.14.4", diff --git a/src/lib/components/Shadow.svelte b/src/lib/components/Shadow.svelte index 1ad1e2b..13c2fa4 100644 --- a/src/lib/components/Shadow.svelte +++ b/src/lib/components/Shadow.svelte @@ -14,17 +14,28 @@ const style = new CSSStyleSheet() style.replaceSync(/* css */` - p { + p, details { margin-block-start: .5em; margin-block-end: .5em; } img, video { max-width: 100%; -webkit-user-drag: none; - }`) + } + summary { + font-weight: bold; + cursor: pointer; + list-style: none; + background: #0f0f0f; + display: inline-block; + padding: 0.4em 0.8em; + border-radius: 0.5em; + margin-block-end: .5em; + } +`) function sanitize (html: string) { - return dompurify.sanitize(html, { ALLOWED_TAGS: ['a', 'b', 'blockquote', 'br', 'center', 'del', 'div', 'em', 'font', 'h1', 'h2', 'h3', 'h4', 'h5', 'hr', 'i', 'img', 'li', 'ol', 'p', 'pre', 'code', 'span', 'strike', 'strong', 'ul'], ALLOWED_ATTR: ['align', 'height', 'href', 'src', 'target', 'width', 'rel'] }) + return dompurify.sanitize(html, { ALLOWED_TAGS: ['a', 'b', 'blockquote', 'br', 'center', 'del', 'div', 'em', 'font', 'h1', 'h2', 'h3', 'h4', 'h5', 'hr', 'i', 'img', 'li', 'ol', 'p', 'pre', 'code', 'span', 'strike', 'strong', 'ul', 'details', 'summary'], ALLOWED_ATTR: ['align', 'height', 'href', 'src', 'target', 'width', 'rel'] }) } // i mean holy shit anilist, could you have made it any harder on yourself @@ -39,12 +50,12 @@ // eslint-disable-next-line no-useless-escape .replace(/webm\s?\(h?([A-Za-z0-9-._~:\/?#\[\]@!$&()*+,;=%]+)\)/gi, 'webmv(`$1`)') .replace(/~{3}([^]*?)~{3}/gm, '+++$1+++') - .replace(/~!([^]*?)!~/gm, '
$1
") - // t = t.replace(/youtube\s?\(([-_0-9A-Za-z]{10,15})\)/gi, "") - // eslint-disable-next-line no-useless-escape + .replace(/youtube\s?\(([-_0-9A-Za-z]{10,15})\)/gi, ``) + // eslint-disable-next-line no-useless-escape .replace(/webmv\s?\(([A-Za-z0-9-._~:\/?#\[\]@!$&()*+,;=%]+)<\/code>\)/gi, "")
// t = t.replace(/(?:')
diff --git a/src/lib/components/ui/chat/UserList.svelte b/src/lib/components/ui/chat/UserList.svelte
index 7a62dde..4cc9baa 100644
--- a/src/lib/components/ui/chat/UserList.svelte
+++ b/src/lib/components/ui/chat/UserList.svelte
@@ -11,10 +11,7 @@
$: processed = Object.entries(users)
-
-
- {processed.length} Member(s)
-
+
{#each processed as [key, user] (key)}
diff --git a/src/lib/components/ui/irc/interface.svelte b/src/lib/components/ui/irc/interface.svelte
index f64f836..ee79d1d 100644
--- a/src/lib/components/ui/irc/interface.svelte
+++ b/src/lib/components/ui/irc/interface.svelte
@@ -56,7 +56,7 @@
-
+
diff --git a/src/routes/app/anime/[id]/+layout.svelte b/src/routes/app/anime/[id]/+layout.svelte
index b4d3a9b..bc5ebcd 100644
--- a/src/routes/app/anime/[id]/+layout.svelte
+++ b/src/routes/app/anime/[id]/+layout.svelte
@@ -9,6 +9,7 @@
import type { LayoutData } from './$types'
+ import { onNavigate } from '$app/navigation'
import Anilist from '$lib/components/icons/Anilist.svelte'
import MyAnimeList from '$lib/components/icons/MyAnimeList.svelte'
import { bannerSrc, hideBanner } from '$lib/components/ui/banner'
@@ -61,9 +62,18 @@
$: nativeTitle = media.title?.native ?? media.title?.romaji ?? ''
$: romajiTitle = media.title?.romaji ?? media.title?.native ?? ''
+
+ let container: HTMLDivElement
+
+ onNavigate(() => {
+ container.scrollTo({
+ top: 0,
+ behavior: 'smooth'
+ })
+ })
-
+
diff --git a/src/routes/app/w2g/[id]/+page.svelte b/src/routes/app/w2g/[id]/+page.svelte
index 822a4ab..f3e8d9a 100644
--- a/src/routes/app/w2g/[id]/+page.svelte
+++ b/src/routes/app/w2g/[id]/+page.svelte
@@ -64,7 +64,7 @@
-
+