From a93b6c36bf8451790078c9d5114bef772921c46a Mon Sep 17 00:00:00 2001
From: taiyme <53635909+taiyme@users.noreply.github.com>
Date: Sat, 26 Oct 2024 19:13:04 +0900
Subject: [PATCH 01/11] chore(vscode): Multi-root Workspaces
---
.gitignore | 1 -
.vscode/extensions.json | 4 +-
.vscode/settings.json | 19 ++++-----
packages/backend/.vscode/settings.json | 25 ++++++++----
packages/frontend/.vscode/settings.json | 21 +++++++---
taiyme.code-workspace | 52 +++++++++++++++++++++++++
6 files changed, 96 insertions(+), 26 deletions(-)
create mode 100644 taiyme.code-workspace
diff --git a/.gitignore b/.gitignore
index a6dd42f3eda4..9b441c76a3b8 100644
--- a/.gitignore
+++ b/.gitignore
@@ -54,7 +54,6 @@ run.bat
api-docs.json
*.log
/redis
-*.code-workspace
.DS_Store
/files
ormconfig.json
diff --git a/.vscode/extensions.json b/.vscode/extensions.json
index df05f350b538..c9addc2d9dec 100644
--- a/.vscode/extensions.json
+++ b/.vscode/extensions.json
@@ -6,6 +6,6 @@
"Orta.vscode-jest",
"mrmlnc.vscode-json5",
"github.vscode-github-actions",
- "redhat.vscode-yaml"
- ]
+ "redhat.vscode-yaml",
+ ],
}
diff --git a/.vscode/settings.json b/.vscode/settings.json
index bbb870fb782f..be2324d198d2 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -1,24 +1,21 @@
{
"search.exclude": {
- "**/node_modules": true
- },
- "typescript.tsdk": "node_modules/typescript/lib",
- "files.associations": {
- "*.test.ts": "typescript"
+ "**/node_modules": true,
},
"jest.jestCommandLine": "pnpm run jest",
"jest.runMode": "on-demand",
+ "editor.formatOnSave": false,
"editor.codeActionsOnSave": {
- "source.fixAll": "explicit"
+ "source.fixAll": "explicit",
},
- "editor.formatOnSave": false,
+ "typescript.tsdk": "./node_modules/typescript/lib",
"yaml.schemas": {
"https://json.schemastore.org/github-action.json": [
".github/actions/**/action.yaml",
- ".github/actions/**/action.yml"
+ ".github/actions/**/action.yml",
],
"https://json.schemastore.org/github-issue-config.json": [
- ".github/ISSUE_TEMPLATE/config.yml"
- ]
- }
+ ".github/ISSUE_TEMPLATE/config.yml",
+ ],
+ },
}
diff --git a/packages/backend/.vscode/settings.json b/packages/backend/.vscode/settings.json
index 9fb3b29d4a6a..e7d77fdf8b8e 100644
--- a/packages/backend/.vscode/settings.json
+++ b/packages/backend/.vscode/settings.json
@@ -1,10 +1,21 @@
{
- "typescript.tsdk": "node_modules\\typescript\\lib",
- "path-intellisense.mappings": {
- "@": "${workspaceRoot}/packages/backend/src/"
- },
- "editor.formatOnSave": true,
+ // "path-intellisense.mappings": {
+ // "@": "${workspaceRoot}/packages/backend/src/"
+ // },
+ "prettier.enable": false,
+ "editor.formatOnSave": false,
"editor.codeActionsOnSave": {
- "source.fixAll": true
- }
+ "source.fixAll.eslint": "explicit",
+ "source.organizeImports": "never",
+ "source.removeUnusedImports": "never",
+ "source.sortImports": "never",
+ },
+ "eslint.useFlatConfig": true,
+ "eslint.validate": [
+ "javascript",
+ "javascriptreact",
+ "typescript",
+ "typescriptreact",
+ ],
+ "typescript.tsdk": "./node_modules/typescript/lib",
}
diff --git a/packages/frontend/.vscode/settings.json b/packages/frontend/.vscode/settings.json
index 1a79b6a7dc7d..0565bafa7632 100644
--- a/packages/frontend/.vscode/settings.json
+++ b/packages/frontend/.vscode/settings.json
@@ -1,11 +1,22 @@
{
- "typescript.tsdk": "node_modules\\typescript\\lib",
- "path-intellisense.mappings": {
- "@": "${workspaceRoot}/packages/frontend/src/"
+ // "path-intellisense.mappings": {
+ // "@": "${workspaceRoot}/packages/frontend/src/"
+ // },
+ "prettier.enable": false,
+ "editor.formatOnSave": false,
+ "editor.codeActionsOnSave": {
+ "source.fixAll.eslint": "explicit",
+ "source.organizeImports": "never",
+ "source.removeUnusedImports": "never",
+ "source.sortImports": "never",
},
+ "eslint.useFlatConfig": true,
"eslint.validate": [
"javascript",
"javascriptreact",
- "vue"
- ]
+ "typescript",
+ "typescriptreact",
+ "vue",
+ ],
+ "typescript.tsdk": "./node_modules/typescript/lib",
}
diff --git a/taiyme.code-workspace b/taiyme.code-workspace
new file mode 100644
index 000000000000..d7461fa5fecd
--- /dev/null
+++ b/taiyme.code-workspace
@@ -0,0 +1,52 @@
+{
+ "folders": [
+ {
+ "name": "root",
+ "path": ".",
+ },
+ {
+ "name": "backend",
+ "path": "./packages/backend",
+ },
+ {
+ "name": "frontend",
+ "path": "./packages/frontend",
+ },
+ {
+ "name": "frontend-embed",
+ "path": "./packages/frontend-embed",
+ },
+ ],
+ "settings": {
+ "search.exclude": {
+ "**/node_modules": true,
+ },
+ "jest.jestCommandLine": "pnpm run jest",
+ "jest.runMode": "on-demand",
+ "editor.formatOnSave": false,
+ "editor.codeActionsOnSave": {
+ "source.fixAll": "explicit",
+ },
+ "typescript.tsdk": "./node_modules/typescript/lib",
+ "yaml.schemas": {
+ "https://json.schemastore.org/github-action.json": [
+ ".github/actions/**/action.yaml",
+ ".github/actions/**/action.yml",
+ ],
+ "https://json.schemastore.org/github-issue-config.json": [
+ ".github/ISSUE_TEMPLATE/config.yml",
+ ],
+ },
+ },
+ "extensions": {
+ "recommendations": [
+ "editorconfig.editorconfig",
+ "dbaeumer.vscode-eslint",
+ "Vue.volar",
+ "Orta.vscode-jest",
+ "mrmlnc.vscode-json5",
+ "github.vscode-github-actions",
+ "redhat.vscode-yaml",
+ ],
+ },
+}
From d82c21818349d5e0a7a0789793a702a50df2895b Mon Sep 17 00:00:00 2001
From: taiy <53635909+taiyme@users.noreply.github.com>
Date: Fri, 1 Nov 2024 20:55:23 +0900
Subject: [PATCH 02/11] =?UTF-8?q?fix:=20=E6=AC=A0=E8=90=BD=E3=81=97?=
=?UTF-8?q?=E3=81=A6=E3=81=84=E3=82=8Bemit:change=E3=82=92=E8=BF=BD?=
=?UTF-8?q?=E5=8A=A0=20(#299)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
packages/frontend/src/components/MkSwitch.vue | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/packages/frontend/src/components/MkSwitch.vue b/packages/frontend/src/components/MkSwitch.vue
index 670b54527db1..00dfd1c038af 100644
--- a/packages/frontend/src/components/MkSwitch.vue
+++ b/packages/frontend/src/components/MkSwitch.vue
@@ -45,6 +45,7 @@ const props = withDefaults(defineProps<{
const emit = defineEmits<{
(ev: 'update:modelValue', v: boolean): void;
+ (ev: 'change', v: boolean): void;
}>();
const checked = computed(() => unref(props.modelValue));
@@ -54,7 +55,9 @@ const onKeydown = filterKeyboardEnterOrSpace(() => toggle());
const toggle = () => {
if (disabled.value) return;
- emit('update:modelValue', !checked.value);
+ const result = !checked.value;
+ emit('update:modelValue', result);
+ emit('change', result);
};
From 5b26ad5953b2c877ab796f64bd52abca8b956a4a Mon Sep 17 00:00:00 2001
From: taiy <53635909+taiyme@users.noreply.github.com>
Date: Fri, 1 Nov 2024 20:56:35 +0900
Subject: [PATCH 03/11] =?UTF-8?q?fix:=20=E3=83=87=E3=82=B3=E3=83=AC?=
=?UTF-8?q?=E3=83=BC=E3=82=B7=E3=83=A7=E3=83=B3=E3=82=92=E4=BB=98=E3=81=91?=
=?UTF-8?q?=E3=82=8B=E3=81=A8MkAvatar=E3=81=A7=E3=82=A8=E3=83=A9=E3=83=BC?=
=?UTF-8?q?=E3=81=AB=E3=81=AA=E3=82=8B=E5=95=8F=E9=A1=8C=20(#300)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../settings/avatar-decoration.dialog.vue | 36 +++++++---------
.../src/pages/settings/avatar-decoration.vue | 42 ++++++++++---------
2 files changed, 38 insertions(+), 40 deletions(-)
diff --git a/packages/frontend/src/pages/settings/avatar-decoration.dialog.vue b/packages/frontend/src/pages/settings/avatar-decoration.dialog.vue
index 853e536ea30b..2d186cf132fd 100644
--- a/packages/frontend/src/pages/settings/avatar-decoration.dialog.vue
+++ b/packages/frontend/src/pages/settings/avatar-decoration.dialog.vue
@@ -46,6 +46,7 @@ SPDX-License-Identifier: AGPL-3.0-only
diff --git a/packages/frontend/src/pages/settings/avatar-decoration.vue b/packages/frontend/src/pages/settings/avatar-decoration.vue
index 3233817551c1..c81b75f19504 100644
--- a/packages/frontend/src/pages/settings/avatar-decoration.vue
+++ b/packages/frontend/src/pages/settings/avatar-decoration.vue
@@ -19,13 +19,14 @@ SPDX-License-Identifier: AGPL-3.0-only
d.id === avatarDecoration.id)!, i)"
/>
@@ -61,55 +62,58 @@ import { signinRequired } from '@/account.js';
import MkInfo from '@/components/MkInfo.vue';
import { definePageMetadata } from '@/scripts/page-metadata.js';
+type AvatarDecoration = Misskey.entities.GetAvatarDecorationsResponse[number];
+type AvatarDecorationWithPosition = Omit;
+
const $i = signinRequired();
const loading = ref(true);
-const avatarDecorations = ref([]);
+const avatarDecorations = ref([]);
misskeyApi('get-avatar-decorations').then(_avatarDecorations => {
avatarDecorations.value = _avatarDecorations;
loading.value = false;
});
-function openDecoration(avatarDecoration, index?: number) {
+function openDecoration(avatarDecoration: AvatarDecoration, index?: number) {
const { dispose } = os.popup(defineAsyncComponent(() => import('./avatar-decoration.dialog.vue')), {
decoration: avatarDecoration,
- usingIndex: index,
+ usingIndex: index ?? null,
}, {
- 'attach': async (payload) => {
+ 'attach': async (payload: AvatarDecorationWithPosition) => {
const decoration = {
+ ...payload,
id: avatarDecoration.id,
- angle: payload.angle,
- flipH: payload.flipH,
- offsetX: payload.offsetX,
- offsetY: payload.offsetY,
- };
+ url: avatarDecoration.url,
+ } as const satisfies AvatarDecorationWithPosition & Pick;
const update = [...$i.avatarDecorations, decoration];
await os.apiWithDialog('i/update', {
avatarDecorations: update,
});
$i.avatarDecorations = update;
},
- 'update': async (payload) => {
+ 'update': async (payload: AvatarDecorationWithPosition) => {
+ if (index == null) return;
const decoration = {
+ ...payload,
id: avatarDecoration.id,
- angle: payload.angle,
- flipH: payload.flipH,
- offsetX: payload.offsetX,
- offsetY: payload.offsetY,
- };
+ url: avatarDecoration.url,
+ } as const satisfies AvatarDecorationWithPosition & Pick;
const update = [...$i.avatarDecorations];
update[index] = decoration;
await os.apiWithDialog('i/update', {
- avatarDecorations: update,
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
+ avatarDecorations: update.map(({ url, ...d }) => d),
});
$i.avatarDecorations = update;
},
'detach': async () => {
+ if (index == null) return;
const update = [...$i.avatarDecorations];
update.splice(index, 1);
await os.apiWithDialog('i/update', {
- avatarDecorations: update,
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
+ avatarDecorations: update.map(({ url, ...d }) => d),
});
$i.avatarDecorations = update;
},
From aa1a02d6a0e44879c5425f30d262cf62a7a6d701 Mon Sep 17 00:00:00 2001
From: "taiyme-release-bot[bot]"
<182201358+taiyme-release-bot[bot]@users.noreply.github.com>
Date: Fri, 1 Nov 2024 13:42:29 +0000
Subject: [PATCH 04/11] Release: 2024.10.1-taiyme.1
---
compose_example.yml | 2 +-
package.json | 2 +-
packages/misskey-js/package.json | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/compose_example.yml b/compose_example.yml
index 9926a08147e3..4d7a96df1bea 100644
--- a/compose_example.yml
+++ b/compose_example.yml
@@ -1,7 +1,7 @@
services:
web:
build: .
- image: ghcr.io/taiyme/misskey:2024.10.1-taiyme.0
+ image: ghcr.io/taiyme/misskey:2024.10.1-taiyme.1
restart: always
links:
- db
diff --git a/package.json b/package.json
index 56c2983e9889..dce7250d2950 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "misskey",
- "version": "2024.10.1-taiyme.0",
+ "version": "2024.10.1-taiyme.1",
"codename": "nasubi",
"repository": {
"type": "git",
diff --git a/packages/misskey-js/package.json b/packages/misskey-js/package.json
index e1f20974909d..89f43a1eb1f8 100644
--- a/packages/misskey-js/package.json
+++ b/packages/misskey-js/package.json
@@ -1,7 +1,7 @@
{
"type": "module",
"name": "misskey-js",
- "version": "2024.10.1-taiyme.0",
+ "version": "2024.10.1-taiyme.1",
"description": "Misskey SDK for JavaScript",
"license": "MIT",
"main": "./built/index.js",
From 711ab846a967feeddbe0c908bee4b91646cec321 Mon Sep 17 00:00:00 2001
From: taiy <53635909+taiyme@users.noreply.github.com>
Date: Tue, 5 Nov 2024 09:50:27 +0900
Subject: [PATCH 05/11] =?UTF-8?q?fix(frontend):=20=E3=83=8E=E3=83=BC?=
=?UTF-8?q?=E3=83=88=E6=8A=95=E7=A8=BF=E3=83=9C=E3=82=BF=E3=83=B3=E3=81=AB?=
=?UTF-8?q?=E3=83=9B=E3=83=90=E3=83=BC=E6=99=82=E3=81=AE=E3=82=B9=E3=82=BF?=
=?UTF-8?q?=E3=82=A4=E3=83=AB=E3=81=8C=E9=81=A9=E7=94=A8=E3=81=95=E3=82=8C?=
=?UTF-8?q?=E3=81=A6=E3=81=84=E3=81=AA=E3=81=84=20(#305)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
packages/frontend/src/components/MkPostForm.vue | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/packages/frontend/src/components/MkPostForm.vue b/packages/frontend/src/components/MkPostForm.vue
index 918e951387d5..b000a1010130 100644
--- a/packages/frontend/src/components/MkPostForm.vue
+++ b/packages/frontend/src/components/MkPostForm.vue
@@ -1131,7 +1131,7 @@ defineExpose({
&:focus-visible {
outline: none;
- .submitInner {
+ > .submitInner {
outline: 2px solid var(--MI_THEME-fgOnAccent);
outline-offset: -4px;
}
@@ -1146,13 +1146,13 @@ defineExpose({
}
&:not(:disabled):hover {
- > .inner {
+ > .submitInner {
background: linear-gradient(90deg, hsl(from var(--MI_THEME-accent) h s calc(l + 5)), hsl(from var(--MI_THEME-accent) h s calc(l + 5)));
}
}
&:not(:disabled):active {
- > .inner {
+ > .submitInner {
background: linear-gradient(90deg, hsl(from var(--MI_THEME-accent) h s calc(l + 5)), hsl(from var(--MI_THEME-accent) h s calc(l + 5)));
}
}
From 671060752319e09c81f71ca6b0138edfb0f606ad Mon Sep 17 00:00:00 2001
From: taiy <53635909+taiyme@users.noreply.github.com>
Date: Thu, 7 Nov 2024 22:31:44 +0900
Subject: [PATCH 06/11] =?UTF-8?q?fix(frontend):=20color-mix=E3=81=A7?=
=?UTF-8?q?=E3=82=AF=E3=83=A9=E3=83=83=E3=82=B7=E3=83=A5=E3=81=99=E3=82=8B?=
=?UTF-8?q?=E5=95=8F=E9=A1=8C,=20hsl=E3=81=AEcalc=E3=81=AB=E5=A4=B1?=
=?UTF-8?q?=E6=95=97=E3=81=99=E3=82=8B=E5=95=8F=E9=A1=8C=20=E3=81=AA?=
=?UTF-8?q?=E3=81=A9=20(#304)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
idea/MkDisableSection.vue | 7 +-----
packages/frontend/src/boot/common.ts | 8 -------
packages/frontend/src/components/MkButton.vue | 8 +++----
.../src/components/MkChannelPreview.vue | 2 +-
.../frontend/src/components/MkContainer.vue | 2 +-
.../MkCustomEmojiDetailedDialog.vue | 5 ----
.../src/components/MkDateSeparatedList.vue | 5 ----
.../src/components/MkEmbedCodeGenDialog.vue | 5 ----
.../src/components/MkFlashPreview.vue | 5 ----
.../src/components/MkFoldableSection.vue | 2 +-
packages/frontend/src/components/MkFolder.vue | 5 ----
.../src/components/MkInstanceCardMini.vue | 21 +++++++---------
.../frontend/src/components/MkMediaImage.vue | 9 ++-----
.../frontend/src/components/MkMediaVideo.vue | 9 ++-----
.../frontend/src/components/MkMention.vue | 4 ++--
packages/frontend/src/components/MkNote.vue | 2 +-
packages/frontend/src/components/MkOmit.vue | 2 +-
.../frontend/src/components/MkPostForm.vue | 9 ++-----
.../src/components/MkSubNoteContent.vue | 2 +-
.../src/components/MkUserCardMini.vue | 13 ++++------
.../src/components/TmsInstanceTicker.vue | 4 ++--
.../src/components/global/MkFooterSpacer.vue | 5 ----
.../src/components/global/MkPageHeader.vue | 2 +-
packages/frontend/src/pages/channel.vue | 2 +-
.../src/pages/welcome.timeline.note.vue | 2 +-
packages/frontend/src/style.scss | 24 +++++++++++++++----
.../src/ui/_common_/navbar-for-mobile.vue | 2 +-
packages/frontend/src/ui/_common_/navbar.vue | 2 +-
packages/frontend/src/ui/deck.vue | 6 ++---
packages/frontend/src/ui/universal.vue | 6 ++---
30 files changed, 64 insertions(+), 116 deletions(-)
diff --git a/idea/MkDisableSection.vue b/idea/MkDisableSection.vue
index 568241e68f86..642ccf130755 100644
--- a/idea/MkDisableSection.vue
+++ b/idea/MkDisableSection.vue
@@ -39,11 +39,6 @@ defineProps<{
transparent 0px 10px,
var(--c) 6px 16px
);
- --c: color(from var(--MI_THEME-error) srgb r g b / 0.25);
-
- // NOTE: iOS/iPadOS環境でクラッシュする https://github.com/taiyme/misskey/issues/293
- html[data-browser-engine=webkit] & {
- background-image: unset;
- }
+ --c: rgb(from var(--MI_THEME-error) r g b / 0.25);
}
diff --git a/packages/frontend/src/boot/common.ts b/packages/frontend/src/boot/common.ts
index 0b410c7bbb30..65d7f5a5e1ee 100644
--- a/packages/frontend/src/boot/common.ts
+++ b/packages/frontend/src/boot/common.ts
@@ -31,14 +31,6 @@ import { preventLongPressContextMenu } from '@/scripts/tms/prevent-longpress-con
export async function common(createVue: () => App) {
console.info(`taiyme v${version}`);
- //#region Detect WebKit engine
- const ua = navigator.userAgent;
- const isWebkitEngine = ua.includes('AppleWebKit') && !(ua.includes('Chrome') || ua.includes('Chromium'));
- if (isWebkitEngine) {
- document.documentElement.dataset.browserEngine = 'webkit';
- }
- //#endregion
-
if (_DEV_) {
console.warn('Development mode!!!');
diff --git a/packages/frontend/src/components/MkButton.vue b/packages/frontend/src/components/MkButton.vue
index 39a87a34098c..6da65f5c6cc2 100644
--- a/packages/frontend/src/components/MkButton.vue
+++ b/packages/frontend/src/components/MkButton.vue
@@ -172,11 +172,11 @@ function onMousedown(evt: MouseEvent): void {
background: var(--MI_THEME-accent);
&:not(:disabled):hover {
- background: hsl(from var(--MI_THEME-accent) h s calc(l + 5));
+ background: hsl(from var(--MI_THEME-accent) h s calc(l + (var(--TMS-hsl-base-l) * 5)));
}
&:not(:disabled):active {
- background: hsl(from var(--MI_THEME-accent) h s calc(l + 5));
+ background: hsl(from var(--MI_THEME-accent) h s calc(l + (var(--TMS-hsl-base-l) * 5)));
}
}
@@ -221,11 +221,11 @@ function onMousedown(evt: MouseEvent): void {
background: linear-gradient(90deg, var(--MI_THEME-buttonGradateA), var(--MI_THEME-buttonGradateB));
&:not(:disabled):hover {
- background: linear-gradient(90deg, hsl(from var(--MI_THEME-accent) h s calc(l + 5)), hsl(from var(--MI_THEME-accent) h s calc(l + 5)));
+ background: linear-gradient(90deg, hsl(from var(--MI_THEME-accent) h s calc(l + (var(--TMS-hsl-base-l) * 5))), hsl(from var(--MI_THEME-accent) h s calc(l + (var(--TMS-hsl-base-l) * 5))));
}
&:not(:disabled):active {
- background: linear-gradient(90deg, hsl(from var(--MI_THEME-accent) h s calc(l + 5)), hsl(from var(--MI_THEME-accent) h s calc(l + 5)));
+ background: linear-gradient(90deg, hsl(from var(--MI_THEME-accent) h s calc(l + (var(--TMS-hsl-base-l) * 5))), hsl(from var(--MI_THEME-accent) h s calc(l + (var(--TMS-hsl-base-l) * 5))));
}
}
diff --git a/packages/frontend/src/components/MkChannelPreview.vue b/packages/frontend/src/components/MkChannelPreview.vue
index 99580df5e25c..0676b94e14f4 100644
--- a/packages/frontend/src/components/MkChannelPreview.vue
+++ b/packages/frontend/src/components/MkChannelPreview.vue
@@ -117,7 +117,7 @@ const bannerStyle = computed(() => {
left: 0;
width: 100%;
height: 64px;
- background: linear-gradient(0deg, var(--MI_THEME-panel), color(from var(--MI_THEME-panel) srgb r g b / 0));
+ background: linear-gradient(0deg, var(--MI_THEME-panel), rgb(from var(--MI_THEME-panel) r g b / 0));
}
> .name {
diff --git a/packages/frontend/src/components/MkContainer.vue b/packages/frontend/src/components/MkContainer.vue
index 01ca57bf8f2d..69d2200bc349 100644
--- a/packages/frontend/src/components/MkContainer.vue
+++ b/packages/frontend/src/components/MkContainer.vue
@@ -231,7 +231,7 @@ onUnmounted(() => {
left: 0;
width: 100%;
height: 64px; // .omitted
- background: linear-gradient(0deg, var(--MI_THEME-panel), color(from var(--MI_THEME-panel) srgb r g b / 0));
+ background: linear-gradient(0deg, var(--MI_THEME-panel), rgb(from var(--MI_THEME-panel) r g b / 0));
}
.showMoreFade {
diff --git a/packages/frontend/src/components/MkCustomEmojiDetailedDialog.vue b/packages/frontend/src/components/MkCustomEmojiDetailedDialog.vue
index ee89395c3566..b40671488220 100644
--- a/packages/frontend/src/components/MkCustomEmojiDetailedDialog.vue
+++ b/packages/frontend/src/components/MkCustomEmojiDetailedDialog.vue
@@ -94,11 +94,6 @@ const cancel = () => {
var(--c) 6px 16px
);
- // NOTE: iOS/iPadOS環境でクラッシュする https://github.com/taiyme/misskey/issues/293
- html[data-browser-engine=webkit] & {
- background-image: unset !important;
- }
-
&,
html[data-color-scheme=light] & {
--c: rgb(0 0 0 / 0.02);
diff --git a/packages/frontend/src/components/MkDateSeparatedList.vue b/packages/frontend/src/components/MkDateSeparatedList.vue
index 3c14298535e7..ddd8401b9399 100644
--- a/packages/frontend/src/components/MkDateSeparatedList.vue
+++ b/packages/frontend/src/components/MkDateSeparatedList.vue
@@ -267,11 +267,6 @@ export default defineComponent({
var(--c) 6px 16px
);
- // NOTE: iOS/iPadOS環境でクラッシュする https://github.com/taiyme/misskey/issues/293
- html[data-browser-engine=webkit] & {
- background-image: unset !important;
- }
-
&,
html[data-color-scheme=light] & {
--c: rgb(0 0 0 / 0.02);
diff --git a/packages/frontend/src/components/MkEmbedCodeGenDialog.vue b/packages/frontend/src/components/MkEmbedCodeGenDialog.vue
index eea97f9d00aa..7b30178a774f 100644
--- a/packages/frontend/src/components/MkEmbedCodeGenDialog.vue
+++ b/packages/frontend/src/components/MkEmbedCodeGenDialog.vue
@@ -313,11 +313,6 @@ onUnmounted(() => {
transparent 0px 10px,
var(--MI_THEME-panel) 6px 16px
);
-
- // NOTE: iOS/iPadOS環境でクラッシュする https://github.com/taiyme/misskey/issues/293
- html[data-browser-engine=webkit] & {
- background-image: unset !important;
- }
}
.embedCodeGenPreviewWrapper {
diff --git a/packages/frontend/src/components/MkFlashPreview.vue b/packages/frontend/src/components/MkFlashPreview.vue
index 6ec0765ec70e..f2b6c0d777bf 100644
--- a/packages/frontend/src/components/MkFlashPreview.vue
+++ b/packages/frontend/src/components/MkFlashPreview.vue
@@ -96,11 +96,6 @@ const props = defineProps<{
transparent 0px 10px,
var(--MI_THEME-bg) 6px 16px
);
-
- // NOTE: iOS/iPadOS環境でクラッシュする https://github.com/taiyme/misskey/issues/293
- html[data-browser-engine=webkit] & {
- background-image: unset !important;
- }
}
@media (max-width: 700px) {
diff --git a/packages/frontend/src/components/MkFoldableSection.vue b/packages/frontend/src/components/MkFoldableSection.vue
index 17feaab1aa62..8e09fa84bd54 100644
--- a/packages/frontend/src/components/MkFoldableSection.vue
+++ b/packages/frontend/src/components/MkFoldableSection.vue
@@ -111,7 +111,7 @@ onMounted(() => {
top: var(--MI-stickyTop, 0px);
-webkit-backdrop-filter: var(--MI-blur, blur(15px));
backdrop-filter: var(--MI-blur, blur(15px));
- background-color: color(from v-bind("parentBg ?? 'var(--MI_THEME-bg)'") srgb r g b / 0.85);
+ background-color: rgb(from v-bind("parentBg ?? 'var(--MI_THEME-bg)'") r g b / 0.85);
}
.title {
diff --git a/packages/frontend/src/components/MkFolder.vue b/packages/frontend/src/components/MkFolder.vue
index d75723d1a190..2f2ba0b4be1b 100644
--- a/packages/frontend/src/components/MkFolder.vue
+++ b/packages/frontend/src/components/MkFolder.vue
@@ -235,10 +235,5 @@ onMounted(() => {
transparent 0px 10px,
var(--MI_THEME-panel) 6px 16px
);
-
- // NOTE: iOS/iPadOS環境でクラッシュする https://github.com/taiyme/misskey/issues/293
- html[data-browser-engine=webkit] & {
- background-image: unset !important;
- }
}
diff --git a/packages/frontend/src/components/MkInstanceCardMini.vue b/packages/frontend/src/components/MkInstanceCardMini.vue
index 4f78dc28afd5..d44a2a41db8d 100644
--- a/packages/frontend/src/components/MkInstanceCardMini.vue
+++ b/packages/frontend/src/components/MkInstanceCardMini.vue
@@ -81,47 +81,42 @@ $bodyInfoHieght: 16px;
transparent 0px 10px,
var(--c) 6px 16px
);
-
- // NOTE: iOS/iPadOS環境でクラッシュする https://github.com/taiyme/misskey/issues/293
- html[data-browser-engine=webkit] & {
- background-image: unset !important;
- }
}
&,
html[data-color-scheme=light] & {
&.isNotResponding {
- --c: color(from color-mix(in srgb, var(--MI_THEME-panel), orange 50%) srgb r g b / 0.25);
+ --c: color-mix(in srgb, #ffa500 12.5%, var(--MI_THEME-panel));
}
&.isSilenced {
- --c: color(from color-mix(in srgb, var(--MI_THEME-panel), blue 50%) srgb r g b / 0.25);
+ --c: color-mix(in srgb, #0000ff 12.5%, var(--MI_THEME-panel));
}
&.isSuspended {
- --c: color(from color-mix(in srgb, var(--MI_THEME-panel), black 15%) srgb r g b / 0.25);
+ --c: color-mix(in srgb, #000000 3.75%, var(--MI_THEME-panel));
}
&.isBlocked {
- --c: color(from color-mix(in srgb, var(--MI_THEME-panel), red 50%) srgb r g b / 0.25);
+ --c: color-mix(in srgb, #ff0000 12.5%, var(--MI_THEME-panel));
}
}
html[data-color-scheme=dark] & {
&.isNotResponding {
- --c: color(from color-mix(in srgb, var(--MI_THEME-panel), orange 50%) srgb r g b / 0.5);
+ --c: color-mix(in srgb, #ffa500 25%, var(--MI_THEME-panel));
}
&.isSilenced {
- --c: color(from color-mix(in srgb, var(--MI_THEME-panel), blue 50%) srgb r g b / 0.5);
+ --c: color-mix(in srgb, #0000ff 25%, var(--MI_THEME-panel));
}
&.isSuspended {
- --c: color(from color-mix(in srgb, var(--MI_THEME-panel), white 15%) srgb r g b / 0.5);
+ --c: color-mix(in srgb, #ffffff 7.5%, var(--MI_THEME-panel));
}
&.isBlocked {
- --c: color(from color-mix(in srgb, var(--MI_THEME-panel), red 50%) srgb r g b / 0.5);
+ --c: color-mix(in srgb, #ff0000 25%, var(--MI_THEME-panel));
}
}
}
diff --git a/packages/frontend/src/components/MkMediaImage.vue b/packages/frontend/src/components/MkMediaImage.vue
index 0849e7d15fdb..5a687d2fd3e4 100644
--- a/packages/frontend/src/components/MkMediaImage.vue
+++ b/packages/frontend/src/components/MkMediaImage.vue
@@ -219,18 +219,13 @@ const showImageMenu = (ev: MouseEvent) => {
var(--c) 6px 16px
);
- // NOTE: iOS/iPadOS環境でクラッシュする https://github.com/taiyme/misskey/issues/293
- html[data-browser-engine=webkit] & {
- background-image: unset !important;
- }
-
&,
html[data-color-scheme=light] & {
- --c: color(from color-mix(in srgb, var(--MI_THEME-bg), black 15%) srgb r g b / 0.25);
+ --c: color-mix(in srgb, #000000 3.75%, var(--MI_THEME-bg));
}
html[data-color-scheme=dark] & {
- --c: color(from color-mix(in srgb, var(--MI_THEME-bg), white 15%) srgb r g b / 0.5);
+ --c: color-mix(in srgb, #ffffff 7.5%, var(--MI_THEME-bg));
}
}
diff --git a/packages/frontend/src/components/MkMediaVideo.vue b/packages/frontend/src/components/MkMediaVideo.vue
index 02f8203fe5ff..bc411547d87d 100644
--- a/packages/frontend/src/components/MkMediaVideo.vue
+++ b/packages/frontend/src/components/MkMediaVideo.vue
@@ -537,18 +537,13 @@ onDeactivated(() => {
var(--c) 6px 16px
);
- // NOTE: iOS/iPadOS環境でクラッシュする https://github.com/taiyme/misskey/issues/293
- html[data-browser-engine=webkit] & {
- background-image: unset !important;
- }
-
&,
html[data-color-scheme=light] & {
- --c: color(from color-mix(in srgb, var(--MI_THEME-bg), black 15%) srgb r g b / 0.25);
+ --c: color-mix(in srgb, #000000 3.75%, var(--MI_THEME-bg));
}
html[data-color-scheme=dark] & {
- --c: color(from color-mix(in srgb, var(--MI_THEME-bg), white 15%) srgb r g b / 0.5);
+ --c: color-mix(in srgb, #ffffff 7.5%, var(--MI_THEME-bg));
}
}
diff --git a/packages/frontend/src/components/MkMention.vue b/packages/frontend/src/components/MkMention.vue
index 77cb4ac40790..2979dfda5459 100644
--- a/packages/frontend/src/components/MkMention.vue
+++ b/packages/frontend/src/components/MkMention.vue
@@ -72,11 +72,11 @@ const avatarUrlRef = computed(() => {
padding: 4px 8px 4px 4px;
border-radius: 999px;
color: var(--MI_THEME-mention);
- background: color(from var(--MI_THEME-mention) srgb r g b / 0.1);
+ background: rgb(from var(--MI_THEME-mention) r g b / 0.1);
&.isMe {
color: var(--MI_THEME-mentionMe);
- background: color(from var(--MI_THEME-mentionMe) srgb r g b / 0.1);
+ background: rgb(from var(--MI_THEME-mentionMe) r g b / 0.1);
}
}
diff --git a/packages/frontend/src/components/MkNote.vue b/packages/frontend/src/components/MkNote.vue
index d665552527ee..38fcafbbd470 100644
--- a/packages/frontend/src/components/MkNote.vue
+++ b/packages/frontend/src/components/MkNote.vue
@@ -831,7 +831,7 @@ function emitUpdReaction(emoji: string, delta: number) {
left: 0;
width: 100%;
height: 64px; // .contentCollapsed
- background: linear-gradient(0deg, var(--MI_THEME-panel), color(from var(--MI_THEME-panel) srgb r g b / 0));
+ background: linear-gradient(0deg, var(--MI_THEME-panel), rgb(from var(--MI_THEME-panel) r g b / 0));
}
.showLessFade {
diff --git a/packages/frontend/src/components/MkOmit.vue b/packages/frontend/src/components/MkOmit.vue
index 8a0be5927f8d..c751dab3dbaf 100644
--- a/packages/frontend/src/components/MkOmit.vue
+++ b/packages/frontend/src/components/MkOmit.vue
@@ -87,7 +87,7 @@ onUnmounted(() => {
left: 0;
width: 100%;
height: 64px; // .omitted
- background: linear-gradient(0deg, var(--MI_THEME-panel), color(from var(--MI_THEME-panel) srgb r g b / 0));
+ background: linear-gradient(0deg, var(--MI_THEME-panel), rgb(from var(--MI_THEME-panel) r g b / 0));
}
.showLessFade {
diff --git a/packages/frontend/src/components/MkPostForm.vue b/packages/frontend/src/components/MkPostForm.vue
index b000a1010130..1ba671ebe36a 100644
--- a/packages/frontend/src/components/MkPostForm.vue
+++ b/packages/frontend/src/components/MkPostForm.vue
@@ -1147,13 +1147,13 @@ defineExpose({
&:not(:disabled):hover {
> .submitInner {
- background: linear-gradient(90deg, hsl(from var(--MI_THEME-accent) h s calc(l + 5)), hsl(from var(--MI_THEME-accent) h s calc(l + 5)));
+ background: linear-gradient(90deg, hsl(from var(--MI_THEME-accent) h s calc(l + (var(--TMS-hsl-base-l) * 5))), hsl(from var(--MI_THEME-accent) h s calc(l + (var(--TMS-hsl-base-l) * 5))));
}
}
&:not(:disabled):active {
> .submitInner {
- background: linear-gradient(90deg, hsl(from var(--MI_THEME-accent) h s calc(l + 5)), hsl(from var(--MI_THEME-accent) h s calc(l + 5)));
+ background: linear-gradient(90deg, hsl(from var(--MI_THEME-accent) h s calc(l + (var(--TMS-hsl-base-l) * 5))), hsl(from var(--MI_THEME-accent) h s calc(l + (var(--TMS-hsl-base-l) * 5))));
}
}
}
@@ -1227,11 +1227,6 @@ defineExpose({
var(--c) 6px 16px
);
- // NOTE: iOS/iPadOS環境でクラッシュする https://github.com/taiyme/misskey/issues/293
- html[data-browser-engine=webkit] & {
- background-image: unset !important;
- }
-
&,
html[data-color-scheme=light] & {
--c: rgb(0 0 0 / 0.02);
diff --git a/packages/frontend/src/components/MkSubNoteContent.vue b/packages/frontend/src/components/MkSubNoteContent.vue
index 687c690ee6bb..9932e08c91c8 100644
--- a/packages/frontend/src/components/MkSubNoteContent.vue
+++ b/packages/frontend/src/components/MkSubNoteContent.vue
@@ -67,7 +67,7 @@ const collapsed = ref(isLong);
left: 0;
width: 100%;
height: 64px; // .collapsed
- background: linear-gradient(0deg, var(--MI_THEME-panel), color(from var(--MI_THEME-panel) srgb r g b / 0));
+ background: linear-gradient(0deg, var(--MI_THEME-panel), rgb(from var(--MI_THEME-panel) r g b / 0));
}
.showLessFade {
diff --git a/packages/frontend/src/components/MkUserCardMini.vue b/packages/frontend/src/components/MkUserCardMini.vue
index 404cbae275eb..e20bc376ec02 100644
--- a/packages/frontend/src/components/MkUserCardMini.vue
+++ b/packages/frontend/src/components/MkUserCardMini.vue
@@ -77,31 +77,26 @@ $bodyInfoHieght: 16px;
transparent 0px 10px,
var(--c) 6px 16px
);
-
- // NOTE: iOS/iPadOS環境でクラッシュする https://github.com/taiyme/misskey/issues/293
- html[data-browser-engine=webkit] & {
- background-image: unset !important;
- }
}
&,
html[data-color-scheme=light] & {
&.isSilenced {
- --c: color(from color-mix(in srgb, var(--MI_THEME-panel), blue 50%) srgb r g b / 0.25);
+ --c: color-mix(in srgb, #0000ff 12.5%, var(--MI_THEME-panel));
}
&.isSuspended {
- --c: color(from color-mix(in srgb, var(--MI_THEME-panel), black 15%) srgb r g b / 0.25);
+ --c: color-mix(in srgb, #000000 3.75%, var(--MI_THEME-panel));
}
}
html[data-color-scheme=dark] & {
&.isSilenced {
- --c: color(from color-mix(in srgb, var(--MI_THEME-panel), blue 50%) srgb r g b / 0.5);
+ --c: color-mix(in srgb, #0000ff 25%, var(--MI_THEME-panel));
}
&.isSuspended {
- --c: color(from color-mix(in srgb, var(--MI_THEME-panel), white 15%) srgb r g b / 0.5);
+ --c: color-mix(in srgb, #ffffff 7.5%, var(--MI_THEME-panel));
}
}
}
diff --git a/packages/frontend/src/components/TmsInstanceTicker.vue b/packages/frontend/src/components/TmsInstanceTicker.vue
index 32ca01f594f6..41ade1fc464c 100644
--- a/packages/frontend/src/components/TmsInstanceTicker.vue
+++ b/packages/frontend/src/components/TmsInstanceTicker.vue
@@ -134,8 +134,8 @@ const tickerStateRef = computed(() => getTickerState(props));
background: linear-gradient(
var(--ticker-bg-deg),
rgba(0, 0, 0, 0) calc(100% - 3em),
- color(from var(--ticker-bg, #777) srgb r g b / 0.35) calc(100% - 3em),
- color(from var(--ticker-bg, #777) srgb r g b / 0.35) 100%
+ rgb(from var(--ticker-bg, #777) r g b / 0.35) calc(100% - 3em),
+ rgb(from var(--ticker-bg, #777) r g b / 0.35) 100%
);
color: #fff;
text-shadow: /* 0.866 ≈ sin(60deg) */
diff --git a/packages/frontend/src/components/global/MkFooterSpacer.vue b/packages/frontend/src/components/global/MkFooterSpacer.vue
index cd663621fa9c..bc3ad2513b1b 100644
--- a/packages/frontend/src/components/global/MkFooterSpacer.vue
+++ b/packages/frontend/src/components/global/MkFooterSpacer.vue
@@ -20,11 +20,6 @@ SPDX-License-Identifier: AGPL-3.0-only
var(--c) 6px 16px
);
- // NOTE: iOS/iPadOS環境でクラッシュする https://github.com/taiyme/misskey/issues/293
- html[data-browser-engine=webkit] & {
- background-image: unset !important;
- }
-
&,
html[data-color-scheme=light] & {
--c: rgb(0 0 0 / 0.02);
diff --git a/packages/frontend/src/components/global/MkPageHeader.vue b/packages/frontend/src/components/global/MkPageHeader.vue
index 16b60ee6652e..bbf62f812acb 100644
--- a/packages/frontend/src/components/global/MkPageHeader.vue
+++ b/packages/frontend/src/components/global/MkPageHeader.vue
@@ -141,7 +141,7 @@ onUnmounted(() => {
backdrop-filter: var(--MI-blur, blur(15px));
border-bottom: solid 0.5px var(--MI_THEME-divider);
width: 100%;
- background: color(from var(--MI_THEME-bg) srgb r g b / 0.85);
+ background: rgb(from var(--MI_THEME-bg) r g b / 0.85);
}
.upper,
diff --git a/packages/frontend/src/pages/channel.vue b/packages/frontend/src/pages/channel.vue
index 96661517ce43..f6b21bfe5a8a 100644
--- a/packages/frontend/src/pages/channel.vue
+++ b/packages/frontend/src/pages/channel.vue
@@ -310,7 +310,7 @@ definePageMetadata(() => ({
left: 0;
width: 100%;
height: 64px;
- background: linear-gradient(0deg, var(--MI_THEME-panel), color(from var(--MI_THEME-panel) srgb r g b / 0));
+ background: linear-gradient(0deg, var(--MI_THEME-panel), rgb(from var(--MI_THEME-panel) r g b / 0));
}
.bannerStatus {
diff --git a/packages/frontend/src/pages/welcome.timeline.note.vue b/packages/frontend/src/pages/welcome.timeline.note.vue
index 8fb84fd58ff3..7af7c65084cf 100644
--- a/packages/frontend/src/pages/welcome.timeline.note.vue
+++ b/packages/frontend/src/pages/welcome.timeline.note.vue
@@ -84,7 +84,7 @@ onUpdated(() => {
left: 0;
width: 100%;
height: 64px;
- background: linear-gradient(0deg, var(--MI_THEME-panel), color(from var(--MI_THEME-panel) srgb r g b / 0));
+ background: linear-gradient(0deg, var(--MI_THEME-panel), rgb(from var(--MI_THEME-panel) r g b / 0));
}
}
diff --git a/packages/frontend/src/style.scss b/packages/frontend/src/style.scss
index 5f5116be5b46..bf42969ad258 100644
--- a/packages/frontend/src/style.scss
+++ b/packages/frontend/src/style.scss
@@ -12,6 +12,10 @@
--MI-margin: var(--MI-marginFull);
+ --TMS-hsl-base-h: 1;
+ --TMS-hsl-base-s: 1;
+ --TMS-hsl-base-l: 1;
+
// switch dynamically
--MI-minBottomSpacingMobile: calc(72px + max(12px, env(safe-area-inset-bottom, 0px)));
--MI-minBottomSpacing: var(--MI-minBottomSpacingMobile);
@@ -19,6 +23,18 @@
@media (max-width: 500px) {
--MI-margin: var(--MI-marginHalf);
}
+
+ @supports (color: hsl(from #fff calc(h + 1deg) s l)) {
+ --TMS-hsl-base-h: 1deg;
+ }
+
+ @supports (color: hsl(from #fff h calc(s + 1%) l)) {
+ --TMS-hsl-base-s: 1%;
+ }
+
+ @supports (color: hsl(from #fff h s calc(l + 1%))) {
+ --TMS-hsl-base-l: 1%;
+ }
}
::selection {
@@ -245,11 +261,11 @@ rt {
background: var(--MI_THEME-accent);
&:not(:disabled):hover {
- background: hsl(from var(--MI_THEME-accent) h s calc(l + 5));
+ background: hsl(from var(--MI_THEME-accent) h s calc(l + (var(--TMS-hsl-base-l) * 5)));
}
&:not(:disabled):active {
- background: hsl(from var(--MI_THEME-accent) h s calc(l - 5));
+ background: hsl(from var(--MI_THEME-accent) h s calc(l - (var(--TMS-hsl-base-l) * 5)));
}
}
@@ -259,11 +275,11 @@ rt {
background: linear-gradient(90deg, var(--MI_THEME-buttonGradateA), var(--MI_THEME-buttonGradateB));
&:not(:disabled):hover {
- background: linear-gradient(90deg, hsl(from var(--MI_THEME-accent) h s calc(l + 5)), hsl(from var(--MI_THEME-accent) h s calc(l + 5)));
+ background: linear-gradient(90deg, hsl(from var(--MI_THEME-accent) h s calc(l + (var(--TMS-hsl-base-l) * 5))), hsl(from var(--MI_THEME-accent) h s calc(l + (var(--TMS-hsl-base-l) * 5))));
}
&:not(:disabled):active {
- background: linear-gradient(90deg, hsl(from var(--MI_THEME-accent) h s calc(l + 5)), hsl(from var(--MI_THEME-accent) h s calc(l + 5)));
+ background: linear-gradient(90deg, hsl(from var(--MI_THEME-accent) h s calc(l + (var(--TMS-hsl-base-l) * 5))), hsl(from var(--MI_THEME-accent) h s calc(l + (var(--TMS-hsl-base-l) * 5))));
}
}
diff --git a/packages/frontend/src/ui/_common_/navbar-for-mobile.vue b/packages/frontend/src/ui/_common_/navbar-for-mobile.vue
index ea1f662549a2..53a88fff57d7 100644
--- a/packages/frontend/src/ui/_common_/navbar-for-mobile.vue
+++ b/packages/frontend/src/ui/_common_/navbar-for-mobile.vue
@@ -75,7 +75,7 @@ function more() {
diff --git a/packages/frontend/src/pages/tms/settings/index.main.vue b/packages/frontend/src/pages/tms/settings/index.main.vue
deleted file mode 100644
index 4dd0b2d70537..000000000000
--- a/packages/frontend/src/pages/tms/settings/index.main.vue
+++ /dev/null
@@ -1,108 +0,0 @@
-
-
-
-
-
- {{ i18n.ts.appearance }}
-
-
- {{ i18n.ts._tms._settings._tickerPosition.label }}
-
-
-
-
-
-
-
- {{ i18n.ts._tms._settings._superMenuDisplayMode.label }}
- {{ i18n.ts._tms._settings._superMenuDisplayMode.caption }}
-
-
-
-
-
-
-
- {{ i18n.ts.operations }}
-
-
- {{ i18n.ts._tms._settings._pullToRefreshSensitivity.label }}
- {{ i18n.ts._tms._settings._pullToRefreshSensitivity.caption }}
-
-
-
-
-
- {{ i18n.ts._tms._settings._pullToRefreshAllReload.label }}
- {{ i18n.ts._tms._settings._pullToRefreshAllReload.caption }}
-
-
-
-
-
-
-
diff --git a/packages/frontend/src/pages/tms/settings/index.vue b/packages/frontend/src/pages/tms/settings/index.vue
deleted file mode 100644
index 079d77050d23..000000000000
--- a/packages/frontend/src/pages/tms/settings/index.vue
+++ /dev/null
@@ -1,62 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
{{ i18n.ts._tms.taiymeFlags }}
-
-
-
-
-
-
- {{ i18n.ts.save }}
-
-
-
-
-
-
-
-
-
diff --git a/packages/frontend/src/router/definition.ts b/packages/frontend/src/router/definition.ts
index 31e9c6491910..002b2871cc15 100644
--- a/packages/frontend/src/router/definition.ts
+++ b/packages/frontend/src/router/definition.ts
@@ -579,17 +579,21 @@ const routes: RouteDef[] = [{
}, {
path: '/tms/about',
component: page(() => import('@/pages/tms/about.vue')),
+}, {
+ path: '/tms/features',
+ component: page(() => import('@/pages/tms/features.vue')),
+ loginRequired: true,
}, {
path: '/tms/settings',
- component: page(() => import('@/pages/tms/settings/index.vue')),
+ redirect: '/tms/features',
loginRequired: true,
}, {
path: '/tms/flags',
- component: page(() => import('@/pages/tms/flags/index.vue')),
+ redirect: '/tms/features',
loginRequired: true,
}, {
path: '/settings/taiyme-services',
- redirect: '/tms/settings',
+ redirect: '/tms/features',
loginRequired: true,
}, {
name: 'index',
diff --git a/packages/frontend/src/style.scss b/packages/frontend/src/style.scss
index bf42969ad258..eece78a6cb48 100644
--- a/packages/frontend/src/style.scss
+++ b/packages/frontend/src/style.scss
@@ -383,6 +383,8 @@ rt {
border: solid 1px var(--MI_THEME-accent);
border-radius: 4px;
vertical-align: top;
+ display: inline-block;
+ line-height: 1;
}
._modified {
@@ -393,6 +395,8 @@ rt {
border: solid 1px var(--MI_THEME-warn);
border-radius: 4px;
vertical-align: top;
+ display: inline-block;
+ line-height: 1;
}
._table {
diff --git a/packages/frontend/src/ui/_common_/common.ts b/packages/frontend/src/ui/_common_/common.ts
index 1b71027bf1cd..f589fcd6f914 100644
--- a/packages/frontend/src/ui/_common_/common.ts
+++ b/packages/frontend/src/ui/_common_/common.ts
@@ -157,9 +157,9 @@ export function openInstanceMenu(ev: MouseEvent) {
to: '/tms/about',
}, {
type: 'link',
- text: i18n.ts._tms.taiymeSettings,
+ text: i18n.ts._tms.taiymeFeatures,
icon: 'ti ti-settings',
- to: '/tms/settings',
+ to: '/tms/features',
});
os.popupMenu(menuItems, ev.currentTarget ?? ev.target, {
From 98e77270b31c82792903efd843376ae7c5e20db9 Mon Sep 17 00:00:00 2001
From: taiyme <53635909+taiyme@users.noreply.github.com>
Date: Mon, 11 Nov 2024 23:11:17 +0900
Subject: [PATCH 08/11] chore(frontend): update patrons
---
packages/frontend/src/tms/contributors.ts | 1 +
1 file changed, 1 insertion(+)
diff --git a/packages/frontend/src/tms/contributors.ts b/packages/frontend/src/tms/contributors.ts
index b3e13eeaa954..58ffcf115adf 100644
--- a/packages/frontend/src/tms/contributors.ts
+++ b/packages/frontend/src/tms/contributors.ts
@@ -44,4 +44,5 @@ export const patrons = [
'Yagileo',
'nanasina',
'すい',
+ 'ポンの助',
] as const satisfies Patron[];
From dd089d32973f54addea42630dff8696c8e9f53a5 Mon Sep 17 00:00:00 2001
From: taiyme <53635909+taiyme@users.noreply.github.com>
Date: Mon, 11 Nov 2024 23:16:34 +0900
Subject: [PATCH 09/11] chore(frontend): update projectMembers
---
packages/frontend/src/tms/contributors.ts | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/packages/frontend/src/tms/contributors.ts b/packages/frontend/src/tms/contributors.ts
index 58ffcf115adf..1e7e70ef88d4 100644
--- a/packages/frontend/src/tms/contributors.ts
+++ b/packages/frontend/src/tms/contributors.ts
@@ -22,15 +22,15 @@ export const projectMembers = [
href: 'https://github.com/cffnpwr',
iconUrl: 'https://avatars.githubusercontent.com/u/86540016?v=4',
},
-] as const satisfies Contributor[];
-
-export const contributors = [
{
name: '@souhait0614',
href: 'https://github.com/souhait0614',
iconUrl: 'https://avatars.githubusercontent.com/u/62732828?v=4',
},
-] as const satisfies Contributor[];
+] satisfies Contributor[] as Contributor[];
+
+export const contributors = [
+] satisfies Contributor[] as Contributor[];
export const patrons = [
'すえ',
@@ -45,4 +45,4 @@ export const patrons = [
'nanasina',
'すい',
'ポンの助',
-] as const satisfies Patron[];
+] satisfies Patron[] as Patron[];
From de9ad8f4f2d3e95abe51bd6ab29d50ea903704cb Mon Sep 17 00:00:00 2001
From: taiy <53635909+taiyme@users.noreply.github.com>
Date: Tue, 12 Nov 2024 00:07:53 +0900
Subject: [PATCH 10/11] =?UTF-8?q?enhance(frontend/tms):=20taiyme=E9=99=90?=
=?UTF-8?q?=E5=AE=9A=E6=A9=9F=E8=83=BD=E3=81=B8=E3=81=AE=E3=83=AA=E3=83=B3?=
=?UTF-8?q?=E3=82=AF=E3=82=92navbar=E3=81=AB=E8=BF=BD=E5=8A=A0=20(#307)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
packages/frontend/src/pages/tms/features.vue | 2 +-
packages/frontend/src/ui/_common_/common.ts | 2 +-
packages/frontend/src/ui/_common_/navbar-for-mobile.vue | 3 +++
packages/frontend/src/ui/_common_/navbar.vue | 3 +++
packages/frontend/src/ui/classic.header.vue | 3 +++
packages/frontend/src/ui/classic.sidebar.vue | 3 +++
6 files changed, 14 insertions(+), 2 deletions(-)
diff --git a/packages/frontend/src/pages/tms/features.vue b/packages/frontend/src/pages/tms/features.vue
index 4d7e7d7550bc..963772adc35e 100644
--- a/packages/frontend/src/pages/tms/features.vue
+++ b/packages/frontend/src/pages/tms/features.vue
@@ -33,6 +33,6 @@ const XFeaturesForm = defineAsyncComponent(() => import('@/pages/tms/features.fo
definePageMetadata(() => ({
title: i18n.ts._tms.taiymeFeatures,
- icon: 'ti ti-settings',
+ icon: 'ti ti-settings-plus',
}));
diff --git a/packages/frontend/src/ui/_common_/common.ts b/packages/frontend/src/ui/_common_/common.ts
index f589fcd6f914..b1a669597c34 100644
--- a/packages/frontend/src/ui/_common_/common.ts
+++ b/packages/frontend/src/ui/_common_/common.ts
@@ -158,7 +158,7 @@ export function openInstanceMenu(ev: MouseEvent) {
}, {
type: 'link',
text: i18n.ts._tms.taiymeFeatures,
- icon: 'ti ti-settings',
+ icon: 'ti ti-settings-plus',
to: '/tms/features',
});
diff --git a/packages/frontend/src/ui/_common_/navbar-for-mobile.vue b/packages/frontend/src/ui/_common_/navbar-for-mobile.vue
index 53a88fff57d7..e057b0b97c27 100644
--- a/packages/frontend/src/ui/_common_/navbar-for-mobile.vue
+++ b/packages/frontend/src/ui/_common_/navbar-for-mobile.vue
@@ -35,6 +35,9 @@ SPDX-License-Identifier: AGPL-3.0-only
{{ i18n.ts.settings }}
+
+ {{ i18n.ts._tms.taiymeFeatures }}
+