summaryrefslogtreecommitdiff
path: root/packages/frontend-shared
diff options
context:
space:
mode:
Diffstat (limited to 'packages/frontend-shared')
-rw-r--r--packages/frontend-shared/eslint.config.js5
-rw-r--r--packages/frontend-shared/js/config.ts1
-rw-r--r--packages/frontend-shared/js/const.ts11
-rw-r--r--packages/frontend-shared/js/embed-page.ts2
-rw-r--r--packages/frontend-shared/js/emojilist.ts4
-rw-r--r--packages/frontend-shared/js/i18n.ts1
-rw-r--r--packages/frontend-shared/js/scroll.ts17
-rw-r--r--packages/frontend-shared/package.json18
-rw-r--r--packages/frontend-shared/themes/_dark.json519
-rw-r--r--packages/frontend-shared/themes/_light.json519
-rw-r--r--packages/frontend-shared/themes/d-astro.json521
-rw-r--r--packages/frontend-shared/themes/d-botanical.json54
-rw-r--r--packages/frontend-shared/themes/d-dark.json51
-rw-r--r--packages/frontend-shared/themes/d-future.json51
-rw-r--r--packages/frontend-shared/themes/d-green-lime.json51
-rw-r--r--packages/frontend-shared/themes/d-green-orange.json51
-rw-r--r--packages/frontend-shared/themes/d-persimmon.json53
-rw-r--r--packages/frontend-shared/themes/d-u0.json517
-rw-r--r--packages/frontend-shared/themes/l-botanical.json59
-rw-r--r--packages/frontend-shared/themes/l-coffee.json53
-rw-r--r--packages/frontend-shared/themes/l-light.json51
-rw-r--r--packages/frontend-shared/themes/l-rainy.json51
-rw-r--r--packages/frontend-shared/themes/l-u0.json517
-rw-r--r--packages/frontend-shared/themes/l-vivid.json517
-rw-r--r--packages/frontend-shared/tsconfig.json1
25 files changed, 52 insertions, 143 deletions
diff --git a/packages/frontend-shared/eslint.config.js b/packages/frontend-shared/eslint.config.js
index 689f7870c0..ff4d27443b 100644
--- a/packages/frontend-shared/eslint.config.js
+++ b/packages/frontend-shared/eslint.config.js
@@ -52,6 +52,7 @@ export default [
'@typescript-eslint/no-empty-interface': ['error', {
allowSingleExtends: true,
}],
+ 'import/consistent-type-specifier-style': ['error', 'prefer-top-level'],
// window の禁止理由: グローバルスコープと衝突し、予期せぬ結果を招くため
// e の禁止理由: error や event など、複数のキーワードの頭文字であり分かりにくいため
'id-denylist': ['error', 'window', 'e'],
@@ -99,6 +100,10 @@ export default [
},
{
ignores: [
+ // TODO: Error while loading rule '@typescript-eslint/naming-convention': Cannot use 'in' operator to search for 'type' in undefined のため一時的に無効化
+ // See https://github.com/misskey-dev/misskey/pull/15311
+ 'js/i18n.ts',
+ 'js-built/',
"**/lib/",
"**/temp/",
"**/built/",
diff --git a/packages/frontend-shared/js/config.ts b/packages/frontend-shared/js/config.ts
index 9a23e0e7f3..4c739e6e64 100644
--- a/packages/frontend-shared/js/config.ts
+++ b/packages/frontend-shared/js/config.ts
@@ -12,6 +12,7 @@ const siteName = document.querySelector<HTMLMetaElement>('meta[property="og:site
export const host = address.host;
export const hostname = address.hostname;
export const url = address.origin;
+export const port = address.port;
export const apiUrl = location.origin + '/api';
export const wsOrigin = location.origin;
export const lang = localStorage.getItem('lang') ?? 'en-US';
diff --git a/packages/frontend-shared/js/const.ts b/packages/frontend-shared/js/const.ts
index 0dac166749..22e4e36292 100644
--- a/packages/frontend-shared/js/const.ts
+++ b/packages/frontend-shared/js/const.ts
@@ -126,9 +126,11 @@ export const notificationTypes = [
'receiveFollowRequest',
'followRequestAccepted',
'roleAssigned',
+ 'chatRoomInvitationReceived',
'achievementEarned',
'exportCompleted',
'login',
+ 'createToken',
'test',
'app',
'edited',
@@ -172,15 +174,10 @@ export const ROLE_POLICIES = [
'canImportFollowing',
'canImportMuting',
'canImportUserLists',
+ 'chatAvailability',
] as const;
-// なんか動かない
-//export const CURRENT_STICKY_TOP = Symbol('CURRENT_STICKY_TOP');
-//export const CURRENT_STICKY_BOTTOM = Symbol('CURRENT_STICKY_BOTTOM');
-export const CURRENT_STICKY_TOP = 'CURRENT_STICKY_TOP';
-export const CURRENT_STICKY_BOTTOM = 'CURRENT_STICKY_BOTTOM';
-
-export const DEFAULT_SERVER_ERROR_IMAGE_URL = '/client-assets/status/error.png';
+export const DEFAULT_SERVER_ERROR_IMAGE_URL = '/client-assets/status/error.jpg';
export const DEFAULT_NOT_FOUND_IMAGE_URL = '/client-assets/status/missingpage.webp';
export const DEFAULT_INFO_IMAGE_URL = '/client-assets/status/nothinghere.png';
diff --git a/packages/frontend-shared/js/embed-page.ts b/packages/frontend-shared/js/embed-page.ts
index d5555a98c3..2a9b7eb478 100644
--- a/packages/frontend-shared/js/embed-page.ts
+++ b/packages/frontend-shared/js/embed-page.ts
@@ -6,7 +6,7 @@
//#region Embed関連の定義
/** 埋め込みの対象となるエンティティ(/embed/xxx の xxx の部分と対応させる) */
-const embeddableEntities = [
+export const embeddableEntities = [
'notes',
'user-timeline',
'clips',
diff --git a/packages/frontend-shared/js/emojilist.ts b/packages/frontend-shared/js/emojilist.ts
index bde30a864f..f8bbf39177 100644
--- a/packages/frontend-shared/js/emojilist.ts
+++ b/packages/frontend-shared/js/emojilist.ts
@@ -9,10 +9,10 @@ export type UnicodeEmojiDef = {
name: string;
char: string;
category: typeof unicodeEmojiCategories[number];
-}
+};
// initial converted from https://github.com/muan/emojilib/commit/242fe68be86ed6536843b83f7e32f376468b38fb
-import _emojilist from './emojilist.json';
+import _emojilist from './emojilist.json' with { type: 'json' };
export const emojilist: UnicodeEmojiDef[] = _emojilist.map(x => ({
name: x[1] as string,
diff --git a/packages/frontend-shared/js/i18n.ts b/packages/frontend-shared/js/i18n.ts
index 18232691fa..480cfcd642 100644
--- a/packages/frontend-shared/js/i18n.ts
+++ b/packages/frontend-shared/js/i18n.ts
@@ -2,6 +2,7 @@
* SPDX-FileCopyrightText: syuilo and misskey-project
* SPDX-License-Identifier: AGPL-3.0-only
*/
+
import type { ILocale, ParameterizedString } from '../../../locales/index.js';
// eslint-disable-next-line @typescript-eslint/no-explicit-any
diff --git a/packages/frontend-shared/js/scroll.ts b/packages/frontend-shared/js/scroll.ts
index 4f2e9105c3..9057b896c6 100644
--- a/packages/frontend-shared/js/scroll.ts
+++ b/packages/frontend-shared/js/scroll.ts
@@ -38,7 +38,7 @@ export function getScrollPosition(el: HTMLElement | null): number {
export function onScrollTop(el: HTMLElement, cb: (topVisible: boolean) => unknown, tolerance = 1, once = false) {
// とりあえず評価してみる
- const firstTopVisible = isTopVisible(el);
+ const firstTopVisible = isHeadVisible(el);
if (el.isConnected && firstTopVisible) {
cb(firstTopVisible);
if (once) return null;
@@ -53,7 +53,7 @@ export function onScrollTop(el: HTMLElement, cb: (topVisible: boolean) => unknow
const onScroll = () => {
if (!document.body.contains(el)) return;
- const topVisible = isTopVisible(el, tolerance);
+ const topVisible = isHeadVisible(el, tolerance);
if (topVisible !== prevTopVisible) {
prevTopVisible = topVisible;
cb(topVisible);
@@ -71,7 +71,7 @@ export function onScrollBottom(el: HTMLElement, cb: () => unknown, tolerance = 1
const container = getScrollContainer(el);
// とりあえず評価してみる
- if (el.isConnected && isBottomVisible(el, tolerance, container)) {
+ if (el.isConnected && isTailVisible(el, tolerance, container)) {
cb();
if (once) return null;
}
@@ -79,7 +79,7 @@ export function onScrollBottom(el: HTMLElement, cb: () => unknown, tolerance = 1
const containerOrWindow = container ?? window;
const onScroll = () => {
if (!document.body.contains(el)) return;
- if (isBottomVisible(el, 1, container)) {
+ if (isTailVisible(el, 1, container)) {
cb();
if (once) removeListener();
}
@@ -93,7 +93,7 @@ export function onScrollBottom(el: HTMLElement, cb: () => unknown, tolerance = 1
return removeListener;
}
-export function scroll(el: HTMLElement, options: ScrollToOptions | undefined) {
+export function scrollInContainer(el: HTMLElement, options: ScrollToOptions | undefined) {
const container = getScrollContainer(el);
if (container == null) {
window.scroll(options);
@@ -108,7 +108,7 @@ export function scroll(el: HTMLElement, options: ScrollToOptions | undefined) {
* @param options Scroll options
*/
export function scrollToTop(el: HTMLElement, options: { behavior?: ScrollBehavior; } = {}) {
- scroll(el, { top: 0, ...options });
+ scrollInContainer(el, { top: 0, ...options });
}
/**
@@ -132,13 +132,12 @@ export function scrollToBottom(
}
}
-export function isTopVisible(el: HTMLElement, tolerance = 1): boolean {
+export function isHeadVisible(el: HTMLElement, tolerance = 1): boolean {
const scrollTop = getScrollPosition(el);
- if (_DEV_) console.log(scrollTop, tolerance, scrollTop <= tolerance);
return scrollTop <= tolerance;
}
-export function isBottomVisible(el: HTMLElement, tolerance = 1, container = getScrollContainer(el)) {
+export function isTailVisible(el: HTMLElement, tolerance = 1, container = getScrollContainer(el)) {
if (container) return el.scrollHeight <= container.clientHeight + Math.abs(container.scrollTop) + tolerance;
return el.scrollHeight <= window.innerHeight + window.scrollY + tolerance;
}
diff --git a/packages/frontend-shared/package.json b/packages/frontend-shared/package.json
index 6afd4e8a23..a4874b8f77 100644
--- a/packages/frontend-shared/package.json
+++ b/packages/frontend-shared/package.json
@@ -21,14 +21,14 @@
"lint": "pnpm typecheck && pnpm eslint"
},
"devDependencies": {
- "@types/node": "22.9.0",
- "@typescript-eslint/eslint-plugin": "7.17.0",
- "@typescript-eslint/parser": "7.17.0",
- "esbuild": "0.24.0",
- "eslint-plugin-vue": "9.31.0",
- "nodemon": "3.1.7",
- "typescript": "5.6.3",
- "vue-eslint-parser": "9.4.3"
+ "@types/node": "22.14.0",
+ "@typescript-eslint/eslint-plugin": "8.29.1",
+ "@typescript-eslint/parser": "8.29.1",
+ "esbuild": "0.25.2",
+ "eslint-plugin-vue": "10.0.0",
+ "nodemon": "3.1.9",
+ "typescript": "5.8.3",
+ "vue-eslint-parser": "10.1.3"
},
"files": [
"js-built"
@@ -36,6 +36,6 @@
"dependencies": {
"misskey-js": "workspace:*",
"nodemon": "3.1.7",
- "vue": "3.5.12"
+ "vue": "3.5.13"
}
}
diff --git a/packages/frontend-shared/themes/_dark.json5 b/packages/frontend-shared/themes/_dark.json5
index b3f1ab824b..1c52dac9d5 100644
--- a/packages/frontend-shared/themes/_dark.json5
+++ b/packages/frontend-shared/themes/_dark.json5
@@ -10,16 +10,11 @@
props: {
accent: '#86b300',
- accentDarken: ':darken<10<@accent',
- accentLighten: ':lighten<10<@accent',
accentedBg: ':alpha<0.15<@accent',
love: '#dd2e44',
focus: ':alpha<0.3<@accent',
bg: '#000',
- acrylicBg: ':alpha<0.5<@bg',
fg: '#dadada',
- fgTransparentWeak: ':alpha<0.75<@fg',
- fgTransparent: ':alpha<0.5<@fg',
fgHighlighted: ':lighten<3<@fg',
fgOnAccent: '#fff',
fgOnWhite: '#333',
@@ -29,19 +24,18 @@
panelHighlight: ':lighten<3<@panel',
panelHeaderBg: ':lighten<3<@panel',
panelHeaderFg: '@fg',
- panelHeaderDivider: 'rgba(0, 0, 0, 0)',
panelBorder: '" solid 1px var(--MI_THEME-divider)',
thread: ':lighten<12<@panel',
- acrylicPanel: ':alpha<0.5<@panel',
windowHeader: ':alpha<0.85<@panel',
popup: ':lighten<3<@panel',
shadow: 'rgba(0, 0, 0, 0.3)',
header: ':alpha<0.7<@panel',
navBg: '@panel',
navFg: '@fg',
- navHoverFg: ':lighten<17<@fg',
navActive: '@accent',
navIndicator: '@indicator',
+ pageHeaderBg: '@bg',
+ pageHeaderFg: '@fg',
link: '#44a4c1',
hashtag: '#ff9156',
mention: '@accent',
@@ -69,7 +63,6 @@
inputBorder: 'rgba(255, 255, 255, 0.1)',
inputBorderHover: 'rgba(255, 255, 255, 0.2)',
driveFolderBg: ':alpha<0.3<@accent',
- wallpaperOverlay: 'rgba(0, 0, 0, 0.5)',
badge: '#31b1ce',
messageBg: '@bg',
success: '#86b300',
@@ -80,14 +73,6 @@
codeBoolean: '#c59eff',
deckBg: '#000',
htmlThemeColor: '@bg',
- X3: 'rgba(255, 255, 255, 0.05)',
- X4: 'rgba(255, 255, 255, 0.1)',
- X5: 'rgba(255, 255, 255, 0.05)',
- X6: 'rgba(255, 255, 255, 0.15)',
- X7: 'rgba(255, 255, 255, 0.05)',
- X11: 'rgba(0, 0, 0, 0.3)',
- X12: 'rgba(255, 255, 255, 0.1)',
- X13: 'rgba(255, 255, 255, 0.15)',
},
codeHighlighter: {
diff --git a/packages/frontend-shared/themes/_light.json5 b/packages/frontend-shared/themes/_light.json5
index 89c632b057..c12f5be9db 100644
--- a/packages/frontend-shared/themes/_light.json5
+++ b/packages/frontend-shared/themes/_light.json5
@@ -10,16 +10,11 @@
props: {
accent: '#86b300',
- accentDarken: ':darken<10<@accent',
- accentLighten: ':lighten<10<@accent',
accentedBg: ':alpha<0.15<@accent',
love: '#dd2e44',
focus: ':alpha<0.3<@accent',
bg: '#fff',
- acrylicBg: ':alpha<0.5<@bg',
fg: '#5f5f5f',
- fgTransparentWeak: ':alpha<0.75<@fg',
- fgTransparent: ':alpha<0.5<@fg',
fgHighlighted: ':darken<3<@fg',
fgOnAccent: '#fff',
fgOnWhite: '#333',
@@ -29,19 +24,18 @@
panelHighlight: ':darken<3<@panel',
panelHeaderBg: ':lighten<3<@panel',
panelHeaderFg: '@fg',
- panelHeaderDivider: 'rgba(0, 0, 0, 0)',
panelBorder: '" solid 1px var(--MI_THEME-divider)',
thread: ':darken<12<@panel',
- acrylicPanel: ':alpha<0.5<@panel',
windowHeader: ':alpha<0.85<@panel',
popup: ':lighten<3<@panel',
shadow: 'rgba(0, 0, 0, 0.1)',
header: ':alpha<0.7<@panel',
navBg: '@panel',
navFg: '@fg',
- navHoverFg: ':darken<17<@fg',
navActive: '@accent',
navIndicator: '@indicator',
+ pageHeaderBg: '@bg',
+ pageHeaderFg: '@fg',
link: '#44a4c1',
hashtag: '#ff9156',
mention: '@accent',
@@ -69,7 +63,6 @@
inputBorder: 'rgba(0, 0, 0, 0.1)',
inputBorderHover: 'rgba(0, 0, 0, 0.2)',
driveFolderBg: ':alpha<0.3<@accent',
- wallpaperOverlay: 'rgba(255, 255, 255, 0.5)',
badge: '#31b1ce',
messageBg: '@bg',
success: '#86b300',
@@ -80,14 +73,6 @@
codeBoolean: '#62b70c',
deckBg: ':darken<3<@bg',
htmlThemeColor: '@bg',
- X3: 'rgba(0, 0, 0, 0.05)',
- X4: 'rgba(0, 0, 0, 0.1)',
- X5: 'rgba(0, 0, 0, 0.05)',
- X6: 'rgba(0, 0, 0, 0.25)',
- X7: 'rgba(0, 0, 0, 0.05)',
- X11: 'rgba(0, 0, 0, 0.1)',
- X12: 'rgba(0, 0, 0, 0.1)',
- X13: 'rgba(0, 0, 0, 0.15)',
},
codeHighlighter: {
diff --git a/packages/frontend-shared/themes/d-astro.json5 b/packages/frontend-shared/themes/d-astro.json5
index 4422526a33..6d34665528 100644
--- a/packages/frontend-shared/themes/d-astro.json5
+++ b/packages/frontend-shared/themes/d-astro.json5
@@ -7,9 +7,9 @@
bg: '#232125',
fg: '#efdab9',
link: '#78b0a0',
- warn: '#ecb637',
+ warn: '#ffd152',
badge: '#31b1ce',
- error: '#ec4137',
+ error: '#ff6652',
focus: ':alpha<0.3<@accent',
navBg: '@panel',
navFg: '@fg',
@@ -24,23 +24,18 @@
hashtag: '#ff9156',
mention: '#ffd152',
modalBg: 'rgba(0, 0, 0, 0.5)',
- success: '#86b300',
- acrylicBg: ':alpha<0.5<@bg',
+ success: '#78b07f',
indicator: '@accent',
mentionMe: '#fb5d38',
messageBg: '@bg',
navActive: '@accent',
infoWarnBg: '#42321c',
infoWarnFg: '#ffbd3e',
- navHoverFg: ':lighten<17<@fg',
dateLabelFg: '@fg',
inputBorder: 'rgba(255, 255, 255, 0.1)',
inputBorderHover: 'rgba(255, 255, 255, 0.2)',
panelBorder: '" solid 1px var(--MI_THEME-divider)',
- accentDarken: ':darken<10<@accent',
- acrylicPanel: ':alpha<0.5<@panel',
navIndicator: '@accent',
- accentLighten: ':lighten<10<@accent',
buttonGradateA: '@accent',
buttonGradateB: ':hue<-20<@accent',
driveFolderBg: ':alpha<0.3<@accent',
@@ -51,16 +46,6 @@
fgOnWhite: '@accent',
panelHighlight: ':lighten<3<@panel',
scrollbarHandle: 'rgba(255, 255, 255, 0.2)',
- wallpaperOverlay: 'rgba(0, 0, 0, 0.5)',
- panelHeaderDivider: 'rgba(0, 0, 0, 0)',
scrollbarHandleHover: 'rgba(255, 255, 255, 0.4)',
- X3: 'rgba(255, 255, 255, 0.05)',
- X4: 'rgba(255, 255, 255, 0.1)',
- X5: 'rgba(255, 255, 255, 0.05)',
- X6: 'rgba(255, 255, 255, 0.15)',
- X7: 'rgba(255, 255, 255, 0.05)',
- X11: 'rgba(0, 0, 0, 0.3)',
- X12: 'rgba(255, 255, 255, 0.1)',
- X13: 'rgba(255, 255, 255, 0.15)',
},
}
diff --git a/packages/frontend-shared/themes/d-botanical.json5 b/packages/frontend-shared/themes/d-botanical.json5
index 62208d2378..5a57a14f13 100644
--- a/packages/frontend-shared/themes/d-botanical.json5
+++ b/packages/frontend-shared/themes/d-botanical.json5
@@ -14,7 +14,6 @@
fgOnWhite: '@accent',
divider: 'rgba(255, 255, 255, 0.14)',
panel: 'rgb(47, 47, 44)',
- panelHeaderDivider: 'rgba(0, 0, 0, 0)',
header: ':alpha<0.7<@panel',
navBg: '#363636',
renote: '@accent',
@@ -22,5 +21,8 @@
mentionMe: 'rgb(212, 210, 76)',
hashtag: '#5bcbb0',
link: '@accent',
+ success: '@accent',
+ warn: 'rgb(255, 213, 82)',
+ error: 'rgb(255, 105, 82)',
},
}
diff --git a/packages/frontend-shared/themes/d-dark.json5 b/packages/frontend-shared/themes/d-dark.json5
index ae4f7d53f5..67d49aa861 100644
--- a/packages/frontend-shared/themes/d-dark.json5
+++ b/packages/frontend-shared/themes/d-dark.json5
@@ -14,7 +14,6 @@
fgOnWhite: '@accent',
divider: 'rgba(255, 255, 255, 0.14)',
panel: '#2d2d2d',
- panelHeaderDivider: 'rgba(0, 0, 0, 0)',
header: ':alpha<0.7<@panel',
navBg: '#363636',
renote: '@accent',
diff --git a/packages/frontend-shared/themes/d-future.json5 b/packages/frontend-shared/themes/d-future.json5
index f2c1f3eb86..6a66f2eca9 100644
--- a/packages/frontend-shared/themes/d-future.json5
+++ b/packages/frontend-shared/themes/d-future.json5
@@ -15,7 +15,6 @@
fgOnWhite: '@accent',
divider: 'rgba(255, 255, 255, 0.1)',
panel: '#18181c',
- panelHeaderDivider: 'rgba(0, 0, 0, 0)',
renote: '@accent',
mention: '#f2c97d',
mentionMe: '@accent',
diff --git a/packages/frontend-shared/themes/d-green-lime.json5 b/packages/frontend-shared/themes/d-green-lime.json5
index ca4e688fdb..fcd6651197 100644
--- a/packages/frontend-shared/themes/d-green-lime.json5
+++ b/packages/frontend-shared/themes/d-green-lime.json5
@@ -15,7 +15,6 @@
fgOnWhite: '@accent',
divider: '#e7fffb24',
panel: '#192320',
- panelHeaderDivider: 'rgba(0, 0, 0, 0)',
popup: '#293330',
renote: '@accent',
mentionMe: '#ffaa00',
diff --git a/packages/frontend-shared/themes/d-green-orange.json5 b/packages/frontend-shared/themes/d-green-orange.json5
index c2539816e2..aef3897329 100644
--- a/packages/frontend-shared/themes/d-green-orange.json5
+++ b/packages/frontend-shared/themes/d-green-orange.json5
@@ -15,7 +15,6 @@
fgOnWhite: '@accent',
divider: '#e7fffb24',
panel: '#192320',
- panelHeaderDivider: 'rgba(0, 0, 0, 0)',
popup: '#293330',
renote: '@accent',
mentionMe: '#b4e900',
diff --git a/packages/frontend-shared/themes/d-persimmon.json5 b/packages/frontend-shared/themes/d-persimmon.json5
index 0ab6523dd7..538e3b7e70 100644
--- a/packages/frontend-shared/themes/d-persimmon.json5
+++ b/packages/frontend-shared/themes/d-persimmon.json5
@@ -22,5 +22,8 @@
mentionMe: '#de6161',
hashtag: '#68bad0',
link: '#a1c758',
+ error: '#ce5441',
+ warn: '#d0b868',
+ success: '#a1c758',
},
}
diff --git a/packages/frontend-shared/themes/d-u0.json5 b/packages/frontend-shared/themes/d-u0.json5
index fb707c74c3..4f6c04b906 100644
--- a/packages/frontend-shared/themes/d-u0.json5
+++ b/packages/frontend-shared/themes/d-u0.json5
@@ -3,17 +3,9 @@
base: 'dark',
name: 'Mi U0 Dark',
props: {
- X3: 'rgba(255, 255, 255, 0.05)',
- X4: 'rgba(255, 255, 255, 0.1)',
- X5: 'rgba(255, 255, 255, 0.05)',
- X6: 'rgba(255, 255, 255, 0.15)',
- X7: 'rgba(255, 255, 255, 0.05)',
bg: '#172426',
fg: '#dadada',
X10: ':alpha<0.4<@accent',
- X11: 'rgba(0, 0, 0, 0.3)',
- X12: 'rgba(255, 255, 255, 0.1)',
- X13: 'rgba(255, 255, 255, 0.15)',
X14: ':alpha<0.5<@navBg',
X15: ':alpha<0<@panel',
X16: ':alpha<0.7<@panel',
@@ -39,7 +31,6 @@
modalBg: 'rgba(0, 0, 0, 0.5)',
success: '#86b300',
switchBg: 'rgba(255, 255, 255, 0.15)',
- acrylicBg: ':alpha<0.5<@bg',
indicator: '@accent',
mentionMe: '@mention',
messageBg: '@bg',
@@ -51,18 +42,13 @@
fgOnWhite: '@accent',
infoWarnBg: '#42321c',
infoWarnFg: '#ffbd3e',
- navHoverFg: ':lighten<17<@fg',
codeBoolean: '#c59eff',
dateLabelFg: '@fg',
inputBorder: 'rgba(255, 255, 255, 0.1)',
panelBorder: '" solid 1px var(--MI_THEME-divider)',
- accentDarken: ':darken<10<@accent',
- acrylicPanel: ':alpha<0.5<@panel',
navIndicator: '@indicator',
- accentLighten: ':lighten<10<@accent',
driveFolderBg: ':alpha<0.3<@accent',
fgHighlighted: ':lighten<3<@fg',
- fgTransparent: ':alpha<0.5<@fg',
panelHeaderBg: ':lighten<3<@panel',
panelHeaderFg: '@fg',
buttonGradateA: '@accent',
@@ -71,9 +57,6 @@
panelHighlight: ':lighten<3<@panel',
scrollbarHandle: 'rgba(255, 255, 255, 0.2)',
inputBorderHover: 'rgba(255, 255, 255, 0.2)',
- wallpaperOverlay: 'rgba(0, 0, 0, 0.5)',
- fgTransparentWeak: ':alpha<0.75<@fg',
- panelHeaderDivider: 'rgba(0, 0, 0, 0)',
scrollbarHandleHover: 'rgba(255, 255, 255, 0.4)',
deckBg: '#142022',
},
diff --git a/packages/frontend-shared/themes/l-botanical.json5 b/packages/frontend-shared/themes/l-botanical.json5
index 17e9ca246f..2fbae4fbae 100644
--- a/packages/frontend-shared/themes/l-botanical.json5
+++ b/packages/frontend-shared/themes/l-botanical.json5
@@ -13,18 +13,17 @@
fgHighlighted: '#6bc9a0',
fgOnWhite: '@accent',
divider: '#cfcfcf',
- panel: '@X14',
+ panel: '#ebe7e5',
panelHeaderBg: '@panel',
- panelHeaderDivider: '@divider',
header: ':alpha<0.7<@panel',
- navBg: '@X14',
+ navBg: '#ebe7e5',
renote: '#229e92',
mention: '#da6d35',
mentionMe: '#d44c4c',
hashtag: '#4cb8d4',
link: '@accent',
buttonGradateB: ':hue<-70<@accent',
- success: '#86b300',
- X14: '#ebe7e5'
+ success: '@accent',
+ error: '#da5635',
},
}
diff --git a/packages/frontend-shared/themes/l-coffee.json5 b/packages/frontend-shared/themes/l-coffee.json5
index b64cc73583..df3a12a37b 100644
--- a/packages/frontend-shared/themes/l-coffee.json5
+++ b/packages/frontend-shared/themes/l-coffee.json5
@@ -18,5 +18,8 @@
mention: '@accent',
mentionMe: 'rgb(170, 149, 98)',
hashtag: '@accent',
+ error: '#db9184',
+ warn: '#dbc184',
+ success: '#a3c975',
},
}
diff --git a/packages/frontend-shared/themes/l-light.json5 b/packages/frontend-shared/themes/l-light.json5
index 63c2e6d278..55f2d2f004 100644
--- a/packages/frontend-shared/themes/l-light.json5
+++ b/packages/frontend-shared/themes/l-light.json5
@@ -15,7 +15,6 @@
header: ':alpha<0.7<@panel',
navBg: '#fff',
panel: '#fff',
- panelHeaderDivider: '@divider',
mentionMe: 'rgb(0, 179, 70)',
},
}
diff --git a/packages/frontend-shared/themes/l-rainy.json5 b/packages/frontend-shared/themes/l-rainy.json5
index e7d1d5af00..d7c31bda8d 100644
--- a/packages/frontend-shared/themes/l-rainy.json5
+++ b/packages/frontend-shared/themes/l-rainy.json5
@@ -13,7 +13,6 @@
fgOnWhite: '@accent',
panel: '#fff',
divider: 'rgb(230 233 234)',
- panelHeaderDivider: '@divider',
renote: '@accent',
link: '@accent',
mention: '@accent',
diff --git a/packages/frontend-shared/themes/l-u0.json5 b/packages/frontend-shared/themes/l-u0.json5
index 7062e7fe5b..35241986df 100644
--- a/packages/frontend-shared/themes/l-u0.json5
+++ b/packages/frontend-shared/themes/l-u0.json5
@@ -3,17 +3,9 @@
base: 'light',
name: 'Mi U0 Light',
props: {
- X3: 'rgba(255, 255, 255, 0.05)',
- X4: 'rgba(255, 255, 255, 0.1)',
- X5: 'rgba(255, 255, 255, 0.05)',
- X6: 'rgba(255, 255, 255, 0.15)',
- X7: 'rgba(255, 255, 255, 0.05)',
bg: '#e7e7eb',
fg: '#5f5f5f',
X10: ':alpha<0.4<@accent',
- X11: 'rgba(0, 0, 0, 0.3)',
- X12: 'rgba(255, 255, 255, 0.1)',
- X13: 'rgba(255, 255, 255, 0.15)',
X14: ':alpha<0.5<@navBg',
X15: ':alpha<0<@panel',
X16: ':alpha<0.7<@panel',
@@ -40,7 +32,6 @@
success: '#86b300',
buttonBg: '#0000000d',
switchBg: 'rgba(255, 255, 255, 0.15)',
- acrylicBg: ':alpha<0.5<@bg',
indicator: '@accent',
mentionMe: '@mention',
messageBg: '@bg',
@@ -52,19 +43,14 @@
fgOnWhite: '@accent',
infoWarnBg: '#42321c',
infoWarnFg: '#ffbd3e',
- navHoverFg: ':lighten<17<@fg',
codeBoolean: '#c59eff',
dateLabelFg: '@fg',
inputBorder: 'rgba(255, 255, 255, 0.1)',
panelBorder: '" solid 1px var(--MI_THEME-divider)',
- accentDarken: ':darken<10<@accent',
- acrylicPanel: ':alpha<0.5<@panel',
navIndicator: '@indicator',
- accentLighten: ':lighten<10<@accent',
buttonHoverBg: '#0000001a',
driveFolderBg: ':alpha<0.3<@accent',
fgHighlighted: ':lighten<3<@fg',
- fgTransparent: ':alpha<0.5<@fg',
panelHeaderBg: ':lighten<3<@panel',
panelHeaderFg: '@fg',
buttonGradateA: '@accent',
@@ -73,9 +59,6 @@
panelHighlight: ':lighten<3<@panel',
scrollbarHandle: '#74747433',
inputBorderHover: 'rgba(255, 255, 255, 0.2)',
- wallpaperOverlay: 'rgba(0, 0, 0, 0.5)',
- fgTransparentWeak: ':alpha<0.75<@fg',
- panelHeaderDivider: 'rgba(0, 0, 0, 0)',
scrollbarHandleHover: 'rgba(255, 255, 255, 0.4)',
},
}
diff --git a/packages/frontend-shared/themes/l-vivid.json5 b/packages/frontend-shared/themes/l-vivid.json5
index 39768d4ac6..5ad8d60728 100644
--- a/packages/frontend-shared/themes/l-vivid.json5
+++ b/packages/frontend-shared/themes/l-vivid.json5
@@ -28,42 +28,25 @@
mention: '@accent',
modalBg: 'rgba(0, 0, 0, 0.3)',
success: '#86b300',
- acrylicBg: ':alpha<0.5<@bg',
indicator: '@accent',
mentionMe: '@mention',
messageBg: '@bg',
navActive: '@accent',
infoWarnBg: '#fff0db',
infoWarnFg: '#8f6e31',
- navHoverFg: ':darken<17<@fg',
dateLabelFg: '@fg',
inputBorder: 'rgba(0, 0, 0, 0.1)',
inputBorderHover: 'rgba(0, 0, 0, 0.2)',
panelBorder: '" solid 1px var(--MI_THEME-divider)',
- accentDarken: ':darken<10<@accent',
- acrylicPanel: ':alpha<0.5<@panel',
navIndicator: '@accent',
- accentLighten: ':lighten<10<@accent',
driveFolderBg: ':alpha<0.3<@accent',
fgHighlighted: ':darken<3<@fg',
- fgTransparent: ':alpha<0.5<@fg',
fgOnWhite: '@accent',
panelHeaderBg: ':lighten<3<@panel',
panelHeaderFg: '@fg',
htmlThemeColor: '@bg',
panelHighlight: ':darken<3<@panel',
scrollbarHandle: 'rgba(0, 0, 0, 0.2)',
- wallpaperOverlay: 'rgba(255, 255, 255, 0.5)',
- fgTransparentWeak: ':alpha<0.75<@fg',
- panelHeaderDivider: '@divider',
scrollbarHandleHover: 'rgba(0, 0, 0, 0.4)',
- X3: 'rgba(0, 0, 0, 0.05)',
- X4: 'rgba(0, 0, 0, 0.1)',
- X5: 'rgba(0, 0, 0, 0.05)',
- X6: 'rgba(0, 0, 0, 0.25)',
- X7: 'rgba(0, 0, 0, 0.05)',
- X11: 'rgba(0, 0, 0, 0.1)',
- X12: 'rgba(0, 0, 0, 0.1)',
- X13: 'rgba(0, 0, 0, 0.15)',
},
}
diff --git a/packages/frontend-shared/tsconfig.json b/packages/frontend-shared/tsconfig.json
index 48228d4e48..8f76763e10 100644
--- a/packages/frontend-shared/tsconfig.json
+++ b/packages/frontend-shared/tsconfig.json
@@ -16,6 +16,7 @@
"experimentalDecorators": true,
"noImplicitReturns": true,
"esModuleInterop": true,
+ "verbatimModuleSyntax": true,
"skipLibCheck": true,
"baseUrl": ".",
"paths": {