diff --git a/.gitignore b/.gitignore index f42094d0..f7a6ae59 100644 --- a/.gitignore +++ b/.gitignore @@ -28,3 +28,4 @@ pnpm-debug.log* *.pub *.zip artifacts +.eslintcache diff --git a/package.json b/package.json index 425ea83c..0201b34f 100644 --- a/package.json +++ b/package.json @@ -31,6 +31,7 @@ "eslint-plugin-promise": "4", "eslint-plugin-svelte3": "^3.2.0", "express": "4.17.1", + "iframe-translator": "^0.2.2", "postcss": "^8.3.6", "postcss-extend": "^1.0.5", "postcss-import": "^14.0.2", diff --git a/src/components/Hyperchat.svelte b/src/components/Hyperchat.svelte index da35a770..09e2a36f 100644 --- a/src/components/Hyperchat.svelte +++ b/src/components/Hyperchat.svelte @@ -20,7 +20,8 @@ showProfileIcons, showUsernames, showTimestamps, - showUserBadges + showUserBadges, + refreshScroll } from '../ts/storage'; const welcome = { welcome: true, message: { messageId: 'welcome' } }; @@ -174,12 +175,19 @@ }); }; - afterUpdate(() => { + const onRefresh = () => { if (isAtBottom) { scrollToBottom(); } tick().then(checkAtBottom); - }); + }; + + $: if ($refreshScroll) { + onRefresh(); + $refreshScroll = false; + } + + afterUpdate(onRefresh); onDestroy(() => { port.disconnect(); @@ -193,7 +201,7 @@ ); const containerClass = 'h-screen w-screen text-black dark:text-white dark:bg-black dark:bg-opacity-25'; - const contentClass = 'content absolute overflow-y-scroll w-full h-full flex-1 px-2'; + const contentClass = 'content absolute overflow-y-scroll w-full h-full flex-1'; const pinnedClass = 'absolute top-2 inset-x-2'; @@ -202,7 +210,7 @@
{#each messageActions as action (action.message.messageId)} -
+
{#if isWelcome(action)} {:else if (action.message.superChat || action.message.superSticker)} @@ -247,4 +255,11 @@ .content::-webkit-scrollbar-thumb:hover { background: #555; } + .hover-highlight { + transition: 0.1s; + background-color: transparent; + } + .hover-highlight:hover { + background-color: #80808040; + } diff --git a/src/components/Message.svelte b/src/components/Message.svelte index 58f2760e..ff295d27 100644 --- a/src/components/Message.svelte +++ b/src/components/Message.svelte @@ -54,11 +54,14 @@ ($showUserBadges && (moderator || verified || member)); -
- {#if !hideName} + +
+ {#if !hideName && $showProfileIcons} {message.author.profileIcon.alt} @@ -82,7 +85,7 @@ build {:else if verified} verified diff --git a/src/components/MessageRuns.svelte b/src/components/MessageRuns.svelte index 64f98920..aa06b068 100644 --- a/src/components/MessageRuns.svelte +++ b/src/components/MessageRuns.svelte @@ -1,4 +1,6 @@ + + { + if (translatedMessage) { + showOriginal = !showOriginal; + $refreshScroll = true; + } + }} +> + {#if !showTL} + + {text} + + {/if} + {#if showTL} + + {translatedMessage} + + {/if} + {#if translatedMessage} + + + translate + + + {/if} + + + diff --git a/src/components/common/DropdownStore.svelte b/src/components/common/DropdownStore.svelte new file mode 100644 index 00000000..d13733aa --- /dev/null +++ b/src/components/common/DropdownStore.svelte @@ -0,0 +1,41 @@ + + +
+