build(#10336): load locales and vite config
This commit is contained in:
parent
91e0e498eb
commit
0dcb99df19
441 changed files with 1365 additions and 15 deletions
1
packages/frontend/.gitignore
vendored
Normal file
1
packages/frontend/.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
/storybook-static
|
3
packages/frontend/.storybook/.gitignore
vendored
3
packages/frontend/.storybook/.gitignore
vendored
|
@ -1,5 +1,8 @@
|
||||||
# (cd .; pnpm tsc --jsx react --jsxFactory h ./generate.tsx && node ./generate.js)
|
# (cd .; pnpm tsc --jsx react --jsxFactory h ./generate.tsx && node ./generate.js)
|
||||||
/generate.js
|
/generate.js
|
||||||
|
# (cd .; pnpm tsc ./preload-locale.ts && node ./preload-locale.js)
|
||||||
|
/preload-locale.js
|
||||||
|
/locale.ts
|
||||||
# (cd .; pnpm tsc ./preload-theme.ts && node ./preload-theme.js)
|
# (cd .; pnpm tsc ./preload-theme.ts && node ./preload-theme.js)
|
||||||
/preload-theme.js
|
/preload-theme.js
|
||||||
/theme.ts
|
/theme.ts
|
||||||
|
|
|
@ -11,13 +11,26 @@ function h<T extends estree.Node>(component: T['type'], props: Omit<T, 'type'>):
|
||||||
return Object.assign(props, { type }) as T;
|
return Object.assign(props, { type }) as T;
|
||||||
}
|
}
|
||||||
|
|
||||||
function toStories(component: string, location: string): string {
|
function toStories(component: string): string {
|
||||||
|
const base = basename(component);
|
||||||
|
const dir = dirname(component);
|
||||||
const literal = (
|
const literal = (
|
||||||
<literal value={join(location, component).slice(4, -4)} />
|
<literal value={component.slice('src/'.length, -'.vue'.length)} />
|
||||||
) as unknown as estree.Literal;
|
) as unknown as estree.Literal;
|
||||||
const identifier = (
|
const identifier = (
|
||||||
<identifier name={component.slice(0, -4).replace(/[-.]|^(?=\d)/g, '_')} />
|
<identifier name={base.slice(0, -'.vue'.length).replace(/[-.]|^(?=\d)/g, '_')} />
|
||||||
) as unknown as estree.Identifier;
|
) as unknown as estree.Identifier;
|
||||||
|
const parameters = (
|
||||||
|
<object-expression
|
||||||
|
properties={[
|
||||||
|
<property
|
||||||
|
key={<identifier name="layout" />}
|
||||||
|
value={<literal value={`${dir}/`.startsWith('src/pages/') || base === 'MkAnalogClock.vue' ? 'fullscreen' : 'centered'} />}
|
||||||
|
kind="init"
|
||||||
|
/>
|
||||||
|
]}
|
||||||
|
/>
|
||||||
|
);
|
||||||
const program = (
|
const program = (
|
||||||
<program
|
<program
|
||||||
body={[
|
body={[
|
||||||
|
@ -35,7 +48,7 @@ function toStories(component: string, location: string): string {
|
||||||
]}
|
]}
|
||||||
/>,
|
/>,
|
||||||
<import-declaration
|
<import-declaration
|
||||||
source={<literal value={`./${component}`} />}
|
source={<literal value={`./${base}`} />}
|
||||||
specifiers={[
|
specifiers={[
|
||||||
<import-default-specifier
|
<import-default-specifier
|
||||||
local={identifier}
|
local={identifier}
|
||||||
|
@ -98,6 +111,11 @@ function toStories(component: string, location: string): string {
|
||||||
value={<literal value={`<${identifier.name} />`} />}
|
value={<literal value={`<${identifier.name} />`} />}
|
||||||
kind="init"
|
kind="init"
|
||||||
/>,
|
/>,
|
||||||
|
<property
|
||||||
|
key={<identifier name="parameters" />}
|
||||||
|
value={parameters}
|
||||||
|
kind="init"
|
||||||
|
/>,
|
||||||
]}
|
]}
|
||||||
/>
|
/>
|
||||||
}
|
}
|
||||||
|
@ -128,7 +146,7 @@ promisify(glob)('src/{components,pages,ui,widgets}/**/*.vue').then((components)
|
||||||
fs.stat(stories).then(
|
fs.stat(stories).then(
|
||||||
() => {},
|
() => {},
|
||||||
() => {
|
() => {
|
||||||
fs.writeFile(stories, toStories(basename(component), dirname(component)));
|
fs.writeFile(stories, toStories(component));
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
})
|
})
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
import type { StorybookConfig } from '@storybook/vue3-vite';
|
import type { StorybookConfig } from '@storybook/vue3-vite';
|
||||||
const config: StorybookConfig = {
|
import { mergeConfig } from 'vite';
|
||||||
|
import { getConfig } from '../vite.config';
|
||||||
|
const config = {
|
||||||
stories: ['../src/**/*.mdx', '../src/**/*.stories.@(js|jsx|ts|tsx)'],
|
stories: ['../src/**/*.mdx', '../src/**/*.stories.@(js|jsx|ts|tsx)'],
|
||||||
addons: [
|
addons: [
|
||||||
'@storybook/addon-links',
|
'@storybook/addon-links',
|
||||||
|
@ -13,5 +15,16 @@ const config: StorybookConfig = {
|
||||||
docs: {
|
docs: {
|
||||||
autodocs: 'tag',
|
autodocs: 'tag',
|
||||||
},
|
},
|
||||||
};
|
core: {
|
||||||
|
disableTelemetry: true,
|
||||||
|
},
|
||||||
|
async viteFinal(config, options) {
|
||||||
|
const { plugins, build: { rollupOptions, ...build }, ...original } = getConfig();
|
||||||
|
const x = mergeConfig(config, {
|
||||||
|
...original,
|
||||||
|
build,
|
||||||
|
});
|
||||||
|
return x;
|
||||||
|
},
|
||||||
|
} satisfies StorybookConfig;
|
||||||
export default config;
|
export default config;
|
||||||
|
|
9
packages/frontend/.storybook/preload-locale.ts
Normal file
9
packages/frontend/.storybook/preload-locale.ts
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
import { writeFile } from 'node:fs/promises';
|
||||||
|
import { resolve } from 'node:path';
|
||||||
|
import * as locales from '../../../locales';
|
||||||
|
|
||||||
|
writeFile(
|
||||||
|
resolve(__dirname, 'locale.ts'),
|
||||||
|
`export default ${JSON.stringify(locales['ja-JP'], undefined, 2)} as const;`,
|
||||||
|
'utf8',
|
||||||
|
)
|
|
@ -1,9 +1,21 @@
|
||||||
import type { Preview } from '@storybook/vue3';
|
import { type Preview, setup } from '@storybook/vue3';
|
||||||
import { applyTheme } from '../src/scripts/theme';
|
import locale from './locale';
|
||||||
import theme from './theme';
|
import theme from './theme';
|
||||||
import '../src/style.scss';
|
import '../src/style.scss';
|
||||||
|
|
||||||
applyTheme(theme);
|
localStorage.setItem("locale", JSON.stringify(locale));
|
||||||
|
Promise.all([
|
||||||
|
import('../src/components'),
|
||||||
|
import('../src/directives'),
|
||||||
|
import('../src/widgets'),
|
||||||
|
import('../src/scripts/theme').then(({ applyTheme }) => applyTheme(theme)),
|
||||||
|
]).then(([{ default: components }, { default: directives }, { default: widgets }]) => {
|
||||||
|
setup((app) => {
|
||||||
|
components(app);
|
||||||
|
directives(app);
|
||||||
|
widgets(app);
|
||||||
|
});
|
||||||
|
})
|
||||||
|
|
||||||
const preview = {
|
const preview = {
|
||||||
parameters: {
|
parameters: {
|
||||||
|
|
|
@ -9,5 +9,8 @@ export const Default = {
|
||||||
MkAbuseReport,
|
MkAbuseReport,
|
||||||
},
|
},
|
||||||
template: '<MkAbuseReport />',
|
template: '<MkAbuseReport />',
|
||||||
|
parameters: {
|
||||||
|
layout: 'centered',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
export default meta;
|
export default meta;
|
||||||
|
|
|
@ -9,5 +9,8 @@ export const Default = {
|
||||||
MkAbuseReportWindow,
|
MkAbuseReportWindow,
|
||||||
},
|
},
|
||||||
template: '<MkAbuseReportWindow />',
|
template: '<MkAbuseReportWindow />',
|
||||||
|
parameters: {
|
||||||
|
layout: 'centered',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
export default meta;
|
export default meta;
|
||||||
|
|
|
@ -9,5 +9,8 @@ export const Default = {
|
||||||
MkAchievements,
|
MkAchievements,
|
||||||
},
|
},
|
||||||
template: '<MkAchievements />',
|
template: '<MkAchievements />',
|
||||||
|
parameters: {
|
||||||
|
layout: 'centered',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
export default meta;
|
export default meta;
|
||||||
|
|
|
@ -9,5 +9,8 @@ export const Default = {
|
||||||
MkAnalogClock,
|
MkAnalogClock,
|
||||||
},
|
},
|
||||||
template: '<MkAnalogClock />',
|
template: '<MkAnalogClock />',
|
||||||
|
parameters: {
|
||||||
|
layout: 'fullscreen',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
export default meta;
|
export default meta;
|
||||||
|
|
|
@ -9,5 +9,8 @@ export const Default = {
|
||||||
MkAsUi,
|
MkAsUi,
|
||||||
},
|
},
|
||||||
template: '<MkAsUi />',
|
template: '<MkAsUi />',
|
||||||
|
parameters: {
|
||||||
|
layout: 'centered',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
export default meta;
|
export default meta;
|
||||||
|
|
|
@ -9,5 +9,8 @@ export const Default = {
|
||||||
MkAutocomplete,
|
MkAutocomplete,
|
||||||
},
|
},
|
||||||
template: '<MkAutocomplete />',
|
template: '<MkAutocomplete />',
|
||||||
|
parameters: {
|
||||||
|
layout: 'centered',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
export default meta;
|
export default meta;
|
||||||
|
|
|
@ -9,5 +9,8 @@ export const Default = {
|
||||||
MkAvatars,
|
MkAvatars,
|
||||||
},
|
},
|
||||||
template: '<MkAvatars />',
|
template: '<MkAvatars />',
|
||||||
|
parameters: {
|
||||||
|
layout: 'centered',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
export default meta;
|
export default meta;
|
||||||
|
|
|
@ -9,5 +9,8 @@ export const Default = {
|
||||||
MkButton,
|
MkButton,
|
||||||
},
|
},
|
||||||
template: '<MkButton />',
|
template: '<MkButton />',
|
||||||
|
parameters: {
|
||||||
|
layout: 'centered',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
export default meta;
|
export default meta;
|
||||||
|
|
|
@ -9,5 +9,8 @@ export const Default = {
|
||||||
MkCaptcha,
|
MkCaptcha,
|
||||||
},
|
},
|
||||||
template: '<MkCaptcha />',
|
template: '<MkCaptcha />',
|
||||||
|
parameters: {
|
||||||
|
layout: 'centered',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
export default meta;
|
export default meta;
|
||||||
|
|
|
@ -9,5 +9,8 @@ export const Default = {
|
||||||
MkChannelFollowButton,
|
MkChannelFollowButton,
|
||||||
},
|
},
|
||||||
template: '<MkChannelFollowButton />',
|
template: '<MkChannelFollowButton />',
|
||||||
|
parameters: {
|
||||||
|
layout: 'centered',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
export default meta;
|
export default meta;
|
||||||
|
|
|
@ -9,5 +9,8 @@ export const Default = {
|
||||||
MkChannelPreview,
|
MkChannelPreview,
|
||||||
},
|
},
|
||||||
template: '<MkChannelPreview />',
|
template: '<MkChannelPreview />',
|
||||||
|
parameters: {
|
||||||
|
layout: 'centered',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
export default meta;
|
export default meta;
|
||||||
|
|
|
@ -9,5 +9,8 @@ export const Default = {
|
||||||
MkChart,
|
MkChart,
|
||||||
},
|
},
|
||||||
template: '<MkChart />',
|
template: '<MkChart />',
|
||||||
|
parameters: {
|
||||||
|
layout: 'centered',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
export default meta;
|
export default meta;
|
||||||
|
|
|
@ -9,5 +9,8 @@ export const Default = {
|
||||||
MkChartLegend,
|
MkChartLegend,
|
||||||
},
|
},
|
||||||
template: '<MkChartLegend />',
|
template: '<MkChartLegend />',
|
||||||
|
parameters: {
|
||||||
|
layout: 'centered',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
export default meta;
|
export default meta;
|
||||||
|
|
|
@ -9,5 +9,8 @@ export const Default = {
|
||||||
MkChartTooltip,
|
MkChartTooltip,
|
||||||
},
|
},
|
||||||
template: '<MkChartTooltip />',
|
template: '<MkChartTooltip />',
|
||||||
|
parameters: {
|
||||||
|
layout: 'centered',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
export default meta;
|
export default meta;
|
||||||
|
|
|
@ -9,5 +9,8 @@ export const Default = {
|
||||||
MkCheckbox,
|
MkCheckbox,
|
||||||
},
|
},
|
||||||
template: '<MkCheckbox />',
|
template: '<MkCheckbox />',
|
||||||
|
parameters: {
|
||||||
|
layout: 'centered',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
export default meta;
|
export default meta;
|
||||||
|
|
|
@ -9,5 +9,8 @@ export const Default = {
|
||||||
MkClickerGame,
|
MkClickerGame,
|
||||||
},
|
},
|
||||||
template: '<MkClickerGame />',
|
template: '<MkClickerGame />',
|
||||||
|
parameters: {
|
||||||
|
layout: 'centered',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
export default meta;
|
export default meta;
|
||||||
|
|
|
@ -9,5 +9,8 @@ export const Default = {
|
||||||
MkClipPreview,
|
MkClipPreview,
|
||||||
},
|
},
|
||||||
template: '<MkClipPreview />',
|
template: '<MkClipPreview />',
|
||||||
|
parameters: {
|
||||||
|
layout: 'centered',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
export default meta;
|
export default meta;
|
||||||
|
|
|
@ -9,5 +9,8 @@ export const Default = {
|
||||||
MkCode_core,
|
MkCode_core,
|
||||||
},
|
},
|
||||||
template: '<MkCode_core />',
|
template: '<MkCode_core />',
|
||||||
|
parameters: {
|
||||||
|
layout: 'centered',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
export default meta;
|
export default meta;
|
||||||
|
|
|
@ -9,5 +9,8 @@ export const Default = {
|
||||||
MkCode,
|
MkCode,
|
||||||
},
|
},
|
||||||
template: '<MkCode />',
|
template: '<MkCode />',
|
||||||
|
parameters: {
|
||||||
|
layout: 'centered',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
export default meta;
|
export default meta;
|
||||||
|
|
|
@ -9,5 +9,8 @@ export const Default = {
|
||||||
MkContainer,
|
MkContainer,
|
||||||
},
|
},
|
||||||
template: '<MkContainer />',
|
template: '<MkContainer />',
|
||||||
|
parameters: {
|
||||||
|
layout: 'centered',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
export default meta;
|
export default meta;
|
||||||
|
|
|
@ -9,5 +9,8 @@ export const Default = {
|
||||||
MkContextMenu,
|
MkContextMenu,
|
||||||
},
|
},
|
||||||
template: '<MkContextMenu />',
|
template: '<MkContextMenu />',
|
||||||
|
parameters: {
|
||||||
|
layout: 'centered',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
export default meta;
|
export default meta;
|
||||||
|
|
|
@ -9,5 +9,8 @@ export const Default = {
|
||||||
MkCropperDialog,
|
MkCropperDialog,
|
||||||
},
|
},
|
||||||
template: '<MkCropperDialog />',
|
template: '<MkCropperDialog />',
|
||||||
|
parameters: {
|
||||||
|
layout: 'centered',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
export default meta;
|
export default meta;
|
||||||
|
|
|
@ -9,5 +9,8 @@ export const Default = {
|
||||||
MkCwButton,
|
MkCwButton,
|
||||||
},
|
},
|
||||||
template: '<MkCwButton />',
|
template: '<MkCwButton />',
|
||||||
|
parameters: {
|
||||||
|
layout: 'centered',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
export default meta;
|
export default meta;
|
||||||
|
|
|
@ -9,5 +9,8 @@ export const Default = {
|
||||||
MkDateSeparatedList,
|
MkDateSeparatedList,
|
||||||
},
|
},
|
||||||
template: '<MkDateSeparatedList />',
|
template: '<MkDateSeparatedList />',
|
||||||
|
parameters: {
|
||||||
|
layout: 'centered',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
export default meta;
|
export default meta;
|
||||||
|
|
|
@ -9,5 +9,8 @@ export const Default = {
|
||||||
MkDialog,
|
MkDialog,
|
||||||
},
|
},
|
||||||
template: '<MkDialog />',
|
template: '<MkDialog />',
|
||||||
|
parameters: {
|
||||||
|
layout: 'centered',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
export default meta;
|
export default meta;
|
||||||
|
|
|
@ -9,5 +9,8 @@ export const Default = {
|
||||||
MkDigitalClock,
|
MkDigitalClock,
|
||||||
},
|
},
|
||||||
template: '<MkDigitalClock />',
|
template: '<MkDigitalClock />',
|
||||||
|
parameters: {
|
||||||
|
layout: 'centered',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
export default meta;
|
export default meta;
|
||||||
|
|
|
@ -9,5 +9,8 @@ export const Default = {
|
||||||
MkDonation,
|
MkDonation,
|
||||||
},
|
},
|
||||||
template: '<MkDonation />',
|
template: '<MkDonation />',
|
||||||
|
parameters: {
|
||||||
|
layout: 'centered',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
export default meta;
|
export default meta;
|
||||||
|
|
|
@ -9,5 +9,8 @@ export const Default = {
|
||||||
MkDrive_file,
|
MkDrive_file,
|
||||||
},
|
},
|
||||||
template: '<MkDrive_file />',
|
template: '<MkDrive_file />',
|
||||||
|
parameters: {
|
||||||
|
layout: 'centered',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
export default meta;
|
export default meta;
|
||||||
|
|
|
@ -9,5 +9,8 @@ export const Default = {
|
||||||
MkDrive_folder,
|
MkDrive_folder,
|
||||||
},
|
},
|
||||||
template: '<MkDrive_folder />',
|
template: '<MkDrive_folder />',
|
||||||
|
parameters: {
|
||||||
|
layout: 'centered',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
export default meta;
|
export default meta;
|
||||||
|
|
|
@ -9,5 +9,8 @@ export const Default = {
|
||||||
MkDrive_navFolder,
|
MkDrive_navFolder,
|
||||||
},
|
},
|
||||||
template: '<MkDrive_navFolder />',
|
template: '<MkDrive_navFolder />',
|
||||||
|
parameters: {
|
||||||
|
layout: 'centered',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
export default meta;
|
export default meta;
|
||||||
|
|
|
@ -9,5 +9,8 @@ export const Default = {
|
||||||
MkDrive,
|
MkDrive,
|
||||||
},
|
},
|
||||||
template: '<MkDrive />',
|
template: '<MkDrive />',
|
||||||
|
parameters: {
|
||||||
|
layout: 'centered',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
export default meta;
|
export default meta;
|
||||||
|
|
|
@ -9,5 +9,8 @@ export const Default = {
|
||||||
MkDriveFileThumbnail,
|
MkDriveFileThumbnail,
|
||||||
},
|
},
|
||||||
template: '<MkDriveFileThumbnail />',
|
template: '<MkDriveFileThumbnail />',
|
||||||
|
parameters: {
|
||||||
|
layout: 'centered',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
export default meta;
|
export default meta;
|
||||||
|
|
|
@ -9,5 +9,8 @@ export const Default = {
|
||||||
MkDriveSelectDialog,
|
MkDriveSelectDialog,
|
||||||
},
|
},
|
||||||
template: '<MkDriveSelectDialog />',
|
template: '<MkDriveSelectDialog />',
|
||||||
|
parameters: {
|
||||||
|
layout: 'centered',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
export default meta;
|
export default meta;
|
||||||
|
|
|
@ -9,5 +9,8 @@ export const Default = {
|
||||||
MkDriveWindow,
|
MkDriveWindow,
|
||||||
},
|
},
|
||||||
template: '<MkDriveWindow />',
|
template: '<MkDriveWindow />',
|
||||||
|
parameters: {
|
||||||
|
layout: 'centered',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
export default meta;
|
export default meta;
|
||||||
|
|
|
@ -9,5 +9,8 @@ export const Default = {
|
||||||
MkEmojiPicker_section,
|
MkEmojiPicker_section,
|
||||||
},
|
},
|
||||||
template: '<MkEmojiPicker_section />',
|
template: '<MkEmojiPicker_section />',
|
||||||
|
parameters: {
|
||||||
|
layout: 'centered',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
export default meta;
|
export default meta;
|
||||||
|
|
|
@ -9,5 +9,8 @@ export const Default = {
|
||||||
MkEmojiPicker,
|
MkEmojiPicker,
|
||||||
},
|
},
|
||||||
template: '<MkEmojiPicker />',
|
template: '<MkEmojiPicker />',
|
||||||
|
parameters: {
|
||||||
|
layout: 'centered',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
export default meta;
|
export default meta;
|
||||||
|
|
|
@ -9,5 +9,8 @@ export const Default = {
|
||||||
MkEmojiPickerDialog,
|
MkEmojiPickerDialog,
|
||||||
},
|
},
|
||||||
template: '<MkEmojiPickerDialog />',
|
template: '<MkEmojiPickerDialog />',
|
||||||
|
parameters: {
|
||||||
|
layout: 'centered',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
export default meta;
|
export default meta;
|
||||||
|
|
|
@ -9,5 +9,8 @@ export const Default = {
|
||||||
MkEmojiPickerWindow,
|
MkEmojiPickerWindow,
|
||||||
},
|
},
|
||||||
template: '<MkEmojiPickerWindow />',
|
template: '<MkEmojiPickerWindow />',
|
||||||
|
parameters: {
|
||||||
|
layout: 'centered',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
export default meta;
|
export default meta;
|
||||||
|
|
|
@ -9,5 +9,8 @@ export const Default = {
|
||||||
MkFeaturedPhotos,
|
MkFeaturedPhotos,
|
||||||
},
|
},
|
||||||
template: '<MkFeaturedPhotos />',
|
template: '<MkFeaturedPhotos />',
|
||||||
|
parameters: {
|
||||||
|
layout: 'centered',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
export default meta;
|
export default meta;
|
||||||
|
|
|
@ -9,5 +9,8 @@ export const Default = {
|
||||||
MkFileCaptionEditWindow,
|
MkFileCaptionEditWindow,
|
||||||
},
|
},
|
||||||
template: '<MkFileCaptionEditWindow />',
|
template: '<MkFileCaptionEditWindow />',
|
||||||
|
parameters: {
|
||||||
|
layout: 'centered',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
export default meta;
|
export default meta;
|
||||||
|
|
|
@ -9,5 +9,8 @@ export const Default = {
|
||||||
MkFileListForAdmin,
|
MkFileListForAdmin,
|
||||||
},
|
},
|
||||||
template: '<MkFileListForAdmin />',
|
template: '<MkFileListForAdmin />',
|
||||||
|
parameters: {
|
||||||
|
layout: 'centered',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
export default meta;
|
export default meta;
|
||||||
|
|
|
@ -9,5 +9,8 @@ export const Default = {
|
||||||
MkFlashPreview,
|
MkFlashPreview,
|
||||||
},
|
},
|
||||||
template: '<MkFlashPreview />',
|
template: '<MkFlashPreview />',
|
||||||
|
parameters: {
|
||||||
|
layout: 'centered',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
export default meta;
|
export default meta;
|
||||||
|
|
|
@ -9,5 +9,8 @@ export const Default = {
|
||||||
MkFoldableSection,
|
MkFoldableSection,
|
||||||
},
|
},
|
||||||
template: '<MkFoldableSection />',
|
template: '<MkFoldableSection />',
|
||||||
|
parameters: {
|
||||||
|
layout: 'centered',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
export default meta;
|
export default meta;
|
||||||
|
|
|
@ -9,5 +9,8 @@ export const Default = {
|
||||||
MkFolder,
|
MkFolder,
|
||||||
},
|
},
|
||||||
template: '<MkFolder />',
|
template: '<MkFolder />',
|
||||||
|
parameters: {
|
||||||
|
layout: 'centered',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
export default meta;
|
export default meta;
|
||||||
|
|
|
@ -9,5 +9,8 @@ export const Default = {
|
||||||
MkFollowButton,
|
MkFollowButton,
|
||||||
},
|
},
|
||||||
template: '<MkFollowButton />',
|
template: '<MkFollowButton />',
|
||||||
|
parameters: {
|
||||||
|
layout: 'centered',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
export default meta;
|
export default meta;
|
||||||
|
|
|
@ -9,5 +9,8 @@ export const Default = {
|
||||||
MkForgotPassword,
|
MkForgotPassword,
|
||||||
},
|
},
|
||||||
template: '<MkForgotPassword />',
|
template: '<MkForgotPassword />',
|
||||||
|
parameters: {
|
||||||
|
layout: 'centered',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
export default meta;
|
export default meta;
|
||||||
|
|
|
@ -9,5 +9,8 @@ export const Default = {
|
||||||
MkFormDialog,
|
MkFormDialog,
|
||||||
},
|
},
|
||||||
template: '<MkFormDialog />',
|
template: '<MkFormDialog />',
|
||||||
|
parameters: {
|
||||||
|
layout: 'centered',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
export default meta;
|
export default meta;
|
||||||
|
|
|
@ -9,5 +9,8 @@ export const Default = {
|
||||||
MkGalleryPostPreview,
|
MkGalleryPostPreview,
|
||||||
},
|
},
|
||||||
template: '<MkGalleryPostPreview />',
|
template: '<MkGalleryPostPreview />',
|
||||||
|
parameters: {
|
||||||
|
layout: 'centered',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
export default meta;
|
export default meta;
|
||||||
|
|
|
@ -9,5 +9,8 @@ export const Default = {
|
||||||
MkGoogle,
|
MkGoogle,
|
||||||
},
|
},
|
||||||
template: '<MkGoogle />',
|
template: '<MkGoogle />',
|
||||||
|
parameters: {
|
||||||
|
layout: 'centered',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
export default meta;
|
export default meta;
|
||||||
|
|
|
@ -9,5 +9,8 @@ export const Default = {
|
||||||
MkHeatmap,
|
MkHeatmap,
|
||||||
},
|
},
|
||||||
template: '<MkHeatmap />',
|
template: '<MkHeatmap />',
|
||||||
|
parameters: {
|
||||||
|
layout: 'centered',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
export default meta;
|
export default meta;
|
||||||
|
|
|
@ -9,5 +9,8 @@ export const Default = {
|
||||||
MkImageViewer,
|
MkImageViewer,
|
||||||
},
|
},
|
||||||
template: '<MkImageViewer />',
|
template: '<MkImageViewer />',
|
||||||
|
parameters: {
|
||||||
|
layout: 'centered',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
export default meta;
|
export default meta;
|
||||||
|
|
|
@ -9,5 +9,8 @@ export const Default = {
|
||||||
MkImgWithBlurhash,
|
MkImgWithBlurhash,
|
||||||
},
|
},
|
||||||
template: '<MkImgWithBlurhash />',
|
template: '<MkImgWithBlurhash />',
|
||||||
|
parameters: {
|
||||||
|
layout: 'centered',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
export default meta;
|
export default meta;
|
||||||
|
|
|
@ -9,5 +9,8 @@ export const Default = {
|
||||||
MkInfo,
|
MkInfo,
|
||||||
},
|
},
|
||||||
template: '<MkInfo />',
|
template: '<MkInfo />',
|
||||||
|
parameters: {
|
||||||
|
layout: 'centered',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
export default meta;
|
export default meta;
|
||||||
|
|
|
@ -9,5 +9,8 @@ export const Default = {
|
||||||
MkInput,
|
MkInput,
|
||||||
},
|
},
|
||||||
template: '<MkInput />',
|
template: '<MkInput />',
|
||||||
|
parameters: {
|
||||||
|
layout: 'centered',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
export default meta;
|
export default meta;
|
||||||
|
|
|
@ -9,5 +9,8 @@ export const Default = {
|
||||||
MkInstanceCardMini,
|
MkInstanceCardMini,
|
||||||
},
|
},
|
||||||
template: '<MkInstanceCardMini />',
|
template: '<MkInstanceCardMini />',
|
||||||
|
parameters: {
|
||||||
|
layout: 'centered',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
export default meta;
|
export default meta;
|
||||||
|
|
|
@ -9,5 +9,8 @@ export const Default = {
|
||||||
MkInstanceStats,
|
MkInstanceStats,
|
||||||
},
|
},
|
||||||
template: '<MkInstanceStats />',
|
template: '<MkInstanceStats />',
|
||||||
|
parameters: {
|
||||||
|
layout: 'centered',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
export default meta;
|
export default meta;
|
||||||
|
|
|
@ -9,5 +9,8 @@ export const Default = {
|
||||||
MkInstanceTicker,
|
MkInstanceTicker,
|
||||||
},
|
},
|
||||||
template: '<MkInstanceTicker />',
|
template: '<MkInstanceTicker />',
|
||||||
|
parameters: {
|
||||||
|
layout: 'centered',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
export default meta;
|
export default meta;
|
||||||
|
|
|
@ -9,5 +9,8 @@ export const Default = {
|
||||||
MkKeyValue,
|
MkKeyValue,
|
||||||
},
|
},
|
||||||
template: '<MkKeyValue />',
|
template: '<MkKeyValue />',
|
||||||
|
parameters: {
|
||||||
|
layout: 'centered',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
export default meta;
|
export default meta;
|
||||||
|
|
|
@ -9,5 +9,8 @@ export const Default = {
|
||||||
MkLaunchPad,
|
MkLaunchPad,
|
||||||
},
|
},
|
||||||
template: '<MkLaunchPad />',
|
template: '<MkLaunchPad />',
|
||||||
|
parameters: {
|
||||||
|
layout: 'centered',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
export default meta;
|
export default meta;
|
||||||
|
|
|
@ -9,5 +9,8 @@ export const Default = {
|
||||||
MkLink,
|
MkLink,
|
||||||
},
|
},
|
||||||
template: '<MkLink />',
|
template: '<MkLink />',
|
||||||
|
parameters: {
|
||||||
|
layout: 'centered',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
export default meta;
|
export default meta;
|
||||||
|
|
|
@ -9,5 +9,8 @@ export const Default = {
|
||||||
MkMarquee,
|
MkMarquee,
|
||||||
},
|
},
|
||||||
template: '<MkMarquee />',
|
template: '<MkMarquee />',
|
||||||
|
parameters: {
|
||||||
|
layout: 'centered',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
export default meta;
|
export default meta;
|
||||||
|
|
|
@ -9,5 +9,8 @@ export const Default = {
|
||||||
MkMediaBanner,
|
MkMediaBanner,
|
||||||
},
|
},
|
||||||
template: '<MkMediaBanner />',
|
template: '<MkMediaBanner />',
|
||||||
|
parameters: {
|
||||||
|
layout: 'centered',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
export default meta;
|
export default meta;
|
||||||
|
|
|
@ -9,5 +9,8 @@ export const Default = {
|
||||||
MkMediaImage,
|
MkMediaImage,
|
||||||
},
|
},
|
||||||
template: '<MkMediaImage />',
|
template: '<MkMediaImage />',
|
||||||
|
parameters: {
|
||||||
|
layout: 'centered',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
export default meta;
|
export default meta;
|
||||||
|
|
|
@ -9,5 +9,8 @@ export const Default = {
|
||||||
MkMediaList,
|
MkMediaList,
|
||||||
},
|
},
|
||||||
template: '<MkMediaList />',
|
template: '<MkMediaList />',
|
||||||
|
parameters: {
|
||||||
|
layout: 'centered',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
export default meta;
|
export default meta;
|
||||||
|
|
|
@ -9,5 +9,8 @@ export const Default = {
|
||||||
MkMediaVideo,
|
MkMediaVideo,
|
||||||
},
|
},
|
||||||
template: '<MkMediaVideo />',
|
template: '<MkMediaVideo />',
|
||||||
|
parameters: {
|
||||||
|
layout: 'centered',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
export default meta;
|
export default meta;
|
||||||
|
|
|
@ -9,5 +9,8 @@ export const Default = {
|
||||||
MkMention,
|
MkMention,
|
||||||
},
|
},
|
||||||
template: '<MkMention />',
|
template: '<MkMention />',
|
||||||
|
parameters: {
|
||||||
|
layout: 'centered',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
export default meta;
|
export default meta;
|
||||||
|
|
|
@ -9,5 +9,8 @@ export const Default = {
|
||||||
MkMenu_child,
|
MkMenu_child,
|
||||||
},
|
},
|
||||||
template: '<MkMenu_child />',
|
template: '<MkMenu_child />',
|
||||||
|
parameters: {
|
||||||
|
layout: 'centered',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
export default meta;
|
export default meta;
|
||||||
|
|
|
@ -9,5 +9,8 @@ export const Default = {
|
||||||
MkMenu,
|
MkMenu,
|
||||||
},
|
},
|
||||||
template: '<MkMenu />',
|
template: '<MkMenu />',
|
||||||
|
parameters: {
|
||||||
|
layout: 'centered',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
export default meta;
|
export default meta;
|
||||||
|
|
|
@ -9,5 +9,8 @@ export const Default = {
|
||||||
MkMiniChart,
|
MkMiniChart,
|
||||||
},
|
},
|
||||||
template: '<MkMiniChart />',
|
template: '<MkMiniChart />',
|
||||||
|
parameters: {
|
||||||
|
layout: 'centered',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
export default meta;
|
export default meta;
|
||||||
|
|
|
@ -9,5 +9,8 @@ export const Default = {
|
||||||
MkModal,
|
MkModal,
|
||||||
},
|
},
|
||||||
template: '<MkModal />',
|
template: '<MkModal />',
|
||||||
|
parameters: {
|
||||||
|
layout: 'centered',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
export default meta;
|
export default meta;
|
||||||
|
|
|
@ -9,5 +9,8 @@ export const Default = {
|
||||||
MkModalPageWindow,
|
MkModalPageWindow,
|
||||||
},
|
},
|
||||||
template: '<MkModalPageWindow />',
|
template: '<MkModalPageWindow />',
|
||||||
|
parameters: {
|
||||||
|
layout: 'centered',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
export default meta;
|
export default meta;
|
||||||
|
|
|
@ -9,5 +9,8 @@ export const Default = {
|
||||||
MkModalWindow,
|
MkModalWindow,
|
||||||
},
|
},
|
||||||
template: '<MkModalWindow />',
|
template: '<MkModalWindow />',
|
||||||
|
parameters: {
|
||||||
|
layout: 'centered',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
export default meta;
|
export default meta;
|
||||||
|
|
|
@ -9,5 +9,8 @@ export const Default = {
|
||||||
MkNote,
|
MkNote,
|
||||||
},
|
},
|
||||||
template: '<MkNote />',
|
template: '<MkNote />',
|
||||||
|
parameters: {
|
||||||
|
layout: 'centered',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
export default meta;
|
export default meta;
|
||||||
|
|
|
@ -9,5 +9,8 @@ export const Default = {
|
||||||
MkNoteDetailed,
|
MkNoteDetailed,
|
||||||
},
|
},
|
||||||
template: '<MkNoteDetailed />',
|
template: '<MkNoteDetailed />',
|
||||||
|
parameters: {
|
||||||
|
layout: 'centered',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
export default meta;
|
export default meta;
|
||||||
|
|
|
@ -9,5 +9,8 @@ export const Default = {
|
||||||
MkNoteHeader,
|
MkNoteHeader,
|
||||||
},
|
},
|
||||||
template: '<MkNoteHeader />',
|
template: '<MkNoteHeader />',
|
||||||
|
parameters: {
|
||||||
|
layout: 'centered',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
export default meta;
|
export default meta;
|
||||||
|
|
|
@ -9,5 +9,8 @@ export const Default = {
|
||||||
MkNotePreview,
|
MkNotePreview,
|
||||||
},
|
},
|
||||||
template: '<MkNotePreview />',
|
template: '<MkNotePreview />',
|
||||||
|
parameters: {
|
||||||
|
layout: 'centered',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
export default meta;
|
export default meta;
|
||||||
|
|
|
@ -9,5 +9,8 @@ export const Default = {
|
||||||
MkNoteSimple,
|
MkNoteSimple,
|
||||||
},
|
},
|
||||||
template: '<MkNoteSimple />',
|
template: '<MkNoteSimple />',
|
||||||
|
parameters: {
|
||||||
|
layout: 'centered',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
export default meta;
|
export default meta;
|
||||||
|
|
|
@ -9,5 +9,8 @@ export const Default = {
|
||||||
MkNoteSub,
|
MkNoteSub,
|
||||||
},
|
},
|
||||||
template: '<MkNoteSub />',
|
template: '<MkNoteSub />',
|
||||||
|
parameters: {
|
||||||
|
layout: 'centered',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
export default meta;
|
export default meta;
|
||||||
|
|
|
@ -9,5 +9,8 @@ export const Default = {
|
||||||
MkNotes,
|
MkNotes,
|
||||||
},
|
},
|
||||||
template: '<MkNotes />',
|
template: '<MkNotes />',
|
||||||
|
parameters: {
|
||||||
|
layout: 'centered',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
export default meta;
|
export default meta;
|
||||||
|
|
|
@ -9,5 +9,8 @@ export const Default = {
|
||||||
MkNotification,
|
MkNotification,
|
||||||
},
|
},
|
||||||
template: '<MkNotification />',
|
template: '<MkNotification />',
|
||||||
|
parameters: {
|
||||||
|
layout: 'centered',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
export default meta;
|
export default meta;
|
||||||
|
|
|
@ -9,5 +9,8 @@ export const Default = {
|
||||||
MkNotificationSettingWindow,
|
MkNotificationSettingWindow,
|
||||||
},
|
},
|
||||||
template: '<MkNotificationSettingWindow />',
|
template: '<MkNotificationSettingWindow />',
|
||||||
|
parameters: {
|
||||||
|
layout: 'centered',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
export default meta;
|
export default meta;
|
||||||
|
|
|
@ -9,5 +9,8 @@ export const Default = {
|
||||||
MkNotifications,
|
MkNotifications,
|
||||||
},
|
},
|
||||||
template: '<MkNotifications />',
|
template: '<MkNotifications />',
|
||||||
|
parameters: {
|
||||||
|
layout: 'centered',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
export default meta;
|
export default meta;
|
||||||
|
|
|
@ -9,5 +9,8 @@ export const Default = {
|
||||||
MkNumber,
|
MkNumber,
|
||||||
},
|
},
|
||||||
template: '<MkNumber />',
|
template: '<MkNumber />',
|
||||||
|
parameters: {
|
||||||
|
layout: 'centered',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
export default meta;
|
export default meta;
|
||||||
|
|
|
@ -9,5 +9,8 @@ export const Default = {
|
||||||
MkNumberDiff,
|
MkNumberDiff,
|
||||||
},
|
},
|
||||||
template: '<MkNumberDiff />',
|
template: '<MkNumberDiff />',
|
||||||
|
parameters: {
|
||||||
|
layout: 'centered',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
export default meta;
|
export default meta;
|
||||||
|
|
|
@ -9,5 +9,8 @@ export const Default = {
|
||||||
MkObjectView,
|
MkObjectView,
|
||||||
},
|
},
|
||||||
template: '<MkObjectView />',
|
template: '<MkObjectView />',
|
||||||
|
parameters: {
|
||||||
|
layout: 'centered',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
export default meta;
|
export default meta;
|
||||||
|
|
|
@ -9,5 +9,8 @@ export const Default = {
|
||||||
MkObjectView_value,
|
MkObjectView_value,
|
||||||
},
|
},
|
||||||
template: '<MkObjectView_value />',
|
template: '<MkObjectView_value />',
|
||||||
|
parameters: {
|
||||||
|
layout: 'centered',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
export default meta;
|
export default meta;
|
||||||
|
|
|
@ -9,5 +9,8 @@ export const Default = {
|
||||||
MkOmit,
|
MkOmit,
|
||||||
},
|
},
|
||||||
template: '<MkOmit />',
|
template: '<MkOmit />',
|
||||||
|
parameters: {
|
||||||
|
layout: 'centered',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
export default meta;
|
export default meta;
|
||||||
|
|
|
@ -9,5 +9,8 @@ export const Default = {
|
||||||
MkPagePreview,
|
MkPagePreview,
|
||||||
},
|
},
|
||||||
template: '<MkPagePreview />',
|
template: '<MkPagePreview />',
|
||||||
|
parameters: {
|
||||||
|
layout: 'centered',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
export default meta;
|
export default meta;
|
||||||
|
|
|
@ -9,5 +9,8 @@ export const Default = {
|
||||||
MkPageWindow,
|
MkPageWindow,
|
||||||
},
|
},
|
||||||
template: '<MkPageWindow />',
|
template: '<MkPageWindow />',
|
||||||
|
parameters: {
|
||||||
|
layout: 'centered',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
export default meta;
|
export default meta;
|
||||||
|
|
|
@ -9,5 +9,8 @@ export const Default = {
|
||||||
MkPagination,
|
MkPagination,
|
||||||
},
|
},
|
||||||
template: '<MkPagination />',
|
template: '<MkPagination />',
|
||||||
|
parameters: {
|
||||||
|
layout: 'centered',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
export default meta;
|
export default meta;
|
||||||
|
|
|
@ -9,5 +9,8 @@ export const Default = {
|
||||||
MkPlusOneEffect,
|
MkPlusOneEffect,
|
||||||
},
|
},
|
||||||
template: '<MkPlusOneEffect />',
|
template: '<MkPlusOneEffect />',
|
||||||
|
parameters: {
|
||||||
|
layout: 'centered',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
export default meta;
|
export default meta;
|
||||||
|
|
|
@ -9,5 +9,8 @@ export const Default = {
|
||||||
MkPoll,
|
MkPoll,
|
||||||
},
|
},
|
||||||
template: '<MkPoll />',
|
template: '<MkPoll />',
|
||||||
|
parameters: {
|
||||||
|
layout: 'centered',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
export default meta;
|
export default meta;
|
||||||
|
|
|
@ -9,5 +9,8 @@ export const Default = {
|
||||||
MkPollEditor,
|
MkPollEditor,
|
||||||
},
|
},
|
||||||
template: '<MkPollEditor />',
|
template: '<MkPollEditor />',
|
||||||
|
parameters: {
|
||||||
|
layout: 'centered',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
export default meta;
|
export default meta;
|
||||||
|
|
|
@ -9,5 +9,8 @@ export const Default = {
|
||||||
MkPopupMenu,
|
MkPopupMenu,
|
||||||
},
|
},
|
||||||
template: '<MkPopupMenu />',
|
template: '<MkPopupMenu />',
|
||||||
|
parameters: {
|
||||||
|
layout: 'centered',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
export default meta;
|
export default meta;
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue