Merge branch 'misskey-develop' into merge/2025-03-24
# Conflicts: # .github/workflows/storybook.yml # package.json # packages/frontend/src/utility/autogen/settings-search-index.ts # pnpm-lock.yaml
This commit is contained in:
commit
7e7350eab5
65 changed files with 486 additions and 1651 deletions
|
|
@ -15,8 +15,6 @@
|
|||
focus: ':alpha<0.3<@accent',
|
||||
bg: '#000',
|
||||
fg: '#dadada',
|
||||
fgTransparentWeak: ':alpha<0.75<@fg',
|
||||
fgTransparent: ':alpha<0.5<@fg',
|
||||
fgHighlighted: ':lighten<3<@fg',
|
||||
fgOnAccent: '#fff',
|
||||
fgOnWhite: '#333',
|
||||
|
|
@ -26,7 +24,6 @@
|
|||
panelHighlight: ':lighten<3<@panel',
|
||||
panelHeaderBg: ':lighten<3<@panel',
|
||||
panelHeaderFg: '@fg',
|
||||
panelHeaderDivider: 'rgba(0, 0, 0, 0)',
|
||||
panelBorder: '" solid 1px var(--MI_THEME-divider)',
|
||||
thread: ':lighten<12<@panel',
|
||||
windowHeader: ':alpha<0.85<@panel',
|
||||
|
|
|
|||
|
|
@ -15,8 +15,6 @@
|
|||
focus: ':alpha<0.3<@accent',
|
||||
bg: '#fff',
|
||||
fg: '#5f5f5f',
|
||||
fgTransparentWeak: ':alpha<0.75<@fg',
|
||||
fgTransparent: ':alpha<0.5<@fg',
|
||||
fgHighlighted: ':darken<3<@fg',
|
||||
fgOnAccent: '#fff',
|
||||
fgOnWhite: '#333',
|
||||
|
|
@ -26,7 +24,6 @@
|
|||
panelHighlight: ':darken<3<@panel',
|
||||
panelHeaderBg: ':lighten<3<@panel',
|
||||
panelHeaderFg: '@fg',
|
||||
panelHeaderDivider: 'rgba(0, 0, 0, 0)',
|
||||
panelBorder: '" solid 1px var(--MI_THEME-divider)',
|
||||
thread: ':darken<12<@panel',
|
||||
windowHeader: ':alpha<0.85<@panel',
|
||||
|
|
|
|||
|
|
@ -46,7 +46,6 @@
|
|||
fgOnWhite: '@accent',
|
||||
panelHighlight: ':lighten<3<@panel',
|
||||
scrollbarHandle: 'rgba(255, 255, 255, 0.2)',
|
||||
panelHeaderDivider: 'rgba(0, 0, 0, 0)',
|
||||
scrollbarHandleHover: 'rgba(255, 255, 255, 0.4)',
|
||||
},
|
||||
}
|
||||
|
|
|
|||
|
|
@ -14,7 +14,6 @@
|
|||
fgOnWhite: '@accent',
|
||||
divider: 'rgba(255, 255, 255, 0.14)',
|
||||
panel: 'rgb(47, 47, 44)',
|
||||
panelHeaderDivider: 'rgba(0, 0, 0, 0)',
|
||||
header: ':alpha<0.7<@panel',
|
||||
navBg: '#363636',
|
||||
renote: '@accent',
|
||||
|
|
|
|||
|
|
@ -14,7 +14,6 @@
|
|||
fgOnWhite: '@accent',
|
||||
divider: 'rgba(255, 255, 255, 0.14)',
|
||||
panel: '#2d2d2d',
|
||||
panelHeaderDivider: 'rgba(0, 0, 0, 0)',
|
||||
header: ':alpha<0.7<@panel',
|
||||
navBg: '#363636',
|
||||
renote: '@accent',
|
||||
|
|
|
|||
|
|
@ -15,7 +15,6 @@
|
|||
fgOnWhite: '@accent',
|
||||
divider: 'rgba(255, 255, 255, 0.1)',
|
||||
panel: '#18181c',
|
||||
panelHeaderDivider: 'rgba(0, 0, 0, 0)',
|
||||
renote: '@accent',
|
||||
mention: '#f2c97d',
|
||||
mentionMe: '@accent',
|
||||
|
|
|
|||
|
|
@ -15,7 +15,6 @@
|
|||
fgOnWhite: '@accent',
|
||||
divider: '#e7fffb24',
|
||||
panel: '#192320',
|
||||
panelHeaderDivider: 'rgba(0, 0, 0, 0)',
|
||||
popup: '#293330',
|
||||
renote: '@accent',
|
||||
mentionMe: '#ffaa00',
|
||||
|
|
|
|||
|
|
@ -15,7 +15,6 @@
|
|||
fgOnWhite: '@accent',
|
||||
divider: '#e7fffb24',
|
||||
panel: '#192320',
|
||||
panelHeaderDivider: 'rgba(0, 0, 0, 0)',
|
||||
popup: '#293330',
|
||||
renote: '@accent',
|
||||
mentionMe: '#b4e900',
|
||||
|
|
|
|||
|
|
@ -49,7 +49,6 @@
|
|||
navIndicator: '@indicator',
|
||||
driveFolderBg: ':alpha<0.3<@accent',
|
||||
fgHighlighted: ':lighten<3<@fg',
|
||||
fgTransparent: ':alpha<0.5<@fg',
|
||||
panelHeaderBg: ':lighten<3<@panel',
|
||||
panelHeaderFg: '@fg',
|
||||
buttonGradateA: '@accent',
|
||||
|
|
@ -58,8 +57,6 @@
|
|||
panelHighlight: ':lighten<3<@panel',
|
||||
scrollbarHandle: 'rgba(255, 255, 255, 0.2)',
|
||||
inputBorderHover: 'rgba(255, 255, 255, 0.2)',
|
||||
fgTransparentWeak: ':alpha<0.75<@fg',
|
||||
panelHeaderDivider: 'rgba(0, 0, 0, 0)',
|
||||
scrollbarHandleHover: 'rgba(255, 255, 255, 0.4)',
|
||||
deckBg: '#142022',
|
||||
},
|
||||
|
|
|
|||
|
|
@ -15,7 +15,6 @@
|
|||
divider: '#cfcfcf',
|
||||
panel: '#ebe7e5',
|
||||
panelHeaderBg: '@panel',
|
||||
panelHeaderDivider: '@divider',
|
||||
header: ':alpha<0.7<@panel',
|
||||
navBg: '#ebe7e5',
|
||||
renote: '#229e92',
|
||||
|
|
|
|||
|
|
@ -15,7 +15,6 @@
|
|||
header: ':alpha<0.7<@panel',
|
||||
navBg: '#fff',
|
||||
panel: '#fff',
|
||||
panelHeaderDivider: '@divider',
|
||||
mentionMe: 'rgb(0, 179, 70)',
|
||||
},
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,7 +13,6 @@
|
|||
fgOnWhite: '@accent',
|
||||
panel: '#fff',
|
||||
divider: 'rgb(230 233 234)',
|
||||
panelHeaderDivider: '@divider',
|
||||
renote: '@accent',
|
||||
link: '@accent',
|
||||
mention: '@accent',
|
||||
|
|
|
|||
|
|
@ -51,7 +51,6 @@
|
|||
buttonHoverBg: '#0000001a',
|
||||
driveFolderBg: ':alpha<0.3<@accent',
|
||||
fgHighlighted: ':lighten<3<@fg',
|
||||
fgTransparent: ':alpha<0.5<@fg',
|
||||
panelHeaderBg: ':lighten<3<@panel',
|
||||
panelHeaderFg: '@fg',
|
||||
buttonGradateA: '@accent',
|
||||
|
|
@ -60,8 +59,6 @@
|
|||
panelHighlight: ':lighten<3<@panel',
|
||||
scrollbarHandle: '#74747433',
|
||||
inputBorderHover: 'rgba(255, 255, 255, 0.2)',
|
||||
fgTransparentWeak: ':alpha<0.75<@fg',
|
||||
panelHeaderDivider: 'rgba(0, 0, 0, 0)',
|
||||
scrollbarHandleHover: 'rgba(255, 255, 255, 0.4)',
|
||||
},
|
||||
}
|
||||
|
|
|
|||
|
|
@ -41,15 +41,12 @@
|
|||
navIndicator: '@accent',
|
||||
driveFolderBg: ':alpha<0.3<@accent',
|
||||
fgHighlighted: ':darken<3<@fg',
|
||||
fgTransparent: ':alpha<0.5<@fg',
|
||||
fgOnWhite: '@accent',
|
||||
panelHeaderBg: ':lighten<3<@panel',
|
||||
panelHeaderFg: '@fg',
|
||||
htmlThemeColor: '@bg',
|
||||
panelHighlight: ':darken<3<@panel',
|
||||
scrollbarHandle: 'rgba(0, 0, 0, 0.2)',
|
||||
fgTransparentWeak: ':alpha<0.75<@fg',
|
||||
panelHeaderDivider: '@divider',
|
||||
scrollbarHandleHover: 'rgba(0, 0, 0, 0.4)',
|
||||
},
|
||||
}
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -5,7 +5,6 @@
|
|||
"scripts": {
|
||||
"watch": "vite",
|
||||
"build": "vite build",
|
||||
"build-search-index": "vite-node --config \"./vite-node.config.ts\" \"./scripts/generate-search-index.ts\"",
|
||||
"storybook-dev": "nodemon --verbose --watch src --ext \"mdx,ts,vue\" --ignore \"*.stories.ts\" --exec \"pnpm build-storybook-pre && pnpm exec storybook dev -p 6006 --ci\"",
|
||||
"build-storybook-pre": "(tsc -p .storybook || echo done.) && node .storybook/generate.js && node .storybook/preload-locale.js && node .storybook/preload-theme.js",
|
||||
"build-storybook": "pnpm build-storybook-pre && storybook build --webpack-stats-json storybook-static",
|
||||
|
|
@ -120,6 +119,7 @@
|
|||
"@typescript-eslint/eslint-plugin": "8.27.0",
|
||||
"@typescript-eslint/parser": "8.27.0",
|
||||
"@vitest/coverage-v8": "3.0.9",
|
||||
"@vue/compiler-core": "3.5.13",
|
||||
"@vue/runtime-core": "3.5.13",
|
||||
"acorn": "8.14.1",
|
||||
"cross-env": "7.0.3",
|
||||
|
|
@ -129,6 +129,7 @@
|
|||
"happy-dom": "17.4.4",
|
||||
"intersection-observer": "0.12.2",
|
||||
"micromatch": "4.0.8",
|
||||
"minimatch": "10.0.1",
|
||||
"msw": "2.7.3",
|
||||
"msw-storybook-addon": "2.0.4",
|
||||
"nodemon": "3.1.9",
|
||||
|
|
|
|||
|
|
@ -1,15 +0,0 @@
|
|||
/*
|
||||
* SPDX-FileCopyrightText: syuilo and misskey-project
|
||||
* SPDX-License-Identifier: AGPL-3.0-only
|
||||
*/
|
||||
|
||||
import { searchIndexes } from '../vite.config.js';
|
||||
import { generateSearchIndex } from '../lib/vite-plugin-create-search-index.js';
|
||||
|
||||
async function main() {
|
||||
for (const searchIndex of searchIndexes) {
|
||||
await generateSearchIndex(searchIndex);
|
||||
}
|
||||
}
|
||||
|
||||
main();
|
||||
|
|
@ -140,7 +140,7 @@ watch(v, newValue => {
|
|||
.caption {
|
||||
font-size: 0.85em;
|
||||
padding: 8px 0 0 0;
|
||||
color: var(--MI_THEME-fgTransparentWeak);
|
||||
color: color(from var(--MI_THEME-fg) srgb r g b / 0.75);
|
||||
|
||||
&:empty {
|
||||
display: none;
|
||||
|
|
|
|||
|
|
@ -60,7 +60,7 @@ const onInput = () => {
|
|||
.caption {
|
||||
font-size: 0.85em;
|
||||
padding: 8px 0 0 0;
|
||||
color: var(--MI_THEME-fgTransparentWeak);
|
||||
color: color(from var(--MI_THEME-fg) srgb r g b / 0.75);
|
||||
|
||||
&:empty {
|
||||
display: none;
|
||||
|
|
|
|||
|
|
@ -181,12 +181,17 @@ onUnmounted(() => {
|
|||
left: 0;
|
||||
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;
|
||||
background: color-mix(in srgb, var(--MI_THEME-panelHeaderBg) 35%, transparent);
|
||||
}
|
||||
|
||||
@container style(--MI_THEME-panelHeaderBg: var(--MI_THEME-panel)) {
|
||||
.header {
|
||||
box-shadow: 0 0.5px 0 0 light-dark(#0002, #fff2);
|
||||
}
|
||||
}
|
||||
|
||||
.title {
|
||||
margin: 0;
|
||||
padding: 12px 16px;
|
||||
|
|
|
|||
|
|
@ -175,7 +175,7 @@ onMounted(() => {
|
|||
}
|
||||
|
||||
.headerLower {
|
||||
color: var(--MI_THEME-fgTransparentWeak);
|
||||
color: color(from var(--MI_THEME-fg) srgb r g b / 0.75);
|
||||
font-size: .85em;
|
||||
padding-left: 4px;
|
||||
}
|
||||
|
|
@ -209,13 +209,13 @@ onMounted(() => {
|
|||
}
|
||||
|
||||
.headerTextSub {
|
||||
color: var(--MI_THEME-fgTransparentWeak);
|
||||
color: color(from var(--MI_THEME-fg) srgb r g b / 0.75);
|
||||
font-size: .85em;
|
||||
}
|
||||
|
||||
.headerRight {
|
||||
margin-left: auto;
|
||||
color: var(--MI_THEME-fgTransparentWeak);
|
||||
color: color(from var(--MI_THEME-fg) srgb r g b / 0.75);
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -201,7 +201,7 @@ defineExpose({
|
|||
.caption {
|
||||
font-size: 0.85em;
|
||||
padding: 8px 0 0 0;
|
||||
color: var(--MI_THEME-fgTransparentWeak);
|
||||
color: color(from var(--MI_THEME-fg) srgb r g b / 0.75);
|
||||
|
||||
&:empty {
|
||||
display: none;
|
||||
|
|
|
|||
|
|
@ -78,7 +78,7 @@ export default defineComponent({
|
|||
> .caption {
|
||||
font-size: 0.85em;
|
||||
padding: 8px 0 0 0;
|
||||
color: var(--MI_THEME-fgTransparentWeak);
|
||||
color: color(from var(--MI_THEME-fg) srgb r g b / 0.75);
|
||||
|
||||
&:empty {
|
||||
display: none;
|
||||
|
|
|
|||
|
|
@ -213,7 +213,7 @@ function onMousedown(ev: MouseEvent | TouchEvent) {
|
|||
> .caption {
|
||||
font-size: 0.85em;
|
||||
padding: 8px 0 0 0;
|
||||
color: var(--MI_THEME-fgTransparentWeak);
|
||||
color: color(from var(--MI_THEME-fg) srgb r g b / 0.75);
|
||||
|
||||
&:empty {
|
||||
display: none;
|
||||
|
|
|
|||
|
|
@ -268,7 +268,7 @@ function show() {
|
|||
.caption {
|
||||
font-size: 0.85em;
|
||||
padding: 8px 0 0 0;
|
||||
color: var(--MI_THEME-fgTransparentWeak);
|
||||
color: color(from var(--MI_THEME-fg) srgb r g b / 0.75);
|
||||
|
||||
&:empty {
|
||||
display: none;
|
||||
|
|
|
|||
|
|
@ -94,7 +94,7 @@ export type SuperMenuDef = {
|
|||
|
||||
<script lang="ts" setup>
|
||||
import { useTemplateRef, ref, watch, nextTick } from 'vue';
|
||||
import type { SearchIndexItem } from '@/utility/autogen/settings-search-index.js';
|
||||
import type { SearchIndexItem } from '@/utility/settings-search-index.js';
|
||||
import MkInput from '@/components/MkInput.vue';
|
||||
import { i18n } from '@/i18n.js';
|
||||
import { getScrollContainer } from '@@/js/scroll.js';
|
||||
|
|
|
|||
|
|
@ -100,7 +100,7 @@ const toggle = () => {
|
|||
|
||||
.caption {
|
||||
margin: 8px 0 0 0;
|
||||
color: var(--MI_THEME-fgTransparentWeak);
|
||||
color: color(from var(--MI_THEME-fg) srgb r g b / 0.75);
|
||||
font-size: 0.85em;
|
||||
|
||||
&:empty {
|
||||
|
|
|
|||
|
|
@ -307,6 +307,6 @@ onMounted(async () => {
|
|||
.description {
|
||||
font-size: 0.85em;
|
||||
padding: 8px 0 0 0;
|
||||
color: var(--MI_THEME-fgTransparentWeak);
|
||||
color: color(from var(--MI_THEME-fg) srgb r g b / 0.75);
|
||||
}
|
||||
</style>
|
||||
|
|
|
|||
|
|
@ -160,7 +160,7 @@ onUnmounted(() => {
|
|||
.caption {
|
||||
font-size: 0.85em;
|
||||
padding: 8px 0 0 0;
|
||||
color: var(--MI_THEME-fgTransparentWeak);
|
||||
color: color(from var(--MI_THEME-fg) srgb r g b / 0.75);
|
||||
|
||||
&:empty {
|
||||
display: none;
|
||||
|
|
|
|||
|
|
@ -298,7 +298,7 @@ onMounted(() => {
|
|||
|
||||
.statusItemLabel {
|
||||
font-size: 0.7em;
|
||||
color: var(--MI_THEME-fgTransparentWeak);
|
||||
color: color(from var(--MI_THEME-fg) srgb r g b / 0.75);
|
||||
}
|
||||
|
||||
.menu {
|
||||
|
|
|
|||
|
|
@ -193,7 +193,7 @@ function showMenu(ev: MouseEvent) {
|
|||
}
|
||||
|
||||
.statsItemLabel {
|
||||
color: var(--MI_THEME-fgTransparentWeak);
|
||||
color: color(from var(--MI_THEME-fg) srgb r g b / 0.75);
|
||||
font-size: 0.9em;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -79,7 +79,7 @@ const props = defineProps<{
|
|||
margin-right: 0.75em;
|
||||
flex-shrink: 0;
|
||||
text-align: center;
|
||||
color: var(--MI_THEME-fgTransparentWeak);
|
||||
color: color(from var(--MI_THEME-fg) srgb r g b / 0.75);
|
||||
|
||||
&:empty {
|
||||
display: none;
|
||||
|
|
|
|||
|
|
@ -49,7 +49,7 @@ defineProps<{
|
|||
|
||||
.description {
|
||||
font-size: 0.85em;
|
||||
color: var(--MI_THEME-fgTransparentWeak);
|
||||
color: color(from var(--MI_THEME-fg) srgb r g b / 0.75);
|
||||
margin: 0 0 8px 0;
|
||||
}
|
||||
</style>
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ function focus() {
|
|||
.caption {
|
||||
font-size: 0.85em;
|
||||
padding: 8px 0 0 0;
|
||||
color: var(--MI_THEME-fgTransparentWeak);
|
||||
color: color(from var(--MI_THEME-fg) srgb r g b / 0.75);
|
||||
|
||||
&:empty {
|
||||
display: none;
|
||||
|
|
|
|||
|
|
@ -81,7 +81,7 @@ const emit = defineEmits<{
|
|||
const displayBackButton = props.displayBackButton && window.history.state.key !== 'index' && window.history.length > 1 && inject('shouldBackButton', true);
|
||||
|
||||
//const viewId = inject(DI.viewId);
|
||||
const injectedPageMetadata = inject(DI.pageMetadata);
|
||||
const injectedPageMetadata = inject(DI.pageMetadata, ref(null));
|
||||
const pageMetadata = computed(() => props.overridePageMetadata ?? injectedPageMetadata.value);
|
||||
|
||||
const hideTitle = computed(() => inject('shouldOmitHeaderTitle', false) || props.hideTitle);
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ export const DI = {
|
|||
routerCurrentDepth: Symbol() as InjectionKey<number>,
|
||||
router: Symbol() as InjectionKey<Router>,
|
||||
mock: Symbol() as InjectionKey<boolean>,
|
||||
pageMetadata: Symbol() as InjectionKey<Ref<Record<string, any>>>,
|
||||
pageMetadata: Symbol() as InjectionKey<Ref<Record<string, any> | null>>,
|
||||
viewId: Symbol() as InjectionKey<string>,
|
||||
currentStickyTop: Symbol() as InjectionKey<Ref<number>>,
|
||||
currentStickyBottom: Symbol() as InjectionKey<Ref<number>>,
|
||||
|
|
|
|||
|
|
@ -724,7 +724,7 @@ definePage(() => ({
|
|||
.roleItemSub {
|
||||
padding: 6px 12px;
|
||||
font-size: 85%;
|
||||
color: var(--MI_THEME-fgTransparentWeak);
|
||||
color: color(from var(--MI_THEME-fg) srgb r g b / 0.75);
|
||||
}
|
||||
|
||||
.roleUnassign {
|
||||
|
|
|
|||
|
|
@ -66,7 +66,7 @@ const emit = defineEmits<{
|
|||
(ev: 'update:tab', key: string);
|
||||
}>();
|
||||
|
||||
const pageMetadata = inject(DI.pageMetadata);
|
||||
const pageMetadata = inject(DI.pageMetadata, ref(null));
|
||||
|
||||
const el = useTemplateRef('el');
|
||||
const tabHighlightEl = useTemplateRef('tabHighlightEl');
|
||||
|
|
|
|||
|
|
@ -184,7 +184,7 @@ definePage(() => ({
|
|||
.userItemSub {
|
||||
padding: 6px 12px;
|
||||
font-size: 85%;
|
||||
color: var(--MI_THEME-fgTransparentWeak);
|
||||
color: color(from var(--MI_THEME-fg) srgb r g b / 0.75);
|
||||
}
|
||||
|
||||
.userItemMainBody {
|
||||
|
|
|
|||
|
|
@ -459,6 +459,6 @@ definePage(() => ({
|
|||
<style lang="scss" module>
|
||||
.subCaption {
|
||||
font-size: 0.85em;
|
||||
color: var(--MI_THEME-fgTransparentWeak);
|
||||
color: color(from var(--MI_THEME-fg) srgb r g b / 0.75);
|
||||
}
|
||||
</style>
|
||||
|
|
|
|||
|
|
@ -75,6 +75,6 @@ function onDeleteClick() {
|
|||
margin-right: 0.75em;
|
||||
flex-shrink: 0;
|
||||
text-align: center;
|
||||
color: var(--MI_THEME-fgTransparentWeak);
|
||||
color: color(from var(--MI_THEME-fg) srgb r g b / 0.75);
|
||||
}
|
||||
</style>
|
||||
|
|
|
|||
|
|
@ -247,7 +247,7 @@ definePage(() => ({
|
|||
}
|
||||
|
||||
.uiInspectorUnShown {
|
||||
color: var(--MI_THEME-fgTransparent);
|
||||
color: color(from var(--MI_THEME-fg) srgb r g b / 0.5);
|
||||
}
|
||||
|
||||
.uiInspectorType {
|
||||
|
|
|
|||
|
|
@ -351,7 +351,7 @@ async function search() {
|
|||
width: 100%;
|
||||
height: 100%;
|
||||
padding: 12px;
|
||||
border: 2px dashed var(--MI_THEME-fgTransparent);
|
||||
border: 2px dashed color(from var(--MI_THEME-fg) srgb r g b / 0.5);
|
||||
}
|
||||
|
||||
.userSelectButtonInner {
|
||||
|
|
|
|||
|
|
@ -161,6 +161,6 @@ function del(ev: MouseEvent) {
|
|||
.editorCaption {
|
||||
font-size: 0.85em;
|
||||
padding: 8px 0 0 0;
|
||||
color: var(--MI_THEME-fgTransparentWeak);
|
||||
color: color(from var(--MI_THEME-fg) srgb r g b / 0.75);
|
||||
}
|
||||
</style>
|
||||
|
|
|
|||
|
|
@ -285,6 +285,6 @@ definePage(() => ({
|
|||
.editorCaption {
|
||||
font-size: 0.85em;
|
||||
padding: 8px 0 0 0;
|
||||
color: var(--MI_THEME-fgTransparentWeak);
|
||||
color: color(from var(--MI_THEME-fg) srgb r g b / 0.75);
|
||||
}
|
||||
</style>
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ import { instance } from '@/instance.js';
|
|||
import { definePage, provideMetadataReceiver, provideReactiveMetadata } from '@/page.js';
|
||||
import * as os from '@/os.js';
|
||||
import { useRouter } from '@/router.js';
|
||||
import { searchIndexes } from '@/utility/autogen/settings-search-index.js';
|
||||
import { searchIndexes } from '@/utility/settings-search-index.js';
|
||||
import { enableAutoBackup, getPreferencesProfileMenu } from '@/preferences/utility.js';
|
||||
import { store } from '@/store.js';
|
||||
import { signout } from '@/signout.js';
|
||||
|
|
|
|||
|
|
@ -308,7 +308,7 @@ definePage(() => ({
|
|||
.userItemSub {
|
||||
padding: 6px 12px;
|
||||
font-size: 85%;
|
||||
color: var(--MI_THEME-fgTransparentWeak);
|
||||
color: color(from var(--MI_THEME-fg) srgb r g b / 0.75);
|
||||
}
|
||||
|
||||
.userItemMainBody {
|
||||
|
|
|
|||
|
|
@ -184,6 +184,6 @@ definePage(() => ({
|
|||
.description {
|
||||
font-size: 0.85em;
|
||||
padding: 8px 0 0 0;
|
||||
color: var(--MI_THEME-fgTransparentWeak);
|
||||
color: color(from var(--MI_THEME-fg) srgb r g b / 0.75);
|
||||
}
|
||||
</style>
|
||||
|
|
|
|||
|
|
@ -653,7 +653,7 @@ onUnmounted(() => {
|
|||
|
||||
> .heading {
|
||||
text-align: left;
|
||||
color: var(--MI_THEME-fgTransparent);
|
||||
color: color(from var(--MI_THEME-fg) srgb r g b / 0.5);
|
||||
line-height: 1.5;
|
||||
font-size: 85%;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -67,7 +67,7 @@ export function migrateOldSettings() {
|
|||
prefer.commit('collapseRenotes', store.s.collapseRenotes);
|
||||
prefer.commit('rememberNoteVisibility', store.s.rememberNoteVisibility);
|
||||
prefer.commit('uploadFolder', store.s.uploadFolder);
|
||||
prefer.commit('menu', store.s.menu);
|
||||
prefer.commit('menu', [...store.s.menu, 'chat']);
|
||||
prefer.commit('statusbars', store.s.statusbars);
|
||||
prefer.commit('pinnedUserLists', store.s.pinnedUserLists);
|
||||
prefer.commit('serverDisconnectedBehavior', store.s.serverDisconnectedBehavior);
|
||||
|
|
|
|||
|
|
@ -413,11 +413,16 @@ function onDrop(ev) {
|
|||
font-size: 0.9em;
|
||||
color: var(--MI_THEME-panelHeaderFg);
|
||||
background: var(--MI_THEME-panelHeaderBg);
|
||||
box-shadow: 0 0.5px 0 0 var(--MI_THEME-panelHeaderDivider);
|
||||
cursor: pointer;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
@container style(--MI_THEME-panelHeaderBg: var(--MI_THEME-panel)) {
|
||||
.header {
|
||||
box-shadow: 0 0.5px 0 0 light-dark(#0002, #fff2);
|
||||
}
|
||||
}
|
||||
|
||||
.color {
|
||||
position: absolute;
|
||||
top: 12px;
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
43
packages/frontend/src/utility/settings-search-index.ts
Normal file
43
packages/frontend/src/utility/settings-search-index.ts
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
/*
|
||||
* SPDX-FileCopyrightText: syuilo and misskey-project
|
||||
* SPDX-License-Identifier: AGPL-3.0-only
|
||||
*/
|
||||
|
||||
import { searchIndexes as generated } from 'search-index:settings';
|
||||
import type { GeneratedSearchIndexItem } from 'search-index:settings';
|
||||
|
||||
export type SearchIndexItem = {
|
||||
id: string;
|
||||
path?: string;
|
||||
label: string;
|
||||
keywords: string[];
|
||||
icon?: string;
|
||||
children?: SearchIndexItem[];
|
||||
};
|
||||
|
||||
const rootMods = new Map(generated.map(item => [item.id, item]));
|
||||
|
||||
function walk(item: GeneratedSearchIndexItem) {
|
||||
if (item.inlining) {
|
||||
for (const id of item.inlining) {
|
||||
const inline = rootMods.get(id);
|
||||
if (inline) {
|
||||
(item.children ??= []).push(inline);
|
||||
rootMods.delete(id);
|
||||
} else {
|
||||
console.log('[Settings Search Index] Failed to inline', id);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for (const child of item.children ?? []) {
|
||||
walk(child);
|
||||
}
|
||||
}
|
||||
|
||||
for (const item of generated) {
|
||||
walk(item);
|
||||
}
|
||||
|
||||
export const searchIndexes: SearchIndexItem[] = generated;
|
||||
|
||||
18
packages/frontend/src/utility/virtual.d.ts
vendored
Normal file
18
packages/frontend/src/utility/virtual.d.ts
vendored
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
/*
|
||||
* SPDX-FileCopyrightText: syuilo and misskey-project
|
||||
* SPDX-License-Identifier: AGPL-3.0-only
|
||||
*/
|
||||
|
||||
declare module 'search-index:settings' {
|
||||
export type GeneratedSearchIndexItem = {
|
||||
id: string;
|
||||
path?: string;
|
||||
label: string;
|
||||
keywords: string[];
|
||||
icon?: string;
|
||||
inlining?: string[];
|
||||
children?: GeneratedSearchIndexItem[];
|
||||
};
|
||||
|
||||
export const searchIndexes: GeneratedSearchIndexItem[];
|
||||
}
|
||||
|
|
@ -73,6 +73,6 @@ defineExpose<WidgetComponentExpose>({
|
|||
}
|
||||
|
||||
.text {
|
||||
color: var(--MI_THEME-fgTransparentWeak);
|
||||
color: color(from var(--MI_THEME-fg) srgb r g b / 0.75);
|
||||
}
|
||||
</style>
|
||||
|
|
|
|||
|
|
@ -23,7 +23,8 @@ const extensions = ['.ts', '.tsx', '.js', '.jsx', '.mjs', '.json', '.json5', '.s
|
|||
*/
|
||||
export const searchIndexes = [{
|
||||
targetFilePaths: ['src/pages/settings/*.vue'],
|
||||
exportFilePath: './src/utility/autogen/settings-search-index.ts',
|
||||
mainVirtualModule: 'search-index:settings',
|
||||
modulesToHmrOnUpdate: ['src/pages/settings/index.vue'],
|
||||
verbose: process.env.FRONTEND_SEARCH_INDEX_VERBOSE === 'true',
|
||||
}] satisfies SearchIndexOptions[];
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"type": "module",
|
||||
"name": "misskey-js",
|
||||
"version": "2025.4.0-rc.0",
|
||||
"version": "2025.4.0-rc.1",
|
||||
"description": "Misskey SDK for JavaScript",
|
||||
"license": "MIT",
|
||||
"main": "./built/index.js",
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue