summaryrefslogtreecommitdiff
path: root/packages/frontend/src
diff options
context:
space:
mode:
Diffstat (limited to 'packages/frontend/src')
-rw-r--r--packages/frontend/src/_dev_boot_.ts2
-rw-r--r--packages/frontend/src/boot/common.ts6
-rw-r--r--packages/frontend/src/components/MkAbuseReport.vue10
-rw-r--r--packages/frontend/src/components/MkAccountMoved.vue4
-rw-r--r--packages/frontend/src/components/MkAnalogClock.vue6
-rw-r--r--packages/frontend/src/components/MkAnnouncementDialog.vue8
-rw-r--r--packages/frontend/src/components/MkAntennaEditor.vue2
-rw-r--r--packages/frontend/src/components/MkAsUi.vue4
-rw-r--r--packages/frontend/src/components/MkAutocomplete.vue6
-rw-r--r--packages/frontend/src/components/MkButton.vue22
-rw-r--r--packages/frontend/src/components/MkChannelFollowButton.vue16
-rw-r--r--packages/frontend/src/components/MkChannelPreview.vue12
-rw-r--r--packages/frontend/src/components/MkChartLegend.vue4
-rw-r--r--packages/frontend/src/components/MkClipPreview.vue6
-rw-r--r--packages/frontend/src/components/MkCode.core.vue2
-rw-r--r--packages/frontend/src/components/MkCode.vue6
-rw-r--r--packages/frontend/src/components/MkCodeEditor.vue14
-rw-r--r--packages/frontend/src/components/MkCodeInline.vue2
-rw-r--r--packages/frontend/src/components/MkColorInput.vue14
-rw-r--r--packages/frontend/src/components/MkContainer.vue12
-rw-r--r--packages/frontend/src/components/MkCropperDialog.vue2
-rw-r--r--packages/frontend/src/components/MkCustomEmojiDetailedDialog.vue6
-rw-r--r--packages/frontend/src/components/MkDateSeparatedList.vue4
-rw-r--r--packages/frontend/src/components/MkDialog.vue8
-rw-r--r--packages/frontend/src/components/MkDivider.vue2
-rw-r--r--packages/frontend/src/components/MkDonation.vue2
-rw-r--r--packages/frontend/src/components/MkDrive.file.vue8
-rw-r--r--packages/frontend/src/components/MkDrive.folder.vue12
-rw-r--r--packages/frontend/src/components/MkDrive.vue4
-rw-r--r--packages/frontend/src/components/MkDriveFileThumbnail.vue4
-rw-r--r--packages/frontend/src/components/MkEmbedCodeGenDialog.vue8
-rw-r--r--packages/frontend/src/components/MkEmojiPicker.section.vue4
-rw-r--r--packages/frontend/src/components/MkEmojiPicker.vue24
-rw-r--r--packages/frontend/src/components/MkExtensionInstaller.vue6
-rw-r--r--packages/frontend/src/components/MkFileListForAdmin.vue2
-rw-r--r--packages/frontend/src/components/MkFlashPreview.vue4
-rw-r--r--packages/frontend/src/components/MkFoldableSection.vue4
-rw-r--r--packages/frontend/src/components/MkFolder.vue24
-rw-r--r--packages/frontend/src/components/MkFollowButton.vue16
-rw-r--r--packages/frontend/src/components/MkFormDialog.file.vue2
-rw-r--r--packages/frontend/src/components/MkFormFooter.vue2
-rw-r--r--packages/frontend/src/components/MkFukidashi.vue4
-rw-r--r--packages/frontend/src/components/MkGalleryPostPreview.vue2
-rw-r--r--packages/frontend/src/components/MkGoogle.vue4
-rw-r--r--packages/frontend/src/components/MkInfo.vue8
-rw-r--r--packages/frontend/src/components/MkInput.vue14
-rw-r--r--packages/frontend/src/components/MkInstanceCardMini.vue6
-rw-r--r--packages/frontend/src/components/MkInstanceStats.vue4
-rw-r--r--packages/frontend/src/components/MkInviteCode.vue4
-rw-r--r--packages/frontend/src/components/MkLaunchPad.vue6
-rw-r--r--packages/frontend/src/components/MkMediaAudio.vue8
-rw-r--r--packages/frontend/src/components/MkMediaImage.vue20
-rw-r--r--packages/frontend/src/components/MkMediaList.vue8
-rw-r--r--packages/frontend/src/components/MkMediaRange.vue4
-rw-r--r--packages/frontend/src/components/MkMediaVideo.vue18
-rw-r--r--packages/frontend/src/components/MkMention.vue8
-rw-r--r--packages/frontend/src/components/MkMenu.vue32
-rw-r--r--packages/frontend/src/components/MkMiniChart.vue2
-rw-r--r--packages/frontend/src/components/MkModalWindow.vue20
-rw-r--r--packages/frontend/src/components/MkNote.vue28
-rw-r--r--packages/frontend/src/components/MkNoteDetailed.vue34
-rw-r--r--packages/frontend/src/components/MkNoteHeader.vue2
-rw-r--r--packages/frontend/src/components/MkNoteSub.vue4
-rw-r--r--packages/frontend/src/components/MkNotes.vue6
-rw-r--r--packages/frontend/src/components/MkNotification.vue10
-rw-r--r--packages/frontend/src/components/MkNotifications.vue2
-rw-r--r--packages/frontend/src/components/MkNumberDiff.vue4
-rw-r--r--packages/frontend/src/components/MkObjectView.value.vue8
-rw-r--r--packages/frontend/src/components/MkOmit.vue6
-rw-r--r--packages/frontend/src/components/MkPagePreview.vue6
-rw-r--r--packages/frontend/src/components/MkPageWindow.vue2
-rw-r--r--packages/frontend/src/components/MkPoll.vue14
-rw-r--r--packages/frontend/src/components/MkPostForm.vue30
-rw-r--r--packages/frontend/src/components/MkPostFormAttaches.vue2
-rw-r--r--packages/frontend/src/components/MkRadio.vue20
-rw-r--r--packages/frontend/src/components/MkRadios.vue2
-rw-r--r--packages/frontend/src/components/MkRange.vue14
-rw-r--r--packages/frontend/src/components/MkReactionEffect.vue2
-rw-r--r--packages/frontend/src/components/MkReactionsViewer.details.vue2
-rw-r--r--packages/frontend/src/components/MkReactionsViewer.reaction.vue10
-rw-r--r--packages/frontend/src/components/MkRemoteCaution.vue6
-rw-r--r--packages/frontend/src/components/MkRetentionLineChart.vue2
-rw-r--r--packages/frontend/src/components/MkRippleEffect.vue4
-rw-r--r--packages/frontend/src/components/MkRolePreview.vue8
-rw-r--r--packages/frontend/src/components/MkSelect.vue14
-rw-r--r--packages/frontend/src/components/MkSignin.input.vue10
-rw-r--r--packages/frontend/src/components/MkSignin.passkey.vue4
-rw-r--r--packages/frontend/src/components/MkSignin.password.vue6
-rw-r--r--packages/frontend/src/components/MkSignin.totp.vue4
-rw-r--r--packages/frontend/src/components/MkSignin.vue2
-rw-r--r--packages/frontend/src/components/MkSigninDialog.vue4
-rw-r--r--packages/frontend/src/components/MkSignupDialog.form.vue44
-rw-r--r--packages/frontend/src/components/MkSignupDialog.rules.vue14
-rw-r--r--packages/frontend/src/components/MkSourceCodeAvailablePopup.vue2
-rw-r--r--packages/frontend/src/components/MkSubNoteContent.vue12
-rw-r--r--packages/frontend/src/components/MkSuperMenu.vue16
-rw-r--r--packages/frontend/src/components/MkSwitch.button.vue12
-rw-r--r--packages/frontend/src/components/MkSwitch.vue8
-rw-r--r--packages/frontend/src/components/MkSystemWebhookEditor.vue6
-rw-r--r--packages/frontend/src/components/MkTab.vue8
-rw-r--r--packages/frontend/src/components/MkTagCloud.vue2
-rw-r--r--packages/frontend/src/components/MkTextarea.vue12
-rw-r--r--packages/frontend/src/components/MkTokenGenerateWindow.vue6
-rw-r--r--packages/frontend/src/components/MkTooltip.vue2
-rw-r--r--packages/frontend/src/components/MkTutorialDialog.Note.vue8
-rw-r--r--packages/frontend/src/components/MkTutorialDialog.PostNote.vue10
-rw-r--r--packages/frontend/src/components/MkTutorialDialog.Sensitive.vue12
-rw-r--r--packages/frontend/src/components/MkTutorialDialog.Timeline.vue10
-rw-r--r--packages/frontend/src/components/MkTutorialDialog.vue8
-rw-r--r--packages/frontend/src/components/MkUpdated.vue2
-rw-r--r--packages/frontend/src/components/MkUrlPreview.vue6
-rw-r--r--packages/frontend/src/components/MkUserAnnouncementEditDialog.vue8
-rw-r--r--packages/frontend/src/components/MkUserCardMini.vue4
-rw-r--r--packages/frontend/src/components/MkUserInfo.vue12
-rw-r--r--packages/frontend/src/components/MkUserOnlineIndicator.vue2
-rw-r--r--packages/frontend/src/components/MkUserPopup.vue10
-rw-r--r--packages/frontend/src/components/MkUserSelectDialog.vue4
-rw-r--r--packages/frontend/src/components/MkUserSetupDialog.User.vue6
-rw-r--r--packages/frontend/src/components/MkUserSetupDialog.vue10
-rw-r--r--packages/frontend/src/components/MkVisibilityPicker.vue2
-rw-r--r--packages/frontend/src/components/MkVisitorDashboard.ActiveUsersChart.vue2
-rw-r--r--packages/frontend/src/components/MkVisitorDashboard.vue8
-rw-r--r--packages/frontend/src/components/MkWaitingDialog.vue4
-rw-r--r--packages/frontend/src/components/MkWindow.vue10
-rw-r--r--packages/frontend/src/components/form/link.vue10
-rw-r--r--packages/frontend/src/components/form/section.vue6
-rw-r--r--packages/frontend/src/components/form/slot.vue2
-rw-r--r--packages/frontend/src/components/global/MkAd.vue4
-rw-r--r--packages/frontend/src/components/global/MkLoading.vue2
-rw-r--r--packages/frontend/src/components/global/MkMfm.ts10
-rw-r--r--packages/frontend/src/components/global/MkPageHeader.tabs.vue2
-rw-r--r--packages/frontend/src/components/global/MkPageHeader.vue6
-rw-r--r--packages/frontend/src/components/global/MkTime.vue4
-rw-r--r--packages/frontend/src/components/page/page.dynamic.vue2
-rw-r--r--packages/frontend/src/components/page/page.image.vue2
-rw-r--r--packages/frontend/src/components/page/page.note.vue2
-rw-r--r--packages/frontend/src/directives/adaptive-bg.ts2
-rw-r--r--packages/frontend/src/directives/adaptive-border.ts2
-rw-r--r--packages/frontend/src/directives/panel.ts6
-rw-r--r--packages/frontend/src/pages/about-misskey.vue10
-rw-r--r--packages/frontend/src/pages/about.overview.vue6
-rw-r--r--packages/frontend/src/pages/admin-user.vue20
-rw-r--r--packages/frontend/src/pages/admin/RolesEditorFormula.vue4
-rw-r--r--packages/frontend/src/pages/admin/_header_.vue6
-rw-r--r--packages/frontend/src/pages/admin/abuse-report/notification-recipient.editor.vue4
-rw-r--r--packages/frontend/src/pages/admin/abuse-report/notification-recipient.item.vue4
-rw-r--r--packages/frontend/src/pages/admin/announcements.vue12
-rw-r--r--packages/frontend/src/pages/admin/index.vue2
-rw-r--r--packages/frontend/src/pages/admin/modlog.ModLog.vue6
-rw-r--r--packages/frontend/src/pages/admin/overview.ap-requests.vue2
-rw-r--r--packages/frontend/src/pages/admin/overview.federation.vue4
-rw-r--r--packages/frontend/src/pages/admin/overview.pie.vue2
-rw-r--r--packages/frontend/src/pages/admin/overview.queue.vue2
-rw-r--r--packages/frontend/src/pages/admin/overview.stats.vue4
-rw-r--r--packages/frontend/src/pages/admin/queue.chart.vue2
-rw-r--r--packages/frontend/src/pages/admin/relays.vue4
-rw-r--r--packages/frontend/src/pages/admin/roles.role.vue2
-rw-r--r--packages/frontend/src/pages/admin/server-rules.vue10
-rw-r--r--packages/frontend/src/pages/admin/settings.vue2
-rw-r--r--packages/frontend/src/pages/admin/system-webhook.item.vue6
-rw-r--r--packages/frontend/src/pages/announcement.vue6
-rw-r--r--packages/frontend/src/pages/announcements.vue6
-rw-r--r--packages/frontend/src/pages/antenna-timeline.vue2
-rw-r--r--packages/frontend/src/pages/channel-editor.vue2
-rw-r--r--packages/frontend/src/pages/channel.vue8
-rw-r--r--packages/frontend/src/pages/clip.vue2
-rw-r--r--packages/frontend/src/pages/custom-emojis-manager.vue8
-rw-r--r--packages/frontend/src/pages/drive.file.info.vue16
-rw-r--r--packages/frontend/src/pages/drop-and-fusion.game.vue2
-rw-r--r--packages/frontend/src/pages/emoji-edit-dialog.vue4
-rw-r--r--packages/frontend/src/pages/emojis.emoji.vue4
-rw-r--r--packages/frontend/src/pages/favorites.vue2
-rw-r--r--packages/frontend/src/pages/flash/flash-edit.vue4
-rw-r--r--packages/frontend/src/pages/flash/flash.vue4
-rw-r--r--packages/frontend/src/pages/gallery/edit.vue4
-rw-r--r--packages/frontend/src/pages/gallery/post.vue14
-rw-r--r--packages/frontend/src/pages/games.vue2
-rw-r--r--packages/frontend/src/pages/install-extensions.vue8
-rw-r--r--packages/frontend/src/pages/my-antennas/index.vue4
-rw-r--r--packages/frontend/src/pages/my-lists/index.vue4
-rw-r--r--packages/frontend/src/pages/my-lists/list.vue4
-rw-r--r--packages/frontend/src/pages/note.vue2
-rw-r--r--packages/frontend/src/pages/page-editor/els/page-editor.el.text.vue2
-rw-r--r--packages/frontend/src/pages/page-editor/page-editor.container.vue6
-rw-r--r--packages/frontend/src/pages/page.vue18
-rw-r--r--packages/frontend/src/pages/reversi/game.board.vue16
-rw-r--r--packages/frontend/src/pages/reversi/game.setting.vue12
-rw-r--r--packages/frontend/src/pages/reversi/index.vue18
-rw-r--r--packages/frontend/src/pages/scratchpad.vue4
-rw-r--r--packages/frontend/src/pages/search.note.vue4
-rw-r--r--packages/frontend/src/pages/settings/2fa.vue2
-rw-r--r--packages/frontend/src/pages/settings/avatar-decoration.decoration.vue6
-rw-r--r--packages/frontend/src/pages/settings/avatar-decoration.dialog.vue2
-rw-r--r--packages/frontend/src/pages/settings/drive-cleaner.vue2
-rw-r--r--packages/frontend/src/pages/settings/email.vue2
-rw-r--r--packages/frontend/src/pages/settings/emoji-picker.vue4
-rw-r--r--packages/frontend/src/pages/settings/mute-block.vue2
-rw-r--r--packages/frontend/src/pages/settings/navbar.vue2
-rw-r--r--packages/frontend/src/pages/settings/profile.vue2
-rw-r--r--packages/frontend/src/pages/settings/security.vue6
-rw-r--r--packages/frontend/src/pages/settings/sounds.sound.vue4
-rw-r--r--packages/frontend/src/pages/settings/theme.vue12
-rw-r--r--packages/frontend/src/pages/settings/webhook.edit.vue2
-rw-r--r--packages/frontend/src/pages/settings/webhook.vue4
-rw-r--r--packages/frontend/src/pages/signup-complete.vue4
-rw-r--r--packages/frontend/src/pages/tag.vue4
-rw-r--r--packages/frontend/src/pages/theme-editor.vue2
-rw-r--r--packages/frontend/src/pages/timeline.vue2
-rw-r--r--packages/frontend/src/pages/user-list-timeline.vue2
-rw-r--r--packages/frontend/src/pages/user/clips.vue2
-rw-r--r--packages/frontend/src/pages/user/home.vue28
-rw-r--r--packages/frontend/src/pages/user/index.timeline.vue4
-rw-r--r--packages/frontend/src/pages/user/lists.vue4
-rw-r--r--packages/frontend/src/pages/user/raw.vue12
-rw-r--r--packages/frontend/src/pages/user/reactions.vue2
-rw-r--r--packages/frontend/src/pages/welcome.entrance.a.vue8
-rw-r--r--packages/frontend/src/pages/welcome.setup.vue4
-rw-r--r--packages/frontend/src/pages/welcome.timeline.note.vue4
-rw-r--r--packages/frontend/src/scripts/init-chart.ts2
-rw-r--r--packages/frontend/src/scripts/theme.ts2
-rw-r--r--packages/frontend/src/style.scss88
-rw-r--r--packages/frontend/src/ui/_common_/announcements.vue12
-rw-r--r--packages/frontend/src/ui/_common_/common.vue4
-rw-r--r--packages/frontend/src/ui/_common_/navbar-for-mobile.vue20
-rw-r--r--packages/frontend/src/ui/_common_/navbar.vue54
-rw-r--r--packages/frontend/src/ui/_common_/statusbars.vue4
-rw-r--r--packages/frontend/src/ui/_common_/upload.vue4
-rw-r--r--packages/frontend/src/ui/classic.header.vue10
-rw-r--r--packages/frontend/src/ui/classic.sidebar.vue10
-rw-r--r--packages/frontend/src/ui/classic.vue14
-rw-r--r--packages/frontend/src/ui/deck.vue26
-rw-r--r--packages/frontend/src/ui/deck/column.vue32
-rw-r--r--packages/frontend/src/ui/deck/widgets-column.vue2
-rw-r--r--packages/frontend/src/ui/universal.vue36
-rw-r--r--packages/frontend/src/ui/visitor.vue12
-rw-r--r--packages/frontend/src/ui/zen.vue4
-rw-r--r--packages/frontend/src/widgets/WidgetAiscript.vue6
-rw-r--r--packages/frontend/src/widgets/WidgetCalendar.vue2
-rw-r--r--packages/frontend/src/widgets/WidgetFederation.vue4
-rw-r--r--packages/frontend/src/widgets/WidgetJobQueue.vue8
-rw-r--r--packages/frontend/src/widgets/WidgetMemo.vue4
-rw-r--r--packages/frontend/src/widgets/WidgetOnlineUsers.vue2
-rw-r--r--packages/frontend/src/widgets/WidgetRss.vue2
-rw-r--r--packages/frontend/src/widgets/WidgetRssTicker.vue4
-rw-r--r--packages/frontend/src/widgets/WidgetTrends.vue4
245 files changed, 950 insertions, 956 deletions
diff --git a/packages/frontend/src/_dev_boot_.ts b/packages/frontend/src/_dev_boot_.ts
index 1601f247d7..f312765dcf 100644
--- a/packages/frontend/src/_dev_boot_.ts
+++ b/packages/frontend/src/_dev_boot_.ts
@@ -43,7 +43,7 @@ async function main() {
const theme = localStorage.getItem('theme');
if (theme) {
for (const [k, v] of Object.entries(JSON.parse(theme))) {
- document.documentElement.style.setProperty(`--${k}`, v.toString());
+ document.documentElement.style.setProperty(`--MI_THEME-${k}`, v.toString());
// HTMLの theme-color 適用
if (k === 'htmlThemeColor') {
diff --git a/packages/frontend/src/boot/common.ts b/packages/frontend/src/boot/common.ts
index af05f657c8..52f8fb49e5 100644
--- a/packages/frontend/src/boot/common.ts
+++ b/packages/frontend/src/boot/common.ts
@@ -182,12 +182,6 @@ export async function common(createVue: () => App<Element>) {
if (instance.defaultLightTheme != null) ColdDeviceStorage.set('lightTheme', JSON.parse(instance.defaultLightTheme));
if (instance.defaultDarkTheme != null) ColdDeviceStorage.set('darkTheme', JSON.parse(instance.defaultDarkTheme));
defaultStore.set('themeInitial', false);
- } else {
- if (defaultStore.state.darkMode) {
- applyTheme(darkTheme.value);
- } else {
- applyTheme(lightTheme.value);
- }
}
});
diff --git a/packages/frontend/src/components/MkAbuseReport.vue b/packages/frontend/src/components/MkAbuseReport.vue
index 0278cb30f0..b9413270ae 100644
--- a/packages/frontend/src/components/MkAbuseReport.vue
+++ b/packages/frontend/src/components/MkAbuseReport.vue
@@ -6,10 +6,10 @@ SPDX-License-Identifier: AGPL-3.0-only
<template>
<MkFolder>
<template #icon>
- <i v-if="report.resolved && report.resolvedAs === 'accept'" class="ti ti-check" style="color: var(--success)"></i>
- <i v-else-if="report.resolved && report.resolvedAs === 'reject'" class="ti ti-x" style="color: var(--error)"></i>
+ <i v-if="report.resolved && report.resolvedAs === 'accept'" class="ti ti-check" style="color: var(--MI_THEME-success)"></i>
+ <i v-else-if="report.resolved && report.resolvedAs === 'reject'" class="ti ti-x" style="color: var(--MI_THEME-error)"></i>
<i v-else-if="report.resolved" class="ti ti-slash"></i>
- <i v-else class="ti ti-exclamation-circle" style="color: var(--warn)"></i>
+ <i v-else class="ti ti-exclamation-circle" style="color: var(--MI_THEME-warn)"></i>
</template>
<template #label><MkAcct :user="report.targetUser"/> (by <MkAcct :user="report.reporter"/>)</template>
<template #caption>{{ report.comment }}</template>
@@ -17,8 +17,8 @@ SPDX-License-Identifier: AGPL-3.0-only
<template #footer>
<div class="_buttons">
<template v-if="!report.resolved">
- <MkButton @click="resolve('accept')"><i class="ti ti-check" style="color: var(--success)"></i> {{ i18n.ts._abuseUserReport.resolve }} ({{ i18n.ts._abuseUserReport.accept }})</MkButton>
- <MkButton @click="resolve('reject')"><i class="ti ti-x" style="color: var(--error)"></i> {{ i18n.ts._abuseUserReport.resolve }} ({{ i18n.ts._abuseUserReport.reject }})</MkButton>
+ <MkButton @click="resolve('accept')"><i class="ti ti-check" style="color: var(--MI_THEME-success)"></i> {{ i18n.ts._abuseUserReport.resolve }} ({{ i18n.ts._abuseUserReport.accept }})</MkButton>
+ <MkButton @click="resolve('reject')"><i class="ti ti-x" style="color: var(--MI_THEME-error)"></i> {{ i18n.ts._abuseUserReport.resolve }} ({{ i18n.ts._abuseUserReport.reject }})</MkButton>
<MkButton @click="resolve(null)"><i class="ti ti-slash"></i> {{ i18n.ts._abuseUserReport.resolve }} ({{ i18n.ts.other }})</MkButton>
</template>
<template v-if="report.targetUser.host != null">
diff --git a/packages/frontend/src/components/MkAccountMoved.vue b/packages/frontend/src/components/MkAccountMoved.vue
index 796524fce9..bd6f8ceb09 100644
--- a/packages/frontend/src/components/MkAccountMoved.vue
+++ b/packages/frontend/src/components/MkAccountMoved.vue
@@ -32,8 +32,8 @@ misskeyApi('users/show', { userId: props.movedTo }).then(u => user.value = u);
.root {
padding: 16px;
font-size: 90%;
- background: var(--infoWarnBg);
- color: var(--error);
+ background: var(--MI_THEME-infoWarnBg);
+ color: var(--MI_THEME-error);
border-radius: var(--radius);
}
diff --git a/packages/frontend/src/components/MkAnalogClock.vue b/packages/frontend/src/components/MkAnalogClock.vue
index 835efbd6cd..c8fa6246e0 100644
--- a/packages/frontend/src/components/MkAnalogClock.vue
+++ b/packages/frontend/src/components/MkAnalogClock.vue
@@ -193,12 +193,12 @@ tick();
function calcColors() {
const computedStyle = getComputedStyle(document.documentElement);
- const dark = tinycolor(computedStyle.getPropertyValue('--bg')).isDark();
- const accent = tinycolor(computedStyle.getPropertyValue('--accent')).toHexString();
+ const dark = tinycolor(computedStyle.getPropertyValue('--MI_THEME-bg')).isDark();
+ const accent = tinycolor(computedStyle.getPropertyValue('--MI_THEME-accent')).toHexString();
majorGraduationColor.value = dark ? 'rgba(255, 255, 255, 0.3)' : 'rgba(0, 0, 0, 0.3)';
//minorGraduationColor = dark ? 'rgba(255, 255, 255, 0.2)' : 'rgba(0, 0, 0, 0.2)';
sHandColor.value = dark ? 'rgba(255, 255, 255, 0.5)' : 'rgba(0, 0, 0, 0.3)';
- mHandColor.value = tinycolor(computedStyle.getPropertyValue('--fg')).toHexString();
+ mHandColor.value = tinycolor(computedStyle.getPropertyValue('--MI_THEME-fg')).toHexString();
hHandColor.value = accent;
nowColor.value = accent;
}
diff --git a/packages/frontend/src/components/MkAnnouncementDialog.vue b/packages/frontend/src/components/MkAnnouncementDialog.vue
index f27694658e..488492701e 100644
--- a/packages/frontend/src/components/MkAnnouncementDialog.vue
+++ b/packages/frontend/src/components/MkAnnouncementDialog.vue
@@ -9,9 +9,9 @@ SPDX-License-Identifier: AGPL-3.0-only
<div :class="$style.header">
<span :class="$style.icon">
<i v-if="announcement.icon === 'info'" class="ti ti-info-circle"></i>
- <i v-else-if="announcement.icon === 'warning'" class="ti ti-alert-triangle" style="color: var(--warn);"></i>
- <i v-else-if="announcement.icon === 'error'" class="ti ti-circle-x" style="color: var(--error);"></i>
- <i v-else-if="announcement.icon === 'success'" class="ti ti-check" style="color: var(--success);"></i>
+ <i v-else-if="announcement.icon === 'warning'" class="ti ti-alert-triangle" style="color: var(--MI_THEME-warn);"></i>
+ <i v-else-if="announcement.icon === 'error'" class="ti ti-circle-x" style="color: var(--MI_THEME-error);"></i>
+ <i v-else-if="announcement.icon === 'success'" class="ti ti-check" style="color: var(--MI_THEME-success);"></i>
</span>
<span :class="$style.title">{{ announcement.title }}</span>
</div>
@@ -83,7 +83,7 @@ onMounted(() => {
min-width: 320px;
max-width: 480px;
box-sizing: border-box;
- background: var(--panel);
+ background: var(--MI_THEME-panel);
border-radius: var(--radius);
}
diff --git a/packages/frontend/src/components/MkAntennaEditor.vue b/packages/frontend/src/components/MkAntennaEditor.vue
index cb7ee3d6ca..2386ba6fa7 100644
--- a/packages/frontend/src/components/MkAntennaEditor.vue
+++ b/packages/frontend/src/components/MkAntennaEditor.vue
@@ -170,6 +170,6 @@ function addUser() {
.actions {
margin-top: 16px;
padding: 24px 0;
- border-top: solid 0.5px var(--divider);
+ border-top: solid 0.5px var(--MI_THEME-divider);
}
</style>
diff --git a/packages/frontend/src/components/MkAsUi.vue b/packages/frontend/src/components/MkAsUi.vue
index b50a7fea5c..e52ab5ccad 100644
--- a/packages/frontend/src/components/MkAsUi.vue
+++ b/packages/frontend/src/components/MkAsUi.vue
@@ -106,7 +106,7 @@ const containerStyle = computed(() => {
const border = isBordered ? {
borderWidth: c.borderWidth ?? '1px',
- borderColor: c.borderColor ?? 'var(--divider)',
+ borderColor: c.borderColor ?? 'var(--MI_THEME-divider)',
borderStyle: c.borderStyle ?? 'solid',
} : undefined;
@@ -165,7 +165,7 @@ function openPostForm() {
}
.postForm {
- background: var(--bg);
+ background: var(--MI_THEME-bg);
border-radius: 8px;
}
</style>
diff --git a/packages/frontend/src/components/MkAutocomplete.vue b/packages/frontend/src/components/MkAutocomplete.vue
index f547991369..0ea4566d4e 100644
--- a/packages/frontend/src/components/MkAutocomplete.vue
+++ b/packages/frontend/src/components/MkAutocomplete.vue
@@ -407,16 +407,16 @@ onBeforeUnmount(() => {
text-overflow: ellipsis;
&:hover {
- background: var(--X3);
+ background: var(--MI_THEME-X3);
}
&[data-selected='true'] {
- background: var(--accent);
+ background: var(--MI_THEME-accent);
color: #fff !important;
}
&:active {
- background: var(--accentDarken);
+ background: var(--MI_THEME-accentDarken);
color: #fff !important;
}
}
diff --git a/packages/frontend/src/components/MkButton.vue b/packages/frontend/src/components/MkButton.vue
index 1156b3f2b8..311facb4aa 100644
--- a/packages/frontend/src/components/MkButton.vue
+++ b/packages/frontend/src/components/MkButton.vue
@@ -129,7 +129,7 @@ function onMousedown(evt: MouseEvent): void {
font-size: 95%;
box-shadow: none;
text-decoration: none;
- background: var(--buttonBg);
+ background: var(--MI_THEME-buttonBg);
border-radius: 5px;
overflow: clip;
box-sizing: border-box;
@@ -140,11 +140,11 @@ function onMousedown(evt: MouseEvent): void {
}
&:not(:disabled):hover {
- background: var(--buttonHoverBg);
+ background: var(--MI_THEME-buttonHoverBg);
}
&:not(:disabled):active {
- background: var(--buttonHoverBg);
+ background: var(--MI_THEME-buttonHoverBg);
}
&.small {
@@ -167,15 +167,15 @@ function onMousedown(evt: MouseEvent): void {
&.primary {
font-weight: bold;
- color: var(--fgOnAccent) !important;
- background: var(--accent);
+ color: var(--MI_THEME-fgOnAccent) !important;
+ background: var(--MI_THEME-accent);
&:not(:disabled):hover {
- background: hsl(from var(--accent) h s calc(l + 5));
+ background: hsl(from var(--MI_THEME-accent) h s calc(l + 5));
}
&:not(:disabled):active {
- background: hsl(from var(--accent) h s calc(l + 5));
+ background: hsl(from var(--MI_THEME-accent) h s calc(l + 5));
}
}
@@ -216,15 +216,15 @@ function onMousedown(evt: MouseEvent): void {
&.gradate {
font-weight: bold;
- color: var(--fgOnAccent) !important;
- background: linear-gradient(90deg, var(--buttonGradateA), var(--buttonGradateB));
+ color: var(--MI_THEME-fgOnAccent) !important;
+ background: linear-gradient(90deg, var(--MI_THEME-buttonGradateA), var(--MI_THEME-buttonGradateB));
&:not(:disabled):hover {
- background: linear-gradient(90deg, hsl(from var(--accent) h s calc(l + 5)), hsl(from var(--accent) h s calc(l + 5)));
+ 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 {
- background: linear-gradient(90deg, hsl(from var(--accent) h s calc(l + 5)), hsl(from var(--accent) h s calc(l + 5)));
+ 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)));
}
}
diff --git a/packages/frontend/src/components/MkChannelFollowButton.vue b/packages/frontend/src/components/MkChannelFollowButton.vue
index 35dc3ad4bf..d4e4f6179a 100644
--- a/packages/frontend/src/components/MkChannelFollowButton.vue
+++ b/packages/frontend/src/components/MkChannelFollowButton.vue
@@ -68,9 +68,9 @@ async function onClick() {
position: relative;
display: inline-block;
font-weight: bold;
- color: var(--accent);
+ color: var(--MI_THEME-accent);
background: transparent;
- border: solid 1px var(--accent);
+ border: solid 1px var(--MI_THEME-accent);
padding: 0;
height: 31px;
font-size: 16px;
@@ -99,17 +99,17 @@ async function onClick() {
}
&.active {
- color: var(--fgOnAccent);
- background: var(--accent);
+ color: var(--MI_THEME-fgOnAccent);
+ background: var(--MI_THEME-accent);
&:hover {
- background: var(--accentLighten);
- border-color: var(--accentLighten);
+ background: var(--MI_THEME-accentLighten);
+ border-color: var(--MI_THEME-accentLighten);
}
&:active {
- background: var(--accentDarken);
- border-color: var(--accentDarken);
+ background: var(--MI_THEME-accentDarken);
+ border-color: var(--MI_THEME-accentDarken);
}
}
diff --git a/packages/frontend/src/components/MkChannelPreview.vue b/packages/frontend/src/components/MkChannelPreview.vue
index 3c0874a1eb..99580df5e2 100644
--- a/packages/frontend/src/components/MkChannelPreview.vue
+++ b/packages/frontend/src/components/MkChannelPreview.vue
@@ -100,7 +100,7 @@ const bannerStyle = computed(() => {
height: 100%;
border-radius: inherit;
pointer-events: none;
- box-shadow: inset 0 0 0 2px var(--focus);
+ box-shadow: inset 0 0 0 2px var(--MI_THEME-focus);
}
}
@@ -117,7 +117,7 @@ const bannerStyle = computed(() => {
left: 0;
width: 100%;
height: 64px;
- background: linear-gradient(0deg, var(--panel), color(from var(--panel) srgb r g b / 0));
+ background: linear-gradient(0deg, var(--MI_THEME-panel), color(from var(--MI_THEME-panel) srgb r g b / 0));
}
> .name {
@@ -148,7 +148,7 @@ const bannerStyle = computed(() => {
bottom: 16px;
left: 16px;
background: rgba(0, 0, 0, 0.7);
- color: var(--warn);
+ color: var(--MI_THEME-warn);
border-radius: 6px;
font-weight: bold;
font-size: 1em;
@@ -167,7 +167,7 @@ const bannerStyle = computed(() => {
> footer {
padding: 12px 16px;
- border-top: solid 0.5px var(--divider);
+ border-top: solid 0.5px var(--MI_THEME-divider);
> span {
opacity: 0.7;
@@ -213,8 +213,8 @@ const bannerStyle = computed(() => {
top: 0;
right: 0;
transform: translate(25%, -25%);
- background-color: var(--accent);
- border: solid var(--bg) 4px;
+ background-color: var(--MI_THEME-accent);
+ border: solid var(--MI_THEME-bg) 4px;
border-radius: 100%;
width: 1.5rem;
height: 1.5rem;
diff --git a/packages/frontend/src/components/MkChartLegend.vue b/packages/frontend/src/components/MkChartLegend.vue
index 6eb2009784..574cde9da4 100644
--- a/packages/frontend/src/components/MkChartLegend.vue
+++ b/packages/frontend/src/components/MkChartLegend.vue
@@ -53,11 +53,11 @@ defineExpose({
> .item {
font-size: 85%;
padding: 4px 12px 4px 8px;
- border: solid 1px var(--divider);
+ border: solid 1px var(--MI_THEME-divider);
border-radius: 999px;
&:hover {
- border-color: var(--inputBorderHover);
+ border-color: var(--MI_THEME-inputBorderHover);
}
&.disabled {
diff --git a/packages/frontend/src/components/MkClipPreview.vue b/packages/frontend/src/components/MkClipPreview.vue
index dd550733cb..5b09ec90dd 100644
--- a/packages/frontend/src/components/MkClipPreview.vue
+++ b/packages/frontend/src/components/MkClipPreview.vue
@@ -49,13 +49,13 @@ const remaining = computed(() => {
outline: none;
.root {
- box-shadow: inset 0 0 0 2px var(--focus);
+ box-shadow: inset 0 0 0 2px var(--MI_THEME-focus);
}
}
&:hover {
text-decoration: none;
- color: var(--accent);
+ color: var(--MI_THEME-accent);
}
}
@@ -65,7 +65,7 @@ const remaining = computed(() => {
.divider {
height: 1px;
- background: var(--divider);
+ background: var(--MI_THEME-divider);
}
.description {
diff --git a/packages/frontend/src/components/MkCode.core.vue b/packages/frontend/src/components/MkCode.core.vue
index c0e7df5dac..0d7a67eaec 100644
--- a/packages/frontend/src/components/MkCode.core.vue
+++ b/packages/frontend/src/components/MkCode.core.vue
@@ -77,7 +77,7 @@ watch(() => props.lang, (to) => {
margin: .5em 0;
overflow: auto;
border-radius: 8px;
- border: 1px solid var(--divider);
+ border: 1px solid var(--MI_THEME-divider);
font-family: Consolas, Monaco, Andale Mono, Ubuntu Mono, monospace;
color: var(--shiki-fallback);
diff --git a/packages/frontend/src/components/MkCode.vue b/packages/frontend/src/components/MkCode.vue
index 716dd92678..cb82bfd98b 100644
--- a/packages/frontend/src/components/MkCode.vue
+++ b/packages/frontend/src/components/MkCode.vue
@@ -71,7 +71,7 @@ function copy() {
.codeBlockFallbackRoot {
display: block;
overflow-wrap: anywhere;
- background: var(--bg);
+ background: var(--MI_THEME-bg);
padding: 1em;
margin: .5em 0;
overflow: auto;
@@ -94,8 +94,8 @@ function copy() {
border-radius: 8px;
padding: 24px;
margin-top: 4px;
- color: var(--fg);
- background: var(--bg);
+ color: var(--MI_THEME-fg);
+ background: var(--MI_THEME-bg);
}
.codePlaceholderContainer {
diff --git a/packages/frontend/src/components/MkCodeEditor.vue b/packages/frontend/src/components/MkCodeEditor.vue
index afd9132a12..5bf2301e72 100644
--- a/packages/frontend/src/components/MkCodeEditor.vue
+++ b/packages/frontend/src/components/MkCodeEditor.vue
@@ -140,7 +140,7 @@ watch(v, newValue => {
.caption {
font-size: 0.85em;
padding: 8px 0 0 0;
- color: var(--fgTransparentWeak);
+ color: var(--MI_THEME-fgTransparentWeak);
&:empty {
display: none;
@@ -160,17 +160,17 @@ watch(v, newValue => {
margin: 0;
border-radius: 6px;
padding: 0;
- color: var(--fg);
- border: solid 1px var(--panel);
+ color: var(--MI_THEME-fg);
+ border: solid 1px var(--MI_THEME-panel);
transition: border-color 0.1s ease-out;
font-family: Consolas, Monaco, Andale Mono, Ubuntu Mono, monospace;
&:hover {
- border-color: var(--inputBorderHover) !important;
+ border-color: var(--MI_THEME-inputBorderHover) !important;
}
}
.focused.codeEditorRoot {
- border-color: var(--accent) !important;
+ border-color: var(--MI_THEME-accent) !important;
border-radius: 6px;
}
@@ -196,7 +196,7 @@ watch(v, newValue => {
resize: none;
text-align: left;
color: transparent;
- caret-color: var(--fg);
+ caret-color: var(--MI_THEME-fg);
background-color: transparent;
border: 0;
border-radius: 6px;
@@ -211,6 +211,6 @@ watch(v, newValue => {
}
.textarea::selection {
- color: var(--bg);
+ color: var(--MI_THEME-bg);
}
</style>
diff --git a/packages/frontend/src/components/MkCodeInline.vue b/packages/frontend/src/components/MkCodeInline.vue
index 6add80d1bc..04b6e54108 100644
--- a/packages/frontend/src/components/MkCodeInline.vue
+++ b/packages/frontend/src/components/MkCodeInline.vue
@@ -18,7 +18,7 @@ const props = defineProps<{
display: inline-block;
font-family: Consolas, Monaco, Andale Mono, Ubuntu Mono, monospace;
overflow-wrap: anywhere;
- background: var(--bg);
+ background: var(--MI_THEME-bg);
padding: .1em;
border-radius: .3em;
}
diff --git a/packages/frontend/src/components/MkColorInput.vue b/packages/frontend/src/components/MkColorInput.vue
index f5c580789b..55a32664de 100644
--- a/packages/frontend/src/components/MkColorInput.vue
+++ b/packages/frontend/src/components/MkColorInput.vue
@@ -60,7 +60,7 @@ const onInput = () => {
.caption {
font-size: 0.85em;
padding: 8px 0 0 0;
- color: var(--fgTransparentWeak);
+ color: var(--MI_THEME-fgTransparentWeak);
&:empty {
display: none;
@@ -72,8 +72,8 @@ const onInput = () => {
&.focused {
> .inputCore {
- border-color: var(--accent) !important;
- //box-shadow: 0 0 0 4px var(--focus);
+ border-color: var(--MI_THEME-accent) !important;
+ //box-shadow: 0 0 0 4px var(--MI_THEME-focus);
}
}
@@ -98,9 +98,9 @@ const onInput = () => {
font: inherit;
font-weight: normal;
font-size: 1em;
- color: var(--fg);
- background: var(--panel);
- border: solid 1px var(--panel);
+ color: var(--MI_THEME-fg);
+ background: var(--MI_THEME-panel);
+ border: solid 1px var(--MI_THEME-panel);
border-radius: 6px;
outline: none;
box-shadow: none;
@@ -108,7 +108,7 @@ const onInput = () => {
transition: border-color 0.1s ease-out;
&:hover {
- border-color: var(--inputBorderHover) !important;
+ border-color: var(--MI_THEME-inputBorderHover) !important;
}
}
</style>
diff --git a/packages/frontend/src/components/MkContainer.vue b/packages/frontend/src/components/MkContainer.vue
index 8ad653a0bf..f2bafb4adf 100644
--- a/packages/frontend/src/components/MkContainer.vue
+++ b/packages/frontend/src/components/MkContainer.vue
@@ -167,9 +167,9 @@ onUnmounted(() => {
position: sticky;
top: var(--stickyTop, 0px);
left: 0;
- color: var(--panelHeaderFg);
- background: var(--panelHeaderBg);
- border-bottom: solid 0.5px var(--panelHeaderDivider);
+ color: var(--MI_THEME-panelHeaderFg);
+ background: var(--MI_THEME-panelHeaderBg);
+ border-bottom: solid 0.5px var(--MI_THEME-panelHeaderDivider);
z-index: 2;
line-height: 1.4em;
}
@@ -216,11 +216,11 @@ onUnmounted(() => {
left: 0;
width: 100%;
height: 64px;
- background: linear-gradient(0deg, var(--panel), color(from var(--panel) srgb r g b / 0));
+ background: linear-gradient(0deg, var(--MI_THEME-panel), color(from var(--MI_THEME-panel) srgb r g b / 0));
> .fadeLabel {
display: inline-block;
- background: var(--panel);
+ background: var(--MI_THEME-panel);
padding: 6px 10px;
font-size: 0.8em;
border-radius: 999px;
@@ -229,7 +229,7 @@ onUnmounted(() => {
&:hover {
> .fadeLabel {
- background: var(--panelHighlight);
+ background: var(--MI_THEME-panelHighlight);
}
}
}
diff --git a/packages/frontend/src/components/MkCropperDialog.vue b/packages/frontend/src/components/MkCropperDialog.vue
index 2e1e92cbdf..a25dc36882 100644
--- a/packages/frontend/src/components/MkCropperDialog.vue
+++ b/packages/frontend/src/components/MkCropperDialog.vue
@@ -125,7 +125,7 @@ onMounted(() => {
const computedStyle = getComputedStyle(document.documentElement);
const selection = cropper.getCropperSelection()!;
- selection.themeColor = tinycolor(computedStyle.getPropertyValue('--accent')).toHexString();
+ selection.themeColor = tinycolor(computedStyle.getPropertyValue('--MI_THEME-accent')).toHexString();
selection.aspectRatio = props.aspectRatio;
selection.initialAspectRatio = props.aspectRatio;
selection.outlined = true;
diff --git a/packages/frontend/src/components/MkCustomEmojiDetailedDialog.vue b/packages/frontend/src/components/MkCustomEmojiDetailedDialog.vue
index c7f1288729..29a435fb1a 100644
--- a/packages/frontend/src/components/MkCustomEmojiDetailedDialog.vue
+++ b/packages/frontend/src/components/MkCustomEmojiDetailedDialog.vue
@@ -85,7 +85,7 @@ function cancel() {
.emojiImgWrapper {
max-width: 100%;
height: 40cqh;
- background-image: repeating-linear-gradient(45deg, transparent, transparent 8px, var(--X5) 8px, var(--X5) 14px);
+ background-image: repeating-linear-gradient(45deg, transparent, transparent 8px, var(--MI_THEME-X5) 8px, var(--MI_THEME-X5) 14px);
border-radius: var(--radius);
margin: auto;
overflow-y: hidden;
@@ -101,8 +101,8 @@ function cancel() {
display: inline-block;
word-break: break-all;
padding: 3px 10px;
- background-color: var(--X5);
- border: solid 1px var(--divider);
+ background-color: var(--MI_THEME-X5);
+ border: solid 1px var(--MI_THEME-divider);
border-radius: var(--radius);
}
</style>
diff --git a/packages/frontend/src/components/MkDateSeparatedList.vue b/packages/frontend/src/components/MkDateSeparatedList.vue
index 4b94bef4b6..0886b7a4f7 100644
--- a/packages/frontend/src/components/MkDateSeparatedList.vue
+++ b/packages/frontend/src/components/MkDateSeparatedList.vue
@@ -194,7 +194,7 @@ export default defineComponent({
box-shadow: none;
&:not(:last-child) {
- border-bottom: solid 0.5px var(--divider);
+ border-bottom: solid 0.5px var(--MI_THEME-divider);
}
}
}
@@ -235,7 +235,7 @@ export default defineComponent({
line-height: 32px;
text-align: center;
font-size: 12px;
- color: var(--dateLabelFg);
+ color: var(--MI_THEME-dateLabelFg);
}
.date-1 {
diff --git a/packages/frontend/src/components/MkDialog.vue b/packages/frontend/src/components/MkDialog.vue
index 16cf5b1b75..22130d4fab 100644
--- a/packages/frontend/src/components/MkDialog.vue
+++ b/packages/frontend/src/components/MkDialog.vue
@@ -184,7 +184,7 @@ function onInputKeydown(evt: KeyboardEvent) {
max-width: 480px;
box-sizing: border-box;
text-align: center;
- background: var(--panel);
+ background: var(--MI_THEME-panel);
border-radius: 16px;
}
@@ -206,15 +206,15 @@ function onInputKeydown(evt: KeyboardEvent) {
}
.type_success {
- color: var(--success);
+ color: var(--MI_THEME-success);
}
.type_error {
- color: var(--error);
+ color: var(--MI_THEME-error);
}
.type_warning {
- color: var(--warn);
+ color: var(--MI_THEME-warn);
}
.title {
diff --git a/packages/frontend/src/components/MkDivider.vue b/packages/frontend/src/components/MkDivider.vue
index e4e3af99e4..f72f091383 100644
--- a/packages/frontend/src/components/MkDivider.vue
+++ b/packages/frontend/src/components/MkDivider.vue
@@ -27,6 +27,6 @@ defineProps<{
<style scoped lang="scss">
.default {
- border-top: solid 0.5px var(--divider);
+ border-top: solid 0.5px var(--MI_THEME-divider);
}
</style>
diff --git a/packages/frontend/src/components/MkDonation.vue b/packages/frontend/src/components/MkDonation.vue
index 098be07a8c..ebface5185 100644
--- a/packages/frontend/src/components/MkDonation.vue
+++ b/packages/frontend/src/components/MkDonation.vue
@@ -79,7 +79,7 @@ function neverShow() {
text-align: center;
padding-top: 25px;
width: 100px;
- color: var(--accent);
+ color: var(--MI_THEME-accent);
}
@media (max-width: 500px) {
.icon {
diff --git a/packages/frontend/src/components/MkDrive.file.vue b/packages/frontend/src/components/MkDrive.file.vue
index 90284890a5..e45c3bd9ce 100644
--- a/packages/frontend/src/components/MkDrive.file.vue
+++ b/packages/frontend/src/components/MkDrive.file.vue
@@ -148,14 +148,14 @@ function onDragend() {
}
&.isSelected {
- background: var(--accent);
+ background: var(--MI_THEME-accent);
&:hover {
- background: var(--accentLighten);
+ background: var(--MI_THEME-accentLighten);
}
&:active {
- background: var(--accentDarken);
+ background: var(--MI_THEME-accentDarken);
}
> .label {
@@ -244,7 +244,7 @@ function onDragend() {
font-size: 0.8em;
text-align: center;
word-break: break-all;
- color: var(--fg);
+ color: var(--MI_THEME-fg);
overflow: hidden;
}
</style>
diff --git a/packages/frontend/src/components/MkDrive.folder.vue b/packages/frontend/src/components/MkDrive.folder.vue
index 92b3a23662..391acbc8d3 100644
--- a/packages/frontend/src/components/MkDrive.folder.vue
+++ b/packages/frontend/src/components/MkDrive.folder.vue
@@ -313,7 +313,7 @@ function onContextmenu(ev: MouseEvent) {
position: relative;
padding: 8px;
height: 64px;
- background: var(--driveFolderBg);
+ background: var(--MI_THEME-driveFolderBg);
border-radius: 4px;
cursor: pointer;
@@ -326,7 +326,7 @@ function onContextmenu(ev: MouseEvent) {
right: -4px;
bottom: -4px;
left: -4px;
- border: 2px dashed var(--focus);
+ border: 2px dashed var(--MI_THEME-focus);
border-radius: 4px;
}
}
@@ -345,13 +345,13 @@ function onContextmenu(ev: MouseEvent) {
width: 18px;
height: 18px;
background: #fff;
- border: solid 2px var(--divider);
+ border: solid 2px var(--MI_THEME-divider);
border-radius: 4px;
box-sizing: border-box;
&.checked {
- border-color: var(--accent);
- background: var(--accent);
+ border-color: var(--MI_THEME-accent);
+ background: var(--MI_THEME-accent);
&::after {
content: "\ea5e";
@@ -368,7 +368,7 @@ function onContextmenu(ev: MouseEvent) {
}
&:hover {
- background: var(--accentedBg);
+ background: var(--MI_THEME-accentedBg);
}
}
diff --git a/packages/frontend/src/components/MkDrive.vue b/packages/frontend/src/components/MkDrive.vue
index d9ca0a72a0..8bd7ee8324 100644
--- a/packages/frontend/src/components/MkDrive.vue
+++ b/packages/frontend/src/components/MkDrive.vue
@@ -721,7 +721,7 @@ onBeforeUnmount(() => {
box-sizing: border-box;
overflow: auto;
font-size: 0.9em;
- box-shadow: 0 1px 0 var(--divider);
+ box-shadow: 0 1px 0 var(--MI_THEME-divider);
user-select: none;
}
@@ -815,7 +815,7 @@ onBeforeUnmount(() => {
top: 38px;
width: 100%;
height: calc(100% - 38px);
- border: dashed 2px var(--focus);
+ border: dashed 2px var(--MI_THEME-focus);
pointer-events: none;
}
</style>
diff --git a/packages/frontend/src/components/MkDriveFileThumbnail.vue b/packages/frontend/src/components/MkDriveFileThumbnail.vue
index eb93aaab6e..3410a915c3 100644
--- a/packages/frontend/src/components/MkDriveFileThumbnail.vue
+++ b/packages/frontend/src/components/MkDriveFileThumbnail.vue
@@ -69,7 +69,7 @@ const isThumbnailAvailable = computed(() => {
.root {
position: relative;
display: flex;
- background: var(--panel);
+ background: var(--MI_THEME-panel);
border-radius: 8px;
overflow: clip;
}
@@ -83,7 +83,7 @@ const isThumbnailAvailable = computed(() => {
height: 100%;
pointer-events: none;
border-radius: inherit;
- box-shadow: inset 0 0 0 4px var(--warn);
+ box-shadow: inset 0 0 0 4px var(--MI_THEME-warn);
}
.iconSub {
diff --git a/packages/frontend/src/components/MkEmbedCodeGenDialog.vue b/packages/frontend/src/components/MkEmbedCodeGenDialog.vue
index c060c3a659..c2bb516c7c 100644
--- a/packages/frontend/src/components/MkEmbedCodeGenDialog.vue
+++ b/packages/frontend/src/components/MkEmbedCodeGenDialog.vue
@@ -306,9 +306,9 @@ onUnmounted(() => {
.embedCodeGenPreviewRoot {
position: relative;
- background-color: var(--bg);
+ background-color: var(--MI_THEME-bg);
background-size: auto auto;
- background-image: repeating-linear-gradient(135deg, transparent, transparent 6px, var(--panel) 6px, var(--panel) 12px);
+ background-image: repeating-linear-gradient(135deg, transparent, transparent 6px, var(--MI_THEME-panel) 6px, var(--MI_THEME-panel) 12px);
cursor: not-allowed;
}
@@ -381,8 +381,8 @@ onUnmounted(() => {
.embedCodeGenResultHeadingIcon {
margin: 0 auto;
- background-color: var(--accentedBg);
- color: var(--accent);
+ background-color: var(--MI_THEME-accentedBg);
+ color: var(--MI_THEME-accent);
text-align: center;
height: 64px;
width: 64px;
diff --git a/packages/frontend/src/components/MkEmojiPicker.section.vue b/packages/frontend/src/components/MkEmojiPicker.section.vue
index fca7aa2f4e..f4caa730bf 100644
--- a/packages/frontend/src/components/MkEmojiPicker.section.vue
+++ b/packages/frontend/src/components/MkEmojiPicker.section.vue
@@ -6,7 +6,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<template>
<!-- このコンポーネントの要素のclassは親から利用されるのでむやみに弄らないこと -->
<!-- フォルダの中にはカスタム絵文字だけ(Unicode絵文字もこっち) -->
-<section v-if="!hasChildSection" v-panel style="border-radius: 6px; border-bottom: 0.5px solid var(--divider);">
+<section v-if="!hasChildSection" v-panel style="border-radius: 6px; border-bottom: 0.5px solid var(--MI_THEME-divider);">
<header class="_acrylic" @click="shown = !shown">
<i class="toggle ti-fw" :class="shown ? 'ti ti-chevron-down' : 'ti ti-chevron-up'"></i> <slot></slot> (<i class="ti ti-icons"></i>:{{ emojis.length }})
</header>
@@ -26,7 +26,7 @@ SPDX-License-Identifier: AGPL-3.0-only
</div>
</section>
<!-- フォルダの中にはカスタム絵文字やフォルダがある -->
-<section v-else v-panel style="border-radius: 6px; border-bottom: 0.5px solid var(--divider);">
+<section v-else v-panel style="border-radius: 6px; border-bottom: 0.5px solid var(--MI_THEME-divider);">
<header class="_acrylic" @click="shown = !shown">
<i class="toggle ti-fw" :class="shown ? 'ti ti-chevron-down' : 'ti ti-chevron-up'"></i> <slot></slot> (<i class="ti ti-folder ti-fw"></i>:{{ customEmojiTree?.length }} <i class="ti ti-icons ti-fw"></i>:{{ emojis.length }})
</header>
diff --git a/packages/frontend/src/components/MkEmojiPicker.vue b/packages/frontend/src/components/MkEmojiPicker.vue
index 3bad8da06f..219950f135 100644
--- a/packages/frontend/src/components/MkEmojiPicker.vue
+++ b/packages/frontend/src/components/MkEmojiPicker.vue
@@ -580,7 +580,7 @@ defineExpose({
&:disabled {
cursor: not-allowed;
- background: linear-gradient(-45deg, transparent 0% 48%, var(--X6) 48% 52%, transparent 52% 100%);
+ background: linear-gradient(-45deg, transparent 0% 48%, var(--MI_THEME-X6) 48% 52%, transparent 52% 100%);
opacity: 1;
> .emoji {
@@ -615,7 +615,7 @@ defineExpose({
&:disabled {
cursor: not-allowed;
- background: linear-gradient(-45deg, transparent 0% 48%, var(--X6) 48% 52%, transparent 52% 100%);
+ background: linear-gradient(-45deg, transparent 0% 48%, var(--MI_THEME-X6) 48% 52%, transparent 52% 100%);
opacity: 1;
> .emoji {
@@ -638,7 +638,7 @@ defineExpose({
outline: none;
border: none;
background: transparent;
- color: var(--fg);
+ color: var(--MI_THEME-fg);
&:not(:focus):not(.filled) {
margin-bottom: env(safe-area-inset-bottom, 0px);
@@ -647,7 +647,7 @@ defineExpose({
&:not(.filled) {
order: 1;
z-index: 2;
- box-shadow: 0px -1px 0 0px var(--divider);
+ box-shadow: 0px -1px 0 0px var(--MI_THEME-divider);
}
}
@@ -658,11 +658,11 @@ defineExpose({
> .tab {
flex: 1;
height: 38px;
- border-top: solid 0.5px var(--divider);
+ border-top: solid 0.5px var(--MI_THEME-divider);
&.active {
- border-top: solid 1px var(--accent);
- color: var(--accent);
+ border-top: solid 1px var(--MI_THEME-accent);
+ color: var(--MI_THEME-accent);
}
}
}
@@ -681,7 +681,7 @@ defineExpose({
> .group {
&:not(.index) {
padding: 4px 0 8px 0;
- border-top: solid 0.5px var(--divider);
+ border-top: solid 0.5px var(--MI_THEME-divider);
}
> header {
@@ -708,7 +708,7 @@ defineExpose({
cursor: pointer;
&:hover {
- color: var(--accent);
+ color: var(--MI_THEME-accent);
}
}
@@ -730,13 +730,13 @@ defineExpose({
}
&:active {
- background: var(--accent);
+ background: var(--MI_THEME-accent);
box-shadow: inset 0 0.15em 0.3em rgba(27, 31, 35, 0.15);
}
&:disabled {
cursor: not-allowed;
- background: linear-gradient(-45deg, transparent 0% 48%, var(--X6) 48% 52%, transparent 52% 100%);
+ background: linear-gradient(-45deg, transparent 0% 48%, var(--MI_THEME-X6) 48% 52%, transparent 52% 100%);
opacity: 1;
> .emoji {
@@ -757,7 +757,7 @@ defineExpose({
}
&.result {
- border-bottom: solid 0.5px var(--divider);
+ border-bottom: solid 0.5px var(--MI_THEME-divider);
&:empty {
display: none;
diff --git a/packages/frontend/src/components/MkExtensionInstaller.vue b/packages/frontend/src/components/MkExtensionInstaller.vue
index 0f7acd69e7..ed29dade7a 100644
--- a/packages/frontend/src/components/MkExtensionInstaller.vue
+++ b/packages/frontend/src/components/MkExtensionInstaller.vue
@@ -111,7 +111,7 @@ const emits = defineEmits<{
<style lang="scss" module>
.extInstallerRoot {
border-radius: var(--radius);
- background: var(--panel);
+ background: var(--MI_THEME-panel);
padding: 1.5rem;
}
@@ -125,8 +125,8 @@ const emits = defineEmits<{
margin-left: auto;
margin-right: auto;
- background-color: var(--accentedBg);
- color: var(--accent);
+ background-color: var(--MI_THEME-accentedBg);
+ color: var(--MI_THEME-accent);
}
.extInstallerTitle {
diff --git a/packages/frontend/src/components/MkFileListForAdmin.vue b/packages/frontend/src/components/MkFileListForAdmin.vue
index 13295c455b..d5d32ebb28 100644
--- a/packages/frontend/src/components/MkFileListForAdmin.vue
+++ b/packages/frontend/src/components/MkFileListForAdmin.vue
@@ -66,7 +66,7 @@ const props = defineProps<{
align-items: center;
&:hover {
- color: var(--accent);
+ color: var(--MI_THEME-accent);
}
> .thumbnail {
diff --git a/packages/frontend/src/components/MkFlashPreview.vue b/packages/frontend/src/components/MkFlashPreview.vue
index 8a2a438624..589dd1ce82 100644
--- a/packages/frontend/src/components/MkFlashPreview.vue
+++ b/packages/frontend/src/components/MkFlashPreview.vue
@@ -36,7 +36,7 @@ const props = defineProps<{
&:hover {
text-decoration: none;
- color: var(--accent);
+ color: var(--MI_THEME-accent);
}
&:focus-visible {
@@ -92,7 +92,7 @@ const props = defineProps<{
}
&:global(.gray) {
- --c: var(--bg);
+ --c: var(--MI_THEME-bg);
background-image: linear-gradient(45deg, var(--c) 16.67%, transparent 16.67%, transparent 50%, var(--c) 50%, var(--c) 66.67%, transparent 66.67%, transparent 100%);
background-size: 16px 16px;
}
diff --git a/packages/frontend/src/components/MkFoldableSection.vue b/packages/frontend/src/components/MkFoldableSection.vue
index f10d58b38a..ef1d075360 100644
--- a/packages/frontend/src/components/MkFoldableSection.vue
+++ b/packages/frontend/src/components/MkFoldableSection.vue
@@ -83,7 +83,7 @@ function afterLeave(element: Element) {
onMounted(() => {
function getParentBg(el?: HTMLElement | null): string {
- if (el == null || el.tagName === 'BODY') return 'var(--bg)';
+ if (el == null || el.tagName === 'BODY') return 'var(--MI_THEME-bg)';
const background = el.style.background || el.style.backgroundColor;
if (background) {
return background;
@@ -134,7 +134,7 @@ onMounted(() => {
flex: 1;
margin: auto;
height: 1px;
- background: var(--divider);
+ background: var(--MI_THEME-divider);
}
.button {
diff --git a/packages/frontend/src/components/MkFolder.vue b/packages/frontend/src/components/MkFolder.vue
index 8262ae5d0c..290d73dd92 100644
--- a/packages/frontend/src/components/MkFolder.vue
+++ b/packages/frontend/src/components/MkFolder.vue
@@ -118,7 +118,7 @@ function toggle() {
onMounted(() => {
const computedStyle = getComputedStyle(document.documentElement);
const parentBg = getBgColor(rootEl.value!.parentElement!);
- const myBg = computedStyle.getPropertyValue('--panel');
+ const myBg = computedStyle.getPropertyValue('--MI_THEME-panel');
bgSame.value = parentBg === myBg;
});
</script>
@@ -144,7 +144,7 @@ onMounted(() => {
width: 100%;
box-sizing: border-box;
padding: 9px 12px 9px 12px;
- background: var(--folderHeaderBg);
+ background: var(--MI_THEME-folderHeaderBg);
-webkit-backdrop-filter: var(--blur, blur(15px));
backdrop-filter: var(--blur, blur(15px));
border-radius: 6px;
@@ -152,7 +152,7 @@ onMounted(() => {
&:hover {
text-decoration: none;
- background: var(--folderHeaderHoverBg);
+ background: var(--MI_THEME-folderHeaderHoverBg);
}
&:focus-within {
@@ -160,8 +160,8 @@ onMounted(() => {
}
&.active {
- color: var(--accent);
- background: var(--folderHeaderHoverBg);
+ color: var(--MI_THEME-accent);
+ background: var(--MI_THEME-folderHeaderHoverBg);
}
&.opened {
@@ -175,7 +175,7 @@ onMounted(() => {
}
.headerLower {
- color: var(--fgTransparentWeak);
+ color: var(--MI_THEME-fgTransparentWeak);
font-size: .85em;
padding-left: 4px;
}
@@ -209,13 +209,13 @@ onMounted(() => {
}
.headerTextSub {
- color: var(--fgTransparentWeak);
+ color: var(--MI_THEME-fgTransparentWeak);
font-size: .85em;
}
.headerRight {
margin-left: auto;
- color: var(--fgTransparentWeak);
+ color: var(--MI_THEME-fgTransparentWeak);
white-space: nowrap;
}
@@ -224,12 +224,12 @@ onMounted(() => {
}
.body {
- background: var(--panel);
+ background: var(--MI_THEME-panel);
border-radius: 0 0 6px 6px;
container-type: inline-size;
&.bgSame {
- background: var(--bg);
+ background: var(--MI_THEME-bg);
}
}
@@ -239,11 +239,11 @@ onMounted(() => {
bottom: var(--stickyBottom, 0px);
left: 0;
padding: 12px;
- background: var(--acrylicBg);
+ background: var(--MI_THEME-acrylicBg);
-webkit-backdrop-filter: var(--blur, blur(15px));
backdrop-filter: var(--blur, blur(15px));
background-size: auto auto;
- background-image: repeating-linear-gradient(135deg, transparent, transparent 5px, var(--panel) 5px, var(--panel) 10px);
+ background-image: repeating-linear-gradient(135deg, transparent, transparent 5px, var(--MI_THEME-panel) 5px, var(--MI_THEME-panel) 10px);
border-radius: 0 0 6px 6px;
}
</style>
diff --git a/packages/frontend/src/components/MkFollowButton.vue b/packages/frontend/src/components/MkFollowButton.vue
index 0de52906ed..ccea7cd453 100644
--- a/packages/frontend/src/components/MkFollowButton.vue
+++ b/packages/frontend/src/components/MkFollowButton.vue
@@ -165,8 +165,8 @@ onBeforeUnmount(() => {
position: relative;
display: inline-block;
font-weight: bold;
- color: var(--fgOnWhite);
- border: solid 1px var(--accent);
+ color: var(--MI_THEME-fgOnWhite);
+ border: solid 1px var(--MI_THEME-accent);
padding: 0;
height: 31px;
font-size: 16px;
@@ -201,17 +201,17 @@ onBeforeUnmount(() => {
}
&.active {
- color: var(--fgOnAccent);
- background: var(--accent);
+ color: var(--MI_THEME-fgOnAccent);
+ background: var(--MI_THEME-accent);
&:hover {
- background: var(--accentLighten);
- border-color: var(--accentLighten);
+ background: var(--MI_THEME-accentLighten);
+ border-color: var(--MI_THEME-accentLighten);
}
&:active {
- background: var(--accentDarken);
- border-color: var(--accentDarken);
+ background: var(--MI_THEME-accentDarken);
+ border-color: var(--MI_THEME-accentDarken);
}
}
diff --git a/packages/frontend/src/components/MkFormDialog.file.vue b/packages/frontend/src/components/MkFormDialog.file.vue
index 9360594236..ecb6cf882b 100644
--- a/packages/frontend/src/components/MkFormDialog.file.vue
+++ b/packages/frontend/src/components/MkFormDialog.file.vue
@@ -66,6 +66,6 @@ function selectButton(ev: MouseEvent) {
<style module>
.fileNotSelected {
font-weight: 700;
- color: var(--infoWarnFg);
+ color: var(--MI_THEME-infoWarnFg);
}
</style>
diff --git a/packages/frontend/src/components/MkFormFooter.vue b/packages/frontend/src/components/MkFormFooter.vue
index 1e88d59d8e..f409f6ce50 100644
--- a/packages/frontend/src/components/MkFormFooter.vue
+++ b/packages/frontend/src/components/MkFormFooter.vue
@@ -36,7 +36,7 @@ const props = defineProps<{
}
.text {
- color: var(--warn);
+ color: var(--MI_THEME-warn);
font-size: 90%;
animation: modified-blink 2s infinite;
}
diff --git a/packages/frontend/src/components/MkFukidashi.vue b/packages/frontend/src/components/MkFukidashi.vue
index 09825487bf..307cd15dc8 100644
--- a/packages/frontend/src/components/MkFukidashi.vue
+++ b/packages/frontend/src/components/MkFukidashi.vue
@@ -40,7 +40,7 @@ withDefaults(defineProps<{
<style module lang="scss">
.root {
--fukidashi-radius: var(--radius);
- --fukidashi-bg: var(--panel);
+ --fukidashi-bg: var(--MI_THEME-panel);
position: relative;
display: inline-block;
@@ -48,7 +48,7 @@ withDefaults(defineProps<{
padding-top: calc(var(--fukidashi-radius) * .13);
&.shadow {
- filter: drop-shadow(0 4px 32px var(--shadow));
+ filter: drop-shadow(0 4px 32px var(--MI_THEME-shadow));
}
&.left {
diff --git a/packages/frontend/src/components/MkGalleryPostPreview.vue b/packages/frontend/src/components/MkGalleryPostPreview.vue
index 2bb5b8762a..22f8355acf 100644
--- a/packages/frontend/src/components/MkGalleryPostPreview.vue
+++ b/packages/frontend/src/components/MkGalleryPostPreview.vue
@@ -75,7 +75,7 @@ function leaveHover(): void {
&:hover {
text-decoration: none;
- color: var(--accent);
+ color: var(--MI_THEME-accent);
> .thumbnail {
transform: scale(1.1);
diff --git a/packages/frontend/src/components/MkGoogle.vue b/packages/frontend/src/components/MkGoogle.vue
index 2988d77fe3..2eaee5b115 100644
--- a/packages/frontend/src/components/MkGoogle.vue
+++ b/packages/frontend/src/components/MkGoogle.vue
@@ -39,7 +39,7 @@ const search = () => {
width: 100%;
height: 40px;
font-size: 16px;
- border: solid 1px var(--divider);
+ border: solid 1px var(--MI_THEME-divider);
border-radius: 4px 0 0 4px;
-webkit-appearance: textfield;
}
@@ -48,7 +48,7 @@ const search = () => {
flex-shrink: 0;
margin: 0;
padding: 0 16px;
- border: solid 1px var(--divider);
+ border: solid 1px var(--MI_THEME-divider);
border-left: none;
border-radius: 0 4px 4px 0;
diff --git a/packages/frontend/src/components/MkInfo.vue b/packages/frontend/src/components/MkInfo.vue
index 33e65ccc4e..87c98cf072 100644
--- a/packages/frontend/src/components/MkInfo.vue
+++ b/packages/frontend/src/components/MkInfo.vue
@@ -36,14 +36,14 @@ function close() {
align-items: center;
padding: 12px 14px;
font-size: 90%;
- background: var(--infoBg);
- color: var(--infoFg);
+ background: var(--MI_THEME-infoBg);
+ color: var(--MI_THEME-infoFg);
border-radius: var(--radius);
white-space: pre-wrap;
&.warn {
- background: var(--infoWarnBg);
- color: var(--infoWarnFg);
+ background: var(--MI_THEME-infoWarnBg);
+ color: var(--MI_THEME-infoWarnFg);
}
}
diff --git a/packages/frontend/src/components/MkInput.vue b/packages/frontend/src/components/MkInput.vue
index 4c2fc1ba00..e01ff86c5a 100644
--- a/packages/frontend/src/components/MkInput.vue
+++ b/packages/frontend/src/components/MkInput.vue
@@ -199,7 +199,7 @@ defineExpose({
.caption {
font-size: 0.85em;
padding: 8px 0 0 0;
- color: var(--fgTransparentWeak);
+ color: var(--MI_THEME-fgTransparentWeak);
&:empty {
display: none;
@@ -216,8 +216,8 @@ defineExpose({
&.focused {
> .inputCore {
- border-color: var(--accent) !important;
- //box-shadow: 0 0 0 4px var(--focus);
+ border-color: var(--MI_THEME-accent) !important;
+ //box-shadow: 0 0 0 4px var(--MI_THEME-focus);
}
}
@@ -242,9 +242,9 @@ defineExpose({
font: inherit;
font-weight: normal;
font-size: 1em;
- color: var(--fg);
- background: var(--panel);
- border: solid 1px var(--panel);
+ color: var(--MI_THEME-fg);
+ background: var(--MI_THEME-panel);
+ border: solid 1px var(--MI_THEME-panel);
border-radius: 6px;
outline: none;
box-shadow: none;
@@ -252,7 +252,7 @@ defineExpose({
transition: border-color 0.1s ease-out;
&:hover {
- border-color: var(--inputBorderHover) !important;
+ border-color: var(--MI_THEME-inputBorderHover) !important;
}
}
diff --git a/packages/frontend/src/components/MkInstanceCardMini.vue b/packages/frontend/src/components/MkInstanceCardMini.vue
index 17c974dd04..b0601cf7f9 100644
--- a/packages/frontend/src/components/MkInstanceCardMini.vue
+++ b/packages/frontend/src/components/MkInstanceCardMini.vue
@@ -46,7 +46,7 @@ function getInstanceIcon(instance): string {
display: flex;
align-items: center;
padding: 16px;
- background: var(--panel);
+ background: var(--MI_THEME-panel);
border-radius: 8px;
> :global(.icon) {
@@ -62,7 +62,7 @@ function getInstanceIcon(instance): string {
flex: 1;
overflow: hidden;
font-size: 0.9em;
- color: var(--fg);
+ color: var(--MI_THEME-fg);
padding-right: 8px;
> :global(.host) {
@@ -109,7 +109,7 @@ function getInstanceIcon(instance): string {
}
&:global(.gray) {
- --c: var(--bg);
+ --c: var(--MI_THEME-bg);
background-image: linear-gradient(45deg, var(--c) 16.67%, transparent 16.67%, transparent 50%, var(--c) 50%, var(--c) 66.67%, transparent 66.67%, transparent 100%);
background-size: 16px 16px;
}
diff --git a/packages/frontend/src/components/MkInstanceStats.vue b/packages/frontend/src/components/MkInstanceStats.vue
index d74c885041..da313d4d70 100644
--- a/packages/frontend/src/components/MkInstanceStats.vue
+++ b/packages/frontend/src/components/MkInstanceStats.vue
@@ -121,7 +121,7 @@ function createDoughnut(chartEl, tooltip, data) {
labels: data.map(x => x.name),
datasets: [{
backgroundColor: data.map(x => x.color),
- borderColor: getComputedStyle(document.documentElement).getPropertyValue('--panel'),
+ borderColor: getComputedStyle(document.documentElement).getPropertyValue('--MI_THEME-panel'),
borderWidth: 2,
hoverOffset: 0,
data: data.map(x => x.value),
@@ -256,7 +256,7 @@ onMounted(() => {
flex: 1;
min-width: 0;
position: relative;
- background: var(--panel);
+ background: var(--MI_THEME-panel);
border-radius: var(--radius);
padding: 24px;
max-height: 300px;
diff --git a/packages/frontend/src/components/MkInviteCode.vue b/packages/frontend/src/components/MkInviteCode.vue
index 4aee64f78e..1a71f6574f 100644
--- a/packages/frontend/src/components/MkInviteCode.vue
+++ b/packages/frontend/src/components/MkInviteCode.vue
@@ -8,8 +8,8 @@ SPDX-License-Identifier: AGPL-3.0-only
<template #label>{{ invite.code }}</template>
<template #suffix>
<span v-if="invite.used">{{ i18n.ts.used }}</span>
- <span v-else-if="isExpired" style="color: var(--error)">{{ i18n.ts.expired }}</span>
- <span v-else style="color: var(--success)">{{ i18n.ts.unused }}</span>
+ <span v-else-if="isExpired" style="color: var(--MI_THEME-error)">{{ i18n.ts.expired }}</span>
+ <span v-else style="color: var(--MI_THEME-success)">{{ i18n.ts.unused }}</span>
</template>
<template #footer>
<div class="_buttons">
diff --git a/packages/frontend/src/components/MkLaunchPad.vue b/packages/frontend/src/components/MkLaunchPad.vue
index 8e3c19bd12..2dcba7a50e 100644
--- a/packages/frontend/src/components/MkLaunchPad.vue
+++ b/packages/frontend/src/components/MkLaunchPad.vue
@@ -105,8 +105,8 @@ function close() {
box-sizing: border-box;
&:hover {
- color: var(--accent);
- background: var(--accentedBg);
+ color: var(--MI_THEME-accent);
+ background: var(--MI_THEME-accentedBg);
text-decoration: none;
}
@@ -137,7 +137,7 @@ function close() {
position: absolute;
top: 32px;
left: 32px;
- color: var(--indicator);
+ color: var(--MI_THEME-indicator);
font-size: 8px;
animation: global-blink 1s infinite;
diff --git a/packages/frontend/src/components/MkMediaAudio.vue b/packages/frontend/src/components/MkMediaAudio.vue
index b41705d5e6..915d67db7f 100644
--- a/packages/frontend/src/components/MkMediaAudio.vue
+++ b/packages/frontend/src/components/MkMediaAudio.vue
@@ -391,7 +391,7 @@ onDeactivated(() => {
.audioContainer {
container-type: inline-size;
position: relative;
- border: .5px solid var(--divider);
+ border: .5px solid var(--MI_THEME-divider);
border-radius: var(--radius);
overflow: clip;
@@ -412,7 +412,7 @@ onDeactivated(() => {
height: 100%;
pointer-events: none;
border-radius: inherit;
- box-shadow: inset 0 0 0 4px var(--warn);
+ box-shadow: inset 0 0 0 4px var(--MI_THEME-warn);
}
}
@@ -458,8 +458,8 @@ onDeactivated(() => {
font-size: 1.05rem;
&:hover {
- color: var(--accent);
- background-color: var(--accentedBg);
+ color: var(--MI_THEME-accent);
+ background-color: var(--MI_THEME-accentedBg);
}
&:focus-visible {
diff --git a/packages/frontend/src/components/MkMediaImage.vue b/packages/frontend/src/components/MkMediaImage.vue
index 0c5c8fd9de..fbd973c196 100644
--- a/packages/frontend/src/components/MkMediaImage.vue
+++ b/packages/frontend/src/components/MkMediaImage.vue
@@ -42,7 +42,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<div :class="$style.indicators">
<div v-if="['image/gif', 'image/apng'].includes(image.type)" :class="$style.indicator">GIF</div>
<div v-if="image.comment" :class="$style.indicator">ALT</div>
- <div v-if="image.isSensitive" :class="$style.indicator" style="color: var(--warn);" :title="i18n.ts.sensitive"><i class="ti ti-eye-exclamation"></i></div>
+ <div v-if="image.isSensitive" :class="$style.indicator" style="color: var(--MI_THEME-warn);" :title="i18n.ts.sensitive"><i class="ti ti-eye-exclamation"></i></div>
</div>
<button :class="$style.menu" class="_button" @click.stop="showMenu"><i class="ti ti-dots" style="vertical-align: middle;"></i></button>
<i class="ti ti-eye-off" :class="$style.hide" @click.stop="hide = true"></i>
@@ -165,7 +165,7 @@ function showMenu(ev: MouseEvent) {
height: 100%;
pointer-events: none;
border-radius: inherit;
- box-shadow: inset 0 0 0 4px var(--warn);
+ box-shadow: inset 0 0 0 4px var(--MI_THEME-warn);
}
}
@@ -186,8 +186,8 @@ function showMenu(ev: MouseEvent) {
display: block;
position: absolute;
border-radius: 6px;
- background-color: var(--fg);
- color: var(--accentLighten);
+ background-color: var(--MI_THEME-fg);
+ color: var(--MI_THEME-accentLighten);
font-size: 12px;
opacity: .5;
padding: 5px 8px;
@@ -206,19 +206,19 @@ function showMenu(ev: MouseEvent) {
.visible {
position: relative;
- //box-shadow: 0 0 0 1px var(--divider) inset;
- background: var(--bg);
+ //box-shadow: 0 0 0 1px var(--MI_THEME-divider) inset;
+ background: var(--MI_THEME-bg);
background-size: 16px 16px;
}
html[data-color-scheme=dark] .visible {
--c: rgb(255 255 255 / 2%);
- background-image: linear-gradient(45deg, var(--c) 16.67%, var(--bg) 16.67%, var(--bg) 50%, var(--c) 50%, var(--c) 66.67%, var(--bg) 66.67%, var(--bg) 100%);
+ background-image: linear-gradient(45deg, var(--c) 16.67%, var(--MI_THEME-bg) 16.67%, var(--MI_THEME-bg) 50%, var(--c) 50%, var(--c) 66.67%, var(--MI_THEME-bg) 66.67%, var(--MI_THEME-bg) 100%);
}
html[data-color-scheme=light] .visible {
--c: rgb(0 0 0 / 2%);
- background-image: linear-gradient(45deg, var(--c) 16.67%, var(--bg) 16.67%, var(--bg) 50%, var(--c) 50%, var(--c) 66.67%, var(--bg) 66.67%, var(--bg) 100%);
+ background-image: linear-gradient(45deg, var(--c) 16.67%, var(--MI_THEME-bg) 16.67%, var(--MI_THEME-bg) 50%, var(--c) 50%, var(--c) 66.67%, var(--MI_THEME-bg) 66.67%, var(--MI_THEME-bg) 100%);
}
.menu {
@@ -258,10 +258,10 @@ html[data-color-scheme=light] .visible {
}
.indicator {
- /* Hardcode to black because either --bg or --fg makes it hard to read in dark/light mode */
+ /* Hardcode to black because either --MI_THEME-bg or --MI_THEME-fg makes it hard to read in dark/light mode */
background-color: black;
border-radius: 6px;
- color: var(--accentLighten);
+ color: var(--MI_THEME-accentLighten);
display: inline-block;
font-weight: bold;
font-size: 0.8em;
diff --git a/packages/frontend/src/components/MkMediaList.vue b/packages/frontend/src/components/MkMediaList.vue
index 4a4a99be25..9fab73d87b 100644
--- a/packages/frontend/src/components/MkMediaList.vue
+++ b/packages/frontend/src/components/MkMediaList.vue
@@ -310,13 +310,13 @@ defineExpose({
:global(.pswp) {
--pswp-root-z-index: var(--mk-pswp-root-z-index, 2000700) !important;
- --pswp-bg: var(--modalBg) !important;
+ --pswp-bg: var(--MI_THEME-modalBg) !important;
}
</style>
<style lang="scss">
.pswp__bg {
- background: var(--modalBg);
+ background: var(--MI_THEME-modalBg);
backdrop-filter: var(--modalBgFilter);
}
@@ -335,14 +335,14 @@ defineExpose({
}
.pswp__alt-text {
- color: var(--fg);
+ color: var(--MI_THEME-fg);
margin: 0 auto;
text-align: center;
padding: var(--margin);
border-radius: var(--radius);
max-height: 8em;
overflow-y: auto;
- text-shadow: var(--bg) 0 0 10px, var(--bg) 0 0 3px, var(--bg) 0 0 3px;
+ text-shadow: var(--MI_THEME-bg) 0 0 10px, var(--MI_THEME-bg) 0 0 3px, var(--MI_THEME-bg) 0 0 3px;
white-space: pre-line;
}
</style>
diff --git a/packages/frontend/src/components/MkMediaRange.vue b/packages/frontend/src/components/MkMediaRange.vue
index 86ed8ba2cf..df7505b0c3 100644
--- a/packages/frontend/src/components/MkMediaRange.vue
+++ b/packages/frontend/src/components/MkMediaRange.vue
@@ -5,7 +5,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<!-- Media系専用のinput range -->
<template>
-<div :style="sliderBgWhite ? '--sliderBg: rgba(255,255,255,.25);' : '--sliderBg: var(--scrollbarHandle);'">
+<div :style="sliderBgWhite ? '--sliderBg: rgba(255,255,255,.25);' : '--sliderBg: var(--MI_THEME-scrollbarHandle);'">
<div :class="$style.controlsSeekbar">
<progress v-if="buffer !== undefined" :class="$style.buffer" :value="isNaN(buffer) ? 0 : buffer" min="0" max="1">{{ Math.round(buffer * 100) }}% buffered</progress>
<input v-model="model" :class="$style.seek" :style="`--value: ${modelValue * 100}%;`" type="range" min="0" max="1" step="any" @change="emit('dragEnded', modelValue)"/>
@@ -48,7 +48,7 @@ const modelValue = computed({
background: transparent;
border: 0;
border-radius: 26px;
- color: var(--accent);
+ color: var(--MI_THEME-accent);
display: block;
height: 19px;
margin: 0;
diff --git a/packages/frontend/src/components/MkMediaVideo.vue b/packages/frontend/src/components/MkMediaVideo.vue
index 1b1915e6c8..271c66552b 100644
--- a/packages/frontend/src/components/MkMediaVideo.vue
+++ b/packages/frontend/src/components/MkMediaVideo.vue
@@ -42,7 +42,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<i class="ti ti-eye-off" :class="$style.hide" @click="hide = true"></i>
<div :class="$style.indicators">
<div v-if="video.comment" :class="$style.indicator">ALT</div>
- <div v-if="video.isSensitive" :class="$style.indicator" style="color: var(--warn);" :title="i18n.ts.sensitive"><i class="ti ti-eye-exclamation"></i></div>
+ <div v-if="video.isSensitive" :class="$style.indicator" style="color: var(--MI_THEME-warn);" :title="i18n.ts.sensitive"><i class="ti ti-eye-exclamation"></i></div>
</div>
</div>
@@ -67,7 +67,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<i class="ti ti-eye-off" :class="$style.hide" @click="hide = true"></i>
<div :class="$style.indicators">
<div v-if="video.comment" :class="$style.indicator">ALT</div>
- <div v-if="video.isSensitive" :class="$style.indicator" style="color: var(--warn);" :title="i18n.ts.sensitive"><i class="ti ti-eye-exclamation"></i></div>
+ <div v-if="video.isSensitive" :class="$style.indicator" style="color: var(--MI_THEME-warn);" :title="i18n.ts.sensitive"><i class="ti ti-eye-exclamation"></i></div>
</div>
<div :class="$style.videoControls" @click.self="togglePlayPause">
<div :class="[$style.controlsChild, $style.controlsLeft]">
@@ -508,7 +508,7 @@ onDeactivated(() => {
height: 100%;
pointer-events: none;
border-radius: inherit;
- box-shadow: inset 0 0 0 4px var(--warn);
+ box-shadow: inset 0 0 0 4px var(--MI_THEME-warn);
}
}
@@ -523,10 +523,10 @@ onDeactivated(() => {
}
.indicator {
- /* Hardcode to black because either --bg or --fg makes it hard to read in dark/light mode */
+ /* Hardcode to black because either --MI_THEME-bg or --MI_THEME-fg makes it hard to read in dark/light mode */
background-color: black;
border-radius: 6px;
- color: var(--accentLighten);
+ color: var(--MI_THEME-accentLighten);
display: inline-block;
font-weight: bold;
font-size: 0.8em;
@@ -537,8 +537,8 @@ onDeactivated(() => {
display: block;
position: absolute;
border-radius: 6px;
- background-color: var(--fg);
- color: var(--accentLighten);
+ background-color: var(--MI_THEME-fg);
+ color: var(--MI_THEME-accentLighten);
font-size: 12px;
opacity: .5;
padding: 5px 8px;
@@ -592,7 +592,7 @@ onDeactivated(() => {
opacity: 0;
transition: opacity .4s ease-in-out;
- background: var(--accent);
+ background: var(--MI_THEME-accent);
color: #fff;
padding: 1rem;
border-radius: 99rem;
@@ -663,7 +663,7 @@ onDeactivated(() => {
font-size: 1.05rem;
&:hover {
- background-color: var(--accent);
+ background-color: var(--MI_THEME-accent);
}
&:focus-visible {
diff --git a/packages/frontend/src/components/MkMention.vue b/packages/frontend/src/components/MkMention.vue
index 71bd5addfb..ac2d3f4398 100644
--- a/packages/frontend/src/components/MkMention.vue
+++ b/packages/frontend/src/components/MkMention.vue
@@ -47,12 +47,12 @@ const avatarUrl = computed(() => defaultStore.state.disableShowingAnimatedImages
display: inline-block;
padding: 4px 8px 4px 4px;
border-radius: 999px;
- color: var(--mention);
- background: color(from var(--mention) srgb r g b / 0.1);
+ color: var(--MI_THEME-mention);
+ background: color(from var(--MI_THEME-mention) srgb r g b / 0.1);
&.isMe {
- color: var(--mentionMe);
- background: color(from var(--mentionMe) srgb r g b / 0.1);
+ color: var(--MI_THEME-mentionMe);
+ background: color(from var(--MI_THEME-mentionMe) srgb r g b / 0.1);
}
}
diff --git a/packages/frontend/src/components/MkMenu.vue b/packages/frontend/src/components/MkMenu.vue
index 14f6bdcc34..59f36f8eec 100644
--- a/packages/frontend/src/components/MkMenu.vue
+++ b/packages/frontend/src/components/MkMenu.vue
@@ -507,7 +507,7 @@ onBeforeUnmount(() => {
overflow: hidden;
text-overflow: ellipsis;
text-decoration: none !important;
- color: var(--menuFg, var(--fg));
+ color: var(--menuFg, var(--MI_THEME-fg));
&::before {
content: "";
@@ -527,7 +527,7 @@ onBeforeUnmount(() => {
outline: none;
&:not(:hover):not(:active)::before {
- outline: var(--focus) solid 2px;
+ outline: var(--MI_THEME-focus) solid 2px;
outline-offset: -2px;
}
}
@@ -536,19 +536,19 @@ onBeforeUnmount(() => {
&:hover,
&:focus-visible:active,
&:focus-visible.active {
- color: var(--menuHoverFg, var(--accent));
+ color: var(--menuHoverFg, var(--MI_THEME-accent));
&::before {
- background-color: var(--menuHoverBg, var(--accentedBg));
+ background-color: var(--menuHoverBg, var(--MI_THEME-accentedBg));
}
}
&:not(:focus-visible):active,
&:not(:focus-visible).active {
- color: var(--menuActiveFg, var(--fgOnAccent));
+ color: var(--menuActiveFg, var(--MI_THEME-fgOnAccent));
&::before {
- background-color: var(--menuActiveBg, var(--accent));
+ background-color: var(--menuActiveBg, var(--MI_THEME-accent));
}
}
}
@@ -566,13 +566,13 @@ onBeforeUnmount(() => {
}
&.radio {
- --menuActiveFg: var(--accent);
- --menuActiveBg: var(--accentedBg);
+ --menuActiveFg: var(--MI_THEME-accent);
+ --menuActiveBg: var(--MI_THEME-accentedBg);
}
&.parent {
- --menuActiveFg: var(--accent);
- --menuActiveBg: var(--accentedBg);
+ --menuActiveFg: var(--MI_THEME-accent);
+ --menuActiveBg: var(--MI_THEME-accentedBg);
}
&.label {
@@ -637,14 +637,14 @@ onBeforeUnmount(() => {
.indicator {
display: flex;
align-items: center;
- color: var(--indicator);
+ color: var(--MI_THEME-indicator);
font-size: 12px;
animation: global-blink 1s infinite;
}
.divider {
margin: 8px 0;
- border-top: solid 0.5px var(--divider);
+ border-top: solid 0.5px var(--MI_THEME-divider);
}
.radioIcon {
@@ -654,11 +654,11 @@ onBeforeUnmount(() => {
height: 1em;
vertical-align: -0.125em;
border-radius: 50%;
- border: solid 2px var(--divider);
- background-color: var(--panel);
+ border: solid 2px var(--MI_THEME-divider);
+ background-color: var(--MI_THEME-panel);
&.radioChecked {
- border-color: var(--accent);
+ border-color: var(--MI_THEME-accent);
&::after {
content: "";
@@ -670,7 +670,7 @@ onBeforeUnmount(() => {
width: 50%;
height: 50%;
border-radius: 50%;
- background-color: var(--accent);
+ background-color: var(--MI_THEME-accent);
}
}
}
diff --git a/packages/frontend/src/components/MkMiniChart.vue b/packages/frontend/src/components/MkMiniChart.vue
index 1b6f6cef31..7ea585ecc2 100644
--- a/packages/frontend/src/components/MkMiniChart.vue
+++ b/packages/frontend/src/components/MkMiniChart.vue
@@ -48,7 +48,7 @@ const polygonPoints = ref('');
const headX = ref<number | null>(null);
const headY = ref<number | null>(null);
const clock = ref<number | null>(null);
-const accent = tinycolor(getComputedStyle(document.documentElement).getPropertyValue('--accent'));
+const accent = tinycolor(getComputedStyle(document.documentElement).getPropertyValue('--MI_THEME-accent'));
const color = accent.toRgbString();
function draw(): void {
diff --git a/packages/frontend/src/components/MkModalWindow.vue b/packages/frontend/src/components/MkModalWindow.vue
index f26959888b..c77611ef12 100644
--- a/packages/frontend/src/components/MkModalWindow.vue
+++ b/packages/frontend/src/components/MkModalWindow.vue
@@ -94,8 +94,8 @@ defineExpose({
--root-margin: 24px;
- --headerHeight: 46px;
- --headerHeightNarrow: 42px;
+ --MI_THEME-headerHeight: 46px;
+ --MI_THEME-headerHeightNarrow: 42px;
@media (max-width: 500px) {
--root-margin: 16px;
@@ -105,24 +105,24 @@ defineExpose({
.header {
display: flex;
flex-shrink: 0;
- background: var(--windowHeader);
+ background: var(--MI_THEME-windowHeader);
-webkit-backdrop-filter: var(--blur, blur(15px));
backdrop-filter: var(--blur, blur(15px));
}
.headerButton {
- height: var(--headerHeight);
- width: var(--headerHeight);
+ height: var(--MI_THEME-headerHeight);
+ width: var(--MI_THEME-headerHeight);
@media (max-width: 500px) {
- height: var(--headerHeightNarrow);
- width: var(--headerHeightNarrow);
+ height: var(--MI_THEME-headerHeightNarrow);
+ width: var(--MI_THEME-headerHeightNarrow);
}
}
.title {
flex: 1;
- line-height: var(--headerHeight);
+ line-height: var(--MI_THEME-headerHeight);
padding-left: 32px;
font-weight: bold;
white-space: nowrap;
@@ -131,7 +131,7 @@ defineExpose({
pointer-events: none;
@media (max-width: 500px) {
- line-height: var(--headerHeightNarrow);
+ line-height: var(--MI_THEME-headerHeightNarrow);
padding-left: 16px;
}
}
@@ -143,7 +143,7 @@ defineExpose({
.body {
flex: 1;
overflow: auto;
- background: var(--panel);
+ background: var(--MI_THEME-panel);
container-type: size;
}
</style>
diff --git a/packages/frontend/src/components/MkNote.vue b/packages/frontend/src/components/MkNote.vue
index e8ff743bf2..c5f5431dcf 100644
--- a/packages/frontend/src/components/MkNote.vue
+++ b/packages/frontend/src/components/MkNote.vue
@@ -126,8 +126,8 @@ SPDX-License-Identifier: AGPL-3.0-only
<i class="ti ti-ban"></i>
</button>
<button ref="reactButton" :class="$style.footerButton" class="_button" @click="toggleReact()">
- <i v-if="appearNote.reactionAcceptance === 'likeOnly' && appearNote.myReaction != null" class="ti ti-heart-filled" style="color: var(--love);"></i>
- <i v-else-if="appearNote.myReaction != null" class="ti ti-minus" style="color: var(--accent);"></i>
+ <i v-if="appearNote.reactionAcceptance === 'likeOnly' && appearNote.myReaction != null" class="ti ti-heart-filled" style="color: var(--MI_THEME-love);"></i>
+ <i v-else-if="appearNote.myReaction != null" class="ti ti-minus" style="color: var(--MI_THEME-accent);"></i>
<i v-else-if="appearNote.reactionAcceptance === 'likeOnly'" class="ti ti-heart"></i>
<i v-else class="ti ti-plus"></i>
<p v-if="(appearNote.reactionAcceptance === 'likeOnly' || defaultStore.state.showReactionsCount) && appearNote.reactionCount > 0" :class="$style.footerButtonCount">{{ number(appearNote.reactionCount) }}</p>
@@ -643,7 +643,7 @@ function emitUpdReaction(emoji: string, delta: number) {
margin: auto;
width: calc(100% - 8px);
height: calc(100% - 8px);
- border: dashed 2px var(--focus);
+ border: dashed 2px var(--MI_THEME-focus);
border-radius: var(--radius);
box-sizing: border-box;
}
@@ -666,9 +666,9 @@ function emitUpdReaction(emoji: string, delta: number) {
right: 12px;
padding: 0 4px;
margin-bottom: 0 !important;
- background: var(--popup);
+ background: var(--MI_THEME-popup);
border-radius: 8px;
- box-shadow: 0px 4px 32px var(--shadow);
+ box-shadow: 0px 4px 32px var(--MI_THEME-shadow);
}
.footerButton {
@@ -713,7 +713,7 @@ function emitUpdReaction(emoji: string, delta: number) {
padding: 16px 32px 8px 32px;
line-height: 28px;
white-space: pre;
- color: var(--renote);
+ color: var(--MI_THEME-renote);
& + .article {
padding-top: 8px;
@@ -836,7 +836,7 @@ function emitUpdReaction(emoji: string, delta: number) {
.showLessLabel {
display: inline-block;
- background: var(--popup);
+ background: var(--MI_THEME-popup);
padding: 6px 10px;
font-size: 0.8em;
border-radius: 999px;
@@ -857,16 +857,16 @@ function emitUpdReaction(emoji: string, delta: number) {
z-index: 2;
width: 100%;
height: 64px;
- background: linear-gradient(0deg, var(--panel), color(from var(--panel) srgb r g b / 0));
+ background: linear-gradient(0deg, var(--MI_THEME-panel), color(from var(--MI_THEME-panel) srgb r g b / 0));
&:hover > .collapsedLabel {
- background: var(--panelHighlight);
+ background: var(--MI_THEME-panelHighlight);
}
}
.collapsedLabel {
display: inline-block;
- background: var(--panel);
+ background: var(--MI_THEME-panel);
padding: 6px 10px;
font-size: 0.8em;
border-radius: 999px;
@@ -878,12 +878,12 @@ function emitUpdReaction(emoji: string, delta: number) {
}
.replyIcon {
- color: var(--accent);
+ color: var(--MI_THEME-accent);
margin-right: 0.5em;
}
.translation {
- border: solid 0.5px var(--divider);
+ border: solid 0.5px var(--MI_THEME-divider);
border-radius: var(--radius);
padding: 12px;
margin-top: 8px;
@@ -903,7 +903,7 @@ function emitUpdReaction(emoji: string, delta: number) {
.quoteNote {
padding: 16px;
- border: dashed 1px var(--renote);
+ border: dashed 1px var(--MI_THEME-renote);
border-radius: 8px;
overflow: clip;
}
@@ -927,7 +927,7 @@ function emitUpdReaction(emoji: string, delta: number) {
}
&:hover {
- color: var(--fgHighlighted);
+ color: var(--MI_THEME-fgHighlighted);
}
}
diff --git a/packages/frontend/src/components/MkNoteDetailed.vue b/packages/frontend/src/components/MkNoteDetailed.vue
index bdb800b32a..8a7a98d23f 100644
--- a/packages/frontend/src/components/MkNoteDetailed.vue
+++ b/packages/frontend/src/components/MkNoteDetailed.vue
@@ -135,8 +135,8 @@ SPDX-License-Identifier: AGPL-3.0-only
<i class="ti ti-ban"></i>
</button>
<button ref="reactButton" :class="$style.noteFooterButton" class="_button" @click="toggleReact()">
- <i v-if="appearNote.reactionAcceptance === 'likeOnly' && appearNote.myReaction != null" class="ti ti-heart-filled" style="color: var(--love);"></i>
- <i v-else-if="appearNote.myReaction != null" class="ti ti-minus" style="color: var(--accent);"></i>
+ <i v-if="appearNote.reactionAcceptance === 'likeOnly' && appearNote.myReaction != null" class="ti ti-heart-filled" style="color: var(--MI_THEME-love);"></i>
+ <i v-else-if="appearNote.myReaction != null" class="ti ti-minus" style="color: var(--MI_THEME-accent);"></i>
<i v-else-if="appearNote.reactionAcceptance === 'likeOnly'" class="ti ti-heart"></i>
<i v-else class="ti ti-plus"></i>
<p v-if="(appearNote.reactionAcceptance === 'likeOnly' || defaultStore.state.showReactionsCount) && appearNote.reactionCount > 0" :class="$style.noteFooterButtonCount">{{ number(appearNote.reactionCount) }}</p>
@@ -569,7 +569,7 @@ function loadConversation() {
margin: auto;
width: calc(100% - 8px);
height: calc(100% - 8px);
- border: dashed 2px var(--focus);
+ border: dashed 2px var(--MI_THEME-focus);
border-radius: var(--radius);
box-sizing: border-box;
}
@@ -591,7 +591,7 @@ function loadConversation() {
padding: 16px 32px 8px 32px;
line-height: 28px;
white-space: pre;
- color: var(--renote);
+ color: var(--MI_THEME-renote);
}
.renoteAvatar {
@@ -671,7 +671,7 @@ function loadConversation() {
padding: 4px 6px;
font-size: 80%;
line-height: 1;
- border: solid 0.5px var(--divider);
+ border: solid 0.5px var(--MI_THEME-divider);
border-radius: 4px;
}
@@ -699,18 +699,18 @@ function loadConversation() {
}
.noteReplyTarget {
- color: var(--accent);
+ color: var(--MI_THEME-accent);
margin-right: 0.5em;
}
.rn {
margin-left: 4px;
font-style: oblique;
- color: var(--renote);
+ color: var(--MI_THEME-renote);
}
.translation {
- border: solid 0.5px var(--divider);
+ border: solid 0.5px var(--MI_THEME-divider);
border-radius: var(--radius);
padding: 12px;
margin-top: 8px;
@@ -726,7 +726,7 @@ function loadConversation() {
.quoteNote {
padding: 16px;
- border: dashed 1px var(--renote);
+ border: dashed 1px var(--MI_THEME-renote);
border-radius: 8px;
overflow: clip;
}
@@ -752,7 +752,7 @@ function loadConversation() {
}
&:hover {
- color: var(--fgHighlighted);
+ color: var(--MI_THEME-fgHighlighted);
}
}
@@ -762,17 +762,17 @@ function loadConversation() {
opacity: 0.7;
&.reacted {
- color: var(--accent);
+ color: var(--MI_THEME-accent);
}
}
.reply:not(:first-child) {
- border-top: solid 0.5px var(--divider);
+ border-top: solid 0.5px var(--MI_THEME-divider);
}
.tabs {
- border-top: solid 0.5px var(--divider);
- border-bottom: solid 0.5px var(--divider);
+ border-top: solid 0.5px var(--MI_THEME-divider);
+ border-bottom: solid 0.5px var(--MI_THEME-divider);
display: flex;
}
@@ -784,7 +784,7 @@ function loadConversation() {
}
.tabActive {
- border-bottom: solid 2px var(--accent);
+ border-bottom: solid 2px var(--MI_THEME-accent);
}
.tab_renotes {
@@ -804,12 +804,12 @@ function loadConversation() {
.reactionTab {
padding: 4px 6px;
- border: solid 1px var(--divider);
+ border: solid 1px var(--MI_THEME-divider);
border-radius: 6px;
}
.reactionTabActive {
- border-color: var(--accent);
+ border-color: var(--MI_THEME-accent);
}
@container (max-width: 500px) {
diff --git a/packages/frontend/src/components/MkNoteHeader.vue b/packages/frontend/src/components/MkNoteHeader.vue
index a75b9ddd10..750e32a9ff 100644
--- a/packages/frontend/src/components/MkNoteHeader.vue
+++ b/packages/frontend/src/components/MkNoteHeader.vue
@@ -78,7 +78,7 @@ const mock = inject<boolean>('mock', false);
margin: 0 .5em 0 0;
padding: 1px 6px;
font-size: 80%;
- border: solid 0.5px var(--divider);
+ border: solid 0.5px var(--MI_THEME-divider);
border-radius: 3px;
}
diff --git a/packages/frontend/src/components/MkNoteSub.vue b/packages/frontend/src/components/MkNoteSub.vue
index 829b37e7a7..e4bade309b 100644
--- a/packages/frontend/src/components/MkNoteSub.vue
+++ b/packages/frontend/src/components/MkNoteSub.vue
@@ -135,7 +135,7 @@ if (props.detail) {
}
.reply, .more {
- border-left: solid 0.5px var(--divider);
+ border-left: solid 0.5px var(--MI_THEME-divider);
margin-top: 10px;
}
@@ -156,7 +156,7 @@ if (props.detail) {
.muted {
text-align: center;
padding: 8px !important;
- border: 1px solid var(--divider);
+ border: 1px solid var(--MI_THEME-divider);
margin: 8px 8px 0 8px;
border-radius: 8px;
}
diff --git a/packages/frontend/src/components/MkNotes.vue b/packages/frontend/src/components/MkNotes.vue
index 0856c146ba..cb240160cf 100644
--- a/packages/frontend/src/components/MkNotes.vue
+++ b/packages/frontend/src/components/MkNotes.vue
@@ -56,16 +56,16 @@ defineExpose({
.root {
&.noGap {
> .notes {
- background: var(--panel);
+ background: var(--MI_THEME-panel);
}
}
&:not(.noGap) {
> .notes {
- background: var(--bg);
+ background: var(--MI_THEME-bg);
.note {
- background: var(--panel);
+ background: var(--MI_THEME-panel);
border-radius: var(--radius);
}
}
diff --git a/packages/frontend/src/components/MkNotification.vue b/packages/frontend/src/components/MkNotification.vue
index b27d883b85..bef425097e 100644
--- a/packages/frontend/src/components/MkNotification.vue
+++ b/packages/frontend/src/components/MkNotification.vue
@@ -224,7 +224,7 @@ function getActualReactedUsersCount(notification: Misskey.entities.Notification)
--eventFollow: #36aed2;
--eventRenote: #36d298;
--eventReply: #007aff;
- --eventReactionHeart: var(--love);
+ --eventReactionHeart: var(--MI_THEME-love);
--eventReaction: #e99a0b;
--eventAchievement: #cb9a11;
--eventLogin: #007aff;
@@ -284,8 +284,8 @@ function getActualReactedUsersCount(notification: Misskey.entities.Notification)
height: 20px;
box-sizing: border-box;
border-radius: 100%;
- background: var(--panel);
- box-shadow: 0 0 0 3px var(--panel);
+ background: var(--MI_THEME-panel);
+ box-shadow: 0 0 0 3px var(--MI_THEME-panel);
font-size: 11px;
text-align: center;
color: #fff;
@@ -437,8 +437,8 @@ function getActualReactedUsersCount(notification: Misskey.entities.Notification)
height: 20px;
box-sizing: border-box;
border-radius: 100%;
- background: var(--panel);
- box-shadow: 0 0 0 3px var(--panel);
+ background: var(--MI_THEME-panel);
+ box-shadow: 0 0 0 3px var(--MI_THEME-panel);
font-size: 11px;
text-align: center;
color: #fff;
diff --git a/packages/frontend/src/components/MkNotifications.vue b/packages/frontend/src/components/MkNotifications.vue
index d67616e6b2..5a6ada474a 100644
--- a/packages/frontend/src/components/MkNotifications.vue
+++ b/packages/frontend/src/components/MkNotifications.vue
@@ -106,6 +106,6 @@ defineExpose({
<style lang="scss" module>
.list {
- background: var(--panel);
+ background: var(--MI_THEME-panel);
}
</style>
diff --git a/packages/frontend/src/components/MkNumberDiff.vue b/packages/frontend/src/components/MkNumberDiff.vue
index 1825cc5405..80c634fdce 100644
--- a/packages/frontend/src/components/MkNumberDiff.vue
+++ b/packages/frontend/src/components/MkNumberDiff.vue
@@ -24,11 +24,11 @@ const isZero = computed(() => props.value === 0);
<style lang="scss" module>
.isPlus {
- color: var(--success);
+ color: var(--MI_THEME-success);
}
.isMinus {
- color: var(--error);
+ color: var(--MI_THEME-error);
}
.isZero {
diff --git a/packages/frontend/src/components/MkObjectView.value.vue b/packages/frontend/src/components/MkObjectView.value.vue
index 870599aa94..dabdd324fd 100644
--- a/packages/frontend/src/components/MkObjectView.value.vue
+++ b/packages/frontend/src/components/MkObjectView.value.vue
@@ -78,7 +78,7 @@ function collapsable(v): boolean {
> .boolean {
display: inline;
- color: var(--codeBoolean);
+ color: var(--MI_THEME-codeBoolean);
&.true {
font-weight: bold;
@@ -91,12 +91,12 @@ function collapsable(v): boolean {
> .string {
display: inline;
- color: var(--codeString);
+ color: var(--MI_THEME-codeString);
}
> .number {
display: inline;
- color: var(--codeNumber);
+ color: var(--MI_THEME-codeNumber);
}
> .array.empty {
@@ -127,7 +127,7 @@ function collapsable(v): boolean {
> .toggle {
width: 16px;
- color: var(--accent);
+ color: var(--MI_THEME-accent);
visibility: hidden;
&.visible {
diff --git a/packages/frontend/src/components/MkOmit.vue b/packages/frontend/src/components/MkOmit.vue
index ee1f15c189..38c8664575 100644
--- a/packages/frontend/src/components/MkOmit.vue
+++ b/packages/frontend/src/components/MkOmit.vue
@@ -62,11 +62,11 @@ onUnmounted(() => {
left: 0;
width: 100%;
height: 64px;
- background: linear-gradient(0deg, var(--panel), color(from var(--panel) srgb r g b / 0));
+ background: linear-gradient(0deg, var(--MI_THEME-panel), color(from var(--MI_THEME-panel) srgb r g b / 0));
> .fadeLabel {
display: inline-block;
- background: var(--panel);
+ background: var(--MI_THEME-panel);
padding: 6px 10px;
font-size: 0.8em;
border-radius: 999px;
@@ -75,7 +75,7 @@ onUnmounted(() => {
&:hover {
> .fadeLabel {
- background: var(--panelHighlight);
+ background: var(--MI_THEME-panelHighlight);
}
}
}
diff --git a/packages/frontend/src/components/MkPagePreview.vue b/packages/frontend/src/components/MkPagePreview.vue
index 8559d4b96e..b5281d8a3d 100644
--- a/packages/frontend/src/components/MkPagePreview.vue
+++ b/packages/frontend/src/components/MkPagePreview.vue
@@ -54,7 +54,7 @@ const props = defineProps<{
&:hover {
text-decoration: none;
- color: var(--accent);
+ color: var(--MI_THEME-accent);
}
&:focus-within {
@@ -69,7 +69,7 @@ const props = defineProps<{
height: 100%;
border-radius: var(--radius);
pointer-events: none;
- box-shadow: inset 0 0 0 2px var(--focus);
+ box-shadow: inset 0 0 0 2px var(--MI_THEME-focus);
}
}
@@ -80,7 +80,7 @@ const props = defineProps<{
}
> article {
- background-color: var(--panel);
+ background-color: var(--MI_THEME-panel);
padding: 16px;
border-radius: var(--radius);
diff --git a/packages/frontend/src/components/MkPageWindow.vue b/packages/frontend/src/components/MkPageWindow.vue
index 2b993ab12f..421051f73d 100644
--- a/packages/frontend/src/components/MkPageWindow.vue
+++ b/packages/frontend/src/components/MkPageWindow.vue
@@ -179,7 +179,7 @@ defineExpose({
overscroll-behavior: contain;
min-height: 100%;
- background: var(--bg);
+ background: var(--MI_THEME-bg);
--margin: var(--marginHalf);
}
diff --git a/packages/frontend/src/components/MkPoll.vue b/packages/frontend/src/components/MkPoll.vue
index e1d5db2730..48913004e0 100644
--- a/packages/frontend/src/components/MkPoll.vue
+++ b/packages/frontend/src/components/MkPoll.vue
@@ -9,7 +9,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<li v-for="(choice, i) in poll.choices" :key="i" :class="$style.choice" @click="vote(i)">
<div :class="$style.bg" :style="{ 'width': `${showResult ? (choice.votes / total * 100) : 0}%` }"></div>
<span :class="$style.fg">
- <template v-if="choice.isVoted"><i class="ti ti-check" style="margin-right: 4px; color: var(--accent);"></i></template>
+ <template v-if="choice.isVoted"><i class="ti ti-check" style="margin-right: 4px; color: var(--MI_THEME-accent);"></i></template>
<Mfm :text="choice.text" :plain="true"/>
<span v-if="showResult" style="margin-left: 4px; opacity: 0.7;">({{ i18n.tsx._poll.votesCount({ n: choice.votes }) }})</span>
</span>
@@ -114,8 +114,8 @@ const vote = async (id) => {
position: relative;
margin: 4px 0;
padding: 4px;
- //border: solid 0.5px var(--divider);
- background: var(--accentedBg);
+ //border: solid 0.5px var(--MI_THEME-divider);
+ background: var(--MI_THEME-accentedBg);
border-radius: 4px;
overflow: clip;
cursor: pointer;
@@ -126,8 +126,8 @@ const vote = async (id) => {
top: 0;
left: 0;
height: 100%;
- background: var(--accent);
- background: linear-gradient(90deg,var(--buttonGradateA),var(--buttonGradateB));
+ background: var(--MI_THEME-accent);
+ background: linear-gradient(90deg,var(--MI_THEME-buttonGradateA),var(--MI_THEME-buttonGradateB));
transition: width 1s ease;
}
@@ -135,12 +135,12 @@ const vote = async (id) => {
position: relative;
display: inline-block;
padding: 3px 5px;
- background: var(--panel);
+ background: var(--MI_THEME-panel);
border-radius: 3px;
}
.info {
- color: var(--fg);
+ color: var(--MI_THEME-fg);
}
.done {
diff --git a/packages/frontend/src/components/MkPostForm.vue b/packages/frontend/src/components/MkPostForm.vue
index 471ffdd896..76a6e4212a 100644
--- a/packages/frontend/src/components/MkPostForm.vue
+++ b/packages/frontend/src/components/MkPostForm.vue
@@ -1113,7 +1113,7 @@ defineExpose({
outline: none;
.submitInner {
- outline: 2px solid var(--fgOnAccent);
+ outline: 2px solid var(--MI_THEME-fgOnAccent);
outline-offset: -4px;
}
}
@@ -1128,13 +1128,13 @@ defineExpose({
&:not(:disabled):hover {
> .inner {
- background: linear-gradient(90deg, hsl(from var(--accent) h s calc(l + 5)), hsl(from var(--accent) h s calc(l + 5)));
+ 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 {
- background: linear-gradient(90deg, hsl(from var(--accent) h s calc(l + 5)), hsl(from var(--accent) h s calc(l + 5)));
+ 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)));
}
}
}
@@ -1156,8 +1156,8 @@ defineExpose({
border-radius: 6px;
min-width: 90px;
box-sizing: border-box;
- color: var(--fgOnAccent);
- background: linear-gradient(90deg, var(--buttonGradateA), var(--buttonGradateB));
+ color: var(--MI_THEME-fgOnAccent);
+ background: linear-gradient(90deg, var(--MI_THEME-buttonGradateA), var(--MI_THEME-buttonGradateB));
}
.headerRightItem {
@@ -1166,7 +1166,7 @@ defineExpose({
border-radius: 6px;
&:hover {
- background: var(--X5);
+ background: var(--MI_THEME-X5);
}
&:disabled {
@@ -1218,7 +1218,7 @@ html[data-color-scheme=light] .preview {
.withQuote {
margin: 0 0 8px 0;
- color: var(--accent);
+ color: var(--MI_THEME-accent);
}
.toSpecified {
@@ -1238,7 +1238,7 @@ html[data-color-scheme=light] .preview {
margin-right: 14px;
padding: 8px 0 8px 8px;
border-radius: 8px;
- background: var(--X4);
+ background: var(--MI_THEME-X4);
}
.hasNotSpecifiedMentions {
@@ -1257,7 +1257,7 @@ html[data-color-scheme=light] .preview {
border: none;
border-radius: 0;
background: transparent;
- color: var(--fg);
+ color: var(--MI_THEME-fg);
font-family: inherit;
&:focus {
@@ -1272,14 +1272,14 @@ html[data-color-scheme=light] .preview {
.cw {
z-index: 1;
padding-bottom: 8px;
- border-bottom: solid 0.5px var(--divider);
+ border-bottom: solid 0.5px var(--MI_THEME-divider);
}
.hashtags {
z-index: 1;
padding-top: 8px;
padding-bottom: 8px;
- border-top: solid 0.5px var(--divider);
+ border-top: solid 0.5px var(--MI_THEME-divider);
}
.textOuter {
@@ -1305,7 +1305,7 @@ html[data-color-scheme=light] .preview {
right: 2px;
padding: 4px 6px;
font-size: .9em;
- color: var(--warn);
+ color: var(--MI_THEME-warn);
border-radius: 6px;
min-width: 1.6em;
text-align: center;
@@ -1349,16 +1349,16 @@ html[data-color-scheme=light] .preview {
border-radius: 6px;
&:hover {
- background: var(--X5);
+ background: var(--MI_THEME-X5);
}
&.footerButtonActive {
- color: var(--accent);
+ color: var(--MI_THEME-accent);
}
}
.previewButtonActive {
- color: var(--accent);
+ color: var(--MI_THEME-accent);
}
@container (max-width: 500px) {
diff --git a/packages/frontend/src/components/MkPostFormAttaches.vue b/packages/frontend/src/components/MkPostFormAttaches.vue
index 42322fec3d..ee7038df64 100644
--- a/packages/frontend/src/components/MkPostFormAttaches.vue
+++ b/packages/frontend/src/components/MkPostFormAttaches.vue
@@ -216,7 +216,7 @@ function showFileMenu(file: Misskey.entities.DriveFile, ev: MouseEvent | Keyboar
width: 100%;
height: 100%;
z-index: 1;
- color: var(--fg);
+ color: var(--MI_THEME-fg);
}
.sensitive {
diff --git a/packages/frontend/src/components/MkRadio.vue b/packages/frontend/src/components/MkRadio.vue
index 22fc86723e..e735d9fff8 100644
--- a/packages/frontend/src/components/MkRadio.vue
+++ b/packages/frontend/src/components/MkRadio.vue
@@ -53,9 +53,9 @@ function toggle(): void {
cursor: pointer;
padding: 7px 10px;
min-width: 60px;
- background-color: var(--panel);
+ background-color: var(--MI_THEME-panel);
background-clip: padding-box !important;
- border: solid 1px var(--panel);
+ border: solid 1px var(--MI_THEME-panel);
border-radius: 6px;
font-size: 90%;
transition: all 0.2s;
@@ -67,25 +67,25 @@ function toggle(): void {
}
&:hover {
- border-color: var(--inputBorderHover) !important;
+ border-color: var(--MI_THEME-inputBorderHover) !important;
}
&:focus-within {
outline: none;
- box-shadow: 0 0 0 2px var(--focus);
+ box-shadow: 0 0 0 2px var(--MI_THEME-focus);
}
&.checked {
- background-color: var(--accentedBg) !important;
- border-color: var(--accentedBg) !important;
- color: var(--accent);
+ background-color: var(--MI_THEME-accentedBg) !important;
+ border-color: var(--MI_THEME-accentedBg) !important;
+ color: var(--MI_THEME-accent);
cursor: default !important;
> .button {
- border-color: var(--accent);
+ border-color: var(--MI_THEME-accent);
&::after {
- background-color: var(--accent);
+ background-color: var(--MI_THEME-accent);
transform: scale(1);
opacity: 1;
}
@@ -106,7 +106,7 @@ function toggle(): void {
width: 14px;
height: 14px;
background: none;
- border: solid 2px var(--inputBorder);
+ border: solid 2px var(--MI_THEME-inputBorder);
border-radius: 100%;
transition: inherit;
diff --git a/packages/frontend/src/components/MkRadios.vue b/packages/frontend/src/components/MkRadios.vue
index 705c93f770..af81eb814d 100644
--- a/packages/frontend/src/components/MkRadios.vue
+++ b/packages/frontend/src/components/MkRadios.vue
@@ -77,7 +77,7 @@ export default defineComponent({
> .caption {
font-size: 0.85em;
padding: 8px 0 0 0;
- color: var(--fgTransparentWeak);
+ color: var(--MI_THEME-fgTransparentWeak);
&:empty {
display: none;
diff --git a/packages/frontend/src/components/MkRange.vue b/packages/frontend/src/components/MkRange.vue
index cfaaa67d58..264b559222 100644
--- a/packages/frontend/src/components/MkRange.vue
+++ b/packages/frontend/src/components/MkRange.vue
@@ -212,7 +212,7 @@ function onMousedown(ev: MouseEvent | TouchEvent) {
> .caption {
font-size: 0.85em;
padding: 8px 0 0 0;
- color: var(--fgTransparentWeak);
+ color: var(--MI_THEME-fgTransparentWeak);
&:empty {
display: none;
@@ -224,8 +224,8 @@ function onMousedown(ev: MouseEvent | TouchEvent) {
> .body {
padding: 7px 12px;
- background: var(--panel);
- border: solid 1px var(--panel);
+ background: var(--MI_THEME-panel);
+ border: solid 1px var(--MI_THEME-panel);
border-radius: 6px;
> .container {
@@ -250,7 +250,7 @@ function onMousedown(ev: MouseEvent | TouchEvent) {
top: 0;
left: 0;
height: 100%;
- background: var(--accent);
+ background: var(--MI_THEME-accent);
opacity: 0.5;
}
}
@@ -272,7 +272,7 @@ function onMousedown(ev: MouseEvent | TouchEvent) {
width: $tickWidth;
height: 3px;
margin-left: - math.div($tickWidth, 2);
- background: var(--divider);
+ background: var(--MI_THEME-divider);
border-radius: 999px;
}
}
@@ -282,11 +282,11 @@ function onMousedown(ev: MouseEvent | TouchEvent) {
width: $thumbWidth;
height: $thumbHeight;
cursor: grab;
- background: var(--accent);
+ background: var(--MI_THEME-accent);
border-radius: 999px;
&:hover {
- background: var(--accentLighten);
+ background: var(--MI_THEME-accentLighten);
}
}
}
diff --git a/packages/frontend/src/components/MkReactionEffect.vue b/packages/frontend/src/components/MkReactionEffect.vue
index 361e246e9f..5a59a5e055 100644
--- a/packages/frontend/src/components/MkReactionEffect.vue
+++ b/packages/frontend/src/components/MkReactionEffect.vue
@@ -60,7 +60,7 @@ onMounted(() => {
right: 0;
bottom: 0;
margin: auto;
- color: var(--accent);
+ color: var(--MI_THEME-accent);
font-size: 18px;
font-weight: bold;
transform: translateY(-30px);
diff --git a/packages/frontend/src/components/MkReactionsViewer.details.vue b/packages/frontend/src/components/MkReactionsViewer.details.vue
index 8038ec7429..f4c3643ba8 100644
--- a/packages/frontend/src/components/MkReactionsViewer.details.vue
+++ b/packages/frontend/src/components/MkReactionsViewer.details.vue
@@ -57,7 +57,7 @@ function getReactionName(reaction: string): string {
max-width: 100px;
padding-right: 10px;
text-align: center;
- border-right: solid 0.5px var(--divider);
+ border-right: solid 0.5px var(--MI_THEME-divider);
}
.reactionIcon {
diff --git a/packages/frontend/src/components/MkReactionsViewer.reaction.vue b/packages/frontend/src/components/MkReactionsViewer.reaction.vue
index f42a0b3227..b65038aadc 100644
--- a/packages/frontend/src/components/MkReactionsViewer.reaction.vue
+++ b/packages/frontend/src/components/MkReactionsViewer.reaction.vue
@@ -180,7 +180,7 @@ if (!mock) {
justify-content: center;
&.canToggle {
- background: var(--buttonBg);
+ background: var(--MI_THEME-buttonBg);
&:hover {
background: rgba(0, 0, 0, 0.1);
@@ -214,12 +214,12 @@ if (!mock) {
}
&.reacted, &.reacted:hover {
- background: var(--accentedBg);
- color: var(--accent);
- box-shadow: 0 0 0 1px var(--accent) inset;
+ background: var(--MI_THEME-accentedBg);
+ color: var(--MI_THEME-accent);
+ box-shadow: 0 0 0 1px var(--MI_THEME-accent) inset;
> .count {
- color: var(--accent);
+ color: var(--MI_THEME-accent);
}
> .icon {
diff --git a/packages/frontend/src/components/MkRemoteCaution.vue b/packages/frontend/src/components/MkRemoteCaution.vue
index f1050d26e6..3ffb50dbd9 100644
--- a/packages/frontend/src/components/MkRemoteCaution.vue
+++ b/packages/frontend/src/components/MkRemoteCaution.vue
@@ -19,14 +19,14 @@ defineProps<{
.root {
font-size: 0.8em;
padding: 16px;
- background: var(--infoWarnBg);
- color: var(--infoWarnFg);
+ background: var(--MI_THEME-infoWarnBg);
+ color: var(--MI_THEME-infoWarnFg);
border-radius: var(--radius);
overflow: clip;
}
.link {
margin-left: 4px;
- color: var(--accent);
+ color: var(--MI_THEME-accent);
}
</style>
diff --git a/packages/frontend/src/components/MkRetentionLineChart.vue b/packages/frontend/src/components/MkRetentionLineChart.vue
index c3daa9c9a4..d41793b0fa 100644
--- a/packages/frontend/src/components/MkRetentionLineChart.vue
+++ b/packages/frontend/src/components/MkRetentionLineChart.vue
@@ -44,7 +44,7 @@ onMounted(async () => {
const vLineColor = defaultStore.state.darkMode ? 'rgba(255, 255, 255, 0.2)' : 'rgba(0, 0, 0, 0.2)';
- const accent = tinycolor(getComputedStyle(document.documentElement).getPropertyValue('--accent'));
+ const accent = tinycolor(getComputedStyle(document.documentElement).getPropertyValue('--MI_THEME-accent'));
const color = accent.toHex();
if (chartEl.value == null) return;
diff --git a/packages/frontend/src/components/MkRippleEffect.vue b/packages/frontend/src/components/MkRippleEffect.vue
index ee5bb73ebf..2949cf156d 100644
--- a/packages/frontend/src/components/MkRippleEffect.vue
+++ b/packages/frontend/src/components/MkRippleEffect.vue
@@ -6,7 +6,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<template>
<div :class="$style.root" :style="{ zIndex, top: `${y - 64}px`, left: `${x - 64}px` }">
<svg width="128" height="128" viewBox="0 0 128 128" xmlns="http://www.w3.org/2000/svg">
- <circle fill="none" cx="64" cy="64" style="stroke: var(--accent);">
+ <circle fill="none" cx="64" cy="64" style="stroke: var(--MI_THEME-accent);">
<animate
attributeName="r"
begin="0s" dur="0.5s"
@@ -27,7 +27,7 @@ SPDX-License-Identifier: AGPL-3.0-only
/>
</circle>
<g fill="none" fill-rule="evenodd">
- <circle v-for="(particle, i) in particles" :key="i" :fill="particle.color" style="stroke: var(--accent);">
+ <circle v-for="(particle, i) in particles" :key="i" :fill="particle.color" style="stroke: var(--MI_THEME-accent);">
<animate
attributeName="r"
begin="0s" dur="0.8s"
diff --git a/packages/frontend/src/components/MkRolePreview.vue b/packages/frontend/src/components/MkRolePreview.vue
index ce17ae08e0..3f14c5b5e0 100644
--- a/packages/frontend/src/components/MkRolePreview.vue
+++ b/packages/frontend/src/components/MkRolePreview.vue
@@ -6,8 +6,8 @@ SPDX-License-Identifier: AGPL-3.0-only
<template>
<MkA :to="forModeration ? `/admin/roles/${role.id}` : `/roles/${role.id}`" :class="$style.root" tabindex="-1" :style="{ '--color': role.color }">
<template v-if="forModeration">
- <i v-if="role.isPublic" class="ti ti-world" :class="$style.icon" style="color: var(--success)"></i>
- <i v-else class="ti ti-lock" :class="$style.icon" style="color: var(--warn)"></i>
+ <i v-if="role.isPublic" class="ti ti-world" :class="$style.icon" style="color: var(--MI_THEME-success)"></i>
+ <i v-else class="ti ti-lock" :class="$style.icon" style="color: var(--MI_THEME-warn)"></i>
</template>
<div v-adaptive-bg class="_panel" :class="$style.body">
@@ -17,8 +17,8 @@ SPDX-License-Identifier: AGPL-3.0-only
<img :class="$style.bodyBadge" :src="role.iconUrl"/>
</template>
<template v-else>
- <i v-if="role.isAdministrator" class="ti ti-crown" style="color: var(--accent);"></i>
- <i v-else-if="role.isModerator" class="ti ti-shield" style="color: var(--accent);"></i>
+ <i v-if="role.isAdministrator" class="ti ti-crown" style="color: var(--MI_THEME-accent);"></i>
+ <i v-else-if="role.isModerator" class="ti ti-shield" style="color: var(--MI_THEME-accent);"></i>
<i v-else class="ti ti-user" style="opacity: 0.7;"></i>
</template>
</span>
diff --git a/packages/frontend/src/components/MkSelect.vue b/packages/frontend/src/components/MkSelect.vue
index 343524fc82..a2ec384ac5 100644
--- a/packages/frontend/src/components/MkSelect.vue
+++ b/packages/frontend/src/components/MkSelect.vue
@@ -202,7 +202,7 @@ function show() {
.caption {
font-size: 0.85em;
padding: 8px 0 0 0;
- color: var(--fgTransparentWeak);
+ color: var(--MI_THEME-fgTransparentWeak);
&:empty {
display: none;
@@ -220,8 +220,8 @@ function show() {
&.focused {
> .inputCore {
- border-color: var(--accent) !important;
- //box-shadow: 0 0 0 4px var(--focus);
+ border-color: var(--MI_THEME-accent) !important;
+ //box-shadow: 0 0 0 4px var(--MI_THEME-focus);
}
}
@@ -240,7 +240,7 @@ function show() {
&:hover {
> .inputCore {
- border-color: var(--inputBorderHover) !important;
+ border-color: var(--MI_THEME-inputBorderHover) !important;
}
}
}
@@ -256,9 +256,9 @@ function show() {
font: inherit;
font-weight: normal;
font-size: 1em;
- color: var(--fg);
- background: var(--panel);
- border: solid 1px var(--panel);
+ color: var(--MI_THEME-fg);
+ background: var(--MI_THEME-panel);
+ border: solid 1px var(--MI_THEME-panel);
border-radius: 6px;
outline: none;
box-shadow: none;
diff --git a/packages/frontend/src/components/MkSignin.input.vue b/packages/frontend/src/components/MkSignin.input.vue
index 6336b78c80..34c22abc31 100644
--- a/packages/frontend/src/components/MkSignin.input.vue
+++ b/packages/frontend/src/components/MkSignin.input.vue
@@ -162,8 +162,8 @@ async function specifyHostAndOpenRemote(options: OpenOnRemoteOptions): Promise<v
.avatar {
margin: 0 auto;
- background-color: color-mix(in srgb, var(--fg), transparent 85%);
- color: color-mix(in srgb, var(--fg), transparent 25%);
+ background-color: color-mix(in srgb, var(--MI_THEME-fg), transparent 85%);
+ color: color-mix(in srgb, var(--MI_THEME-fg), transparent 25%);
text-align: center;
height: 64px;
width: 64px;
@@ -188,7 +188,7 @@ async function specifyHostAndOpenRemote(options: OpenOnRemoteOptions): Promise<v
margin: .4em auto;
width: 100%;
height: 1px;
- background: var(--divider);
+ background: var(--MI_THEME-divider);
}
.orMsg {
@@ -196,9 +196,9 @@ async function specifyHostAndOpenRemote(options: OpenOnRemoteOptions): Promise<v
top: -.6em;
display: inline-block;
padding: 0 1em;
- background: var(--panel);
+ background: var(--MI_THEME-panel);
font-size: 0.8em;
- color: var(--fgOnPanel);
+ color: var(--MI_THEME-fgOnPanel);
margin: 0;
left: 50%;
transform: translateX(-50%);
diff --git a/packages/frontend/src/components/MkSignin.passkey.vue b/packages/frontend/src/components/MkSignin.passkey.vue
index 0d68955fab..e5a56ab66d 100644
--- a/packages/frontend/src/components/MkSignin.passkey.vue
+++ b/packages/frontend/src/components/MkSignin.passkey.vue
@@ -75,8 +75,8 @@ onMounted(() => {
.passkeyIcon {
margin: 0 auto;
- background-color: var(--accentedBg);
- color: var(--accent);
+ background-color: var(--MI_THEME-accentedBg);
+ color: var(--MI_THEME-accent);
text-align: center;
height: 64px;
width: 64px;
diff --git a/packages/frontend/src/components/MkSignin.password.vue b/packages/frontend/src/components/MkSignin.password.vue
index 2d79e2aeb1..f30bf5f861 100644
--- a/packages/frontend/src/components/MkSignin.password.vue
+++ b/packages/frontend/src/components/MkSignin.password.vue
@@ -163,7 +163,7 @@ defineExpose({
margin: .4em auto;
width: 100%;
height: 1px;
- background: var(--divider);
+ background: var(--MI_THEME-divider);
}
.orMsg {
@@ -171,9 +171,9 @@ defineExpose({
top: -.6em;
display: inline-block;
padding: 0 1em;
- background: var(--panel);
+ background: var(--MI_THEME-panel);
font-size: 0.8em;
- color: var(--fgOnPanel);
+ color: var(--MI_THEME-fgOnPanel);
margin: 0;
left: 50%;
transform: translateX(-50%);
diff --git a/packages/frontend/src/components/MkSignin.totp.vue b/packages/frontend/src/components/MkSignin.totp.vue
index 880c08315e..670b8057c2 100644
--- a/packages/frontend/src/components/MkSignin.totp.vue
+++ b/packages/frontend/src/components/MkSignin.totp.vue
@@ -57,8 +57,8 @@ const isBackupCode = ref(false);
.totpIcon {
margin: 0 auto;
- background-color: var(--accentedBg);
- color: var(--accent);
+ background-color: var(--MI_THEME-accentedBg);
+ color: var(--MI_THEME-accent);
text-align: center;
height: 64px;
width: 64px;
diff --git a/packages/frontend/src/components/MkSignin.vue b/packages/frontend/src/components/MkSignin.vue
index 26e1ac516c..a79d7cf07a 100644
--- a/packages/frontend/src/components/MkSignin.vue
+++ b/packages/frontend/src/components/MkSignin.vue
@@ -409,7 +409,7 @@ onBeforeUnmount(() => {
left: 0;
width: 100%;
height: 100%;
- background-color: color-mix(in srgb, var(--panel), transparent 50%);
+ background-color: color-mix(in srgb, var(--MI_THEME-panel), transparent 50%);
display: flex;
justify-content: center;
align-items: center;
diff --git a/packages/frontend/src/components/MkSigninDialog.vue b/packages/frontend/src/components/MkSigninDialog.vue
index 8351d7d5e0..2aa11ac319 100644
--- a/packages/frontend/src/components/MkSigninDialog.vue
+++ b/packages/frontend/src/components/MkSigninDialog.vue
@@ -68,7 +68,7 @@ function onLogin(res) {
height: 100%;
max-height: 450px;
box-sizing: border-box;
- background: var(--panel);
+ background: var(--MI_THEME-panel);
border-radius: var(--radius);
}
@@ -83,7 +83,7 @@ function onLogin(res) {
align-items: center;
font-weight: bold;
backdrop-filter: var(--blur, blur(15px));
- background: var(--acrylicBg);
+ background: var(--MI_THEME-acrylicBg);
z-index: 1;
}
diff --git a/packages/frontend/src/components/MkSignupDialog.form.vue b/packages/frontend/src/components/MkSignupDialog.form.vue
index ff096dc729..a0c5488983 100644
--- a/packages/frontend/src/components/MkSignupDialog.form.vue
+++ b/packages/frontend/src/components/MkSignupDialog.form.vue
@@ -21,12 +21,12 @@ SPDX-License-Identifier: AGPL-3.0-only
<template #caption>
<div><i class="ti ti-alert-triangle ti-fw"></i> {{ i18n.ts.cannotBeChangedLater }}</div>
<span v-if="usernameState === 'wait'" style="color:#999"><MkLoading :em="true"/> {{ i18n.ts.checking }}</span>
- <span v-else-if="usernameState === 'ok'" style="color: var(--success)"><i class="ti ti-check ti-fw"></i> {{ i18n.ts.available }}</span>
- <span v-else-if="usernameState === 'unavailable'" style="color: var(--error)"><i class="ti ti-alert-triangle ti-fw"></i> {{ i18n.ts.unavailable }}</span>
- <span v-else-if="usernameState === 'error'" style="color: var(--error)"><i class="ti ti-alert-triangle ti-fw"></i> {{ i18n.ts.error }}</span>
- <span v-else-if="usernameState === 'invalid-format'" style="color: var(--error)"><i class="ti ti-alert-triangle ti-fw"></i> {{ i18n.ts.usernameInvalidFormat }}</span>
- <span v-else-if="usernameState === 'min-range'" style="color: var(--error)"><i class="ti ti-alert-triangle ti-fw"></i> {{ i18n.ts.tooShort }}</span>
- <span v-else-if="usernameState === 'max-range'" style="color: var(--error)"><i class="ti ti-alert-triangle ti-fw"></i> {{ i18n.ts.tooLong }}</span>
+ <span v-else-if="usernameState === 'ok'" style="color: var(--MI_THEME-success)"><i class="ti ti-check ti-fw"></i> {{ i18n.ts.available }}</span>
+ <span v-else-if="usernameState === 'unavailable'" style="color: var(--MI_THEME-error)"><i class="ti ti-alert-triangle ti-fw"></i> {{ i18n.ts.unavailable }}</span>
+ <span v-else-if="usernameState === 'error'" style="color: var(--MI_THEME-error)"><i class="ti ti-alert-triangle ti-fw"></i> {{ i18n.ts.error }}</span>
+ <span v-else-if="usernameState === 'invalid-format'" style="color: var(--MI_THEME-error)"><i class="ti ti-alert-triangle ti-fw"></i> {{ i18n.ts.usernameInvalidFormat }}</span>
+ <span v-else-if="usernameState === 'min-range'" style="color: var(--MI_THEME-error)"><i class="ti ti-alert-triangle ti-fw"></i> {{ i18n.ts.tooShort }}</span>
+ <span v-else-if="usernameState === 'max-range'" style="color: var(--MI_THEME-error)"><i class="ti ti-alert-triangle ti-fw"></i> {{ i18n.ts.tooLong }}</span>
</template>
</MkInput>
<MkInput v-if="instance.emailRequiredForSignup" v-model="email" :debounce="true" type="email" :spellcheck="false" required data-cy-signup-email @update:modelValue="onChangeEmail">
@@ -34,32 +34,32 @@ SPDX-License-Identifier: AGPL-3.0-only
<template #prefix><i class="ti ti-mail"></i></template>
<template #caption>
<span v-if="emailState === 'wait'" style="color:#999"><MkLoading :em="true"/> {{ i18n.ts.checking }}</span>
- <span v-else-if="emailState === 'ok'" style="color: var(--success)"><i class="ti ti-check ti-fw"></i> {{ i18n.ts.available }}</span>
- <span v-else-if="emailState === 'unavailable:used'" style="color: var(--error)"><i class="ti ti-alert-triangle ti-fw"></i> {{ i18n.ts._emailUnavailable.used }}</span>
- <span v-else-if="emailState === 'unavailable:format'" style="color: var(--error)"><i class="ti ti-alert-triangle ti-fw"></i> {{ i18n.ts._emailUnavailable.format }}</span>
- <span v-else-if="emailState === 'unavailable:disposable'" style="color: var(--error)"><i class="ti ti-alert-triangle ti-fw"></i> {{ i18n.ts._emailUnavailable.disposable }}</span>
- <span v-else-if="emailState === 'unavailable:banned'" style="color: var(--error)"><i class="ti ti-alert-triangle ti-fw"></i> {{ i18n.ts._emailUnavailable.banned }}</span>
- <span v-else-if="emailState === 'unavailable:mx'" style="color: var(--error)"><i class="ti ti-alert-triangle ti-fw"></i> {{ i18n.ts._emailUnavailable.mx }}</span>
- <span v-else-if="emailState === 'unavailable:smtp'" style="color: var(--error)"><i class="ti ti-alert-triangle ti-fw"></i> {{ i18n.ts._emailUnavailable.smtp }}</span>
- <span v-else-if="emailState === 'unavailable'" style="color: var(--error)"><i class="ti ti-alert-triangle ti-fw"></i> {{ i18n.ts.unavailable }}</span>
- <span v-else-if="emailState === 'error'" style="color: var(--error)"><i class="ti ti-alert-triangle ti-fw"></i> {{ i18n.ts.error }}</span>
+ <span v-else-if="emailState === 'ok'" style="color: var(--MI_THEME-success)"><i class="ti ti-check ti-fw"></i> {{ i18n.ts.available }}</span>
+ <span v-else-if="emailState === 'unavailable:used'" style="color: var(--MI_THEME-error)"><i class="ti ti-alert-triangle ti-fw"></i> {{ i18n.ts._emailUnavailable.used }}</span>
+ <span v-else-if="emailState === 'unavailable:format'" style="color: var(--MI_THEME-error)"><i class="ti ti-alert-triangle ti-fw"></i> {{ i18n.ts._emailUnavailable.format }}</span>
+ <span v-else-if="emailState === 'unavailable:disposable'" style="color: var(--MI_THEME-error)"><i class="ti ti-alert-triangle ti-fw"></i> {{ i18n.ts._emailUnavailable.disposable }}</span>
+ <span v-else-if="emailState === 'unavailable:banned'" style="color: var(--MI_THEME-error)"><i class="ti ti-alert-triangle ti-fw"></i> {{ i18n.ts._emailUnavailable.banned }}</span>
+ <span v-else-if="emailState === 'unavailable:mx'" style="color: var(--MI_THEME-error)"><i class="ti ti-alert-triangle ti-fw"></i> {{ i18n.ts._emailUnavailable.mx }}</span>
+ <span v-else-if="emailState === 'unavailable:smtp'" style="color: var(--MI_THEME-error)"><i class="ti ti-alert-triangle ti-fw"></i> {{ i18n.ts._emailUnavailable.smtp }}</span>
+ <span v-else-if="emailState === 'unavailable'" style="color: var(--MI_THEME-error)"><i class="ti ti-alert-triangle ti-fw"></i> {{ i18n.ts.unavailable }}</span>
+ <span v-else-if="emailState === 'error'" style="color: var(--MI_THEME-error)"><i class="ti ti-alert-triangle ti-fw"></i> {{ i18n.ts.error }}</span>
</template>
</MkInput>
<MkInput v-model="password" type="password" autocomplete="new-password" required data-cy-signup-password @update:modelValue="onChangePassword">
<template #label>{{ i18n.ts.password }}</template>
<template #prefix><i class="ti ti-lock"></i></template>
<template #caption>
- <span v-if="passwordStrength == 'low'" style="color: var(--error)"><i class="ti ti-alert-triangle ti-fw"></i> {{ i18n.ts.weakPassword }}</span>
- <span v-if="passwordStrength == 'medium'" style="color: var(--warn)"><i class="ti ti-check ti-fw"></i> {{ i18n.ts.normalPassword }}</span>
- <span v-if="passwordStrength == 'high'" style="color: var(--success)"><i class="ti ti-check ti-fw"></i> {{ i18n.ts.strongPassword }}</span>
+ <span v-if="passwordStrength == 'low'" style="color: var(--MI_THEME-error)"><i class="ti ti-alert-triangle ti-fw"></i> {{ i18n.ts.weakPassword }}</span>
+ <span v-if="passwordStrength == 'medium'" style="color: var(--MI_THEME-warn)"><i class="ti ti-check ti-fw"></i> {{ i18n.ts.normalPassword }}</span>
+ <span v-if="passwordStrength == 'high'" style="color: var(--MI_THEME-success)"><i class="ti ti-check ti-fw"></i> {{ i18n.ts.strongPassword }}</span>
</template>
</MkInput>
<MkInput v-model="retypedPassword" type="password" autocomplete="new-password" required data-cy-signup-password-retype @update:modelValue="onChangePasswordRetype">
<template #label>{{ i18n.ts.password }} ({{ i18n.ts.retype }})</template>
<template #prefix><i class="ti ti-lock"></i></template>
<template #caption>
- <span v-if="passwordRetypeState == 'match'" style="color: var(--success)"><i class="ti ti-check ti-fw"></i> {{ i18n.ts.passwordMatched }}</span>
- <span v-if="passwordRetypeState == 'not-match'" style="color: var(--error)"><i class="ti ti-alert-triangle ti-fw"></i> {{ i18n.ts.passwordNotMatched }}</span>
+ <span v-if="passwordRetypeState == 'match'" style="color: var(--MI_THEME-success)"><i class="ti ti-check ti-fw"></i> {{ i18n.ts.passwordMatched }}</span>
+ <span v-if="passwordRetypeState == 'not-match'" style="color: var(--MI_THEME-error)"><i class="ti ti-alert-triangle ti-fw"></i> {{ i18n.ts.passwordNotMatched }}</span>
</template>
</MkInput>
<MkCaptcha v-if="instance.enableHcaptcha" ref="hcaptcha" v-model="hCaptchaResponse" :class="$style.captcha" provider="hcaptcha" :sitekey="instance.hcaptchaSiteKey"/>
@@ -304,8 +304,8 @@ async function onSubmit(): Promise<void> {
padding: 16px;
text-align: center;
font-size: 26px;
- background-color: var(--accentedBg);
- color: var(--accent);
+ background-color: var(--MI_THEME-accentedBg);
+ color: var(--MI_THEME-accent);
}
.captcha {
diff --git a/packages/frontend/src/components/MkSignupDialog.rules.vue b/packages/frontend/src/components/MkSignupDialog.rules.vue
index 59a3651cd4..1470f1e57e 100644
--- a/packages/frontend/src/components/MkSignupDialog.rules.vue
+++ b/packages/frontend/src/components/MkSignupDialog.rules.vue
@@ -21,7 +21,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<MkFolder v-if="availableServerRules" :defaultOpen="true">
<template #label>{{ i18n.ts.serverRules }}</template>
- <template #suffix><i v-if="agreeServerRules" class="ti ti-check" style="color: var(--success)"></i></template>
+ <template #suffix><i v-if="agreeServerRules" class="ti ti-check" style="color: var(--MI_THEME-success)"></i></template>
<ol class="_gaps_s" :class="$style.rules">
<li v-for="item in instance.serverRules" :class="$style.rule"><div :class="$style.ruleText" v-html="item"></div></li>
@@ -32,7 +32,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<MkFolder v-if="availableTos || availablePrivacyPolicy" :defaultOpen="true">
<template #label>{{ tosPrivacyPolicyLabel }}</template>
- <template #suffix><i v-if="agreeTosAndPrivacyPolicy" class="ti ti-check" style="color: var(--success)"></i></template>
+ <template #suffix><i v-if="agreeTosAndPrivacyPolicy" class="ti ti-check" style="color: var(--MI_THEME-success)"></i></template>
<div class="_gaps_s">
<div v-if="availableTos"><a :href="instance.tosUrl ?? undefined" class="_link" target="_blank">{{ i18n.ts.termsOfService }} <i class="ti ti-external-link"></i></a></div>
<div v-if="availablePrivacyPolicy"><a :href="instance.privacyPolicyUrl ?? undefined" class="_link" target="_blank">{{ i18n.ts.privacyPolicy }} <i class="ti ti-external-link"></i></a></div>
@@ -43,7 +43,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<MkFolder :defaultOpen="true">
<template #label>{{ i18n.ts.basicNotesBeforeCreateAccount }}</template>
- <template #suffix><i v-if="agreeNote" class="ti ti-check" style="color: var(--success)"></i></template>
+ <template #suffix><i v-if="agreeNote" class="ti ti-check" style="color: var(--MI_THEME-success)"></i></template>
<a href="https://misskey-hub.net/docs/for-users/onboarding/warning/" class="_link" target="_blank">{{ i18n.ts.basicNotesBeforeCreateAccount }} <i class="ti ti-external-link"></i></a>
@@ -150,8 +150,8 @@ async function updateAgreeNote(v: boolean) {
padding: 16px;
text-align: center;
font-size: 26px;
- background-color: var(--accentedBg);
- color: var(--accent);
+ background-color: var(--MI_THEME-accentedBg);
+ color: var(--MI_THEME-accent);
}
.rules {
@@ -176,8 +176,8 @@ async function updateAgreeNote(v: boolean) {
width: 32px;
height: 32px;
line-height: 32px;
- background-color: var(--accentedBg);
- color: var(--accent);
+ background-color: var(--MI_THEME-accentedBg);
+ color: var(--MI_THEME-accent);
font-size: 13px;
font-weight: bold;
align-items: center;
diff --git a/packages/frontend/src/components/MkSourceCodeAvailablePopup.vue b/packages/frontend/src/components/MkSourceCodeAvailablePopup.vue
index 1845b01b69..438dd7e3a5 100644
--- a/packages/frontend/src/components/MkSourceCodeAvailablePopup.vue
+++ b/packages/frontend/src/components/MkSourceCodeAvailablePopup.vue
@@ -77,7 +77,7 @@ function close() {
text-align: center;
padding-top: 25px;
width: 100px;
- color: var(--accent);
+ color: var(--MI_THEME-accent);
}
@media (max-width: 500px) {
.icon {
diff --git a/packages/frontend/src/components/MkSubNoteContent.vue b/packages/frontend/src/components/MkSubNoteContent.vue
index 3bbb163f0f..a36765b73c 100644
--- a/packages/frontend/src/components/MkSubNoteContent.vue
+++ b/packages/frontend/src/components/MkSubNoteContent.vue
@@ -62,11 +62,11 @@ const collapsed = ref(isLong);
left: 0;
width: 100%;
height: 64px;
- background: linear-gradient(0deg, var(--panel), color(from var(--panel) srgb r g b / 0));
+ background: linear-gradient(0deg, var(--MI_THEME-panel), color(from var(--MI_THEME-panel) srgb r g b / 0));
> .fadeLabel {
display: inline-block;
- background: var(--panel);
+ background: var(--MI_THEME-panel);
padding: 6px 10px;
font-size: 0.8em;
border-radius: 999px;
@@ -75,7 +75,7 @@ const collapsed = ref(isLong);
&:hover {
> .fadeLabel {
- background: var(--panelHighlight);
+ background: var(--MI_THEME-panelHighlight);
}
}
}
@@ -84,13 +84,13 @@ const collapsed = ref(isLong);
.reply {
margin-right: 6px;
- color: var(--accent);
+ color: var(--MI_THEME-accent);
}
.rp {
margin-left: 4px;
font-style: oblique;
- color: var(--renote);
+ color: var(--MI_THEME-renote);
}
.showLess {
@@ -102,7 +102,7 @@ const collapsed = ref(isLong);
.showLessLabel {
display: inline-block;
- background: var(--popup);
+ background: var(--MI_THEME-popup);
padding: 6px 10px;
font-size: 0.8em;
border-radius: 999px;
diff --git a/packages/frontend/src/components/MkSuperMenu.vue b/packages/frontend/src/components/MkSuperMenu.vue
index 3746ffd8f3..6e7a875dec 100644
--- a/packages/frontend/src/components/MkSuperMenu.vue
+++ b/packages/frontend/src/components/MkSuperMenu.vue
@@ -43,7 +43,7 @@ defineProps<{
& + .group {
margin-top: 16px;
padding-top: 16px;
- border-top: solid 0.5px var(--divider);
+ border-top: solid 0.5px var(--MI_THEME-divider);
}
> .title {
@@ -64,7 +64,7 @@ defineProps<{
&:hover {
text-decoration: none;
- background: var(--panelHighlight);
+ background: var(--MI_THEME-panelHighlight);
}
&:focus-visible {
@@ -72,12 +72,12 @@ defineProps<{
}
&.active {
- color: var(--accent);
- background: var(--accentedBg);
+ color: var(--MI_THEME-accent);
+ background: var(--MI_THEME-accentedBg);
}
&.danger {
- color: var(--error);
+ color: var(--MI_THEME-error);
}
> .icon {
@@ -128,10 +128,10 @@ defineProps<{
&:hover {
text-decoration: none;
background: none;
- color: var(--accent);
+ color: var(--MI_THEME-accent);
> .icon {
- background: var(--accentedBg);
+ background: var(--MI_THEME-accentedBg);
}
}
@@ -144,7 +144,7 @@ defineProps<{
width: 60px;
height: 60px;
aspect-ratio: 1;
- background: var(--panel);
+ background: var(--MI_THEME-panel);
border-radius: 100%;
}
diff --git a/packages/frontend/src/components/MkSwitch.button.vue b/packages/frontend/src/components/MkSwitch.button.vue
index 226908e221..fd8ed0992e 100644
--- a/packages/frontend/src/components/MkSwitch.button.vue
+++ b/packages/frontend/src/components/MkSwitch.button.vue
@@ -51,9 +51,9 @@ const toggle = () => {
width: calc(var(--height) * 1.6);
height: calc(var(--height) + 2px); // 枠線
outline: none;
- background: var(--switchOffBg);
+ background: var(--MI_THEME-switchOffBg);
background-clip: content-box;
- border: solid 1px var(--switchOffBg);
+ border: solid 1px var(--MI_THEME-switchOffBg);
border-radius: 999px;
cursor: pointer;
transition: inherit;
@@ -61,8 +61,8 @@ const toggle = () => {
}
.buttonChecked {
- background-color: var(--switchOnBg) !important;
- border-color: var(--switchOnBg) !important;
+ background-color: var(--MI_THEME-switchOnBg) !important;
+ border-color: var(--MI_THEME-switchOnBg) !important;
}
.buttonDisabled {
@@ -80,12 +80,12 @@ const toggle = () => {
&:not(.knobChecked) {
left: 3px;
- background: var(--switchOffFg);
+ background: var(--MI_THEME-switchOffFg);
}
}
.knobChecked {
left: calc(calc(100% - var(--height)) + 3px);
- background: var(--switchOnFg);
+ background: var(--MI_THEME-switchOnFg);
}
</style>
diff --git a/packages/frontend/src/components/MkSwitch.vue b/packages/frontend/src/components/MkSwitch.vue
index a0994d9cc9..5e6029ee40 100644
--- a/packages/frontend/src/components/MkSwitch.vue
+++ b/packages/frontend/src/components/MkSwitch.vue
@@ -59,7 +59,7 @@ const toggle = () => {
&:hover {
> .button {
- border-color: var(--inputBorderHover) !important;
+ border-color: var(--MI_THEME-inputBorderHover) !important;
}
}
@@ -77,7 +77,7 @@ const toggle = () => {
margin: 0;
&:focus-visible ~ .toggle {
- outline: 2px solid var(--focus);
+ outline: 2px solid var(--MI_THEME-focus);
outline-offset: 2px;
}
}
@@ -87,7 +87,7 @@ const toggle = () => {
margin-top: 2px;
display: block;
transition: inherit;
- color: var(--fg);
+ color: var(--MI_THEME-fg);
}
.label {
@@ -99,7 +99,7 @@ const toggle = () => {
.caption {
margin: 8px 0 0 0;
- color: var(--fgTransparentWeak);
+ color: var(--MI_THEME-fgTransparentWeak);
font-size: 0.85em;
&:empty {
diff --git a/packages/frontend/src/components/MkSystemWebhookEditor.vue b/packages/frontend/src/components/MkSystemWebhookEditor.vue
index ec3b1c90ca..23130d7f9f 100644
--- a/packages/frontend/src/components/MkSystemWebhookEditor.vue
+++ b/packages/frontend/src/components/MkSystemWebhookEditor.vue
@@ -261,8 +261,8 @@ onMounted(async () => {
bottom: 0;
left: 0;
padding: 12px;
- border-top: solid 0.5px var(--divider);
- background: var(--acrylicBg);
+ border-top: solid 0.5px var(--MI_THEME-divider);
+ background: var(--MI_THEME-acrylicBg);
-webkit-backdrop-filter: var(--blur, blur(15px));
backdrop-filter: var(--blur, blur(15px));
}
@@ -289,6 +289,6 @@ onMounted(async () => {
.description {
font-size: 0.85em;
padding: 8px 0 0 0;
- color: var(--fgTransparentWeak);
+ color: var(--MI_THEME-fgTransparentWeak);
}
</style>
diff --git a/packages/frontend/src/components/MkTab.vue b/packages/frontend/src/components/MkTab.vue
index f2d0c95013..f557ffa5dc 100644
--- a/packages/frontend/src/components/MkTab.vue
+++ b/packages/frontend/src/components/MkTab.vue
@@ -47,13 +47,13 @@ export default defineComponent({
}
&.active {
- color: var(--accent);
- background: var(--accentedBg);
+ color: var(--MI_THEME-accent);
+ background: var(--MI_THEME-accentedBg);
}
&:not(.active):hover {
- color: var(--fgHighlighted);
- background: var(--panelHighlight);
+ color: var(--MI_THEME-fgHighlighted);
+ background: var(--MI_THEME-panelHighlight);
}
&:not(:first-child) {
diff --git a/packages/frontend/src/components/MkTagCloud.vue b/packages/frontend/src/components/MkTagCloud.vue
index 6b9c181597..87aa046963 100644
--- a/packages/frontend/src/components/MkTagCloud.vue
+++ b/packages/frontend/src/components/MkTagCloud.vue
@@ -33,7 +33,7 @@ watch(available, () => {
try {
window.TagCanvas.Start(idForCanvas, idForTags, {
textColour: '#ffffff',
- outlineColour: tinycolor(computedStyle.getPropertyValue('--accent')).toHexString(),
+ outlineColour: tinycolor(computedStyle.getPropertyValue('--MI_THEME-accent')).toHexString(),
outlineRadius: 10,
initial: [-0.030, -0.010],
frontSelect: true,
diff --git a/packages/frontend/src/components/MkTextarea.vue b/packages/frontend/src/components/MkTextarea.vue
index 59490c552a..0139712232 100644
--- a/packages/frontend/src/components/MkTextarea.vue
+++ b/packages/frontend/src/components/MkTextarea.vue
@@ -159,7 +159,7 @@ onUnmounted(() => {
.caption {
font-size: 0.85em;
padding: 8px 0 0 0;
- color: var(--fgTransparentWeak);
+ color: var(--MI_THEME-fgTransparentWeak);
&:empty {
display: none;
@@ -179,9 +179,9 @@ onUnmounted(() => {
font: inherit;
font-weight: normal;
font-size: 1em;
- color: var(--fg);
- background: var(--panel);
- border: solid 1px var(--panel);
+ color: var(--MI_THEME-fg);
+ background: var(--MI_THEME-panel);
+ border: solid 1px var(--MI_THEME-panel);
border-radius: 6px;
outline: none;
box-shadow: none;
@@ -189,13 +189,13 @@ onUnmounted(() => {
transition: border-color 0.1s ease-out;
&:hover {
- border-color: var(--inputBorderHover) !important;
+ border-color: var(--MI_THEME-inputBorderHover) !important;
}
}
.focused {
> .textarea {
- border-color: var(--accent) !important;
+ border-color: var(--MI_THEME-accent) !important;
}
}
diff --git a/packages/frontend/src/components/MkTokenGenerateWindow.vue b/packages/frontend/src/components/MkTokenGenerateWindow.vue
index b32066c950..63dc93ae27 100644
--- a/packages/frontend/src/components/MkTokenGenerateWindow.vue
+++ b/packages/frontend/src/components/MkTokenGenerateWindow.vue
@@ -136,7 +136,7 @@ function enableAll(): void {
.adminPermissions {
margin: 8px -6px 0;
padding: 24px 6px 6px;
- border: 2px solid var(--error);
+ border: 2px solid var(--MI_THEME-error);
border-radius: calc(var(--radius) / 2);
}
@@ -144,7 +144,7 @@ function enableAll(): void {
margin: -34px 0 6px 12px;
padding: 0 4px;
width: fit-content;
- color: var(--error);
- background: var(--panel);
+ color: var(--MI_THEME-error);
+ background: var(--MI_THEME-panel);
}
</style>
diff --git a/packages/frontend/src/components/MkTooltip.vue b/packages/frontend/src/components/MkTooltip.vue
index a3620aab68..10365d29b1 100644
--- a/packages/frontend/src/components/MkTooltip.vue
+++ b/packages/frontend/src/components/MkTooltip.vue
@@ -110,7 +110,7 @@ onUnmounted(() => {
box-sizing: border-box;
text-align: center;
border-radius: 4px;
- border: solid 0.5px var(--divider);
+ border: solid 0.5px var(--MI_THEME-divider);
pointer-events: none;
transform-origin: center center;
}
diff --git a/packages/frontend/src/components/MkTutorialDialog.Note.vue b/packages/frontend/src/components/MkTutorialDialog.Note.vue
index 2a26d22dc2..5644907434 100644
--- a/packages/frontend/src/components/MkTutorialDialog.Note.vue
+++ b/packages/frontend/src/components/MkTutorialDialog.Note.vue
@@ -18,7 +18,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<div style="text-align: center; padding: 0 16px;">{{ i18n.ts._initialTutorial._reaction.description }}</div>
<div>{{ i18n.ts._initialTutorial._reaction.letsTryReacting }}</div>
<MkNote :class="$style.exampleNoteRoot" :note="exampleNote" :mock="true" @reaction="addReaction" @removeReaction="removeReaction"/>
- <div v-if="onceReacted"><b style="color: var(--accent);"><i class="ti ti-check"></i> {{ i18n.ts._initialTutorial.wellDone }}</b> {{ i18n.ts._initialTutorial._reaction.reactNotification }}<br>{{ i18n.ts._initialTutorial._reaction.reactDone }}</div>
+ <div v-if="onceReacted"><b style="color: var(--MI_THEME-accent);"><i class="ti ti-check"></i> {{ i18n.ts._initialTutorial.wellDone }}</b> {{ i18n.ts._initialTutorial._reaction.reactNotification }}<br>{{ i18n.ts._initialTutorial._reaction.reactDone }}</div>
</div>
</template>
@@ -106,12 +106,12 @@ function removeReaction(emoji) {
<style lang="scss" module>
.exampleNoteRoot {
border-radius: var(--radius);
- border: var(--panelBorder);
- background: var(--panel);
+ border: var(--MI_THEME-panelBorder);
+ background: var(--MI_THEME-panel);
}
.divider {
height: 1px;
- background: var(--divider);
+ background: var(--MI_THEME-divider);
}
</style>
diff --git a/packages/frontend/src/components/MkTutorialDialog.PostNote.vue b/packages/frontend/src/components/MkTutorialDialog.PostNote.vue
index 27483cc7c2..7044e05804 100644
--- a/packages/frontend/src/components/MkTutorialDialog.PostNote.vue
+++ b/packages/frontend/src/components/MkTutorialDialog.PostNote.vue
@@ -82,13 +82,13 @@ const exampleCWNote = reactive<Misskey.entities.Note>({
.exampleRoot {
max-width: none!important;
border-radius: var(--radius);
- border: var(--panelBorder);
- background: var(--panel);
+ border: var(--MI_THEME-panelBorder);
+ background: var(--MI_THEME-panel);
}
.divider {
height: 1px;
- background: var(--divider);
+ background: var(--MI_THEME-divider);
}
.image {
@@ -101,7 +101,7 @@ const exampleCWNote = reactive<Misskey.entities.Note>({
display: block;
width: 100%;
height: 40px;
- color: var(--fgOnAccent);
+ color: var(--MI_THEME-fgOnAccent);
font-weight: bold;
text-align: left;
@@ -117,7 +117,7 @@ const exampleCWNote = reactive<Misskey.entities.Note>({
right: 0;
bottom: 0;
border-radius: 999px;
- background: linear-gradient(90deg, var(--buttonGradateA), var(--buttonGradateB));
+ background: linear-gradient(90deg, var(--MI_THEME-buttonGradateA), var(--MI_THEME-buttonGradateB));
}
}
diff --git a/packages/frontend/src/components/MkTutorialDialog.Sensitive.vue b/packages/frontend/src/components/MkTutorialDialog.Sensitive.vue
index d8d4b5aab7..ce06b97b6b 100644
--- a/packages/frontend/src/components/MkTutorialDialog.Sensitive.vue
+++ b/packages/frontend/src/components/MkTutorialDialog.Sensitive.vue
@@ -15,7 +15,7 @@ SPDX-License-Identifier: AGPL-3.0-only
:initialNote="exampleNote"
@fileChangeSensitive="doSucceeded"
></MkPostForm>
- <div v-if="onceSucceeded"><b style="color: var(--accent);"><i class="ti ti-check"></i> {{ i18n.ts._initialTutorial.wellDone }}</b> {{ i18n.ts._initialTutorial._howToMakeAttachmentsSensitive.sensitiveSucceeded }}</div>
+ <div v-if="onceSucceeded"><b style="color: var(--MI_THEME-accent);"><i class="ti ti-check"></i> {{ i18n.ts._initialTutorial.wellDone }}</b> {{ i18n.ts._initialTutorial._howToMakeAttachmentsSensitive.sensitiveSucceeded }}</div>
<MkFolder>
<template #label>{{ i18n.ts.previewNoteText }}</template>
<MkNote :mock="true" :note="exampleNote" :class="$style.exampleRoot"></MkNote>
@@ -92,13 +92,13 @@ const exampleNote = reactive<Misskey.entities.Note>({
<style lang="scss" module>
.exampleRoot {
border-radius: var(--radius);
- border: var(--panelBorder);
- background: var(--panel);
+ border: var(--MI_THEME-panelBorder);
+ background: var(--MI_THEME-panel);
}
.divider {
height: 1px;
- background: var(--divider);
+ background: var(--MI_THEME-divider);
}
.image {
@@ -111,7 +111,7 @@ const exampleNote = reactive<Misskey.entities.Note>({
display: block;
width: 100%;
height: 40px;
- color: var(--fgOnAccent);
+ color: var(--MI_THEME-fgOnAccent);
font-weight: bold;
text-align: left;
@@ -127,7 +127,7 @@ const exampleNote = reactive<Misskey.entities.Note>({
right: 0;
bottom: 0;
border-radius: 999px;
- background: linear-gradient(90deg, var(--buttonGradateA), var(--buttonGradateB));
+ background: linear-gradient(90deg, var(--MI_THEME-buttonGradateA), var(--MI_THEME-buttonGradateB));
}
}
diff --git a/packages/frontend/src/components/MkTutorialDialog.Timeline.vue b/packages/frontend/src/components/MkTutorialDialog.Timeline.vue
index 2d4da3fbd4..9e33afbb53 100644
--- a/packages/frontend/src/components/MkTutorialDialog.Timeline.vue
+++ b/packages/frontend/src/components/MkTutorialDialog.Timeline.vue
@@ -32,13 +32,13 @@ import { basicTimelineIconClass, basicTimelineTypes } from '@/timelines.js';
<style lang="scss" module>
.exampleNoteRoot {
border-radius: var(--radius);
- border: var(--panelBorder);
- background: var(--panel);
+ border: var(--MI_THEME-panelBorder);
+ background: var(--MI_THEME-panel);
}
.divider {
height: 1px;
- background: var(--divider);
+ background: var(--MI_THEME-divider);
}
.image {
@@ -51,7 +51,7 @@ import { basicTimelineIconClass, basicTimelineTypes } from '@/timelines.js';
display: block;
width: 100%;
height: 40px;
- color: var(--fgOnAccent);
+ color: var(--MI_THEME-fgOnAccent);
font-weight: bold;
text-align: left;
@@ -67,7 +67,7 @@ import { basicTimelineIconClass, basicTimelineTypes } from '@/timelines.js';
right: 0;
bottom: 0;
border-radius: 999px;
- background: linear-gradient(90deg, var(--buttonGradateA), var(--buttonGradateB));
+ background: linear-gradient(90deg, var(--MI_THEME-buttonGradateA), var(--MI_THEME-buttonGradateB));
}
}
diff --git a/packages/frontend/src/components/MkTutorialDialog.vue b/packages/frontend/src/components/MkTutorialDialog.vue
index 1f5a2b9381..11d7c8dc4d 100644
--- a/packages/frontend/src/components/MkTutorialDialog.vue
+++ b/packages/frontend/src/components/MkTutorialDialog.vue
@@ -31,7 +31,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<MkAnimBg style="position: absolute; top: 0;" :scale="1.5"/>
<MkSpacer :marginMin="20" :marginMax="28">
<div class="_gaps" style="text-align: center;">
- <i class="ti ti-confetti" style="display: block; margin: auto; font-size: 3em; color: var(--accent);"></i>
+ <i class="ti ti-confetti" style="display: block; margin: auto; font-size: 3em; color: var(--MI_THEME-accent);"></i>
<div style="font-size: 120%;">{{ i18n.ts._initialTutorial._landing.title }}</div>
<div>{{ i18n.ts._initialTutorial._landing.description }}</div>
<MkButton primary rounded gradate style="margin: 16px auto 0 auto;" @click="page++">{{ i18n.ts._initialTutorial.launchTutorial }} <i class="ti ti-arrow-right"></i></MkButton>
@@ -126,7 +126,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<MkAnimBg style="position: absolute; top: 0;" :scale="1.5"/>
<MkSpacer :marginMin="20" :marginMax="28">
<div class="_gaps" style="text-align: center;">
- <i class="ti ti-check" style="display: block; margin: auto; font-size: 3em; color: var(--accent);"></i>
+ <i class="ti ti-check" style="display: block; margin: auto; font-size: 3em; color: var(--MI_THEME-accent);"></i>
<div style="font-size: 120%;">{{ i18n.ts._initialTutorial._done.title }}</div>
<I18n :src="i18n.ts._initialTutorial._done.description" tag="div" style="padding: 0 16px;">
<template #link>
@@ -223,7 +223,7 @@ async function close(skip: boolean) {
.progressBarValue {
height: 100%;
- background: linear-gradient(90deg, var(--buttonGradateA), var(--buttonGradateB));
+ background: linear-gradient(90deg, var(--MI_THEME-buttonGradateA), var(--MI_THEME-buttonGradateB));
transition: all 0.5s cubic-bezier(0,.5,.5,1);
}
@@ -253,7 +253,7 @@ async function close(skip: boolean) {
left: 0;
flex-shrink: 0;
padding: 12px;
- border-top: solid 0.5px var(--divider);
+ border-top: solid 0.5px var(--MI_THEME-divider);
-webkit-backdrop-filter: blur(15px);
backdrop-filter: blur(15px);
}
diff --git a/packages/frontend/src/components/MkUpdated.vue b/packages/frontend/src/components/MkUpdated.vue
index f8af276836..fe50ab8cff 100644
--- a/packages/frontend/src/components/MkUpdated.vue
+++ b/packages/frontend/src/components/MkUpdated.vue
@@ -46,7 +46,7 @@ onMounted(() => {
max-width: 480px;
box-sizing: border-box;
text-align: center;
- background: var(--panel);
+ background: var(--MI_THEME-panel);
border-radius: var(--radius);
}
diff --git a/packages/frontend/src/components/MkUrlPreview.vue b/packages/frontend/src/components/MkUrlPreview.vue
index f5f9b43197..f38e31c894 100644
--- a/packages/frontend/src/components/MkUrlPreview.vue
+++ b/packages/frontend/src/components/MkUrlPreview.vue
@@ -219,7 +219,7 @@ onUnmounted(() => {
height: 1.5em;
padding: 0;
margin: 0;
- color: var(--fg);
+ color: var(--MI_THEME-fg);
background: rgba(128, 128, 128, 0.2);
opacity: 0.7;
@@ -240,7 +240,7 @@ onUnmounted(() => {
position: relative;
display: block;
font-size: 14px;
- box-shadow: 0 0 0 1px var(--divider);
+ box-shadow: 0 0 0 1px var(--MI_THEME-divider);
border-radius: 8px;
overflow: clip;
@@ -270,7 +270,7 @@ onUnmounted(() => {
height: 100%;
background-position: center;
background-size: cover;
- background-color: var(--bg);
+ background-color: var(--MI_THEME-bg);
display: flex;
justify-content: center;
align-items: center;
diff --git a/packages/frontend/src/components/MkUserAnnouncementEditDialog.vue b/packages/frontend/src/components/MkUserAnnouncementEditDialog.vue
index 3c5f563aa0..26ba108244 100644
--- a/packages/frontend/src/components/MkUserAnnouncementEditDialog.vue
+++ b/packages/frontend/src/components/MkUserAnnouncementEditDialog.vue
@@ -25,9 +25,9 @@ SPDX-License-Identifier: AGPL-3.0-only
<MkRadios v-model="icon">
<template #label>{{ i18n.ts.icon }}</template>
<option value="info"><i class="ti ti-info-circle"></i></option>
- <option value="warning"><i class="ti ti-alert-triangle" style="color: var(--warn);"></i></option>
- <option value="error"><i class="ti ti-circle-x" style="color: var(--error);"></i></option>
- <option value="success"><i class="ti ti-check" style="color: var(--success);"></i></option>
+ <option value="warning"><i class="ti ti-alert-triangle" style="color: var(--MI_THEME-warn);"></i></option>
+ <option value="error"><i class="ti ti-circle-x" style="color: var(--MI_THEME-error);"></i></option>
+ <option value="success"><i class="ti ti-check" style="color: var(--MI_THEME-success);"></i></option>
</MkRadios>
<MkRadios v-model="display">
<template #label>{{ i18n.ts.display }}</template>
@@ -141,7 +141,7 @@ async function del() {
bottom: 0;
left: 0;
padding: 12px;
- border-top: solid 0.5px var(--divider);
+ border-top: solid 0.5px var(--MI_THEME-divider);
-webkit-backdrop-filter: var(--blur, blur(15px));
backdrop-filter: var(--blur, blur(15px));
}
diff --git a/packages/frontend/src/components/MkUserCardMini.vue b/packages/frontend/src/components/MkUserCardMini.vue
index d3e77b2818..b333722dc2 100644
--- a/packages/frontend/src/components/MkUserCardMini.vue
+++ b/packages/frontend/src/components/MkUserCardMini.vue
@@ -49,7 +49,7 @@ $bodyInfoHieght: 16px;
display: flex;
align-items: center;
padding: 16px;
- background: var(--panel);
+ background: var(--MI_THEME-panel);
border-radius: 8px;
}
@@ -64,7 +64,7 @@ $bodyInfoHieght: 16px;
flex: 1;
overflow: hidden;
font-size: 0.9em;
- color: var(--fg);
+ color: var(--MI_THEME-fg);
padding-right: 8px;
}
diff --git a/packages/frontend/src/components/MkUserInfo.vue b/packages/frontend/src/components/MkUserInfo.vue
index f0b9606590..0164515a8a 100644
--- a/packages/frontend/src/components/MkUserInfo.vue
+++ b/packages/frontend/src/components/MkUserInfo.vue
@@ -69,7 +69,7 @@ defineProps<{
z-index: 2;
width: 58px;
height: 58px;
- border: solid 4px var(--panel);
+ border: solid 4px var(--MI_THEME-panel);
}
.title {
@@ -90,7 +90,7 @@ defineProps<{
margin: 0;
line-height: 16px;
font-size: 0.8em;
- color: var(--fg);
+ color: var(--MI_THEME-fg);
opacity: 0.7;
}
@@ -108,7 +108,7 @@ defineProps<{
.description {
padding: 16px;
font-size: 0.8em;
- border-top: solid 0.5px var(--divider);
+ border-top: solid 0.5px var(--MI_THEME-divider);
}
.mfm {
@@ -120,7 +120,7 @@ defineProps<{
.status {
padding: 10px 16px;
- border-top: solid 0.5px var(--divider);
+ border-top: solid 0.5px var(--MI_THEME-divider);
}
.statusItem {
@@ -131,12 +131,12 @@ defineProps<{
.statusItemLabel {
margin: 0;
font-size: 0.7em;
- color: var(--fg);
+ color: var(--MI_THEME-fg);
}
.statusItemValue {
font-size: 1em;
- color: var(--accent);
+ color: var(--MI_THEME-accent);
}
.follow {
diff --git a/packages/frontend/src/components/MkUserOnlineIndicator.vue b/packages/frontend/src/components/MkUserOnlineIndicator.vue
index c39a900bcf..5cebeea2f4 100644
--- a/packages/frontend/src/components/MkUserOnlineIndicator.vue
+++ b/packages/frontend/src/components/MkUserOnlineIndicator.vue
@@ -36,7 +36,7 @@ const text = computed(() => {
<style lang="scss" module>
.root {
- box-shadow: 0 0 0 3px var(--panel);
+ box-shadow: 0 0 0 3px var(--MI_THEME-panel);
border-radius: 120%; // Blinkのバグか知らんけど、100%ぴったりにすると何故か若干楕円でレンダリングされる
&.status_online {
diff --git a/packages/frontend/src/components/MkUserPopup.vue b/packages/frontend/src/components/MkUserPopup.vue
index ea1241002e..740202f28b 100644
--- a/packages/frontend/src/components/MkUserPopup.vue
+++ b/packages/frontend/src/components/MkUserPopup.vue
@@ -18,7 +18,7 @@ SPDX-License-Identifier: AGPL-3.0-only
</div>
<svg viewBox="0 0 128 128" :class="$style.avatarBack">
<g transform="matrix(1.6,0,0,1.6,-38.4,-51.2)">
- <path d="M64,32C81.661,32 96,46.339 96,64C95.891,72.184 104,72 104,72C104,72 74.096,80 64,80C52.755,80 24,72 24,72C24,72 31.854,72.018 32,64C32,46.339 46.339,32 64,32Z" style="fill: var(--popup);"/>
+ <path d="M64,32C81.661,32 96,46.339 96,64C95.891,72.184 104,72 104,72C104,72 74.096,80 64,80C52.755,80 24,72 24,72C24,72 31.854,72.018 32,64C32,46.339 46.339,32 64,32Z" style="fill: var(--MI_THEME-popup);"/>
</g>
</svg>
<MkAvatar :class="$style.avatar" :user="user" indicator/>
@@ -197,8 +197,8 @@ onMounted(() => {
padding: 16px 26px;
font-size: 0.8em;
text-align: center;
- border-top: solid 1px var(--divider);
- border-bottom: solid 1px var(--divider);
+ border-top: solid 1px var(--MI_THEME-divider);
+ border-bottom: solid 1px var(--MI_THEME-divider);
}
.mfm {
@@ -220,7 +220,7 @@ onMounted(() => {
.statusItemLabel {
font-size: 0.7em;
- color: var(--fgTransparentWeak);
+ color: var(--MI_THEME-fgTransparentWeak);
}
.menu {
@@ -228,7 +228,7 @@ onMounted(() => {
top: 8px;
right: 44px;
padding: 6px;
- background: var(--panel);
+ background: var(--MI_THEME-panel);
border-radius: 999px;
}
diff --git a/packages/frontend/src/components/MkUserSelectDialog.vue b/packages/frontend/src/components/MkUserSelectDialog.vue
index 1374817c72..8e58a6c5a2 100644
--- a/packages/frontend/src/components/MkUserSelectDialog.vue
+++ b/packages/frontend/src/components/MkUserSelectDialog.vue
@@ -195,11 +195,11 @@ onMounted(() => {
font-size: 14px;
&:hover {
- background: var(--X7);
+ background: var(--MI_THEME-X7);
}
&.selected {
- background: var(--accent);
+ background: var(--MI_THEME-accent);
color: #fff;
}
}
diff --git a/packages/frontend/src/components/MkUserSetupDialog.User.vue b/packages/frontend/src/components/MkUserSetupDialog.User.vue
index bb9af676e2..004edab630 100644
--- a/packages/frontend/src/components/MkUserSetupDialog.User.vue
+++ b/packages/frontend/src/components/MkUserSetupDialog.User.vue
@@ -61,7 +61,7 @@ async function follow() {
z-index: 2;
width: 58px;
height: 58px;
- border: solid 4px var(--panel);
+ border: solid 4px var(--MI_THEME-panel);
}
.title {
@@ -82,7 +82,7 @@ async function follow() {
margin: 0;
line-height: 16px;
font-size: 0.8em;
- color: var(--fg);
+ color: var(--MI_THEME-fg);
opacity: 0.7;
}
@@ -99,7 +99,7 @@ async function follow() {
}
.footer {
- border-top: solid 0.5px var(--divider);
+ border-top: solid 0.5px var(--MI_THEME-divider);
padding: 16px;
}
</style>
diff --git a/packages/frontend/src/components/MkUserSetupDialog.vue b/packages/frontend/src/components/MkUserSetupDialog.vue
index 1fb1eda039..b7261129ef 100644
--- a/packages/frontend/src/components/MkUserSetupDialog.vue
+++ b/packages/frontend/src/components/MkUserSetupDialog.vue
@@ -35,7 +35,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<MkAnimBg style="position: absolute; top: 0;" :scale="1.5"/>
<MkSpacer :marginMin="20" :marginMax="28">
<div class="_gaps" style="text-align: center;">
- <i class="ti ti-confetti" style="display: block; margin: auto; font-size: 3em; color: var(--accent);"></i>
+ <i class="ti ti-confetti" style="display: block; margin: auto; font-size: 3em; color: var(--MI_THEME-accent);"></i>
<div style="font-size: 120%;">{{ i18n.ts._initialAccountSetting.accountCreated }}</div>
<div>{{ i18n.ts._initialAccountSetting.letsStartAccountSetup }}</div>
<MkButton primary rounded gradate style="margin: 16px auto 0 auto;" data-cy-user-setup-continue @click="page++">{{ i18n.ts._initialAccountSetting.profileSetting }} <i class="ti ti-arrow-right"></i></MkButton>
@@ -91,7 +91,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<div :class="$style.centerPage">
<MkSpacer :marginMin="20" :marginMax="28">
<div class="_gaps" style="text-align: center;">
- <i class="ti ti-bell-ringing-2" style="display: block; margin: auto; font-size: 3em; color: var(--accent);"></i>
+ <i class="ti ti-bell-ringing-2" style="display: block; margin: auto; font-size: 3em; color: var(--MI_THEME-accent);"></i>
<div style="font-size: 120%;">{{ i18n.ts.pushNotification }}</div>
<div style="padding: 0 16px;">{{ i18n.tsx._initialAccountSetting.pushNotificationDescription({ name: instance.name ?? host }) }}</div>
<MkPushNotificationAllowButton primary showOnlyToRegister style="margin: 0 auto;"/>
@@ -108,7 +108,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<MkAnimBg style="position: absolute; top: 0;" :scale="1.5"/>
<MkSpacer :marginMin="20" :marginMax="28">
<div class="_gaps" style="text-align: center;">
- <i class="ti ti-check" style="display: block; margin: auto; font-size: 3em; color: var(--accent);"></i>
+ <i class="ti ti-check" style="display: block; margin: auto; font-size: 3em; color: var(--MI_THEME-accent);"></i>
<div style="font-size: 120%;">{{ i18n.ts._initialAccountSetting.initialAccountSettingCompleted }}</div>
<div>{{ i18n.tsx._initialAccountSetting.youCanContinueTutorial({ name: instance.name ?? host }) }}</div>
<div class="_buttonsCenter" style="margin-top: 16px;">
@@ -223,7 +223,7 @@ async function later(later: boolean) {
.progressBarValue {
height: 100%;
- background: linear-gradient(90deg, var(--buttonGradateA), var(--buttonGradateB));
+ background: linear-gradient(90deg, var(--MI_THEME-buttonGradateA), var(--MI_THEME-buttonGradateB));
transition: all 0.5s cubic-bezier(0,.5,.5,1);
}
@@ -252,7 +252,7 @@ async function later(later: boolean) {
left: 0;
flex-shrink: 0;
padding: 12px;
- border-top: solid 0.5px var(--divider);
+ border-top: solid 0.5px var(--MI_THEME-divider);
-webkit-backdrop-filter: blur(15px);
backdrop-filter: blur(15px);
}
diff --git a/packages/frontend/src/components/MkVisibilityPicker.vue b/packages/frontend/src/components/MkVisibilityPicker.vue
index 75066bbc32..650e639c4f 100644
--- a/packages/frontend/src/components/MkVisibilityPicker.vue
+++ b/packages/frontend/src/components/MkVisibilityPicker.vue
@@ -124,7 +124,7 @@ function choose(visibility: typeof Misskey.noteVisibilities[number]): void {
}
&.active {
- color: var(--accent);
+ color: var(--MI_THEME-accent);
}
}
diff --git a/packages/frontend/src/components/MkVisitorDashboard.ActiveUsersChart.vue b/packages/frontend/src/components/MkVisitorDashboard.ActiveUsersChart.vue
index cab42cd59d..d098dad9a1 100644
--- a/packages/frontend/src/components/MkVisitorDashboard.ActiveUsersChart.vue
+++ b/packages/frontend/src/components/MkVisitorDashboard.ActiveUsersChart.vue
@@ -62,7 +62,7 @@ async function renderChart() {
const vLineColor = defaultStore.state.darkMode ? 'rgba(255, 255, 255, 0.2)' : 'rgba(0, 0, 0, 0.2)';
const computedStyle = getComputedStyle(document.documentElement);
- const accent = tinycolor(computedStyle.getPropertyValue('--accent')).toHexString();
+ const accent = tinycolor(computedStyle.getPropertyValue('--MI_THEME-accent')).toHexString();
const colorRead = accent;
const colorWrite = '#2ecc71';
diff --git a/packages/frontend/src/components/MkVisitorDashboard.vue b/packages/frontend/src/components/MkVisitorDashboard.vue
index a6c8baeaaa..91e2898798 100644
--- a/packages/frontend/src/components/MkVisitorDashboard.vue
+++ b/packages/frontend/src/components/MkVisitorDashboard.vue
@@ -106,7 +106,7 @@ function showMenu(ev: MouseEvent) {
.panel {
position: relative;
- background: var(--panel);
+ background: var(--MI_THEME-panel);
border-radius: var(--radius);
box-shadow: 0 12px 32px rgb(0 0 0 / 25%);
}
@@ -178,14 +178,14 @@ function showMenu(ev: MouseEvent) {
}
.statsItemLabel {
- color: var(--fgTransparentWeak);
+ color: var(--MI_THEME-fgTransparentWeak);
font-size: 0.9em;
}
.statsItemCount {
font-weight: bold;
font-size: 1.2em;
- color: var(--accent);
+ color: var(--MI_THEME-accent);
}
.tl {
@@ -194,7 +194,7 @@ function showMenu(ev: MouseEvent) {
.tlHeader {
padding: 12px 16px;
- border-bottom: solid 1px var(--divider);
+ border-bottom: solid 1px var(--MI_THEME-divider);
}
.tlBody {
diff --git a/packages/frontend/src/components/MkWaitingDialog.vue b/packages/frontend/src/components/MkWaitingDialog.vue
index 60b75b6d30..62e187f172 100644
--- a/packages/frontend/src/components/MkWaitingDialog.vue
+++ b/packages/frontend/src/components/MkWaitingDialog.vue
@@ -47,7 +47,7 @@ watch(() => props.showing, () => {
padding: 32px;
box-sizing: border-box;
text-align: center;
- background: var(--panel);
+ background: var(--MI_THEME-panel);
border-radius: var(--radius);
width: 250px;
@@ -65,7 +65,7 @@ watch(() => props.showing, () => {
font-size: 32px;
&.success {
- color: var(--accent);
+ color: var(--MI_THEME-accent);
}
&.waiting {
diff --git a/packages/frontend/src/components/MkWindow.vue b/packages/frontend/src/components/MkWindow.vue
index 08906a1205..dd92952a35 100644
--- a/packages/frontend/src/components/MkWindow.vue
+++ b/packages/frontend/src/components/MkWindow.vue
@@ -514,10 +514,10 @@ defineExpose({
flex-shrink: 0;
user-select: none;
height: var(--height);
- background: var(--windowHeader);
+ background: var(--MI_THEME-windowHeader);
-webkit-backdrop-filter: var(--blur, blur(15px));
backdrop-filter: var(--blur, blur(15px));
- //border-bottom: solid 1px var(--divider);
+ //border-bottom: solid 1px var(--MI_THEME-divider);
font-size: 90%;
font-weight: bold;
@@ -531,11 +531,11 @@ defineExpose({
width: var(--height);
&:hover {
- color: var(--fgHighlighted);
+ color: var(--MI_THEME-fgHighlighted);
}
&.highlighted {
- color: var(--accent);
+ color: var(--MI_THEME-accent);
}
}
@@ -560,7 +560,7 @@ defineExpose({
.content {
flex: 1;
overflow: auto;
- background: var(--panel);
+ background: var(--MI_THEME-panel);
container-type: size;
}
diff --git a/packages/frontend/src/components/form/link.vue b/packages/frontend/src/components/form/link.vue
index d6585bf4a5..8fa9e4affb 100644
--- a/packages/frontend/src/components/form/link.vue
+++ b/packages/frontend/src/components/form/link.vue
@@ -51,18 +51,18 @@ const props = defineProps<{
width: 100%;
box-sizing: border-box;
padding: 10px 14px;
- background: var(--folderHeaderBg);
+ background: var(--MI_THEME-folderHeaderBg);
border-radius: 6px;
font-size: 0.9em;
&:hover {
text-decoration: none;
- background: var(--folderHeaderHoverBg);
+ background: var(--MI_THEME-folderHeaderHoverBg);
}
&.active {
- color: var(--accent);
- background: var(--folderHeaderHoverBg);
+ color: var(--MI_THEME-accent);
+ background: var(--MI_THEME-folderHeaderHoverBg);
}
}
@@ -70,7 +70,7 @@ const props = defineProps<{
margin-right: 0.75em;
flex-shrink: 0;
text-align: center;
- color: var(--fgTransparentWeak);
+ color: var(--MI_THEME-fgTransparentWeak);
&:empty {
display: none;
diff --git a/packages/frontend/src/components/form/section.vue b/packages/frontend/src/components/form/section.vue
index ad37daa265..5fca3acc31 100644
--- a/packages/frontend/src/components/form/section.vue
+++ b/packages/frontend/src/components/form/section.vue
@@ -21,8 +21,8 @@ defineProps<{
<style lang="scss" module>
.root {
- border-top: solid 0.5px var(--divider);
- //border-bottom: solid 0.5px var(--divider);
+ border-top: solid 0.5px var(--MI_THEME-divider);
+ //border-bottom: solid 0.5px var(--MI_THEME-divider);
}
.rootFirst {
@@ -49,7 +49,7 @@ defineProps<{
.description {
font-size: 0.85em;
- color: var(--fgTransparentWeak);
+ color: var(--MI_THEME-fgTransparentWeak);
margin: 0 0 8px 0;
}
</style>
diff --git a/packages/frontend/src/components/form/slot.vue b/packages/frontend/src/components/form/slot.vue
index f54db0ca82..da94b7abbb 100644
--- a/packages/frontend/src/components/form/slot.vue
+++ b/packages/frontend/src/components/form/slot.vue
@@ -35,7 +35,7 @@ function focus() {
.caption {
font-size: 0.85em;
padding: 8px 0 0 0;
- color: var(--fgTransparentWeak);
+ color: var(--MI_THEME-fgTransparentWeak);
&:empty {
display: none;
diff --git a/packages/frontend/src/components/global/MkAd.vue b/packages/frontend/src/components/global/MkAd.vue
index f0e943960d..b525a81fbe 100644
--- a/packages/frontend/src/components/global/MkAd.vue
+++ b/packages/frontend/src/components/global/MkAd.vue
@@ -191,7 +191,7 @@ function reduceFrequency(): void {
right: 1px;
display: grid;
place-content: center;
- background: var(--panel);
+ background: var(--MI_THEME-panel);
border-radius: 100%;
padding: 2px;
}
@@ -210,7 +210,7 @@ function reduceFrequency(): void {
padding: 8px;
margin: 0 auto;
max-width: 400px;
- border: solid 1px var(--divider);
+ border: solid 1px var(--MI_THEME-divider);
}
.menuButton {
diff --git a/packages/frontend/src/components/global/MkLoading.vue b/packages/frontend/src/components/global/MkLoading.vue
index 49d8ace37b..47d797606b 100644
--- a/packages/frontend/src/components/global/MkLoading.vue
+++ b/packages/frontend/src/components/global/MkLoading.vue
@@ -56,7 +56,7 @@ const props = withDefaults(defineProps<{
--size: 38px;
&.colored {
- color: var(--accent);
+ color: var(--MI_THEME-accent);
}
&.inline {
diff --git a/packages/frontend/src/components/global/MkMfm.ts b/packages/frontend/src/components/global/MkMfm.ts
index 1beb8874e0..0d4ae8cacb 100644
--- a/packages/frontend/src/components/global/MkMfm.ts
+++ b/packages/frontend/src/components/global/MkMfm.ts
@@ -31,8 +31,8 @@ const QUOTE_STYLE = `
display: block;
margin: 8px;
padding: 6px 0 6px 12px;
-color: var(--fg);
-border-left: solid 3px var(--fg);
+color: var(--MI_THEME-fg);
+border-left: solid 3px var(--MI_THEME-fg);
opacity: 0.7;
`.split('\n').join(' ');
@@ -270,7 +270,7 @@ export default function (props: MfmProps, { emit }: { emit: SetupContext<MfmEven
}
case 'border': {
let color = validColor(token.props.args.color);
- color = color ? `#${color}` : 'var(--accent)';
+ color = color ? `#${color}` : 'var(--MI_THEME-accent)';
let b_style = token.props.args.style;
if (
typeof b_style !== 'string' ||
@@ -303,7 +303,7 @@ export default function (props: MfmProps, { emit }: { emit: SetupContext<MfmEven
const child = token.children[0];
const unixtime = parseInt(child.type === 'text' ? child.props.text : '');
return h('span', {
- style: 'display: inline-block; font-size: 90%; border: solid 1px var(--divider); border-radius: 999px; padding: 4px 10px 4px 6px;',
+ style: 'display: inline-block; font-size: 90%; border: solid 1px var(--MI_THEME-divider); border-radius: 999px; padding: 4px 10px 4px 6px;',
}, [
h('i', {
class: 'ti ti-clock',
@@ -377,7 +377,7 @@ export default function (props: MfmProps, { emit }: { emit: SetupContext<MfmEven
return [h(MkA, {
key: Math.random(),
to: isNote ? `/tags/${encodeURIComponent(token.props.hashtag)}` : `/user-tags/${encodeURIComponent(token.props.hashtag)}`,
- style: 'color:var(--hashtag);',
+ style: 'color:var(--MI_THEME-hashtag);',
behavior: props.linkNavigationBehavior,
}, `#${token.props.hashtag}`)];
}
diff --git a/packages/frontend/src/components/global/MkPageHeader.tabs.vue b/packages/frontend/src/components/global/MkPageHeader.tabs.vue
index fcc46cc345..adf8638dae 100644
--- a/packages/frontend/src/components/global/MkPageHeader.tabs.vue
+++ b/packages/frontend/src/components/global/MkPageHeader.tabs.vue
@@ -247,7 +247,7 @@ onUnmounted(() => {
position: absolute;
bottom: 0;
height: 3px;
- background: var(--accent);
+ background: var(--MI_THEME-accent);
border-radius: 999px;
transition: none;
pointer-events: none;
diff --git a/packages/frontend/src/components/global/MkPageHeader.vue b/packages/frontend/src/components/global/MkPageHeader.vue
index f1a451808f..e032313b02 100644
--- a/packages/frontend/src/components/global/MkPageHeader.vue
+++ b/packages/frontend/src/components/global/MkPageHeader.vue
@@ -99,7 +99,7 @@ function onTabClick(): void {
}
const calcBg = () => {
- const rawBg = 'var(--bg)';
+ const rawBg = 'var(--MI_THEME-bg)';
const tinyBg = tinycolor(rawBg.startsWith('var(') ? getComputedStyle(document.documentElement).getPropertyValue(rawBg.slice(4, -1)) : rawBg);
tinyBg.setAlpha(0.85);
bg.value = tinyBg.toRgbString();
@@ -132,7 +132,7 @@ onUnmounted(() => {
.root {
-webkit-backdrop-filter: var(--blur, blur(15px));
backdrop-filter: var(--blur, blur(15px));
- border-bottom: solid 0.5px var(--divider);
+ border-bottom: solid 0.5px var(--MI_THEME-divider);
width: 100%;
}
@@ -230,7 +230,7 @@ onUnmounted(() => {
}
&.highlighted {
- color: var(--accent);
+ color: var(--MI_THEME-accent);
}
}
diff --git a/packages/frontend/src/components/global/MkTime.vue b/packages/frontend/src/components/global/MkTime.vue
index 50bec990a1..f600f7eed2 100644
--- a/packages/frontend/src/components/global/MkTime.vue
+++ b/packages/frontend/src/components/global/MkTime.vue
@@ -99,10 +99,10 @@ if (!invalid && props.origin === null && (props.mode === 'relative' || props.mod
<style lang="scss" module>
.old1 {
- color: var(--warn);
+ color: var(--MI_THEME-warn);
}
.old1.old2 {
- color: var(--error);
+ color: var(--MI_THEME-error);
}
</style>
diff --git a/packages/frontend/src/components/page/page.dynamic.vue b/packages/frontend/src/components/page/page.dynamic.vue
index 8c511a690d..c355cd07d7 100644
--- a/packages/frontend/src/components/page/page.dynamic.vue
+++ b/packages/frontend/src/components/page/page.dynamic.vue
@@ -27,7 +27,7 @@ const props = defineProps<{
<style lang="scss" module>
.root {
- border: 1px solid var(--divider);
+ border: 1px solid var(--MI_THEME-divider);
border-radius: var(--radius);
padding: var(--margin);
text-align: center;
diff --git a/packages/frontend/src/components/page/page.image.vue b/packages/frontend/src/components/page/page.image.vue
index fc1ce9fc7b..c4bedcdb54 100644
--- a/packages/frontend/src/components/page/page.image.vue
+++ b/packages/frontend/src/components/page/page.image.vue
@@ -28,7 +28,7 @@ onMounted(() => {
<style lang="scss" module>
.root {
- border: 1px solid var(--divider);
+ border: 1px solid var(--MI_THEME-divider);
border-radius: var(--radius);
overflow: hidden;
}
diff --git a/packages/frontend/src/components/page/page.note.vue b/packages/frontend/src/components/page/page.note.vue
index b5ba407806..4a1be9b772 100644
--- a/packages/frontend/src/components/page/page.note.vue
+++ b/packages/frontend/src/components/page/page.note.vue
@@ -35,7 +35,7 @@ onMounted(() => {
<style lang="scss" module>
.root {
- border: 1px solid var(--divider);
+ border: 1px solid var(--MI_THEME-divider);
border-radius: var(--radius);
}
</style>
diff --git a/packages/frontend/src/directives/adaptive-bg.ts b/packages/frontend/src/directives/adaptive-bg.ts
index 23fd1bddf4..45891de889 100644
--- a/packages/frontend/src/directives/adaptive-bg.ts
+++ b/packages/frontend/src/directives/adaptive-bg.ts
@@ -21,7 +21,7 @@ export default {
const myBg = window.getComputedStyle(src).backgroundColor;
if (parentBg === myBg) {
- src.style.backgroundColor = 'var(--bg)';
+ src.style.backgroundColor = 'var(--MI_THEME-bg)';
} else {
src.style.backgroundColor = myBg;
}
diff --git a/packages/frontend/src/directives/adaptive-border.ts b/packages/frontend/src/directives/adaptive-border.ts
index b436075fcd..685ca38e96 100644
--- a/packages/frontend/src/directives/adaptive-border.ts
+++ b/packages/frontend/src/directives/adaptive-border.ts
@@ -21,7 +21,7 @@ export default {
const myBg = window.getComputedStyle(src).backgroundColor;
if (parentBg === myBg) {
- src.style.borderColor = 'var(--divider)';
+ src.style.borderColor = 'var(--MI_THEME-divider)';
} else {
src.style.borderColor = myBg;
}
diff --git a/packages/frontend/src/directives/panel.ts b/packages/frontend/src/directives/panel.ts
index bbcc220e09..7b5969c679 100644
--- a/packages/frontend/src/directives/panel.ts
+++ b/packages/frontend/src/directives/panel.ts
@@ -18,12 +18,12 @@ export default {
const parentBg = getBgColor(src.parentElement);
- const myBg = getComputedStyle(document.documentElement).getPropertyValue('--panel');
+ const myBg = getComputedStyle(document.documentElement).getPropertyValue('--MI_THEME-panel');
if (parentBg === myBg) {
- src.style.backgroundColor = 'var(--bg)';
+ src.style.backgroundColor = 'var(--MI_THEME-bg)';
} else {
- src.style.backgroundColor = 'var(--panel)';
+ src.style.backgroundColor = 'var(--MI_THEME-panel)';
}
},
} as Directive;
diff --git a/packages/frontend/src/pages/about-misskey.vue b/packages/frontend/src/pages/about-misskey.vue
index b481fd590c..a66d580db9 100644
--- a/packages/frontend/src/pages/about-misskey.vue
+++ b/packages/frontend/src/pages/about-misskey.vue
@@ -529,17 +529,17 @@ definePageMetadata(() => ({
display: flex;
align-items: center;
padding: 12px;
- background: var(--buttonBg);
+ background: var(--MI_THEME-buttonBg);
border-radius: 6px;
&:hover {
text-decoration: none;
- background: var(--buttonHoverBg);
+ background: var(--MI_THEME-buttonHoverBg);
}
&.active {
- color: var(--accent);
- background: var(--buttonHoverBg);
+ color: var(--MI_THEME-accent);
+ background: var(--MI_THEME-buttonHoverBg);
}
}
@@ -562,7 +562,7 @@ definePageMetadata(() => ({
display: flex;
align-items: center;
padding: 12px;
- background: var(--buttonBg);
+ background: var(--MI_THEME-buttonBg);
border-radius: 6px;
}
diff --git a/packages/frontend/src/pages/about.overview.vue b/packages/frontend/src/pages/about.overview.vue
index b645506eff..c19757f88f 100644
--- a/packages/frontend/src/pages/about.overview.vue
+++ b/packages/frontend/src/pages/about.overview.vue
@@ -147,7 +147,7 @@ const initStats = () => misskeyApi('stats', {});
text-align: center;
border-radius: 10px;
overflow: clip;
- background-color: var(--panel);
+ background-color: var(--MI_THEME-panel);
background-size: cover;
background-position: center center;
}
@@ -189,8 +189,8 @@ const initStats = () => misskeyApi('stats', {});
width: 32px;
height: 32px;
line-height: 32px;
- background-color: var(--accentedBg);
- color: var(--accent);
+ background-color: var(--MI_THEME-accentedBg);
+ color: var(--MI_THEME-accent);
font-size: 13px;
font-weight: bold;
align-items: center;
diff --git a/packages/frontend/src/pages/admin-user.vue b/packages/frontend/src/pages/admin-user.vue
index 033634396e..d33b116059 100644
--- a/packages/frontend/src/pages/admin-user.vue
+++ b/packages/frontend/src/pages/admin-user.vue
@@ -159,9 +159,9 @@ SPDX-License-Identifier: AGPL-3.0-only
<div v-for="announcement in items" :key="announcement.id" v-panel :class="$style.announcementItem" @click="editAnnouncement(announcement)">
<span style="margin-right: 0.5em;">
<i v-if="announcement.icon === 'info'" class="ti ti-info-circle"></i>
- <i v-else-if="announcement.icon === 'warning'" class="ti ti-alert-triangle" style="color: var(--warn);"></i>
- <i v-else-if="announcement.icon === 'error'" class="ti ti-circle-x" style="color: var(--error);"></i>
- <i v-else-if="announcement.icon === 'success'" class="ti ti-check" style="color: var(--success);"></i>
+ <i v-else-if="announcement.icon === 'warning'" class="ti ti-alert-triangle" style="color: var(--MI_THEME-warn);"></i>
+ <i v-else-if="announcement.icon === 'error'" class="ti ti-circle-x" style="color: var(--MI_THEME-error);"></i>
+ <i v-else-if="announcement.icon === 'success'" class="ti ti-check" style="color: var(--MI_THEME-success);"></i>
</span>
<span>{{ announcement.title }}</span>
<span v-if="announcement.reads > 0" style="margin-left: auto; opacity: 0.7;">{{ i18n.ts.messageRead }}</span>
@@ -582,18 +582,18 @@ definePageMetadata(() => ({
}
> .suspended {
- color: var(--error);
- border-color: var(--error);
+ color: var(--MI_THEME-error);
+ border-color: var(--MI_THEME-error);
}
> .silenced {
- color: var(--warn);
- border-color: var(--warn);
+ color: var(--MI_THEME-warn);
+ border-color: var(--MI_THEME-warn);
}
> .moderator {
- color: var(--success);
- border-color: var(--success);
+ color: var(--MI_THEME-success);
+ border-color: var(--MI_THEME-success);
}
}
}
@@ -640,7 +640,7 @@ definePageMetadata(() => ({
.roleItemSub {
padding: 6px 12px;
font-size: 85%;
- color: var(--fgTransparentWeak);
+ color: var(--MI_THEME-fgTransparentWeak);
}
.roleUnassign {
diff --git a/packages/frontend/src/pages/admin/RolesEditorFormula.vue b/packages/frontend/src/pages/admin/RolesEditorFormula.vue
index f001a4ac20..dc2862d225 100644
--- a/packages/frontend/src/pages/admin/RolesEditorFormula.vue
+++ b/packages/frontend/src/pages/admin/RolesEditorFormula.vue
@@ -155,12 +155,12 @@ function removeSelf() {
}
.item {
- border: solid 2px var(--divider);
+ border: solid 2px var(--MI_THEME-divider);
border-radius: var(--radius);
padding: 12px;
&:hover {
- border-color: var(--accent);
+ border-color: var(--MI_THEME-accent);
}
}
</style>
diff --git a/packages/frontend/src/pages/admin/_header_.vue b/packages/frontend/src/pages/admin/_header_.vue
index d22e078c2a..36fe483771 100644
--- a/packages/frontend/src/pages/admin/_header_.vue
+++ b/packages/frontend/src/pages/admin/_header_.vue
@@ -119,7 +119,7 @@ function onTabClick(tab: Tab, ev: MouseEvent): void {
}
const calcBg = () => {
- const rawBg = pageMetadata.value?.bg ?? 'var(--bg)';
+ const rawBg = pageMetadata.value?.bg ?? 'var(--MI_THEME-bg)';
const tinyBg = tinycolor(rawBg.startsWith('var(') ? getComputedStyle(document.documentElement).getPropertyValue(rawBg.slice(4, -1)) : rawBg);
tinyBg.setAlpha(0.85);
bg.value = tinyBg.toRgbString();
@@ -189,7 +189,7 @@ onUnmounted(() => {
}
&.highlighted {
- color: var(--accent);
+ color: var(--MI_THEME-accent);
}
}
@@ -286,7 +286,7 @@ onUnmounted(() => {
position: absolute;
bottom: 0;
height: 3px;
- background: var(--accent);
+ background: var(--MI_THEME-accent);
border-radius: 999px;
transition: all 0.2s ease;
pointer-events: none;
diff --git a/packages/frontend/src/pages/admin/abuse-report/notification-recipient.editor.vue b/packages/frontend/src/pages/admin/abuse-report/notification-recipient.editor.vue
index 827e22e8ae..f70b46b84a 100644
--- a/packages/frontend/src/pages/admin/abuse-report/notification-recipient.editor.vue
+++ b/packages/frontend/src/pages/admin/abuse-report/notification-recipient.editor.vue
@@ -294,8 +294,8 @@ onMounted(async () => {
bottom: 0;
left: 0;
padding: 12px;
- border-top: solid 0.5px var(--divider);
- background: var(--acrylicBg);
+ border-top: solid 0.5px var(--MI_THEME-divider);
+ background: var(--MI_THEME-acrylicBg);
-webkit-backdrop-filter: var(--blur, blur(15px));
backdrop-filter: var(--blur, blur(15px));
}
diff --git a/packages/frontend/src/pages/admin/abuse-report/notification-recipient.item.vue b/packages/frontend/src/pages/admin/abuse-report/notification-recipient.item.vue
index 0b86808faf..36d586bd23 100644
--- a/packages/frontend/src/pages/admin/abuse-report/notification-recipient.item.vue
+++ b/packages/frontend/src/pages/admin/abuse-report/notification-recipient.item.vue
@@ -87,7 +87,7 @@ function onDeleteButtonClicked() {
}
.rightDivider {
- border-right: 0.5px solid var(--divider);
+ border-right: 0.5px solid var(--MI_THEME-divider);
}
.recipientButtons {
@@ -108,7 +108,7 @@ function onDeleteButtonClicked() {
padding: 8px;
&:hover {
- background-color: var(--buttonBg);
+ background-color: var(--MI_THEME-buttonBg);
}
}
</style>
diff --git a/packages/frontend/src/pages/admin/announcements.vue b/packages/frontend/src/pages/admin/announcements.vue
index fd37311b21..e420586017 100644
--- a/packages/frontend/src/pages/admin/announcements.vue
+++ b/packages/frontend/src/pages/admin/announcements.vue
@@ -24,9 +24,9 @@ SPDX-License-Identifier: AGPL-3.0-only
<template #label>{{ announcement.title }}</template>
<template #icon>
<i v-if="announcement.icon === 'info'" class="ti ti-info-circle"></i>
- <i v-else-if="announcement.icon === 'warning'" class="ti ti-alert-triangle" style="color: var(--warn);"></i>
- <i v-else-if="announcement.icon === 'error'" class="ti ti-circle-x" style="color: var(--error);"></i>
- <i v-else-if="announcement.icon === 'success'" class="ti ti-check" style="color: var(--success);"></i>
+ <i v-else-if="announcement.icon === 'warning'" class="ti ti-alert-triangle" style="color: var(--MI_THEME-warn);"></i>
+ <i v-else-if="announcement.icon === 'error'" class="ti ti-circle-x" style="color: var(--MI_THEME-error);"></i>
+ <i v-else-if="announcement.icon === 'success'" class="ti ti-check" style="color: var(--MI_THEME-success);"></i>
</template>
<template #caption>{{ announcement.text }}</template>
<template #footer>
@@ -51,9 +51,9 @@ SPDX-License-Identifier: AGPL-3.0-only
<MkRadios v-model="announcement.icon">
<template #label>{{ i18n.ts.icon }}</template>
<option value="info"><i class="ti ti-info-circle"></i></option>
- <option value="warning"><i class="ti ti-alert-triangle" style="color: var(--warn);"></i></option>
- <option value="error"><i class="ti ti-circle-x" style="color: var(--error);"></i></option>
- <option value="success"><i class="ti ti-check" style="color: var(--success);"></i></option>
+ <option value="warning"><i class="ti ti-alert-triangle" style="color: var(--MI_THEME-warn);"></i></option>
+ <option value="error"><i class="ti ti-circle-x" style="color: var(--MI_THEME-error);"></i></option>
+ <option value="success"><i class="ti ti-check" style="color: var(--MI_THEME-success);"></i></option>
</MkRadios>
<MkRadios v-model="announcement.display">
<template #label>{{ i18n.ts.display }}</template>
diff --git a/packages/frontend/src/pages/admin/index.vue b/packages/frontend/src/pages/admin/index.vue
index 61745e0ff3..8a206a2f79 100644
--- a/packages/frontend/src/pages/admin/index.vue
+++ b/packages/frontend/src/pages/admin/index.vue
@@ -331,7 +331,7 @@ defineExpose({
width: 32%;
max-width: 280px;
box-sizing: border-box;
- border-right: solid 0.5px var(--divider);
+ border-right: solid 0.5px var(--MI_THEME-divider);
overflow: auto;
height: 100%;
}
diff --git a/packages/frontend/src/pages/admin/modlog.ModLog.vue b/packages/frontend/src/pages/admin/modlog.ModLog.vue
index 6cf95e936e..ddbd293c3a 100644
--- a/packages/frontend/src/pages/admin/modlog.ModLog.vue
+++ b/packages/frontend/src/pages/admin/modlog.ModLog.vue
@@ -205,14 +205,14 @@ const props = defineProps<{
}
.logYellow {
- color: var(--warn);
+ color: var(--MI_THEME-warn);
}
.logRed {
- color: var(--error);
+ color: var(--MI_THEME-error);
}
.logGreen {
- color: var(--success);
+ color: var(--MI_THEME-success);
}
</style>
diff --git a/packages/frontend/src/pages/admin/overview.ap-requests.vue b/packages/frontend/src/pages/admin/overview.ap-requests.vue
index 4bbb9210af..570fcddc07 100644
--- a/packages/frontend/src/pages/admin/overview.ap-requests.vue
+++ b/packages/frontend/src/pages/admin/overview.ap-requests.vue
@@ -278,7 +278,7 @@ onMounted(async () => {
padding: 16px;
&:first-child {
- border-bottom: solid 0.5px var(--divider);
+ border-bottom: solid 0.5px var(--MI_THEME-divider);
}
}
}
diff --git a/packages/frontend/src/pages/admin/overview.federation.vue b/packages/frontend/src/pages/admin/overview.federation.vue
index 022b392d2d..0896859f3c 100644
--- a/packages/frontend/src/pages/admin/overview.federation.vue
+++ b/packages/frontend/src/pages/admin/overview.federation.vue
@@ -151,8 +151,8 @@ onMounted(async () => {
height: 100%;
aspect-ratio: 1;
margin-right: 12px;
- background: var(--accentedBg);
- color: var(--accent);
+ background: var(--MI_THEME-accentedBg);
+ color: var(--MI_THEME-accent);
border-radius: 10px;
}
diff --git a/packages/frontend/src/pages/admin/overview.pie.vue b/packages/frontend/src/pages/admin/overview.pie.vue
index c7a9f2a702..a21ec6c464 100644
--- a/packages/frontend/src/pages/admin/overview.pie.vue
+++ b/packages/frontend/src/pages/admin/overview.pie.vue
@@ -41,7 +41,7 @@ onMounted(() => {
labels: props.data.map(x => x.name),
datasets: [{
backgroundColor: props.data.map(x => x.color),
- borderColor: getComputedStyle(document.documentElement).getPropertyValue('--panel'),
+ borderColor: getComputedStyle(document.documentElement).getPropertyValue('--MI_THEME-panel'),
borderWidth: 2,
hoverOffset: 0,
data: props.data.map(x => x.value),
diff --git a/packages/frontend/src/pages/admin/overview.queue.vue b/packages/frontend/src/pages/admin/overview.queue.vue
index fb190f5325..98d1b8d7f6 100644
--- a/packages/frontend/src/pages/admin/overview.queue.vue
+++ b/packages/frontend/src/pages/admin/overview.queue.vue
@@ -119,7 +119,7 @@ onUnmounted(() => {
> .chart {
min-width: 0;
padding: 16px;
- background: var(--panel);
+ background: var(--MI_THEME-panel);
border-radius: var(--radius);
> .title {
diff --git a/packages/frontend/src/pages/admin/overview.stats.vue b/packages/frontend/src/pages/admin/overview.stats.vue
index 0f4707f08d..222e9f4673 100644
--- a/packages/frontend/src/pages/admin/overview.stats.vue
+++ b/packages/frontend/src/pages/admin/overview.stats.vue
@@ -114,8 +114,8 @@ onMounted(async () => {
height: 100%;
aspect-ratio: 1;
margin-right: 12px;
- background: var(--accentedBg);
- color: var(--accent);
+ background: var(--MI_THEME-accentedBg);
+ color: var(--MI_THEME-accent);
border-radius: 10px;
}
diff --git a/packages/frontend/src/pages/admin/queue.chart.vue b/packages/frontend/src/pages/admin/queue.chart.vue
index 960a263a86..700865c91c 100644
--- a/packages/frontend/src/pages/admin/queue.chart.vue
+++ b/packages/frontend/src/pages/admin/queue.chart.vue
@@ -135,7 +135,7 @@ onUnmounted(() => {
.chart {
min-width: 0;
padding: 16px;
- background: var(--panel);
+ background: var(--MI_THEME-panel);
border-radius: var(--radius);
}
diff --git a/packages/frontend/src/pages/admin/relays.vue b/packages/frontend/src/pages/admin/relays.vue
index 04982eea1f..17e99e6593 100644
--- a/packages/frontend/src/pages/admin/relays.vue
+++ b/packages/frontend/src/pages/admin/relays.vue
@@ -11,8 +11,8 @@ SPDX-License-Identifier: AGPL-3.0-only
<div v-for="relay in relays" :key="relay.inbox" class="relaycxt _panel" style="padding: 16px;">
<div>{{ relay.inbox }}</div>
<div style="margin: 8px 0;">
- <i v-if="relay.status === 'accepted'" class="ti ti-check" :class="$style.icon" style="color: var(--success);"></i>
- <i v-else-if="relay.status === 'rejected'" class="ti ti-ban" :class="$style.icon" style="color: var(--error);"></i>
+ <i v-if="relay.status === 'accepted'" class="ti ti-check" :class="$style.icon" style="color: var(--MI_THEME-success);"></i>
+ <i v-else-if="relay.status === 'rejected'" class="ti ti-ban" :class="$style.icon" style="color: var(--MI_THEME-error);"></i>
<i v-else class="ti ti-clock" :class="$style.icon"></i>
<span>{{ i18n.ts._relayStatus[relay.status] }}</span>
</div>
diff --git a/packages/frontend/src/pages/admin/roles.role.vue b/packages/frontend/src/pages/admin/roles.role.vue
index 8b3c906d8a..1c237a69b4 100644
--- a/packages/frontend/src/pages/admin/roles.role.vue
+++ b/packages/frontend/src/pages/admin/roles.role.vue
@@ -184,7 +184,7 @@ definePageMetadata(() => ({
.userItemSub {
padding: 6px 12px;
font-size: 85%;
- color: var(--fgTransparentWeak);
+ color: var(--MI_THEME-fgTransparentWeak);
}
.userItemMainBody {
diff --git a/packages/frontend/src/pages/admin/server-rules.vue b/packages/frontend/src/pages/admin/server-rules.vue
index ff9b8d6299..552958af6f 100644
--- a/packages/frontend/src/pages/admin/server-rules.vue
+++ b/packages/frontend/src/pages/admin/server-rules.vue
@@ -76,7 +76,7 @@ definePageMetadata(() => ({
<style lang="scss" module>
.item {
display: block;
- color: var(--navFg);
+ color: var(--MI_THEME-navFg);
}
.itemHeader {
@@ -96,8 +96,8 @@ definePageMetadata(() => ({
.itemNumber {
display: flex;
- background-color: var(--accentedBg);
- color: var(--accent);
+ background-color: var(--MI_THEME-accentedBg);
+ color: var(--MI_THEME-accent);
font-size: 14px;
font-weight: bold;
width: 28px;
@@ -117,12 +117,12 @@ definePageMetadata(() => ({
.itemRemove {
width: 40px;
height: 40px;
- color: var(--error);
+ color: var(--MI_THEME-error);
margin-left: auto;
border-radius: 6px;
&:hover {
- background: var(--X5);
+ background: var(--MI_THEME-X5);
}
}
diff --git a/packages/frontend/src/pages/admin/settings.vue b/packages/frontend/src/pages/admin/settings.vue
index 5a7cdee576..ea7603a45a 100644
--- a/packages/frontend/src/pages/admin/settings.vue
+++ b/packages/frontend/src/pages/admin/settings.vue
@@ -400,6 +400,6 @@ definePageMetadata(() => ({
<style lang="scss" module>
.subCaption {
font-size: 0.85em;
- color: var(--fgTransparentWeak);
+ color: var(--MI_THEME-fgTransparentWeak);
}
</style>
diff --git a/packages/frontend/src/pages/admin/system-webhook.item.vue b/packages/frontend/src/pages/admin/system-webhook.item.vue
index 124790338c..45f0fff107 100644
--- a/packages/frontend/src/pages/admin/system-webhook.item.vue
+++ b/packages/frontend/src/pages/admin/system-webhook.item.vue
@@ -13,9 +13,9 @@ SPDX-License-Identifier: AGPL-3.0-only
<i
v-else-if="[200, 201, 204].includes(entity.latestStatus)"
class="ti ti-check"
- :style="{ color: 'var(--success)' }"
+ :style="{ color: 'var(--MI_THEME-success)' }"
/>
- <i v-else class="ti ti-alert-triangle" :style="{ color: 'var(--error)' }"/>
+ <i v-else class="ti ti-alert-triangle" :style="{ color: 'var(--MI_THEME-error)' }"/>
</template>
<template #suffix>
<MkTime v-if="entity.latestSentAt" :time="entity.latestSentAt" style="margin-right: 8px"/>
@@ -75,6 +75,6 @@ function onDeleteClick() {
margin-right: 0.75em;
flex-shrink: 0;
text-align: center;
- color: var(--fgTransparentWeak);
+ color: var(--MI_THEME-fgTransparentWeak);
}
</style>
diff --git a/packages/frontend/src/pages/announcement.vue b/packages/frontend/src/pages/announcement.vue
index 802a6bf399..3840e6a494 100644
--- a/packages/frontend/src/pages/announcement.vue
+++ b/packages/frontend/src/pages/announcement.vue
@@ -20,9 +20,9 @@ SPDX-License-Identifier: AGPL-3.0-only
<span v-if="$i && !announcement.silence && !announcement.isRead" style="margin-right: 0.5em;">🆕</span>
<span style="margin-right: 0.5em;">
<i v-if="announcement.icon === 'info'" class="ti ti-info-circle"></i>
- <i v-else-if="announcement.icon === 'warning'" class="ti ti-alert-triangle" style="color: var(--warn);"></i>
- <i v-else-if="announcement.icon === 'error'" class="ti ti-circle-x" style="color: var(--error);"></i>
- <i v-else-if="announcement.icon === 'success'" class="ti ti-check" style="color: var(--success);"></i>
+ <i v-else-if="announcement.icon === 'warning'" class="ti ti-alert-triangle" style="color: var(--MI_THEME-warn);"></i>
+ <i v-else-if="announcement.icon === 'error'" class="ti ti-circle-x" style="color: var(--MI_THEME-error);"></i>
+ <i v-else-if="announcement.icon === 'success'" class="ti ti-check" style="color: var(--MI_THEME-success);"></i>
</span>
<Mfm :text="announcement.title"/>
</div>
diff --git a/packages/frontend/src/pages/announcements.vue b/packages/frontend/src/pages/announcements.vue
index e50b208775..688a542988 100644
--- a/packages/frontend/src/pages/announcements.vue
+++ b/packages/frontend/src/pages/announcements.vue
@@ -17,9 +17,9 @@ SPDX-License-Identifier: AGPL-3.0-only
<span v-if="$i && !announcement.silence && !announcement.isRead" style="margin-right: 0.5em;">🆕</span>
<span style="margin-right: 0.5em;">
<i v-if="announcement.icon === 'info'" class="ti ti-info-circle"></i>
- <i v-else-if="announcement.icon === 'warning'" class="ti ti-alert-triangle" style="color: var(--warn);"></i>
- <i v-else-if="announcement.icon === 'error'" class="ti ti-circle-x" style="color: var(--error);"></i>
- <i v-else-if="announcement.icon === 'success'" class="ti ti-check" style="color: var(--success);"></i>
+ <i v-else-if="announcement.icon === 'warning'" class="ti ti-alert-triangle" style="color: var(--MI_THEME-warn);"></i>
+ <i v-else-if="announcement.icon === 'error'" class="ti ti-circle-x" style="color: var(--MI_THEME-error);"></i>
+ <i v-else-if="announcement.icon === 'success'" class="ti ti-check" style="color: var(--MI_THEME-success);"></i>
</span>
<MkA :to="`/announcements/${announcement.id}`"><span>{{ announcement.title }}</span></MkA>
</div>
diff --git a/packages/frontend/src/pages/antenna-timeline.vue b/packages/frontend/src/pages/antenna-timeline.vue
index 22c5231dd9..167f402931 100644
--- a/packages/frontend/src/pages/antenna-timeline.vue
+++ b/packages/frontend/src/pages/antenna-timeline.vue
@@ -115,7 +115,7 @@ definePageMetadata(() => ({
}
.tl {
- background: var(--bg);
+ background: var(--MI_THEME-bg);
border-radius: var(--radius);
overflow: clip;
}
diff --git a/packages/frontend/src/pages/channel-editor.vue b/packages/frontend/src/pages/channel-editor.vue
index d3f4a65b89..6d8274a55c 100644
--- a/packages/frontend/src/pages/channel-editor.vue
+++ b/packages/frontend/src/pages/channel-editor.vue
@@ -216,7 +216,7 @@ definePageMetadata(() => ({
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
- color: var(--navFg);
+ color: var(--MI_THEME-navFg);
}
.pinnedNoteRemove {
diff --git a/packages/frontend/src/pages/channel.vue b/packages/frontend/src/pages/channel.vue
index 8b014c7a4e..c8b04ca350 100644
--- a/packages/frontend/src/pages/channel.vue
+++ b/packages/frontend/src/pages/channel.vue
@@ -275,8 +275,8 @@ definePageMetadata(() => ({
.footer {
-webkit-backdrop-filter: var(--blur, blur(15px));
backdrop-filter: var(--blur, blur(15px));
- background: var(--acrylicBg);
- border-top: solid 0.5px var(--divider);
+ background: var(--MI_THEME-acrylicBg);
+ border-top: solid 0.5px var(--MI_THEME-divider);
}
.bannerContainer {
@@ -310,7 +310,7 @@ definePageMetadata(() => ({
left: 0;
width: 100%;
height: 64px;
- background: linear-gradient(0deg, var(--panel), color(from var(--panel) srgb r g b / 0));
+ background: linear-gradient(0deg, var(--MI_THEME-panel), color(from var(--MI_THEME-panel) srgb r g b / 0));
}
.bannerStatus {
@@ -335,7 +335,7 @@ definePageMetadata(() => ({
bottom: 16px;
left: 16px;
background: rgba(0, 0, 0, 0.7);
- color: var(--warn);
+ color: var(--MI_THEME-warn);
border-radius: 6px;
font-weight: bold;
font-size: 1em;
diff --git a/packages/frontend/src/pages/clip.vue b/packages/frontend/src/pages/clip.vue
index 7e5f0423f6..7b1737fece 100644
--- a/packages/frontend/src/pages/clip.vue
+++ b/packages/frontend/src/pages/clip.vue
@@ -198,7 +198,7 @@ definePageMetadata(() => ({
.user {
--height: 32px;
padding: 16px;
- border-top: solid 0.5px var(--divider);
+ border-top: solid 0.5px var(--MI_THEME-divider);
line-height: var(--height);
}
diff --git a/packages/frontend/src/pages/custom-emojis-manager.vue b/packages/frontend/src/pages/custom-emojis-manager.vue
index 4747aa5205..6d0b3d8d2e 100644
--- a/packages/frontend/src/pages/custom-emojis-manager.vue
+++ b/packages/frontend/src/pages/custom-emojis-manager.vue
@@ -331,14 +331,14 @@ definePageMetadata(() => ({
align-items: center;
padding: 11px;
text-align: left;
- border: solid 1px var(--panel);
+ border: solid 1px var(--MI_THEME-panel);
&:hover {
- border-color: var(--inputBorderHover);
+ border-color: var(--MI_THEME-inputBorderHover);
}
&.selected {
- border-color: var(--accent);
+ border-color: var(--MI_THEME-accent);
}
> .img {
@@ -385,7 +385,7 @@ definePageMetadata(() => ({
text-align: left;
&:hover {
- color: var(--accent);
+ color: var(--MI_THEME-accent);
}
> .img {
diff --git a/packages/frontend/src/pages/drive.file.info.vue b/packages/frontend/src/pages/drive.file.info.vue
index 12ebbbe3ff..98fa99e2a3 100644
--- a/packages/frontend/src/pages/drive.file.info.vue
+++ b/packages/frontend/src/pages/drive.file.info.vue
@@ -231,7 +231,7 @@ onMounted(async () => {
<style lang="scss" module>
.filePreviewRoot {
- background: var(--panel);
+ background: var(--MI_THEME-panel);
border-radius: var(--radius);
// MkMediaList 内の上部マージン 4px
padding: calc(1rem - 4px) 1rem 1rem;
@@ -262,8 +262,8 @@ onMounted(async () => {
&:hover,
&:focus-visible {
- background-color: var(--accentedBg);
- color: var(--accent);
+ background-color: var(--MI_THEME-accentedBg);
+ color: var(--MI_THEME-accent);
text-decoration: none;
outline: none;
}
@@ -299,12 +299,12 @@ onMounted(async () => {
}
&:hover {
- background-color: var(--accentedBg);
+ background-color: var(--MI_THEME-accentedBg);
>.fileName,
>.fileNameEditIcon {
visibility: visible;
- color: var(--accent);
+ color: var(--MI_THEME-accent);
}
}
}
@@ -332,11 +332,11 @@ onMounted(async () => {
}
&:hover {
- color: var(--accent);
- background-color: var(--accentedBg);
+ color: var(--MI_THEME-accent);
+ background-color: var(--MI_THEME-accentedBg);
.kvEditIcon {
- color: var(--accent);
+ color: var(--MI_THEME-accent);
visibility: visible;
}
}
diff --git a/packages/frontend/src/pages/drop-and-fusion.game.vue b/packages/frontend/src/pages/drop-and-fusion.game.vue
index 4db952eac2..fb4d599c28 100644
--- a/packages/frontend/src/pages/drop-and-fusion.game.vue
+++ b/packages/frontend/src/pages/drop-and-fusion.game.vue
@@ -111,7 +111,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<div v-if="replaying" class="_woodenFrame">
<div class="_woodenFrameInner">
<div style="background: #0004;">
- <div style="height: 10px; background: var(--accent); will-change: width;" :style="{ width: `${(currentFrame / endedAtFrame) * 100}%` }"></div>
+ <div style="height: 10px; background: var(--MI_THEME-accent); will-change: width;" :style="{ width: `${(currentFrame / endedAtFrame) * 100}%` }"></div>
</div>
</div>
<div class="_woodenFrameInner">
diff --git a/packages/frontend/src/pages/emoji-edit-dialog.vue b/packages/frontend/src/pages/emoji-edit-dialog.vue
index 853c1d6b0b..bd798d9f3a 100644
--- a/packages/frontend/src/pages/emoji-edit-dialog.vue
+++ b/packages/frontend/src/pages/emoji-edit-dialog.vue
@@ -243,8 +243,8 @@ async function del() {
bottom: 0;
left: 0;
padding: 12px;
- border-top: solid 0.5px var(--divider);
- background: var(--acrylicBg);
+ border-top: solid 0.5px var(--MI_THEME-divider);
+ background: var(--MI_THEME-acrylicBg);
-webkit-backdrop-filter: var(--blur, blur(15px));
backdrop-filter: var(--blur, blur(15px));
}
diff --git a/packages/frontend/src/pages/emojis.emoji.vue b/packages/frontend/src/pages/emojis.emoji.vue
index 97429c29a4..fcd22155b7 100644
--- a/packages/frontend/src/pages/emojis.emoji.vue
+++ b/packages/frontend/src/pages/emojis.emoji.vue
@@ -58,11 +58,11 @@ function menu(ev) {
align-items: center;
padding: 12px;
text-align: left;
- background: var(--panel);
+ background: var(--MI_THEME-panel);
border-radius: 8px;
&:hover {
- border-color: var(--accent);
+ border-color: var(--MI_THEME-accent);
}
}
diff --git a/packages/frontend/src/pages/favorites.vue b/packages/frontend/src/pages/favorites.vue
index c3d4cae4aa..e2765da3e9 100644
--- a/packages/frontend/src/pages/favorites.vue
+++ b/packages/frontend/src/pages/favorites.vue
@@ -46,7 +46,7 @@ definePageMetadata(() => ({
<style lang="scss" module>
.note {
- background: var(--panel);
+ background: var(--MI_THEME-panel);
border-radius: var(--radius);
}
</style>
diff --git a/packages/frontend/src/pages/flash/flash-edit.vue b/packages/frontend/src/pages/flash/flash-edit.vue
index fd6fadd0b3..87bd707f6d 100644
--- a/packages/frontend/src/pages/flash/flash-edit.vue
+++ b/packages/frontend/src/pages/flash/flash-edit.vue
@@ -468,7 +468,7 @@ definePageMetadata(() => ({
<style lang="scss" module>
.footer {
backdrop-filter: var(--blur, blur(15px));
- background: var(--acrylicBg);
- border-top: solid .5px var(--divider);
+ background: var(--MI_THEME-acrylicBg);
+ border-top: solid .5px var(--MI_THEME-divider);
}
</style>
diff --git a/packages/frontend/src/pages/flash/flash.vue b/packages/frontend/src/pages/flash/flash.vue
index cf10bee0f5..3b982a405e 100644
--- a/packages/frontend/src/pages/flash/flash.vue
+++ b/packages/frontend/src/pages/flash/flash.vue
@@ -51,7 +51,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<div><i class="ti ti-clock"></i> {{ i18n.ts.createdAt }}: <MkTime :time="flash.createdAt" mode="detail"/></div>
</div>
</div>
- <MkA v-if="$i && $i.id === flash.userId" :to="`/play/${flash.id}/edit`" style="color: var(--accent);">{{ i18n.ts._play.editThisPage }}</MkA>
+ <MkA v-if="$i && $i.id === flash.userId" :to="`/play/${flash.id}/edit`" style="color: var(--MI_THEME-accent);">{{ i18n.ts._play.editThisPage }}</MkA>
<MkAd :prefer="['horizontal', 'horizontal-big']"/>
</div>
<MkError v-else-if="error" @retry="fetchFlash()"/>
@@ -367,7 +367,7 @@ definePageMetadata(() => ({
justify-content: center;
gap: 12px;
padding: 16px;
- border-bottom: 1px solid var(--divider);
+ border-bottom: 1px solid var(--MI_THEME-divider);
&:last-child {
border-bottom: none;
diff --git a/packages/frontend/src/pages/gallery/edit.vue b/packages/frontend/src/pages/gallery/edit.vue
index a68a7e5c41..70f8b2c31d 100644
--- a/packages/frontend/src/pages/gallery/edit.vue
+++ b/packages/frontend/src/pages/gallery/edit.vue
@@ -141,7 +141,7 @@ definePageMetadata(() => ({
top: 8px;
left: 9px;
padding: 8px;
- background: var(--panel);
+ background: var(--MI_THEME-panel);
}
> .remove {
@@ -149,7 +149,7 @@ definePageMetadata(() => ({
top: 8px;
right: 9px;
padding: 8px;
- background: var(--panel);
+ background: var(--MI_THEME-panel);
}
}
</style>
diff --git a/packages/frontend/src/pages/gallery/post.vue b/packages/frontend/src/pages/gallery/post.vue
index 8c4dfc3b83..aab4e53454 100644
--- a/packages/frontend/src/pages/gallery/post.vue
+++ b/packages/frontend/src/pages/gallery/post.vue
@@ -262,14 +262,14 @@ definePageMetadata(() => ({
align-items: center;
margin-top: 16px;
padding: 16px 0 0 0;
- border-top: solid 0.5px var(--divider);
+ border-top: solid 0.5px var(--MI_THEME-divider);
> .like {
> .button {
- --accent: rgb(241 97 132);
- --X8: rgb(241 92 128);
- --buttonBg: rgb(216 71 106 / 5%);
- --buttonHoverBg: rgb(216 71 106 / 10%);
+ --MI_THEME-accent: rgb(241 97 132);
+ --MI_THEME-X8: rgb(241 92 128);
+ --MI_THEME-buttonBg: rgb(216 71 106 / 5%);
+ --MI_THEME-buttonHoverBg: rgb(216 71 106 / 10%);
color: #ff002f;
::v-deep(.count) {
@@ -286,7 +286,7 @@ definePageMetadata(() => ({
margin: 0 8px;
&:hover {
- color: var(--fgHighlighted);
+ color: var(--MI_THEME-fgHighlighted);
}
}
}
@@ -295,7 +295,7 @@ definePageMetadata(() => ({
> .user {
margin-top: 16px;
padding: 16px 0 0 0;
- border-top: solid 0.5px var(--divider);
+ border-top: solid 0.5px var(--MI_THEME-divider);
display: flex;
align-items: center;
flex-wrap: wrap;
diff --git a/packages/frontend/src/pages/games.vue b/packages/frontend/src/pages/games.vue
index b52f4decaa..998b8be0f3 100644
--- a/packages/frontend/src/pages/games.vue
+++ b/packages/frontend/src/pages/games.vue
@@ -35,7 +35,7 @@ definePageMetadata(() => ({
<style module>
.link:focus-within {
- outline: 2px solid var(--focus);
+ outline: 2px solid var(--MI_THEME-focus);
outline-offset: -2px;
}
</style>
diff --git a/packages/frontend/src/pages/install-extensions.vue b/packages/frontend/src/pages/install-extensions.vue
index 83f16fce68..30e658d8c0 100644
--- a/packages/frontend/src/pages/install-extensions.vue
+++ b/packages/frontend/src/pages/install-extensions.vue
@@ -21,7 +21,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<template #key>{{ i18n.ts._externalResourceInstaller._vendorInfo.hashVerify }}</template>
<template #value>
<!-- この画面が出ている時点でハッシュの検証には成功している -->
- <i class="ti ti-check" style="color: var(--accent)"></i>
+ <i class="ti ti-check" style="color: var(--MI_THEME-accent)"></i>
</template>
</MkKeyValue>
</div>
@@ -251,7 +251,7 @@ definePageMetadata(() => ({
<style lang="scss" module>
.extInstallerRoot {
border-radius: var(--radius);
- background: var(--panel);
+ background: var(--MI_THEME-panel);
padding: 1.5rem;
}
@@ -265,8 +265,8 @@ definePageMetadata(() => ({
margin-left: auto;
margin-right: auto;
- background-color: var(--accentedBg);
- color: var(--accent);
+ background-color: var(--MI_THEME-accentedBg);
+ color: var(--MI_THEME-accent);
}
.error .extInstallerIconWrapper {
diff --git a/packages/frontend/src/pages/my-antennas/index.vue b/packages/frontend/src/pages/my-antennas/index.vue
index 21c96348f0..f387740728 100644
--- a/packages/frontend/src/pages/my-antennas/index.vue
+++ b/packages/frontend/src/pages/my-antennas/index.vue
@@ -73,11 +73,11 @@ onActivated(() => {
.antenna {
display: block;
padding: 16px;
- border: solid 1px var(--divider);
+ border: solid 1px var(--MI_THEME-divider);
border-radius: 6px;
&:hover {
- border: solid 1px var(--accent);
+ border: solid 1px var(--MI_THEME-accent);
text-decoration: none;
}
}
diff --git a/packages/frontend/src/pages/my-lists/index.vue b/packages/frontend/src/pages/my-lists/index.vue
index 82fde284c1..6cbcca73c2 100644
--- a/packages/frontend/src/pages/my-lists/index.vue
+++ b/packages/frontend/src/pages/my-lists/index.vue
@@ -85,12 +85,12 @@ onActivated(() => {
.list {
display: block;
padding: 16px;
- border: solid 1px var(--divider);
+ border: solid 1px var(--MI_THEME-divider);
border-radius: 6px;
margin-bottom: 8px;
&:hover {
- border: solid 1px var(--accent);
+ border: solid 1px var(--MI_THEME-accent);
text-decoration: none;
}
}
diff --git a/packages/frontend/src/pages/my-lists/list.vue b/packages/frontend/src/pages/my-lists/list.vue
index 5f195693cc..a78f4bb539 100644
--- a/packages/frontend/src/pages/my-lists/list.vue
+++ b/packages/frontend/src/pages/my-lists/list.vue
@@ -134,7 +134,7 @@ async function removeUser(item, ev) {
async function showMembershipMenu(item, ev) {
const withRepliesRef = ref(item.withReplies);
-
+
os.popupMenu([{
type: 'switch',
text: i18n.ts.showRepliesToOthersInTimeline,
@@ -236,6 +236,6 @@ definePageMetadata(() => ({
.footer {
-webkit-backdrop-filter: var(--blur, blur(15px));
backdrop-filter: var(--blur, blur(15px));
- border-top: solid 0.5px var(--divider);
+ border-top: solid 0.5px var(--MI_THEME-divider);
}
</style>
diff --git a/packages/frontend/src/pages/note.vue b/packages/frontend/src/pages/note.vue
index 97f32d35cd..d2e7559109 100644
--- a/packages/frontend/src/pages/note.vue
+++ b/packages/frontend/src/pages/note.vue
@@ -183,6 +183,6 @@ definePageMetadata(() => ({
.note {
border-radius: var(--radius);
- background: var(--panel);
+ background: var(--MI_THEME-panel);
}
</style>
diff --git a/packages/frontend/src/pages/page-editor/els/page-editor.el.text.vue b/packages/frontend/src/pages/page-editor/els/page-editor.el.text.vue
index 14c3e6845e..f09f7e1acd 100644
--- a/packages/frontend/src/pages/page-editor/els/page-editor.el.text.vue
+++ b/packages/frontend/src/pages/page-editor/els/page-editor.el.text.vue
@@ -63,7 +63,7 @@ onUnmounted(() => {
box-shadow: none;
padding: 16px;
background: transparent;
- color: var(--fg);
+ color: var(--MI_THEME-fg);
font-size: 14px;
box-sizing: border-box;
}
diff --git a/packages/frontend/src/pages/page-editor/page-editor.container.vue b/packages/frontend/src/pages/page-editor/page-editor.container.vue
index f2081c452c..a96c2c2a77 100644
--- a/packages/frontend/src/pages/page-editor/page-editor.container.vue
+++ b/packages/frontend/src/pages/page-editor/page-editor.container.vue
@@ -60,12 +60,12 @@ function remove() {
.cpjygsrt {
position: relative;
overflow: hidden;
- background: var(--panel);
- border: solid 2px var(--X12);
+ background: var(--MI_THEME-panel);
+ border: solid 2px var(--MI_THEME-X12);
border-radius: 8px;
&:hover {
- border: solid 2px var(--X13);
+ border: solid 2px var(--MI_THEME-X13);
}
&.warn {
diff --git a/packages/frontend/src/pages/page.vue b/packages/frontend/src/pages/page.vue
index 7926dab88b..73fe938e9c 100644
--- a/packages/frontend/src/pages/page.vue
+++ b/packages/frontend/src/pages/page.vue
@@ -357,8 +357,8 @@ definePageMetadata(() => ({
&:hover,
&:focus-visible {
- background-color: var(--accentedBg);
- color: var(--accent);
+ background-color: var(--MI_THEME-accentedBg);
+ color: var(--MI_THEME-accent);
text-decoration: none;
outline: none;
}
@@ -367,7 +367,7 @@ definePageMetadata(() => ({
.pageMain {
border-radius: var(--radius);
padding: 2rem;
- background: var(--panel);
+ background: var(--MI_THEME-panel);
box-sizing: border-box;
}
@@ -399,7 +399,7 @@ definePageMetadata(() => ({
}
.pageBannerBgFallback2 {
- background-color: var(--accentedBg);
+ background-color: var(--MI_THEME-accentedBg);
}
&::after {
@@ -409,7 +409,7 @@ definePageMetadata(() => ({
bottom: 0;
width: 100%;
height: 100px;
- background: linear-gradient(0deg, var(--panel), transparent);
+ background: linear-gradient(0deg, var(--MI_THEME-panel), transparent);
}
}
@@ -433,7 +433,7 @@ definePageMetadata(() => ({
h1 {
font-size: 2rem;
font-weight: 700;
- color: var(--fg);
+ color: var(--MI_THEME-fg);
margin: 0;
}
@@ -472,7 +472,7 @@ definePageMetadata(() => ({
display: flex;
align-items: center;
- border-top: 1px solid var(--divider);
+ border-top: 1px solid var(--MI_THEME-divider);
padding-top: 1.5rem;
margin-bottom: 1.5rem;
@@ -487,7 +487,7 @@ definePageMetadata(() => ({
display: flex;
align-items: center;
- border-top: 1px solid var(--divider);
+ border-top: 1px solid var(--MI_THEME-divider);
padding-top: 1.5rem;
margin-bottom: 1.5rem;
@@ -534,6 +534,6 @@ definePageMetadata(() => ({
}
.relatedPagesItem > article {
- background-color: var(--panelHighlight) !important;
+ background-color: var(--MI_THEME-panelHighlight) !important;
}
</style>
diff --git a/packages/frontend/src/pages/reversi/game.board.vue b/packages/frontend/src/pages/reversi/game.board.vue
index 54e66f6e16..429f502133 100644
--- a/packages/frontend/src/pages/reversi/game.board.vue
+++ b/packages/frontend/src/pages/reversi/game.board.vue
@@ -504,7 +504,7 @@ $gap: 4px;
.boardInner {
padding: 32px;
- background: var(--panel);
+ background: var(--MI_THEME-panel);
box-shadow: 0 0 2px 1px #ce8a5c, inset 0 0 1px 1px #693410;
border-radius: 8px;
}
@@ -574,34 +574,34 @@ $gap: 4px;
transition: border 0.25s ease, opacity 0.25s ease;
&.boardCell_empty {
- border: solid 2px var(--divider);
+ border: solid 2px var(--MI_THEME-divider);
}
&.boardCell_empty.boardCell_can {
- border-color: var(--accent);
+ border-color: var(--MI_THEME-accent);
opacity: 0.5;
}
&.boardCell_empty.boardCell_myTurn {
- border-color: var(--divider);
+ border-color: var(--MI_THEME-divider);
opacity: 1;
&.boardCell_can {
- border-color: var(--accent);
+ border-color: var(--MI_THEME-accent);
cursor: pointer;
&:hover {
- background: var(--accent);
+ background: var(--MI_THEME-accent);
}
}
}
&.boardCell_prev {
- box-shadow: 0 0 0 4px var(--accent);
+ box-shadow: 0 0 0 4px var(--MI_THEME-accent);
}
&.boardCell_isEnded {
- border-color: var(--divider);
+ border-color: var(--MI_THEME-divider);
}
&.boardCell_none {
diff --git a/packages/frontend/src/pages/reversi/game.setting.vue b/packages/frontend/src/pages/reversi/game.setting.vue
index 08bb3cb76c..f24614f2eb 100644
--- a/packages/frontend/src/pages/reversi/game.setting.vue
+++ b/packages/frontend/src/pages/reversi/game.setting.vue
@@ -17,7 +17,7 @@ SPDX-License-Identifier: AGPL-3.0-only
</template>
<template v-else>
<div class="_panel">
- <div style="display: flex; align-items: center; padding: 16px; border-bottom: solid 1px var(--divider);">
+ <div style="display: flex; align-items: center; padding: 16px; border-bottom: solid 1px var(--MI_THEME-divider);">
<div>{{ mapName }}</div>
<MkButton style="margin-left: auto;" @click="chooseMap">{{ i18n.ts._reversi.chooseBoard }}</MkButton>
</div>
@@ -87,7 +87,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<div :class="$style.footer">
<MkSpacer :contentMax="700" :marginMin="16" :marginMax="16">
<div style="text-align: center;" class="_gaps_s">
- <div v-if="opponentHasSettingsChanged" style="color: var(--warn);">{{ i18n.ts._reversi.opponentHasSettingsChanged }}</div>
+ <div v-if="opponentHasSettingsChanged" style="color: var(--MI_THEME-warn);">{{ i18n.ts._reversi.opponentHasSettingsChanged }}</div>
<div>
<template v-if="isReady && isOpReady">{{ i18n.ts._reversi.thisGameIsStartedSoon }}<MkEllipsis/></template>
<template v-if="isReady && !isOpReady">{{ i18n.ts._reversi.waitingForOther }}<MkEllipsis/></template>
@@ -273,14 +273,14 @@ onUnmounted(() => {
width: 300px;
height: 300px;
margin: 0 auto;
- color: var(--fg);
+ color: var(--MI_THEME-fg);
}
.boardCell {
display: grid;
place-items: center;
background: transparent;
- border: solid 2px var(--divider);
+ border: solid 2px var(--MI_THEME-divider);
border-radius: 6px;
overflow: clip;
cursor: pointer;
@@ -292,7 +292,7 @@ onUnmounted(() => {
.footer {
-webkit-backdrop-filter: var(--blur, blur(15px));
backdrop-filter: var(--blur, blur(15px));
- background: var(--acrylicBg);
- border-top: solid 0.5px var(--divider);
+ background: var(--MI_THEME-acrylicBg);
+ border-top: solid 0.5px var(--MI_THEME-divider);
}
</style>
diff --git a/packages/frontend/src/pages/reversi/index.vue b/packages/frontend/src/pages/reversi/index.vue
index d823861b4a..91616d3a50 100644
--- a/packages/frontend/src/pages/reversi/index.vue
+++ b/packages/frontend/src/pages/reversi/index.vue
@@ -36,13 +36,13 @@ SPDX-License-Identifier: AGPL-3.0-only
<div :class="$style.gamePreviews">
<MkA v-for="g in items" :key="g.id" v-panel :class="[$style.gamePreview, !g.isStarted && !g.isEnded && $style.gamePreviewWaiting, g.isStarted && !g.isEnded && $style.gamePreviewActive]" tabindex="-1" :to="`/reversi/g/${g.id}`">
<div :class="$style.gamePreviewPlayers">
- <span v-if="g.winnerId === g.user1Id" style="margin-right: 0.75em; color: var(--accent); font-weight: bold;"><i class="ti ti-trophy"></i></span>
+ <span v-if="g.winnerId === g.user1Id" style="margin-right: 0.75em; color: var(--MI_THEME-accent); font-weight: bold;"><i class="ti ti-trophy"></i></span>
<span v-if="g.winnerId === g.user2Id" style="margin-right: 0.75em; visibility: hidden;"><i class="ti ti-x"></i></span>
<MkAvatar :class="$style.gamePreviewPlayersAvatar" :user="g.user1"/>
<span style="margin: 0 1em;">vs</span>
<MkAvatar :class="$style.gamePreviewPlayersAvatar" :user="g.user2"/>
<span v-if="g.winnerId === g.user1Id" style="margin-left: 0.75em; visibility: hidden;"><i class="ti ti-x"></i></span>
- <span v-if="g.winnerId === g.user2Id" style="margin-left: 0.75em; color: var(--accent); font-weight: bold;"><i class="ti ti-trophy"></i></span>
+ <span v-if="g.winnerId === g.user2Id" style="margin-left: 0.75em; color: var(--MI_THEME-accent); font-weight: bold;"><i class="ti ti-trophy"></i></span>
</div>
<div :class="$style.gamePreviewFooter">
<span v-if="g.isStarted && !g.isEnded" :class="$style.gamePreviewStatusActive">{{ i18n.ts._reversi.playing }}</span>
@@ -63,13 +63,13 @@ SPDX-License-Identifier: AGPL-3.0-only
<div :class="$style.gamePreviews">
<MkA v-for="g in items" :key="g.id" v-panel :class="[$style.gamePreview, !g.isStarted && !g.isEnded && $style.gamePreviewWaiting, g.isStarted && !g.isEnded && $style.gamePreviewActive]" tabindex="-1" :to="`/reversi/g/${g.id}`">
<div :class="$style.gamePreviewPlayers">
- <span v-if="g.winnerId === g.user1Id" style="margin-right: 0.75em; color: var(--accent); font-weight: bold;"><i class="ti ti-trophy"></i></span>
+ <span v-if="g.winnerId === g.user1Id" style="margin-right: 0.75em; color: var(--MI_THEME-accent); font-weight: bold;"><i class="ti ti-trophy"></i></span>
<span v-if="g.winnerId === g.user2Id" style="margin-right: 0.75em; visibility: hidden;"><i class="ti ti-x"></i></span>
<MkAvatar :class="$style.gamePreviewPlayersAvatar" :user="g.user1"/>
<span style="margin: 0 1em;">vs</span>
<MkAvatar :class="$style.gamePreviewPlayersAvatar" :user="g.user2"/>
<span v-if="g.winnerId === g.user1Id" style="margin-left: 0.75em; visibility: hidden;"><i class="ti ti-x"></i></span>
- <span v-if="g.winnerId === g.user2Id" style="margin-left: 0.75em; color: var(--accent); font-weight: bold;"><i class="ti ti-trophy"></i></span>
+ <span v-if="g.winnerId === g.user2Id" style="margin-left: 0.75em; color: var(--MI_THEME-accent); font-weight: bold;"><i class="ti ti-trophy"></i></span>
</div>
<div :class="$style.gamePreviewFooter">
<span v-if="g.isStarted && !g.isEnded" :class="$style.gamePreviewStatusActive">{{ i18n.ts._reversi.playing }}</span>
@@ -295,11 +295,11 @@ definePageMetadata(() => ({
}
.gamePreviewActive {
- box-shadow: inset 0 0 8px 0px var(--accent);
+ box-shadow: inset 0 0 8px 0px var(--MI_THEME-accent);
}
.gamePreviewWaiting {
- box-shadow: inset 0 0 8px 0px var(--warn);
+ box-shadow: inset 0 0 8px 0px var(--MI_THEME-warn);
}
.gamePreviewPlayers {
@@ -324,19 +324,19 @@ definePageMetadata(() => ({
.gamePreviewFooter {
display: flex;
align-items: baseline;
- border-top: solid 0.5px var(--divider);
+ border-top: solid 0.5px var(--MI_THEME-divider);
padding: 6px 10px;
font-size: 0.9em;
}
.gamePreviewStatusActive {
- color: var(--accent);
+ color: var(--MI_THEME-accent);
font-weight: bold;
animation: blink 2s infinite;
}
.gamePreviewStatusWaiting {
- color: var(--warn);
+ color: var(--MI_THEME-warn);
font-weight: bold;
animation: blink 2s infinite;
}
diff --git a/packages/frontend/src/pages/scratchpad.vue b/packages/frontend/src/pages/scratchpad.vue
index 155d8b82d7..280a8d0d44 100644
--- a/packages/frontend/src/pages/scratchpad.vue
+++ b/packages/frontend/src/pages/scratchpad.vue
@@ -242,14 +242,14 @@ definePageMetadata(() => ({
}
.uiInspectorUnShown {
- color: var(--fgTransparent);
+ color: var(--MI_THEME-fgTransparent);
}
.uiInspectorType {
display: inline-block;
border: hidden;
border-radius: 10px;
- background-color: var(--panelHighlight);
+ background-color: var(--MI_THEME-panelHighlight);
padding: 2px 8px;
font-size: 12px;
}
diff --git a/packages/frontend/src/pages/search.note.vue b/packages/frontend/src/pages/search.note.vue
index 9cf7fbe8d8..105c947d25 100644
--- a/packages/frontend/src/pages/search.note.vue
+++ b/packages/frontend/src/pages/search.note.vue
@@ -211,12 +211,12 @@ async function search() {
justify-content: center;
}
.addMeButton {
- border: 2px dashed var(--fgTransparent);
+ border: 2px dashed var(--MI_THEME-fgTransparent);
padding: 12px;
margin-right: 16px;
}
.addUserButton {
- border: 2px dashed var(--fgTransparent);
+ border: 2px dashed var(--MI_THEME-fgTransparent);
padding: 12px;
flex-grow: 1;
}
diff --git a/packages/frontend/src/pages/settings/2fa.vue b/packages/frontend/src/pages/settings/2fa.vue
index 6a9a1e16e2..a76b748ac1 100644
--- a/packages/frontend/src/pages/settings/2fa.vue
+++ b/packages/frontend/src/pages/settings/2fa.vue
@@ -19,7 +19,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<template #icon><i class="ti ti-shield-lock"></i></template>
<template #label>{{ i18n.ts.totp }}</template>
<template #caption>{{ i18n.ts.totpDescription }}</template>
- <template #suffix><i v-if="$i.twoFactorEnabled" class="ti ti-check" style="color: var(--success)"></i></template>
+ <template #suffix><i v-if="$i.twoFactorEnabled" class="ti ti-check" style="color: var(--MI_THEME-success)"></i></template>
<div v-if="$i.twoFactorEnabled" class="_gaps_s">
<div v-text="i18n.ts._2fa.alreadyRegistered"/>
diff --git a/packages/frontend/src/pages/settings/avatar-decoration.decoration.vue b/packages/frontend/src/pages/settings/avatar-decoration.decoration.vue
index f37b53aebb..f72a0b9383 100644
--- a/packages/frontend/src/pages/settings/avatar-decoration.decoration.vue
+++ b/packages/frontend/src/pages/settings/avatar-decoration.decoration.vue
@@ -43,7 +43,7 @@ const emit = defineEmits<{
.root {
cursor: pointer;
padding: 16px 16px 28px 16px;
- border: solid 2px var(--divider);
+ border: solid 2px var(--MI_THEME-divider);
border-radius: 8px;
text-align: center;
font-size: 90%;
@@ -52,8 +52,8 @@ const emit = defineEmits<{
}
.active {
- background-color: var(--accentedBg);
- border-color: var(--accent);
+ background-color: var(--MI_THEME-accentedBg);
+ border-color: var(--MI_THEME-accent);
}
.name {
diff --git a/packages/frontend/src/pages/settings/avatar-decoration.dialog.vue b/packages/frontend/src/pages/settings/avatar-decoration.dialog.vue
index 1938b8d48d..7f1c6fd401 100644
--- a/packages/frontend/src/pages/settings/avatar-decoration.dialog.vue
+++ b/packages/frontend/src/pages/settings/avatar-decoration.dialog.vue
@@ -150,7 +150,7 @@ async function detach() {
bottom: 0;
left: 0;
padding: 12px;
- border-top: solid 0.5px var(--divider);
+ border-top: solid 0.5px var(--MI_THEME-divider);
-webkit-backdrop-filter: var(--blur, blur(15px));
backdrop-filter: var(--blur, blur(15px));
}
diff --git a/packages/frontend/src/pages/settings/drive-cleaner.vue b/packages/frontend/src/pages/settings/drive-cleaner.vue
index 8d2946db63..6a13984dd7 100644
--- a/packages/frontend/src/pages/settings/drive-cleaner.vue
+++ b/packages/frontend/src/pages/settings/drive-cleaner.vue
@@ -132,7 +132,7 @@ definePageMetadata(() => ({
align-items: center;
&:hover {
- color: var(--accent);
+ color: var(--MI_THEME-accent);
}
}
diff --git a/packages/frontend/src/pages/settings/email.vue b/packages/frontend/src/pages/settings/email.vue
index f226647569..d452f249b6 100644
--- a/packages/frontend/src/pages/settings/email.vue
+++ b/packages/frontend/src/pages/settings/email.vue
@@ -10,7 +10,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<MkInput v-model="emailAddress" type="email" manualSave>
<template #prefix><i class="ti ti-mail"></i></template>
<template v-if="$i.email && !$i.emailVerified" #caption>{{ i18n.ts.verificationEmailSent }}</template>
- <template v-else-if="emailAddress === $i.email && $i.emailVerified" #caption><i class="ti ti-check" style="color: var(--success);"></i> {{ i18n.ts.emailVerified }}</template>
+ <template v-else-if="emailAddress === $i.email && $i.emailVerified" #caption><i class="ti ti-check" style="color: var(--MI_THEME-success);"></i> {{ i18n.ts.emailVerified }}</template>
</MkInput>
</FormSection>
diff --git a/packages/frontend/src/pages/settings/emoji-picker.vue b/packages/frontend/src/pages/settings/emoji-picker.vue
index 999a73df4c..427cdbe64e 100644
--- a/packages/frontend/src/pages/settings/emoji-picker.vue
+++ b/packages/frontend/src/pages/settings/emoji-picker.vue
@@ -250,7 +250,7 @@ definePageMetadata(() => ({
.tab {
margin: calc(var(--margin) / 2) 0;
padding: calc(var(--margin) / 2) 0;
- background: var(--bg);
+ background: var(--MI_THEME-bg);
}
.emojis {
@@ -272,6 +272,6 @@ definePageMetadata(() => ({
.editorCaption {
font-size: 0.85em;
padding: 8px 0 0 0;
- color: var(--fgTransparentWeak);
+ color: var(--MI_THEME-fgTransparentWeak);
}
</style>
diff --git a/packages/frontend/src/pages/settings/mute-block.vue b/packages/frontend/src/pages/settings/mute-block.vue
index f4ee7dffbf..4d413d53ab 100644
--- a/packages/frontend/src/pages/settings/mute-block.vue
+++ b/packages/frontend/src/pages/settings/mute-block.vue
@@ -244,7 +244,7 @@ definePageMetadata(() => ({
.userItemSub {
padding: 6px 12px;
font-size: 85%;
- color: var(--fgTransparentWeak);
+ color: var(--MI_THEME-fgTransparentWeak);
}
.userItemMainBody {
diff --git a/packages/frontend/src/pages/settings/navbar.vue b/packages/frontend/src/pages/settings/navbar.vue
index a0e6cad9c8..b189db0f8f 100644
--- a/packages/frontend/src/pages/settings/navbar.vue
+++ b/packages/frontend/src/pages/settings/navbar.vue
@@ -122,7 +122,7 @@ definePageMetadata(() => ({
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
- color: var(--navFg);
+ color: var(--MI_THEME-navFg);
}
.itemIcon {
diff --git a/packages/frontend/src/pages/settings/profile.vue b/packages/frontend/src/pages/settings/profile.vue
index 19c5d892de..0d61f8d851 100644
--- a/packages/frontend/src/pages/settings/profile.vue
+++ b/packages/frontend/src/pages/settings/profile.vue
@@ -282,7 +282,7 @@ definePageMetadata(() => ({
height: 130px;
background-size: cover;
background-position: center;
- border-bottom: solid 1px var(--divider);
+ border-bottom: solid 1px var(--MI_THEME-divider);
overflow: clip;
}
diff --git a/packages/frontend/src/pages/settings/security.vue b/packages/frontend/src/pages/settings/security.vue
index de0f63630e..8f9d4f858b 100644
--- a/packages/frontend/src/pages/settings/security.vue
+++ b/packages/frontend/src/pages/settings/security.vue
@@ -124,7 +124,7 @@ definePageMetadata(() => ({
}
&:not(:last-child) {
- border-bottom: solid 0.5px var(--divider);
+ border-bottom: solid 0.5px var(--MI_THEME-divider);
}
> header {
@@ -136,11 +136,11 @@ definePageMetadata(() => ({
margin-right: 0.75em;
&.succ {
- color: var(--success);
+ color: var(--MI_THEME-success);
}
&.fail {
- color: var(--error);
+ color: var(--MI_THEME-error);
}
}
diff --git a/packages/frontend/src/pages/settings/sounds.sound.vue b/packages/frontend/src/pages/settings/sounds.sound.vue
index 81478fede5..56f65e2309 100644
--- a/packages/frontend/src/pages/settings/sounds.sound.vue
+++ b/packages/frontend/src/pages/settings/sounds.sound.vue
@@ -194,7 +194,7 @@ function save() {
flex-grow: 1;
min-width: 0;
font-weight: 700;
- color: var(--error);
+ color: var(--MI_THEME-error);
}
.fileSelectorButton {
@@ -203,6 +203,6 @@ function save() {
.fileNotSelected {
font-weight: 700;
- color: var(--infoWarnFg);
+ color: var(--MI_THEME-infoWarnFg);
}
</style>
diff --git a/packages/frontend/src/pages/settings/theme.vue b/packages/frontend/src/pages/settings/theme.vue
index ce8ec68692..73cc075082 100644
--- a/packages/frontend/src/pages/settings/theme.vue
+++ b/packages/frontend/src/pages/settings/theme.vue
@@ -204,7 +204,7 @@ definePageMetadata(() => ({
}
.dn:focus-visible ~ .toggle {
- outline: 2px solid var(--focus);
+ outline: 2px solid var(--MI_THEME-focus);
outline-offset: 2px;
}
@@ -227,12 +227,12 @@ definePageMetadata(() => ({
> .before {
left: -70px;
- color: var(--accent);
+ color: var(--MI_THEME-accent);
}
> .after {
right: -68px;
- color: var(--fg);
+ color: var(--MI_THEME-fg);
}
}
@@ -350,11 +350,11 @@ definePageMetadata(() => ({
background-color: #749DD6;
> .before {
- color: var(--fg);
+ color: var(--MI_THEME-fg);
}
> .after {
- color: var(--accent);
+ color: var(--MI_THEME-accent);
}
.toggle__handler {
@@ -405,7 +405,7 @@ definePageMetadata(() => ({
> .sync {
padding: 14px 16px;
- border-top: solid 0.5px var(--divider);
+ border-top: solid 0.5px var(--MI_THEME-divider);
}
}
diff --git a/packages/frontend/src/pages/settings/webhook.edit.vue b/packages/frontend/src/pages/settings/webhook.edit.vue
index adeaf8550c..40d23e36c5 100644
--- a/packages/frontend/src/pages/settings/webhook.edit.vue
+++ b/packages/frontend/src/pages/settings/webhook.edit.vue
@@ -184,6 +184,6 @@ definePageMetadata(() => ({
.description {
font-size: 0.85em;
padding: 8px 0 0 0;
- color: var(--fgTransparentWeak);
+ color: var(--MI_THEME-fgTransparentWeak);
}
</style>
diff --git a/packages/frontend/src/pages/settings/webhook.vue b/packages/frontend/src/pages/settings/webhook.vue
index 0d11b00c97..af8b7ca945 100644
--- a/packages/frontend/src/pages/settings/webhook.vue
+++ b/packages/frontend/src/pages/settings/webhook.vue
@@ -17,8 +17,8 @@ SPDX-License-Identifier: AGPL-3.0-only
<template #icon>
<i v-if="webhook.active === false" class="ti ti-player-pause"></i>
<i v-else-if="webhook.latestStatus === null" class="ti ti-circle"></i>
- <i v-else-if="[200, 201, 204].includes(webhook.latestStatus)" class="ti ti-check" :style="{ color: 'var(--success)' }"></i>
- <i v-else class="ti ti-alert-triangle" :style="{ color: 'var(--error)' }"></i>
+ <i v-else-if="[200, 201, 204].includes(webhook.latestStatus)" class="ti ti-check" :style="{ color: 'var(--MI_THEME-success)' }"></i>
+ <i v-else class="ti ti-alert-triangle" :style="{ color: 'var(--MI_THEME-error)' }"></i>
</template>
{{ webhook.name || webhook.url }}
<template #suffix>
diff --git a/packages/frontend/src/pages/signup-complete.vue b/packages/frontend/src/pages/signup-complete.vue
index 8c2f7042cd..ab8502c1e6 100644
--- a/packages/frontend/src/pages/signup-complete.vue
+++ b/packages/frontend/src/pages/signup-complete.vue
@@ -81,7 +81,7 @@ place-content: center;
padding: 16px;
text-align: center;
font-size: 26px;
- background-color: var(--accentedBg);
- color: var(--accent);
+ background-color: var(--MI_THEME-accentedBg);
+ color: var(--MI_THEME-accent);
}
</style>
diff --git a/packages/frontend/src/pages/tag.vue b/packages/frontend/src/pages/tag.vue
index 1b3e1ecaee..3e6d4db03d 100644
--- a/packages/frontend/src/pages/tag.vue
+++ b/packages/frontend/src/pages/tag.vue
@@ -78,8 +78,8 @@ definePageMetadata(() => ({
.footer {
-webkit-backdrop-filter: var(--blur, blur(15px));
backdrop-filter: var(--blur, blur(15px));
- background: var(--acrylicBg);
- border-top: solid 0.5px var(--divider);
+ background: var(--MI_THEME-acrylicBg);
+ border-top: solid 0.5px var(--MI_THEME-divider);
display: flex;
}
diff --git a/packages/frontend/src/pages/theme-editor.vue b/packages/frontend/src/pages/theme-editor.vue
index a62fe5d581..b2e084f53f 100644
--- a/packages/frontend/src/pages/theme-editor.vue
+++ b/packages/frontend/src/pages/theme-editor.vue
@@ -268,7 +268,7 @@ definePageMetadata(() => ({
}
&.active {
- box-shadow: 0 0 0 2px var(--divider) inset;
+ box-shadow: 0 0 0 2px var(--MI_THEME-divider) inset;
}
&.rounded {
diff --git a/packages/frontend/src/pages/timeline.vue b/packages/frontend/src/pages/timeline.vue
index 12e2db2293..f913060096 100644
--- a/packages/frontend/src/pages/timeline.vue
+++ b/packages/frontend/src/pages/timeline.vue
@@ -367,7 +367,7 @@ definePageMetadata(() => ({
}
.tl {
- background: var(--bg);
+ background: var(--MI_THEME-bg);
border-radius: var(--radius);
overflow: clip;
}
diff --git a/packages/frontend/src/pages/user-list-timeline.vue b/packages/frontend/src/pages/user-list-timeline.vue
index 31a3f1b060..a05743a5a1 100644
--- a/packages/frontend/src/pages/user-list-timeline.vue
+++ b/packages/frontend/src/pages/user-list-timeline.vue
@@ -97,7 +97,7 @@ definePageMetadata(() => ({
}
.tl {
- background: var(--bg);
+ background: var(--MI_THEME-bg);
border-radius: var(--radius);
overflow: clip;
}
diff --git a/packages/frontend/src/pages/user/clips.vue b/packages/frontend/src/pages/user/clips.vue
index ac01cff8cd..38ce78e8d5 100644
--- a/packages/frontend/src/pages/user/clips.vue
+++ b/packages/frontend/src/pages/user/clips.vue
@@ -43,6 +43,6 @@ const pagination = {
.description {
margin-top: 8px;
padding-top: 8px;
- border-top: solid 0.5px var(--divider);
+ border-top: solid 0.5px var(--MI_THEME-divider);
}
</style>
diff --git a/packages/frontend/src/pages/user/home.vue b/packages/frontend/src/pages/user/home.vue
index 111df41127..f0f8724c67 100644
--- a/packages/frontend/src/pages/user/home.vue
+++ b/packages/frontend/src/pages/user/home.vue
@@ -23,7 +23,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<MkUserName class="name" :user="user" :nowrap="true"/>
<div class="bottom">
<span class="username"><MkAcct :user="user" :detail="true"/></span>
- <span v-if="user.isAdmin" :title="i18n.ts.isAdmin" style="color: var(--badge);"><i class="ti ti-shield"></i></span>
+ <span v-if="user.isAdmin" :title="i18n.ts.isAdmin" style="color: var(--MI_THEME-badge);"><i class="ti ti-shield"></i></span>
<span v-if="user.isLocked" :title="i18n.ts.isLocked"><i class="ti ti-lock"></i></span>
<span v-if="user.isBot" :title="i18n.ts.isBot"><i class="ti ti-robot"></i></span>
<button v-if="$i && !isEditingMemo && !memoDraft" class="_button add-note-button" @click="showMemoTextarea">
@@ -42,7 +42,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<MkUserName :user="user" :nowrap="false" class="name"/>
<div class="bottom">
<span class="username"><MkAcct :user="user" :detail="true"/></span>
- <span v-if="user.isAdmin" :title="i18n.ts.isAdmin" style="color: var(--badge);"><i class="ti ti-shield"></i></span>
+ <span v-if="user.isAdmin" :title="i18n.ts.isAdmin" style="color: var(--MI_THEME-badge);"><i class="ti ti-shield"></i></span>
<span v-if="user.isLocked" :title="i18n.ts.isLocked"><i class="ti ti-lock"></i></span>
<span v-if="user.isBot" :title="i18n.ts.isBot"><i class="ti ti-robot"></i></span>
</div>
@@ -447,7 +447,7 @@ onUnmounted(() => {
text-align: center;
padding: 50px 8px 16px 8px;
font-weight: bold;
- border-bottom: solid 0.5px var(--divider);
+ border-bottom: solid 0.5px var(--MI_THEME-divider);
> .bottom {
> * {
@@ -474,7 +474,7 @@ onUnmounted(() => {
> .fukidashi {
display: block;
- --fukidashi-bg: color-mix(in srgb, var(--accent), var(--panel) 85%);
+ --fukidashi-bg: color-mix(in srgb, var(--MI_THEME-accent), var(--MI_THEME-panel) 85%);
--fukidashi-radius: 16px;
font-size: 0.9em;
@@ -493,7 +493,7 @@ onUnmounted(() => {
gap: 8px;
> .role {
- border: solid 1px var(--color, var(--divider));
+ border: solid 1px var(--color, var(--MI_THEME-divider));
border-radius: 999px;
margin-right: 4px;
padding: 3px 8px;
@@ -507,15 +507,15 @@ onUnmounted(() => {
> .memo {
margin: 12px 24px 0 154px;
background: transparent;
- color: var(--fg);
- border: 1px solid var(--divider);
+ color: var(--MI_THEME-fg);
+ border: 1px solid var(--MI_THEME-divider);
border-radius: 8px;
padding: 8px;
line-height: 0;
> .heading {
text-align: left;
- color: var(--fgTransparent);
+ color: var(--MI_THEME-fgTransparent);
line-height: 1.5;
font-size: 85%;
}
@@ -530,7 +530,7 @@ onUnmounted(() => {
height: auto;
min-height: 0;
line-height: 1.5;
- color: var(--fg);
+ color: var(--MI_THEME-fg);
overflow: hidden;
background: transparent;
font-family: inherit;
@@ -550,7 +550,7 @@ onUnmounted(() => {
> .fields {
padding: 24px;
font-size: 0.9em;
- border-top: solid 0.5px var(--divider);
+ border-top: solid 0.5px var(--MI_THEME-divider);
> .field {
display: flex;
@@ -587,14 +587,14 @@ onUnmounted(() => {
> .status {
display: flex;
padding: 24px;
- border-top: solid 0.5px var(--divider);
+ border-top: solid 0.5px var(--MI_THEME-divider);
> a {
flex: 1;
text-align: center;
&.active {
- color: var(--accent);
+ color: var(--MI_THEME-accent);
}
&:hover {
@@ -710,13 +710,13 @@ onUnmounted(() => {
<style lang="scss" module>
.tl {
- background: var(--bg);
+ background: var(--MI_THEME-bg);
border-radius: var(--radius);
overflow: clip;
}
.verifiedLink {
margin-left: 4px;
- color: var(--success);
+ color: var(--MI_THEME-success);
}
</style>
diff --git a/packages/frontend/src/pages/user/index.timeline.vue b/packages/frontend/src/pages/user/index.timeline.vue
index 8dbf90f344..6339c54ddf 100644
--- a/packages/frontend/src/pages/user/index.timeline.vue
+++ b/packages/frontend/src/pages/user/index.timeline.vue
@@ -52,11 +52,11 @@ const pagination = computed(() => tab.value === 'featured' ? {
<style lang="scss" module>
.tab {
padding: calc(var(--margin) / 2) 0;
- background: var(--bg);
+ background: var(--MI_THEME-bg);
}
.tl {
- background: var(--bg);
+ background: var(--MI_THEME-bg);
border-radius: var(--radius);
overflow: clip;
}
diff --git a/packages/frontend/src/pages/user/lists.vue b/packages/frontend/src/pages/user/lists.vue
index 5e9b95eb74..00de3e9132 100644
--- a/packages/frontend/src/pages/user/lists.vue
+++ b/packages/frontend/src/pages/user/lists.vue
@@ -44,12 +44,12 @@ const pagination = {
.list {
display: block;
padding: 16px;
- border: solid 1px var(--divider);
+ border: solid 1px var(--MI_THEME-divider);
border-radius: 6px;
margin-bottom: 8px;
&:hover {
- border: solid 1px var(--accent);
+ border: solid 1px var(--MI_THEME-accent);
text-decoration: none;
}
}
diff --git a/packages/frontend/src/pages/user/raw.vue b/packages/frontend/src/pages/user/raw.vue
index dd57048409..e6e66bd6af 100644
--- a/packages/frontend/src/pages/user/raw.vue
+++ b/packages/frontend/src/pages/user/raw.vue
@@ -113,18 +113,18 @@ const suspended = computed(() => props.user.isSuspended ?? false);
}
> .suspended {
- color: var(--error);
- border-color: var(--error);
+ color: var(--MI_THEME-error);
+ border-color: var(--MI_THEME-error);
}
> .silenced {
- color: var(--warn);
- border-color: var(--warn);
+ color: var(--MI_THEME-warn);
+ border-color: var(--MI_THEME-warn);
}
> .moderator {
- color: var(--success);
- border-color: var(--success);
+ color: var(--MI_THEME-success);
+ border-color: var(--MI_THEME-success);
}
}
</style>
diff --git a/packages/frontend/src/pages/user/reactions.vue b/packages/frontend/src/pages/user/reactions.vue
index 3671decc18..7168778e12 100644
--- a/packages/frontend/src/pages/user/reactions.vue
+++ b/packages/frontend/src/pages/user/reactions.vue
@@ -44,7 +44,7 @@ const pagination = {
align-items: center;
padding: 8px 16px;
margin-bottom: 8px;
- border-bottom: solid 2px var(--divider);
+ border-bottom: solid 2px var(--MI_THEME-divider);
}
.avatar {
diff --git a/packages/frontend/src/pages/welcome.entrance.a.vue b/packages/frontend/src/pages/welcome.entrance.a.vue
index d6ba397f1b..8e1f9a4a2c 100644
--- a/packages/frontend/src/pages/welcome.entrance.a.vue
+++ b/packages/frontend/src/pages/welcome.entrance.a.vue
@@ -98,7 +98,7 @@ misskeyApiGet('federation/instances', {
left: 0;
width: 100vw;
height: 100vh;
- background: var(--accent);
+ background: var(--MI_THEME-accent);
clip-path: polygon(0% 0%, 45% 0%, 20% 100%, 0% 100%);
}
> .shape2 {
@@ -107,7 +107,7 @@ misskeyApiGet('federation/instances', {
left: 0;
width: 100vw;
height: 100vh;
- background: var(--accent);
+ background: var(--MI_THEME-accent);
clip-path: polygon(0% 0%, 25% 0%, 35% 100%, 0% 100%);
opacity: 0.5;
}
@@ -164,7 +164,7 @@ misskeyApiGet('federation/instances', {
left: 0;
right: 0;
margin: auto;
- background: var(--acrylicPanel);
+ background: var(--MI_THEME-acrylicPanel);
-webkit-backdrop-filter: var(--blur, blur(15px));
backdrop-filter: var(--blur, blur(15px));
border-radius: 999px;
@@ -186,7 +186,7 @@ misskeyApiGet('federation/instances', {
vertical-align: bottom;
padding: 6px 12px 6px 6px;
margin: 0 10px 0 0;
- background: var(--panel);
+ background: var(--MI_THEME-panel);
border-radius: 999px;
> :global(.icon) {
diff --git a/packages/frontend/src/pages/welcome.setup.vue b/packages/frontend/src/pages/welcome.setup.vue
index dd258aad98..6174bcd820 100644
--- a/packages/frontend/src/pages/welcome.setup.vue
+++ b/packages/frontend/src/pages/welcome.setup.vue
@@ -110,8 +110,8 @@ function submit() {
font-size: 1.5em;
text-align: center;
padding: 32px;
- background: var(--accentedBg);
- color: var(--accent);
+ background: var(--MI_THEME-accentedBg);
+ color: var(--MI_THEME-accent);
font-weight: bold;
}
diff --git a/packages/frontend/src/pages/welcome.timeline.note.vue b/packages/frontend/src/pages/welcome.timeline.note.vue
index 6a9ecd9a62..8fb84fd58f 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(--panel), color(from var(--panel) srgb r g b / 0));
+ background: linear-gradient(0deg, var(--MI_THEME-panel), color(from var(--MI_THEME-panel) srgb r g b / 0));
}
}
@@ -100,7 +100,7 @@ onUpdated(() => {
margin: 8px -16px -8px;
padding: 8px 16px 0;
width: calc(100% + 32px);
- border-top: 1px solid var(--divider);
+ border-top: 1px solid var(--MI_THEME-divider);
}
.richcontent {
diff --git a/packages/frontend/src/scripts/init-chart.ts b/packages/frontend/src/scripts/init-chart.ts
index 2465a14703..41e1636aa7 100644
--- a/packages/frontend/src/scripts/init-chart.ts
+++ b/packages/frontend/src/scripts/init-chart.ts
@@ -50,7 +50,7 @@ export function initChart() {
);
// フォントカラー
- Chart.defaults.color = getComputedStyle(document.documentElement).getPropertyValue('--fg');
+ Chart.defaults.color = getComputedStyle(document.documentElement).getPropertyValue('--MI_THEME-fg');
Chart.defaults.borderColor = defaultStore.state.darkMode ? 'rgba(255, 255, 255, 0.1)' : 'rgba(0, 0, 0, 0.1)';
diff --git a/packages/frontend/src/scripts/theme.ts b/packages/frontend/src/scripts/theme.ts
index b7e7a5a3f8..1a3909c132 100644
--- a/packages/frontend/src/scripts/theme.ts
+++ b/packages/frontend/src/scripts/theme.ts
@@ -94,7 +94,7 @@ export function applyTheme(theme: Theme, persist = true) {
}
for (const [k, v] of Object.entries(props)) {
- document.documentElement.style.setProperty(`--${k}`, v.toString());
+ document.documentElement.style.setProperty(`--MI_THEME-${k}`, v.toString());
}
document.documentElement.style.setProperty('color-scheme', colorScheme);
diff --git a/packages/frontend/src/style.scss b/packages/frontend/src/style.scss
index b835096b15..424cc02d0e 100644
--- a/packages/frontend/src/style.scss
+++ b/packages/frontend/src/style.scss
@@ -25,14 +25,14 @@
}
::selection {
- color: var(--fgOnAccent);
- background-color: var(--accent);
+ color: var(--MI_THEME-fgOnAccent);
+ background-color: var(--MI_THEME-accent);
}
html {
- background-color: var(--bg);
- color: var(--fg);
- accent-color: var(--accent);
+ background-color: var(--MI_THEME-bg);
+ color: var(--MI_THEME-fg);
+ accent-color: var(--MI_THEME-accent);
overflow: auto;
overflow-wrap: break-word;
font-family: 'Hiragino Maru Gothic Pro', "BIZ UDGothic", Roboto, HelveticaNeue, Arial, sans-serif;
@@ -43,7 +43,7 @@ html {
-webkit-text-size-adjust: 100%;
&, * {
- scrollbar-color: var(--scrollbarHandle) transparent;
+ scrollbar-color: var(--MI_THEME-scrollbarHandle) transparent;
scrollbar-width: thin;
&::-webkit-scrollbar {
@@ -56,14 +56,14 @@ html {
}
&::-webkit-scrollbar-thumb {
- background: var(--scrollbarHandle);
+ background: var(--MI_THEME-scrollbarHandle);
&:hover {
- background: var(--scrollbarHandleHover);
+ background: var(--MI_THEME-scrollbarHandleHover);
}
&:active {
- background: var(--accent);
+ background: var(--MI_THEME-accent);
}
}
}
@@ -125,15 +125,15 @@ textarea, input {
}
optgroup, option {
- background: var(--panel);
- color: var(--fg);
+ background: var(--MI_THEME-panel);
+ color: var(--MI_THEME-fg);
}
hr {
margin: var(--margin) 0 var(--margin) 0;
border: none;
height: 1px;
- background: var(--divider);
+ background: var(--MI_THEME-divider);
}
rt {
@@ -141,7 +141,7 @@ rt {
}
:focus-visible {
- outline: var(--focus) solid 2px;
+ outline: var(--MI_THEME-focus) solid 2px;
outline-offset: -2px;
&:hover {
@@ -174,9 +174,9 @@ rt {
._indicateCounter {
display: inline-flex;
- color: var(--fgOnAccent);
+ color: var(--MI_THEME-fgOnAccent);
font-weight: 700;
- background: var(--indicator);
+ background: var(--MI_THEME-indicator);
height: 1.5em;
min-width: 1.5em;
align-items: center;
@@ -209,13 +209,13 @@ rt {
left: 0;
width: 100%;
height: 100%;
- background: var(--modalBg);
+ background: var(--MI_THEME-modalBg);
-webkit-backdrop-filter: var(--modalBgFilter);
backdrop-filter: var(--modalBgFilter);
}
._shadow {
- box-shadow: 0px 4px 32px var(--shadow) !important;
+ box-shadow: 0px 4px 32px var(--MI_THEME-shadow) !important;
}
._button {
@@ -244,40 +244,40 @@ rt {
._buttonPrimary {
@extend ._button;
- color: var(--fgOnAccent);
- background: var(--accent);
+ color: var(--MI_THEME-fgOnAccent);
+ background: var(--MI_THEME-accent);
&:not(:disabled):hover {
- background: hsl(from var(--accent) h s calc(l + 5));
+ background: hsl(from var(--MI_THEME-accent) h s calc(l + 5));
}
&:not(:disabled):active {
- background: hsl(from var(--accent) h s calc(l - 5));
+ background: hsl(from var(--MI_THEME-accent) h s calc(l - 5));
}
}
._buttonGradate {
@extend ._buttonPrimary;
- color: var(--fgOnAccent);
- background: linear-gradient(90deg, var(--buttonGradateA), var(--buttonGradateB));
+ color: var(--MI_THEME-fgOnAccent);
+ background: linear-gradient(90deg, var(--MI_THEME-buttonGradateA), var(--MI_THEME-buttonGradateB));
&:not(:disabled):hover {
- background: linear-gradient(90deg, hsl(from var(--accent) h s calc(l + 5)), hsl(from var(--accent) h s calc(l + 5)));
+ 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 {
- background: linear-gradient(90deg, hsl(from var(--accent) h s calc(l + 5)), hsl(from var(--accent) h s calc(l + 5)));
+ 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)));
}
}
._help {
- color: var(--accent);
+ color: var(--MI_THEME-accent);
cursor: help;
}
._textButton {
@extend ._button;
- color: var(--accent);
+ color: var(--MI_THEME-accent);
&:focus-visible {
outline-offset: 2px;
@@ -289,7 +289,7 @@ rt {
}
._panel {
- background: var(--panel);
+ background: var(--MI_THEME-panel);
border-radius: var(--radius);
overflow: clip;
}
@@ -335,22 +335,22 @@ rt {
padding: 10px;
box-sizing: border-box;
text-align: center;
- border: solid 0.5px var(--divider);
+ border: solid 0.5px var(--MI_THEME-divider);
border-radius: var(--radius);
&:active {
- border-color: var(--accent);
+ border-color: var(--MI_THEME-accent);
}
}
._popup {
- background: var(--popup);
+ background: var(--MI_THEME-popup);
border-radius: var(--radius);
contain: content;
}
._acrylic {
- background: var(--acrylicPanel);
+ background: var(--MI_THEME-acrylicPanel);
-webkit-backdrop-filter: var(--blur, blur(15px));
backdrop-filter: var(--blur, blur(15px));
}
@@ -365,8 +365,8 @@ rt {
margin-left: 0.7em;
font-size: 65%;
padding: 2px 3px;
- color: var(--accent);
- border: solid 1px var(--accent);
+ color: var(--MI_THEME-accent);
+ border: solid 1px var(--MI_THEME-accent);
border-radius: 4px;
vertical-align: top;
}
@@ -375,8 +375,8 @@ rt {
margin-left: 0.7em;
font-size: 65%;
padding: 2px 3px;
- color: var(--warn);
- border: solid 1px var(--warn);
+ color: var(--MI_THEME-warn);
+ border: solid 1px var(--MI_THEME-warn);
border-radius: 4px;
vertical-align: top;
}
@@ -422,7 +422,7 @@ rt {
}
._link {
- color: var(--link);
+ color: var(--MI_THEME-link);
}
._caption {
@@ -446,14 +446,14 @@ rt {
box-shadow: 0 6px 16px #0007, 0 0 1px 1px #693410, inset 0 0 2px 1px #ce8a5c;
border-radius: 10px;
- --bg: #F1E8DC;
- --fg: #693410;
+ --MI_THEME-bg: #F1E8DC;
+ --MI_THEME-fg: #693410;
}
html[data-color-scheme=dark] ._woodenFrame {
- --bg: #1d0c02;
- --fg: #F1E8DC;
- --panel: #192320;
+ --MI_THEME-bg: #1d0c02;
+ --MI_THEME-fg: #F1E8DC;
+ --MI_THEME-panel: #192320;
}
._woodenFrameH {
@@ -464,10 +464,10 @@ html[data-color-scheme=dark] ._woodenFrame {
._woodenFrameInner {
padding: 8px;
margin-top: 8px;
- background: var(--bg);
+ background: var(--MI_THEME-bg);
box-shadow: 0 0 2px 1px #ce8a5c, inset 0 0 1px 1px #693410;
border-radius: 6px;
- color: var(--fg);
+ color: var(--MI_THEME-fg);
&:first-child {
margin-top: 0;
diff --git a/packages/frontend/src/ui/_common_/announcements.vue b/packages/frontend/src/ui/_common_/announcements.vue
index 374bc20b54..d153dc8726 100644
--- a/packages/frontend/src/ui/_common_/announcements.vue
+++ b/packages/frontend/src/ui/_common_/announcements.vue
@@ -13,9 +13,9 @@ SPDX-License-Identifier: AGPL-3.0-only
>
<span :class="$style.icon">
<i v-if="announcement.icon === 'info'" class="ti ti-info-circle"></i>
- <i v-else-if="announcement.icon === 'warning'" class="ti ti-alert-triangle" style="color: var(--warn);"></i>
- <i v-else-if="announcement.icon === 'error'" class="ti ti-circle-x" style="color: var(--error);"></i>
- <i v-else-if="announcement.icon === 'success'" class="ti ti-check" style="color: var(--success);"></i>
+ <i v-else-if="announcement.icon === 'warning'" class="ti ti-alert-triangle" style="color: var(--MI_THEME-warn);"></i>
+ <i v-else-if="announcement.icon === 'error'" class="ti ti-circle-x" style="color: var(--MI_THEME-error);"></i>
+ <i v-else-if="announcement.icon === 'success'" class="ti ti-check" style="color: var(--MI_THEME-success);"></i>
</span>
<span :class="$style.title">{{ announcement.title }}</span>
<span :class="$style.body">{{ announcement.text }}</span>
@@ -30,7 +30,7 @@ import { $i } from '@/account.js';
<style lang="scss" module>
.root {
font-size: 15px;
- background: var(--panel);
+ background: var(--MI_THEME-panel);
}
.item {
@@ -44,8 +44,8 @@ import { $i } from '@/account.js';
height: var(--height);
overflow: clip;
contain: strict;
- background: var(--accent);
- color: var(--fgOnAccent);
+ background: var(--MI_THEME-accent);
+ color: var(--MI_THEME-fgOnAccent);
@container (max-width: 1000px) {
display: block;
diff --git a/packages/frontend/src/ui/_common_/common.vue b/packages/frontend/src/ui/_common_/common.vue
index 61881c02e1..e3c0f1f4ce 100644
--- a/packages/frontend/src/ui/_common_/common.vue
+++ b/packages/frontend/src/ui/_common_/common.vue
@@ -234,8 +234,8 @@ if ($i) {
height: 18px;
box-sizing: border-box;
border: solid 2px transparent;
- border-top-color: var(--accent);
- border-left-color: var(--accent);
+ border-top-color: var(--MI_THEME-accent);
+ border-left-color: var(--MI_THEME-accent);
border-radius: 50%;
animation: progress-spinner 400ms linear infinite;
}
diff --git a/packages/frontend/src/ui/_common_/navbar-for-mobile.vue b/packages/frontend/src/ui/_common_/navbar-for-mobile.vue
index 5115d21d56..a71f57670d 100644
--- a/packages/frontend/src/ui/_common_/navbar-for-mobile.vue
+++ b/packages/frontend/src/ui/_common_/navbar-for-mobile.vue
@@ -82,7 +82,7 @@ function more() {
<style lang="scss" module>
.root {
- --nav-bg-transparent: color(from var(--navBg) srgb r g b / 0.5);
+ --nav-bg-transparent: color(from var(--MI_THEME-navBg) srgb r g b / 0.5);
display: flex;
flex-direction: column;
@@ -137,7 +137,7 @@ function more() {
display: block;
width: 100%;
height: 40px;
- color: var(--fgOnAccent);
+ color: var(--MI_THEME-fgOnAccent);
font-weight: bold;
text-align: left;
@@ -153,12 +153,12 @@ function more() {
right: 0;
bottom: 0;
border-radius: 999px;
- background: linear-gradient(90deg, var(--buttonGradateA), var(--buttonGradateB));
+ background: linear-gradient(90deg, var(--MI_THEME-buttonGradateA), var(--MI_THEME-buttonGradateB));
}
&:hover, &.active {
&::before {
- background: var(--accentLighten);
+ background: var(--MI_THEME-accentLighten);
}
}
}
@@ -202,7 +202,7 @@ function more() {
.divider {
margin: 16px 16px;
- border-top: solid 0.5px var(--divider);
+ border-top: solid 0.5px var(--MI_THEME-divider);
}
.item {
@@ -216,15 +216,15 @@ function more() {
width: 100%;
text-align: left;
box-sizing: border-box;
- color: var(--navFg);
+ color: var(--MI_THEME-navFg);
&:hover {
text-decoration: none;
- color: var(--navHoverFg);
+ color: var(--MI_THEME-navHoverFg);
}
&.active {
- color: var(--navActive);
+ color: var(--MI_THEME-navActive);
}
&:hover, &.active {
@@ -240,7 +240,7 @@ function more() {
right: 0;
bottom: 0;
border-radius: 999px;
- background: var(--accentedBg);
+ background: var(--MI_THEME-accentedBg);
}
}
}
@@ -255,7 +255,7 @@ function more() {
position: absolute;
top: 0;
left: 20px;
- color: var(--navIndicator);
+ color: var(--MI_THEME-navIndicator);
font-size: 8px;
animation: global-blink 1s infinite;
diff --git a/packages/frontend/src/ui/_common_/navbar.vue b/packages/frontend/src/ui/_common_/navbar.vue
index 05f5ff2565..4d01330432 100644
--- a/packages/frontend/src/ui/_common_/navbar.vue
+++ b/packages/frontend/src/ui/_common_/navbar.vue
@@ -111,7 +111,7 @@ function more(ev: MouseEvent) {
.root {
--nav-width: 250px;
--nav-icon-only-width: 80px;
- --nav-bg-transparent: color(from var(--navBg) srgb r g b / 0.5);
+ --nav-bg-transparent: color(from var(--MI_THEME-navBg) srgb r g b / 0.5);
flex: 0 0 var(--nav-width);
width: var(--nav-width);
@@ -129,7 +129,7 @@ function more(ev: MouseEvent) {
overflow: auto;
overflow-x: clip;
overscroll-behavior: contain;
- background: var(--navBg);
+ background: var(--MI_THEME-navBg);
contain: strict;
display: flex;
flex-direction: column;
@@ -172,7 +172,7 @@ function more(ev: MouseEvent) {
outline: none;
> .instanceIcon {
- outline: 2px solid var(--focus);
+ outline: 2px solid var(--MI_THEME-focus);
outline-offset: 2px;
}
}
@@ -198,7 +198,7 @@ function more(ev: MouseEvent) {
display: block;
width: 100%;
height: 40px;
- color: var(--fgOnAccent);
+ color: var(--MI_THEME-fgOnAccent);
font-weight: bold;
text-align: left;
@@ -214,21 +214,21 @@ function more(ev: MouseEvent) {
right: 0;
bottom: 0;
border-radius: 999px;
- background: linear-gradient(90deg, var(--buttonGradateA), var(--buttonGradateB));
+ background: linear-gradient(90deg, var(--MI_THEME-buttonGradateA), var(--MI_THEME-buttonGradateB));
}
&:focus-visible {
outline: none;
&::before {
- outline: 2px solid var(--fgOnAccent);
+ outline: 2px solid var(--MI_THEME-fgOnAccent);
outline-offset: -4px;
}
}
&:hover, &.active {
&::before {
- background: var(--accentLighten);
+ background: var(--MI_THEME-accentLighten);
}
}
}
@@ -258,7 +258,7 @@ function more(ev: MouseEvent) {
outline: none;
> .avatar {
- box-shadow: 0 0 0 4px var(--focus);
+ box-shadow: 0 0 0 4px var(--MI_THEME-focus);
}
}
}
@@ -284,7 +284,7 @@ function more(ev: MouseEvent) {
.divider {
margin: 16px 16px;
- border-top: solid 0.5px var(--divider);
+ border-top: solid 0.5px var(--MI_THEME-divider);
}
.item {
@@ -298,28 +298,28 @@ function more(ev: MouseEvent) {
width: 100%;
text-align: left;
box-sizing: border-box;
- color: var(--navFg);
+ color: var(--MI_THEME-navFg);
&:hover {
text-decoration: none;
- color: var(--navHoverFg);
+ color: var(--MI_THEME-navHoverFg);
}
&.active {
- color: var(--navActive);
+ color: var(--MI_THEME-navActive);
}
&:focus-visible {
outline: none;
&::before {
- outline: 2px solid var(--focus);
+ outline: 2px solid var(--MI_THEME-focus);
outline-offset: -2px;
}
}
&:hover, &.active, &:focus {
- color: var(--accent);
+ color: var(--MI_THEME-accent);
&::before {
content: "";
@@ -333,7 +333,7 @@ function more(ev: MouseEvent) {
right: 0;
bottom: 0;
border-radius: 999px;
- background: var(--accentedBg);
+ background: var(--MI_THEME-accentedBg);
}
}
}
@@ -348,7 +348,7 @@ function more(ev: MouseEvent) {
position: absolute;
top: 0;
left: 20px;
- color: var(--navIndicator);
+ color: var(--MI_THEME-navIndicator);
font-size: 8px;
animation: global-blink 1s infinite;
@@ -393,7 +393,7 @@ function more(ev: MouseEvent) {
outline: none;
> .instanceIcon {
- outline: 2px solid var(--focus);
+ outline: 2px solid var(--MI_THEME-focus);
outline-offset: 2px;
}
}
@@ -433,28 +433,28 @@ function more(ev: MouseEvent) {
width: 52px;
aspect-ratio: 1/1;
border-radius: 100%;
- background: linear-gradient(90deg, var(--buttonGradateA), var(--buttonGradateB));
+ background: linear-gradient(90deg, var(--MI_THEME-buttonGradateA), var(--MI_THEME-buttonGradateB));
}
&:focus-visible {
outline: none;
&::before {
- outline: 2px solid var(--fgOnAccent);
+ outline: 2px solid var(--MI_THEME-fgOnAccent);
outline-offset: -4px;
}
}
&:hover, &.active {
&::before {
- background: var(--accentLighten);
+ background: var(--MI_THEME-accentLighten);
}
}
}
.postIcon {
position: relative;
- color: var(--fgOnAccent);
+ color: var(--MI_THEME-fgOnAccent);
}
.postText {
@@ -472,7 +472,7 @@ function more(ev: MouseEvent) {
outline: none;
> .avatar {
- box-shadow: 0 0 0 4px var(--focus);
+ box-shadow: 0 0 0 4px var(--MI_THEME-focus);
}
}
}
@@ -494,7 +494,7 @@ function more(ev: MouseEvent) {
.divider {
margin: 8px auto;
width: calc(100% - 32px);
- border-top: solid 0.5px var(--divider);
+ border-top: solid 0.5px var(--MI_THEME-divider);
}
.item {
@@ -508,14 +508,14 @@ function more(ev: MouseEvent) {
outline: none;
&::before {
- outline: 2px solid var(--focus);
+ outline: 2px solid var(--MI_THEME-focus);
outline-offset: -2px;
}
}
&:hover, &.active, &:focus {
text-decoration: none;
- color: var(--accent);
+ color: var(--MI_THEME-accent);
&::before {
content: "";
@@ -529,7 +529,7 @@ function more(ev: MouseEvent) {
right: 0;
bottom: 0;
border-radius: 999px;
- background: var(--accentedBg);
+ background: var(--MI_THEME-accentedBg);
}
> .icon,
@@ -553,7 +553,7 @@ function more(ev: MouseEvent) {
position: absolute;
top: 6px;
left: 24px;
- color: var(--navIndicator);
+ color: var(--MI_THEME-navIndicator);
font-size: 8px;
animation: global-blink 1s infinite;
diff --git a/packages/frontend/src/ui/_common_/statusbars.vue b/packages/frontend/src/ui/_common_/statusbars.vue
index 690366307b..5f9a938017 100644
--- a/packages/frontend/src/ui/_common_/statusbars.vue
+++ b/packages/frontend/src/ui/_common_/statusbars.vue
@@ -32,7 +32,7 @@ const XUserList = defineAsyncComponent(() => import('./statusbar-user-list.vue')
<style lang="scss" module>
.root {
font-size: 15px;
- background: var(--panel);
+ background: var(--MI_THEME-panel);
}
.item {
@@ -81,7 +81,7 @@ const XUserList = defineAsyncComponent(() => import('./statusbar-user-list.vue')
.name {
padding: 0 var(--nameMargin);
font-weight: bold;
- color: var(--accent);
+ color: var(--MI_THEME-accent);
&:empty {
display: none;
diff --git a/packages/frontend/src/ui/_common_/upload.vue b/packages/frontend/src/ui/_common_/upload.vue
index 6db7f9cae7..c7d1387eae 100644
--- a/packages/frontend/src/ui/_common_/upload.vue
+++ b/packages/frontend/src/ui/_common_/upload.vue
@@ -125,10 +125,10 @@ const zIndex = os.claimZIndex('high');
height: 8px;
}
.mk-uploader > ol > li > progress::-webkit-progress-value {
- background: var(--accent);
+ background: var(--MI_THEME-accent);
}
.mk-uploader > ol > li > progress::-webkit-progress-bar {
- //background: var(--accentAlpha01);
+ //background: var(--MI_THEME-accentAlpha01);
background: transparent;
}
</style>
diff --git a/packages/frontend/src/ui/classic.header.vue b/packages/frontend/src/ui/classic.header.vue
index c03afd6cd6..a0a8601887 100644
--- a/packages/frontend/src/ui/classic.header.vue
+++ b/packages/frontend/src/ui/classic.header.vue
@@ -104,7 +104,7 @@ onMounted(() => {
z-index: 1000;
width: 100%;
height: $height;
- background-color: var(--bg);
+ background-color: var(--MI_THEME-bg);
> .body {
max-width: 1380px;
@@ -140,18 +140,18 @@ onMounted(() => {
position: absolute;
top: 0;
left: 0;
- color: var(--navIndicator);
+ color: var(--MI_THEME-navIndicator);
font-size: 8px;
animation: global-blink 1s infinite;
}
&:hover {
text-decoration: none;
- color: var(--navHoverFg);
+ color: var(--MI_THEME-navHoverFg);
}
&.active {
- color: var(--navActive);
+ color: var(--MI_THEME-navActive);
}
}
@@ -159,7 +159,7 @@ onMounted(() => {
display: inline-block;
height: 16px;
margin: 0 10px;
- border-right: solid 0.5px var(--divider);
+ border-right: solid 0.5px var(--MI_THEME-divider);
}
> .instance {
diff --git a/packages/frontend/src/ui/classic.sidebar.vue b/packages/frontend/src/ui/classic.sidebar.vue
index 87b4515d46..4d1846c34c 100644
--- a/packages/frontend/src/ui/classic.sidebar.vue
+++ b/packages/frontend/src/ui/classic.sidebar.vue
@@ -157,7 +157,7 @@ watch(defaultStore.reactiveState.menuDisplay, () => {
> .divider {
margin: 10px 0;
- border-top: solid 0.5px var(--divider);
+ border-top: solid 0.5px var(--MI_THEME-divider);
}
> .post {
@@ -165,7 +165,7 @@ watch(defaultStore.reactiveState.menuDisplay, () => {
top: 0;
z-index: 1;
padding: 16px 0;
- background: var(--bg);
+ background: var(--MI_THEME-bg);
> .button {
min-width: 0;
@@ -220,7 +220,7 @@ watch(defaultStore.reactiveState.menuDisplay, () => {
position: absolute;
top: 0;
left: 0;
- color: var(--navIndicator);
+ color: var(--MI_THEME-navIndicator);
font-size: 8px;
animation: global-blink 1s infinite;
@@ -233,11 +233,11 @@ watch(defaultStore.reactiveState.menuDisplay, () => {
&:hover {
text-decoration: none;
- color: var(--navHoverFg);
+ color: var(--MI_THEME-navHoverFg);
}
&.active {
- color: var(--navActive);
+ color: var(--MI_THEME-navActive);
}
}
}
diff --git a/packages/frontend/src/ui/classic.vue b/packages/frontend/src/ui/classic.vue
index fa04409d2d..9715e1ba18 100644
--- a/packages/frontend/src/ui/classic.vue
+++ b/packages/frontend/src/ui/classic.vue
@@ -216,7 +216,7 @@ onMounted(() => {
box-sizing: border-box;
&.wallpaper {
- background: var(--wallpaperOverlay);
+ background: var(--MI_THEME-wallpaperOverlay);
//backdrop-filter: var(--blur, blur(4px));
}
@@ -249,15 +249,15 @@ onMounted(() => {
min-width: 0;
width: 750px;
margin: 0 16px 0 0;
- border-left: solid 1px var(--divider);
- border-right: solid 1px var(--divider);
+ border-left: solid 1px var(--MI_THEME-divider);
+ border-right: solid 1px var(--MI_THEME-divider);
border-radius: 0;
overflow: clip;
--margin: 12px;
}
> .widgets {
- //--panelBorder: none;
+ //--MI_THEME-panelBorder: none;
width: 300px;
padding-bottom: calc(var(--margin) + env(safe-area-inset-bottom, 0px));
@@ -277,7 +277,7 @@ onMounted(() => {
&.withGlobalHeader {
> .main {
margin-top: 0;
- border: solid 1px var(--divider);
+ border: solid 1px var(--MI_THEME-divider);
border-radius: var(--radius);
--stickyTop: var(--globalHeaderHeight);
}
@@ -292,7 +292,7 @@ onMounted(() => {
margin: 0;
> .sidebar {
- border-right: solid 0.5px var(--divider);
+ border-right: solid 0.5px var(--MI_THEME-divider);
}
> .main {
@@ -317,7 +317,7 @@ onMounted(() => {
padding: var(--margin) var(--margin) calc(var(--margin) + env(safe-area-inset-bottom, 0px));
box-sizing: border-box;
overflow: auto;
- background: var(--bg);
+ background: var(--MI_THEME-bg);
}
> .ivnzpscs {
diff --git a/packages/frontend/src/ui/deck.vue b/packages/frontend/src/ui/deck.vue
index 750cdca90e..623a109e88 100644
--- a/packages/frontend/src/ui/deck.vue
+++ b/packages/frontend/src/ui/deck.vue
@@ -332,7 +332,7 @@ body {
overflow-x: auto;
overflow-y: clip;
overscroll-behavior: contain;
- background: var(--deckBg);
+ background: var(--MI_THEME-deckBg);
&.center {
> .section:first-of-type {
@@ -414,7 +414,7 @@ body {
contain: strict;
overflow: auto;
overscroll-behavior: contain;
- background: var(--navBg);
+ background: var(--MI_THEME-navBg);
}
.nav {
@@ -430,8 +430,8 @@ body {
box-sizing: border-box;
-webkit-backdrop-filter: var(--blur, blur(32px));
backdrop-filter: var(--blur, blur(32px));
- background-color: var(--header);
- border-top: solid 0.5px var(--divider);
+ background-color: var(--MI_THEME-header);
+ border-top: solid 0.5px var(--MI_THEME-divider);
}
.navButton {
@@ -442,29 +442,29 @@ body {
max-width: 60px;
margin: auto;
border-radius: 100%;
- background: var(--panel);
- color: var(--fg);
+ background: var(--MI_THEME-panel);
+ color: var(--MI_THEME-fg);
&:hover {
- background: var(--panelHighlight);
+ background: var(--MI_THEME-panelHighlight);
}
&:active {
- background: hsl(from var(--panel) h s calc(l - 2));
+ background: hsl(from var(--MI_THEME-panel) h s calc(l - 2));
}
}
.postButton {
composes: navButton;
- background: linear-gradient(90deg, var(--buttonGradateA), var(--buttonGradateB));
- color: var(--fgOnAccent);
+ background: linear-gradient(90deg, var(--MI_THEME-buttonGradateA), var(--MI_THEME-buttonGradateB));
+ color: var(--MI_THEME-fgOnAccent);
&:hover {
- background: linear-gradient(90deg, hsl(from var(--accent) h s calc(l + 5)), hsl(from var(--accent) h s calc(l + 5)));
+ 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)));
}
&:active {
- background: linear-gradient(90deg, hsl(from var(--accent) h s calc(l + 5)), hsl(from var(--accent) h s calc(l + 5)));
+ 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)));
}
}
@@ -477,7 +477,7 @@ body {
position: absolute;
top: 0;
left: 0;
- color: var(--indicator);
+ color: var(--MI_THEME-indicator);
font-size: 16px;
animation: global-blink 1s infinite;
diff --git a/packages/frontend/src/ui/deck/column.vue b/packages/frontend/src/ui/deck/column.vue
index b97d86f4a3..4aaaea0fd9 100644
--- a/packages/frontend/src/ui/deck/column.vue
+++ b/packages/frontend/src/ui/deck/column.vue
@@ -21,7 +21,7 @@ SPDX-License-Identifier: AGPL-3.0-only
>
<svg viewBox="0 0 256 128" :class="$style.tabShape">
<g transform="matrix(6.2431,0,0,6.2431,-677.417,-29.3839)">
- <path d="M149.512,4.707L108.507,4.707C116.252,4.719 118.758,14.958 118.758,14.958C118.758,14.958 121.381,25.283 129.009,25.209L149.512,25.209L149.512,4.707Z" style="fill:var(--deckBg);"/>
+ <path d="M149.512,4.707L108.507,4.707C116.252,4.719 118.758,14.958 118.758,14.958C118.758,14.958 121.381,25.283 129.009,25.209L149.512,25.209L149.512,4.707Z" style="fill:var(--MI_THEME-deckBg);"/>
</g>
</svg>
<div :class="$style.color"></div>
@@ -299,7 +299,7 @@ function onDrop(ev) {
left: 0;
width: 100%;
height: 100%;
- background: var(--focus);
+ background: var(--MI_THEME-focus);
}
}
@@ -313,7 +313,7 @@ function onDrop(ev) {
left: 0;
width: 100%;
height: 100%;
- background: var(--focus);
+ background: var(--MI_THEME-focus);
opacity: 0.5;
}
}
@@ -331,19 +331,19 @@ function onDrop(ev) {
}
&.naked {
- background: var(--acrylicBg) !important;
+ background: var(--MI_THEME-acrylicBg) !important;
-webkit-backdrop-filter: var(--blur, blur(10px));
backdrop-filter: var(--blur, blur(10px));
> .header {
background: transparent;
box-shadow: none;
- color: var(--fg);
+ color: var(--MI_THEME-fg);
}
> .body {
background: transparent !important;
- scrollbar-color: var(--scrollbarHandle) transparent;
+ scrollbar-color: var(--MI_THEME-scrollbarHandle) transparent;
&::-webkit-scrollbar-track {
background: transparent;
@@ -352,12 +352,12 @@ function onDrop(ev) {
}
&.paged {
- background: var(--bg) !important;
+ background: var(--MI_THEME-bg) !important;
> .body {
- background: var(--bg) !important;
+ background: var(--MI_THEME-bg) !important;
overflow-y: scroll !important;
- scrollbar-color: var(--scrollbarHandle) transparent;
+ scrollbar-color: var(--MI_THEME-scrollbarHandle) transparent;
&::-webkit-scrollbar-track {
background: inherit;
@@ -374,9 +374,9 @@ function onDrop(ev) {
height: var(--deckColumnHeaderHeight);
padding: 0 16px 0 30px;
font-size: 0.9em;
- color: var(--panelHeaderFg);
- background: var(--panelHeaderBg);
- box-shadow: 0 1px 0 0 var(--panelHeaderDivider);
+ color: var(--MI_THEME-panelHeaderFg);
+ background: var(--MI_THEME-panelHeaderBg);
+ box-shadow: 0 1px 0 0 var(--MI_THEME-panelHeaderDivider);
cursor: pointer;
user-select: none;
}
@@ -387,7 +387,7 @@ function onDrop(ev) {
left: 12px;
width: 3px;
height: calc(100% - 24px);
- background: var(--accent);
+ background: var(--MI_THEME-accent);
border-radius: 999px;
}
@@ -441,11 +441,11 @@ function onDrop(ev) {
overscroll-behavior-y: contain;
box-sizing: border-box;
container-type: size;
- background-color: var(--bg);
- scrollbar-color: var(--scrollbarHandle) var(--panel);
+ background-color: var(--MI_THEME-bg);
+ scrollbar-color: var(--MI_THEME-scrollbarHandle) var(--MI_THEME-panel);
&::-webkit-scrollbar-track {
- background: var(--panel);
+ background: var(--MI_THEME-panel);
}
}
</style>
diff --git a/packages/frontend/src/ui/deck/widgets-column.vue b/packages/frontend/src/ui/deck/widgets-column.vue
index 9995996771..da12570ae2 100644
--- a/packages/frontend/src/ui/deck/widgets-column.vue
+++ b/packages/frontend/src/ui/deck/widgets-column.vue
@@ -58,7 +58,7 @@ const menu = [{
<style lang="scss" module>
.root {
--margin: 8px;
- --panelBorder: none;
+ --MI_THEME-panelBorder: none;
padding: 0 var(--margin);
}
diff --git a/packages/frontend/src/ui/universal.vue b/packages/frontend/src/ui/universal.vue
index a2a79c74a1..73c4e7c195 100644
--- a/packages/frontend/src/ui/universal.vue
+++ b/packages/frontend/src/ui/universal.vue
@@ -318,7 +318,7 @@ $widgets-hide-threshold: 1090px;
}
.sidebar {
- border-right: solid 0.5px var(--divider);
+ border-right: solid 0.5px var(--MI_THEME-divider);
}
.contents {
@@ -328,7 +328,7 @@ $widgets-hide-threshold: 1090px;
overflow: auto;
overflow-y: scroll;
overscroll-behavior: contain;
- background: var(--bg);
+ background: var(--MI_THEME-bg);
}
.widgets {
@@ -337,8 +337,8 @@ $widgets-hide-threshold: 1090px;
box-sizing: border-box;
overflow: auto;
padding: var(--margin) var(--margin) calc(var(--margin) + env(safe-area-inset-bottom, 0px));
- border-left: solid 0.5px var(--divider);
- background: var(--bg);
+ border-left: solid 0.5px var(--MI_THEME-divider);
+ background: var(--MI_THEME-bg);
@media (max-width: $widgets-hide-threshold) {
display: none;
@@ -356,7 +356,7 @@ $widgets-hide-threshold: 1090px;
border-radius: 100%;
box-shadow: 0 3px 5px -1px rgba(0, 0, 0, 0.2), 0 6px 10px 0 rgba(0, 0, 0, 0.14), 0 1px 18px 0 rgba(0, 0, 0, 0.12);
font-size: 22px;
- background: var(--panel);
+ background: var(--MI_THEME-panel);
}
.widgetsDrawerBg {
@@ -374,7 +374,7 @@ $widgets-hide-threshold: 1090px;
box-sizing: border-box;
overflow: auto;
overscroll-behavior: contain;
- background: var(--bg);
+ background: var(--MI_THEME-bg);
}
.widgetsCloseButton {
@@ -402,8 +402,8 @@ $widgets-hide-threshold: 1090px;
box-sizing: border-box;
-webkit-backdrop-filter: var(--blur, blur(24px));
backdrop-filter: var(--blur, blur(24px));
- background-color: var(--header);
- border-top: solid 0.5px var(--divider);
+ background-color: var(--MI_THEME-header);
+ border-top: solid 0.5px var(--MI_THEME-divider);
}
.navButton {
@@ -414,29 +414,29 @@ $widgets-hide-threshold: 1090px;
max-width: 60px;
margin: auto;
border-radius: 100%;
- background: var(--panel);
- color: var(--fg);
+ background: var(--MI_THEME-panel);
+ color: var(--MI_THEME-fg);
&:hover {
- background: var(--panelHighlight);
+ background: var(--MI_THEME-panelHighlight);
}
&:active {
- background: hsl(from var(--panel) h s calc(l - 2));
+ background: hsl(from var(--MI_THEME-panel) h s calc(l - 2));
}
}
.postButton {
composes: navButton;
- background: linear-gradient(90deg, var(--buttonGradateA), var(--buttonGradateB));
- color: var(--fgOnAccent);
+ background: linear-gradient(90deg, var(--MI_THEME-buttonGradateA), var(--MI_THEME-buttonGradateB));
+ color: var(--MI_THEME-fgOnAccent);
&:hover {
- background: linear-gradient(90deg, hsl(from var(--accent) h s calc(l + 5)), hsl(from var(--accent) h s calc(l + 5)));
+ 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)));
}
&:active {
- background: linear-gradient(90deg, hsl(from var(--accent) h s calc(l + 5)), hsl(from var(--accent) h s calc(l + 5)));
+ 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)));
}
}
@@ -449,7 +449,7 @@ $widgets-hide-threshold: 1090px;
position: absolute;
top: 0;
left: 0;
- color: var(--indicator);
+ color: var(--MI_THEME-indicator);
font-size: 16px;
animation: global-blink 1s infinite;
@@ -474,7 +474,7 @@ $widgets-hide-threshold: 1090px;
contain: strict;
overflow: auto;
overscroll-behavior: contain;
- background: var(--navBg);
+ background: var(--MI_THEME-navBg);
}
.statusbars {
diff --git a/packages/frontend/src/ui/visitor.vue b/packages/frontend/src/ui/visitor.vue
index 01d0737123..7d8677e3be 100644
--- a/packages/frontend/src/ui/visitor.vue
+++ b/packages/frontend/src/ui/visitor.vue
@@ -5,7 +5,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<template>
<div class="mk-app">
- <a v-if="isRoot" href="https://github.com/misskey-dev/misskey" target="_blank" class="github-corner" aria-label="View source on GitHub"><svg width="80" height="80" viewBox="0 0 250 250" style="fill:var(--panel); color:var(--fg); position: fixed; z-index: 10; top: 0; border: 0; right: 0;" aria-hidden="true"><path d="M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z"></path><path d="M128.3,109.0 C113.8,99.7 119.0,89.6 119.0,89.6 C122.0,82.7 120.5,78.6 120.5,78.6 C119.2,72.0 123.4,76.3 123.4,76.3 C127.3,80.9 125.5,87.3 125.5,87.3 C122.9,97.6 130.6,101.9 134.4,103.2" fill="currentColor" style="transform-origin: 130px 106px;" class="octo-arm"></path><path d="M115.0,115.0 C114.9,115.1 118.7,116.5 119.8,115.4 L133.7,101.6 C136.9,99.2 139.9,98.4 142.2,98.6 C133.8,88.0 127.5,74.4 143.8,58.0 C148.5,53.4 154.0,51.2 159.7,51.0 C160.3,49.4 163.2,43.6 171.4,40.1 C171.4,40.1 176.1,42.5 178.8,56.2 C183.1,58.6 187.2,61.8 190.9,65.4 C194.5,69.0 197.7,73.2 200.1,77.6 C213.8,80.2 216.3,84.9 216.3,84.9 C212.7,93.1 206.9,96.0 205.4,96.6 C205.1,102.4 203.0,107.8 198.3,112.5 C181.9,128.9 168.3,122.5 157.7,114.1 C157.9,116.9 156.7,120.9 152.7,124.9 L141.0,136.5 C139.8,137.7 141.6,141.9 141.8,141.8 Z" fill="currentColor" class="octo-body"></path></svg></a>
+ <a v-if="isRoot" href="https://github.com/misskey-dev/misskey" target="_blank" class="github-corner" aria-label="View source on GitHub"><svg width="80" height="80" viewBox="0 0 250 250" style="fill:var(--MI_THEME-panel); color:var(--MI_THEME-fg); position: fixed; z-index: 10; top: 0; border: 0; right: 0;" aria-hidden="true"><path d="M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z"></path><path d="M128.3,109.0 C113.8,99.7 119.0,89.6 119.0,89.6 C122.0,82.7 120.5,78.6 120.5,78.6 C119.2,72.0 123.4,76.3 123.4,76.3 C127.3,80.9 125.5,87.3 125.5,87.3 C122.9,97.6 130.6,101.9 134.4,103.2" fill="currentColor" style="transform-origin: 130px 106px;" class="octo-arm"></path><path d="M115.0,115.0 C114.9,115.1 118.7,116.5 119.8,115.4 L133.7,101.6 C136.9,99.2 139.9,98.4 142.2,98.6 C133.8,88.0 127.5,74.4 143.8,58.0 C148.5,53.4 154.0,51.2 159.7,51.0 C160.3,49.4 163.2,43.6 171.4,40.1 C171.4,40.1 176.1,42.5 178.8,56.2 C183.1,58.6 187.2,61.8 190.9,65.4 C194.5,69.0 197.7,73.2 200.1,77.6 C213.8,80.2 216.3,84.9 216.3,84.9 C212.7,93.1 206.9,96.0 205.4,96.6 C205.1,102.4 203.0,107.8 198.3,112.5 C181.9,128.9 168.3,122.5 157.7,114.1 C157.9,116.9 156.7,120.9 152.7,124.9 L141.0,136.5 C139.8,137.7 141.6,141.9 141.8,141.8 Z" fill="currentColor" class="octo-body"></path></svg></a>
<div v-if="!narrow && !isRoot" class="side">
<div class="banner" :style="{ backgroundImage: instance.backgroundImageUrl ? `url(${ instance.backgroundImageUrl })` : 'none' }"></div>
@@ -191,7 +191,7 @@ defineExpose({
left: 0;
width: 500px;
height: 100vh;
- background: var(--accent);
+ background: var(--MI_THEME-accent);
> .banner {
position: absolute;
@@ -219,7 +219,7 @@ defineExpose({
min-width: 0;
> .header {
- background: var(--panel);
+ background: var(--MI_THEME-panel);
> .wide {
line-height: 50px;
@@ -254,7 +254,7 @@ defineExpose({
left: 0;
width: 240px;
height: 100vh;
- background: var(--panel);
+ background: var(--MI_THEME-panel);
> .link {
display: block;
@@ -268,7 +268,7 @@ defineExpose({
> .divider {
margin: 8px auto;
width: calc(100% - 32px);
- border-top: solid 0.5px var(--divider);
+ border-top: solid 0.5px var(--MI_THEME-divider);
}
> .action {
@@ -283,7 +283,7 @@ defineExpose({
border-radius: 999px;
&._button {
- background: var(--panel);
+ background: var(--MI_THEME-panel);
}
&:first-child {
diff --git a/packages/frontend/src/ui/zen.vue b/packages/frontend/src/ui/zen.vue
index f22bf41fd7..93d57b647e 100644
--- a/packages/frontend/src/ui/zen.vue
+++ b/packages/frontend/src/ui/zen.vue
@@ -81,8 +81,8 @@ document.documentElement.style.overflowY = 'scroll';
max-width: 60px;
margin: auto;
border-radius: 100%;
- background: var(--panel);
- color: var(--fg);
+ background: var(--MI_THEME-panel);
+ color: var(--MI_THEME-fg);
right: var(--margin);
bottom: calc(var(--margin) + env(safe-area-inset-bottom, 0px));
}
diff --git a/packages/frontend/src/widgets/WidgetAiscript.vue b/packages/frontend/src/widgets/WidgetAiscript.vue
index a74483e85e..cf7e9c5a3e 100644
--- a/packages/frontend/src/widgets/WidgetAiscript.vue
+++ b/packages/frontend/src/widgets/WidgetAiscript.vue
@@ -126,10 +126,10 @@ defineExpose<WidgetComponentExpose>({
max-width: 100%;
min-width: 100%;
padding: 16px;
- color: var(--fg);
+ color: var(--MI_THEME-fg);
background: transparent;
border: none;
- border-bottom: solid 0.5px var(--divider);
+ border-bottom: solid 0.5px var(--MI_THEME-divider);
border-radius: 0;
box-sizing: border-box;
font: inherit;
@@ -154,7 +154,7 @@ defineExpose<WidgetComponentExpose>({
}
> .logs {
- border-top: solid 0.5px var(--divider);
+ border-top: solid 0.5px var(--MI_THEME-divider);
text-align: left;
padding: 16px;
diff --git a/packages/frontend/src/widgets/WidgetCalendar.vue b/packages/frontend/src/widgets/WidgetCalendar.vue
index 412d527819..2443e40789 100644
--- a/packages/frontend/src/widgets/WidgetCalendar.vue
+++ b/packages/frontend/src/widgets/WidgetCalendar.vue
@@ -207,7 +207,7 @@ defineExpose<WidgetComponentExpose>({
.meter {
width: 100%;
overflow: hidden;
- background: var(--X11);
+ background: var(--MI_THEME-X11);
border-radius: 8px;
}
diff --git a/packages/frontend/src/widgets/WidgetFederation.vue b/packages/frontend/src/widgets/WidgetFederation.vue
index c10416e4fb..4a10a612e2 100644
--- a/packages/frontend/src/widgets/WidgetFederation.vue
+++ b/packages/frontend/src/widgets/WidgetFederation.vue
@@ -105,7 +105,7 @@ defineExpose<WidgetComponentExpose>({
display: flex;
align-items: center;
padding: 14px 16px;
- border-bottom: solid 0.5px var(--divider);
+ border-bottom: solid 0.5px var(--MI_THEME-divider);
> img {
display: block;
@@ -120,7 +120,7 @@ defineExpose<WidgetComponentExpose>({
flex: 1;
overflow: hidden;
font-size: 0.9em;
- color: var(--fg);
+ color: var(--MI_THEME-fg);
padding-right: 8px;
> .a {
diff --git a/packages/frontend/src/widgets/WidgetJobQueue.vue b/packages/frontend/src/widgets/WidgetJobQueue.vue
index edf6622a13..0ee6b863dc 100644
--- a/packages/frontend/src/widgets/WidgetJobQueue.vue
+++ b/packages/frontend/src/widgets/WidgetJobQueue.vue
@@ -173,14 +173,14 @@ defineExpose<WidgetComponentExpose>({
padding: 16px;
&:not(:first-child) {
- border-top: solid 0.5px var(--divider);
+ border-top: solid 0.5px var(--MI_THEME-divider);
}
> .label {
display: flex;
> .icon {
- color: var(--warn);
+ color: var(--MI_THEME-warn);
margin-left: auto;
animation: warnBlink 1s infinite;
}
@@ -198,11 +198,11 @@ defineExpose<WidgetComponentExpose>({
> div:last-child {
&.inc {
- color: var(--warn);
+ color: var(--MI_THEME-warn);
}
&.dec {
- color: var(--success);
+ color: var(--MI_THEME-success);
}
}
}
diff --git a/packages/frontend/src/widgets/WidgetMemo.vue b/packages/frontend/src/widgets/WidgetMemo.vue
index 7ee83157c6..7b179ce703 100644
--- a/packages/frontend/src/widgets/WidgetMemo.vue
+++ b/packages/frontend/src/widgets/WidgetMemo.vue
@@ -84,10 +84,10 @@ defineExpose<WidgetComponentExpose>({
max-width: 100%;
min-width: 100%;
padding: 16px;
- color: var(--fg);
+ color: var(--MI_THEME-fg);
background: transparent;
border: none;
- border-bottom: solid 0.5px var(--divider);
+ border-bottom: solid 0.5px var(--MI_THEME-divider);
border-radius: 0;
box-sizing: border-box;
font: inherit;
diff --git a/packages/frontend/src/widgets/WidgetOnlineUsers.vue b/packages/frontend/src/widgets/WidgetOnlineUsers.vue
index d56ee96ac1..d8c4e259c8 100644
--- a/packages/frontend/src/widgets/WidgetOnlineUsers.vue
+++ b/packages/frontend/src/widgets/WidgetOnlineUsers.vue
@@ -72,6 +72,6 @@ defineExpose<WidgetComponentExpose>({
}
.text {
- color: var(--fgTransparentWeak);
+ color: var(--MI_THEME-fgTransparentWeak);
}
</style>
diff --git a/packages/frontend/src/widgets/WidgetRss.vue b/packages/frontend/src/widgets/WidgetRss.vue
index 511777a570..3e43687709 100644
--- a/packages/frontend/src/widgets/WidgetRss.vue
+++ b/packages/frontend/src/widgets/WidgetRss.vue
@@ -113,7 +113,7 @@ defineExpose<WidgetComponentExpose>({
.item {
display: block;
padding: 8px 16px;
- color: var(--fg);
+ color: var(--MI_THEME-fg);
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
diff --git a/packages/frontend/src/widgets/WidgetRssTicker.vue b/packages/frontend/src/widgets/WidgetRssTicker.vue
index b393ecd74b..4f594b720f 100644
--- a/packages/frontend/src/widgets/WidgetRssTicker.vue
+++ b/packages/frontend/src/widgets/WidgetRssTicker.vue
@@ -171,7 +171,7 @@ defineExpose<WidgetComponentExpose>({
display: inline-flex;
align-items: center;
vertical-align: bottom;
- color: var(--fg);
+ color: var(--MI_THEME-fg);
}
.divider {
@@ -179,6 +179,6 @@ defineExpose<WidgetComponentExpose>({
width: 0.5px;
height: 16px;
margin: 0 1em;
- background: var(--divider);
+ background: var(--MI_THEME-divider);
}
</style>
diff --git a/packages/frontend/src/widgets/WidgetTrends.vue b/packages/frontend/src/widgets/WidgetTrends.vue
index a41db513e8..47a4efc106 100644
--- a/packages/frontend/src/widgets/WidgetTrends.vue
+++ b/packages/frontend/src/widgets/WidgetTrends.vue
@@ -91,13 +91,13 @@ defineExpose<WidgetComponentExpose>({
display: flex;
align-items: center;
padding: 14px 16px;
- border-bottom: solid 0.5px var(--divider);
+ border-bottom: solid 0.5px var(--MI_THEME-divider);
> .tag {
flex: 1;
overflow: hidden;
font-size: 0.9em;
- color: var(--fg);
+ color: var(--MI_THEME-fg);
> .a {
display: block;