summaryrefslogtreecommitdiff
path: root/packages/frontend-embed/src/theme.ts
diff options
context:
space:
mode:
authorかっこかり <67428053+kakkokari-gtyih@users.noreply.github.com>2024-09-10 16:14:02 +0900
committerGitHub <noreply@github.com>2024-09-10 16:14:02 +0900
commitf393b6b898d146fbd1c88d9713fba94c8b2f1284 (patch)
tree5c4c048b894fa849c9c2022bbd975470259ff9f2 /packages/frontend-embed/src/theme.ts
parentfix(frontend-embed): 不足していたスタイル・インポートを追... (diff)
downloadmisskey-f393b6b898d146fbd1c88d9713fba94c8b2f1284.tar.gz
misskey-f393b6b898d146fbd1c88d9713fba94c8b2f1284.tar.bz2
misskey-f393b6b898d146fbd1c88d9713fba94c8b2f1284.zip
fix(frontend/frontend-embed): インポートパス・テーマまわりなどの修正 (#14535)
* fix(frontend/frontend-embed): wrong imports * enhance(frontend-embed): サーバーデフォルトのテーマがある場合はそちらを利用するように * :art: * :art: * :art:
Diffstat (limited to 'packages/frontend-embed/src/theme.ts')
-rw-r--r--packages/frontend-embed/src/theme.ts8
1 files changed, 5 insertions, 3 deletions
diff --git a/packages/frontend-embed/src/theme.ts b/packages/frontend-embed/src/theme.ts
index 050d8cf63b..ee633fae94 100644
--- a/packages/frontend-embed/src/theme.ts
+++ b/packages/frontend-embed/src/theme.ts
@@ -26,6 +26,10 @@ export type Theme = {
let timeout: number | null = null;
+export function assertIsTheme(theme: Record<string, unknown>): theme is Theme {
+ return typeof theme === 'object' && theme !== null && 'id' in theme && 'name' in theme && 'author' in theme && 'props' in theme;
+}
+
export function applyTheme(theme: Theme, persist = true) {
if (timeout) window.clearTimeout(timeout);
@@ -35,8 +39,6 @@ export function applyTheme(theme: Theme, persist = true) {
document.documentElement.classList.remove('_themeChanging_');
}, 1000);
- const colorScheme = theme.base === 'dark' ? 'dark' : 'light';
-
// Deep copy
const _theme = JSON.parse(JSON.stringify(theme));
@@ -58,7 +60,7 @@ export function applyTheme(theme: Theme, persist = true) {
document.documentElement.style.setProperty(`--${k}`, v.toString());
}
- document.documentElement.style.setProperty('color-scheme', colorScheme);
+ // iframeを正常に透過させるために、cssのcolor-schemeは `light dark;` 固定にしてある。style.scss参照
}
function compile(theme: Theme): Record<string, string> {