first commit
This commit is contained in:
56
resources/js/providers.ts
Normal file
56
resources/js/providers.ts
Normal file
@@ -0,0 +1,56 @@
|
||||
import {
|
||||
dateRuRU,
|
||||
NConfigProvider,
|
||||
NDialogProvider,
|
||||
NLoadingBarProvider,
|
||||
NMessageProvider,
|
||||
NNotificationProvider,
|
||||
ruRU,
|
||||
} from 'naive-ui';
|
||||
import { type Component, h, type VNode } from 'vue';
|
||||
import { appTheme } from './plugins/naive';
|
||||
|
||||
// Сглаживание скруглений модалок/диалогов (перенесено из onboard).
|
||||
const themeOverrides = {
|
||||
Modal: {
|
||||
peers: {
|
||||
Dialog: { borderRadius: '8px' },
|
||||
Card: { borderRadius: '8px' },
|
||||
},
|
||||
},
|
||||
Dialog: { borderRadius: '8px' },
|
||||
};
|
||||
|
||||
/**
|
||||
* Единое дерево NaiveUI-провайдеров для клиента и SSR: тема/локаль, загрузка,
|
||||
* диалоги, уведомления, сообщения — оборачивают корневой компонент Inertia.
|
||||
*/
|
||||
export function renderWithProviders(
|
||||
App: Component,
|
||||
props: Record<string, unknown>,
|
||||
): VNode {
|
||||
return h(
|
||||
NConfigProvider,
|
||||
{
|
||||
theme: appTheme,
|
||||
themeOverrides,
|
||||
locale: ruRU,
|
||||
dateLocale: dateRuRU,
|
||||
},
|
||||
{
|
||||
default: () =>
|
||||
h(NLoadingBarProvider, null, {
|
||||
default: () =>
|
||||
h(NDialogProvider, null, {
|
||||
default: () =>
|
||||
h(NNotificationProvider, null, {
|
||||
default: () =>
|
||||
h(NMessageProvider, null, {
|
||||
default: () => h(App, props),
|
||||
}),
|
||||
}),
|
||||
}),
|
||||
}),
|
||||
},
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user