@payloadcms/next 3.24.0 → 3.25.0-canary.6d6bbd2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/elements/Nav/getNavPrefs.d.ts +2 -5
- package/dist/elements/Nav/getNavPrefs.d.ts.map +1 -1
- package/dist/elements/Nav/getNavPrefs.js +23 -24
- package/dist/elements/Nav/getNavPrefs.js.map +1 -1
- package/dist/elements/Nav/index.js +1 -4
- package/dist/elements/Nav/index.js.map +1 -1
- package/dist/layouts/Root/index.d.ts.map +1 -1
- package/dist/layouts/Root/index.js +19 -27
- package/dist/layouts/Root/index.js.map +1 -1
- package/dist/prod/styles.css +1 -1
- package/dist/utilities/getPreferences.d.ts +5 -2
- package/dist/utilities/getPreferences.d.ts.map +1 -1
- package/dist/utilities/getPreferences.js +22 -25
- package/dist/utilities/getPreferences.js.map +1 -1
- package/dist/utilities/getRequestLocale.d.ts.map +1 -1
- package/dist/utilities/getRequestLocale.js +1 -1
- package/dist/utilities/getRequestLocale.js.map +1 -1
- package/dist/utilities/handleServerFunctions.d.ts.map +1 -1
- package/dist/utilities/handleServerFunctions.js +5 -1
- package/dist/utilities/handleServerFunctions.js.map +1 -1
- package/dist/utilities/initPage/index.d.ts +1 -1
- package/dist/utilities/initPage/index.d.ts.map +1 -1
- package/dist/utilities/initPage/index.js +26 -24
- package/dist/utilities/initPage/index.js.map +1 -1
- package/dist/utilities/initPage/types.d.ts +11 -0
- package/dist/utilities/initPage/types.d.ts.map +1 -1
- package/dist/utilities/initPage/types.js.map +1 -1
- package/dist/utilities/initReq.d.ts +18 -2
- package/dist/utilities/initReq.d.ts.map +1 -1
- package/dist/utilities/initReq.js +138 -52
- package/dist/utilities/initReq.js.map +1 -1
- package/dist/views/NotFound/index.d.ts.map +1 -1
- package/dist/views/NotFound/index.js +2 -1
- package/dist/views/NotFound/index.js.map +1 -1
- package/package.json +7 -7
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
import type { NavPreferences, Payload
|
|
2
|
-
export declare const getNavPrefs: (
|
|
3
|
-
payload: Payload;
|
|
4
|
-
user: User;
|
|
5
|
-
}) => Promise<NavPreferences>;
|
|
1
|
+
import type { DefaultDocumentIDType, NavPreferences, Payload } from 'payload';
|
|
2
|
+
export declare const getNavPrefs: (payload: Payload, userID: DefaultDocumentIDType, userSlug: string) => Promise<NavPreferences>;
|
|
6
3
|
//# sourceMappingURL=getNavPrefs.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getNavPrefs.d.ts","sourceRoot":"","sources":["../../../src/elements/Nav/getNavPrefs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"getNavPrefs.d.ts","sourceRoot":"","sources":["../../../src/elements/Nav/getNavPrefs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,cAAc,EAAE,OAAO,EAAQ,MAAM,SAAS,CAAA;AAInF,eAAO,MAAM,WAAW,YAEX,OAAO,UACR,qBAAqB,YACnB,MAAM,KACf,OAAO,CAAC,cAAc,CA+B1B,CAAA"}
|
|
@@ -1,26 +1,25 @@
|
|
|
1
1
|
import { cache } from 'react';
|
|
2
|
-
export const getNavPrefs = cache(async ({
|
|
3
|
-
payload
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
})?.then(res => res?.docs?.[0]?.value) : null);
|
|
2
|
+
export const getNavPrefs = cache(async (payload, userID, userSlug) => {
|
|
3
|
+
return userSlug ? await payload.find({
|
|
4
|
+
collection: 'payload-preferences',
|
|
5
|
+
depth: 0,
|
|
6
|
+
limit: 1,
|
|
7
|
+
pagination: false,
|
|
8
|
+
where: {
|
|
9
|
+
and: [{
|
|
10
|
+
key: {
|
|
11
|
+
equals: 'nav'
|
|
12
|
+
}
|
|
13
|
+
}, {
|
|
14
|
+
'user.relationTo': {
|
|
15
|
+
equals: userSlug
|
|
16
|
+
}
|
|
17
|
+
}, {
|
|
18
|
+
'user.value': {
|
|
19
|
+
equals: userID
|
|
20
|
+
}
|
|
21
|
+
}]
|
|
22
|
+
}
|
|
23
|
+
})?.then(res => res?.docs?.[0]?.value) : null;
|
|
24
|
+
});
|
|
26
25
|
//# sourceMappingURL=getNavPrefs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getNavPrefs.js","names":["cache","getNavPrefs","payload","
|
|
1
|
+
{"version":3,"file":"getNavPrefs.js","names":["cache","getNavPrefs","payload","userID","userSlug","find","collection","depth","limit","pagination","where","and","key","equals","then","res","docs","value"],"sources":["../../../src/elements/Nav/getNavPrefs.ts"],"sourcesContent":["import type { DefaultDocumentIDType, NavPreferences, Payload, User } from 'payload'\n\nimport { cache } from 'react'\n\nexport const getNavPrefs = cache(\n async (\n payload: Payload,\n userID: DefaultDocumentIDType,\n userSlug: string,\n ): Promise<NavPreferences> => {\n return userSlug\n ? await payload\n .find({\n collection: 'payload-preferences',\n depth: 0,\n limit: 1,\n pagination: false,\n where: {\n and: [\n {\n key: {\n equals: 'nav',\n },\n },\n {\n 'user.relationTo': {\n equals: userSlug,\n },\n },\n {\n 'user.value': {\n equals: userID,\n },\n },\n ],\n },\n })\n ?.then((res) => res?.docs?.[0]?.value)\n : null\n },\n)\n"],"mappings":"AAEA,SAASA,KAAK,QAAQ;AAEtB,OAAO,MAAMC,WAAA,GAAcD,KAAA,CACzB,OACEE,OAAA,EACAC,MAAA,EACAC,QAAA;EAEA,OAAOA,QAAA,GACH,MAAMF,OAAA,CACHG,IAAI,CAAC;IACJC,UAAA,EAAY;IACZC,KAAA,EAAO;IACPC,KAAA,EAAO;IACPC,UAAA,EAAY;IACZC,KAAA,EAAO;MACLC,GAAA,EAAK,CACH;QACEC,GAAA,EAAK;UACHC,MAAA,EAAQ;QACV;MACF,GACA;QACE,mBAAmB;UACjBA,MAAA,EAAQT;QACV;MACF,GACA;QACE,cAAc;UACZS,MAAA,EAAQV;QACV;MACF;IAEJ;EACF,IACEW,IAAA,CAAMC,GAAA,IAAQA,GAAA,EAAKC,IAAA,GAAO,EAAE,EAAEC,KAAA,IAClC;AACN","ignoreList":[]}
|
|
@@ -46,10 +46,7 @@ export const DefaultNav = async props => {
|
|
|
46
46
|
type: EntityType.global,
|
|
47
47
|
entity: global
|
|
48
48
|
}))], permissions, i18n);
|
|
49
|
-
const navPreferences = await getNavPrefs(
|
|
50
|
-
payload,
|
|
51
|
-
user
|
|
52
|
-
});
|
|
49
|
+
const navPreferences = await getNavPrefs(payload, user?.id, user?.collection);
|
|
53
50
|
const LogoutComponent = RenderServerComponent({
|
|
54
51
|
clientProps: {
|
|
55
52
|
documentSubViewType,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["Logout","RenderServerComponent","EntityType","groupNavItems","React","NavHamburger","NavWrapper","baseClass","getNavPrefs","DefaultNavClient","DefaultNav","props","documentSubViewType","i18n","locale","params","payload","permissions","searchParams","user","viewType","visibleEntities","config","admin","components","afterNavLinks","beforeNavLinks","logout","collections","globals","groups","filter","slug","includes","map","collection","type","entity","global","navPreferences","LogoutComponent","clientProps","Component","Button","Fallback","importMap","serverProps","_jsxs","className","_jsx"],"sources":["../../../src/elements/Nav/index.tsx"],"sourcesContent":["import type { EntityToGroup } from '@payloadcms/ui/shared'\nimport type { ServerProps } from 'payload'\n\nimport { Logout } from '@payloadcms/ui'\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { EntityType, groupNavItems } from '@payloadcms/ui/shared'\nimport React from 'react'\n\nimport { NavHamburger } from './NavHamburger/index.js'\nimport { NavWrapper } from './NavWrapper/index.js'\nimport './index.scss'\n\nconst baseClass = 'nav'\n\nimport { getNavPrefs } from './getNavPrefs.js'\nimport { DefaultNavClient } from './index.client.js'\n\nexport type NavProps = ServerProps\n\nexport const DefaultNav: React.FC<NavProps> = async (props) => {\n const {\n documentSubViewType,\n i18n,\n locale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n viewType,\n visibleEntities,\n } = props\n\n if (!payload?.config) {\n return null\n }\n\n const {\n admin: {\n components: { afterNavLinks, beforeNavLinks, logout },\n },\n collections,\n globals,\n } = payload.config\n\n const groups = groupNavItems(\n [\n ...collections\n .filter(({ slug }) => visibleEntities.collections.includes(slug))\n .map(\n (collection) =>\n ({\n type: EntityType.collection,\n entity: collection,\n }) satisfies EntityToGroup,\n ),\n ...globals\n .filter(({ slug }) => visibleEntities.globals.includes(slug))\n .map(\n (global) =>\n ({\n type: EntityType.global,\n entity: global,\n }) satisfies EntityToGroup,\n ),\n ],\n permissions,\n i18n,\n )\n\n const navPreferences = await getNavPrefs(
|
|
1
|
+
{"version":3,"file":"index.js","names":["Logout","RenderServerComponent","EntityType","groupNavItems","React","NavHamburger","NavWrapper","baseClass","getNavPrefs","DefaultNavClient","DefaultNav","props","documentSubViewType","i18n","locale","params","payload","permissions","searchParams","user","viewType","visibleEntities","config","admin","components","afterNavLinks","beforeNavLinks","logout","collections","globals","groups","filter","slug","includes","map","collection","type","entity","global","navPreferences","id","LogoutComponent","clientProps","Component","Button","Fallback","importMap","serverProps","_jsxs","className","_jsx"],"sources":["../../../src/elements/Nav/index.tsx"],"sourcesContent":["import type { EntityToGroup } from '@payloadcms/ui/shared'\nimport type { ServerProps } from 'payload'\n\nimport { Logout } from '@payloadcms/ui'\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { EntityType, groupNavItems } from '@payloadcms/ui/shared'\nimport React from 'react'\n\nimport { NavHamburger } from './NavHamburger/index.js'\nimport { NavWrapper } from './NavWrapper/index.js'\nimport './index.scss'\n\nconst baseClass = 'nav'\n\nimport { getNavPrefs } from './getNavPrefs.js'\nimport { DefaultNavClient } from './index.client.js'\n\nexport type NavProps = ServerProps\n\nexport const DefaultNav: React.FC<NavProps> = async (props) => {\n const {\n documentSubViewType,\n i18n,\n locale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n viewType,\n visibleEntities,\n } = props\n\n if (!payload?.config) {\n return null\n }\n\n const {\n admin: {\n components: { afterNavLinks, beforeNavLinks, logout },\n },\n collections,\n globals,\n } = payload.config\n\n const groups = groupNavItems(\n [\n ...collections\n .filter(({ slug }) => visibleEntities.collections.includes(slug))\n .map(\n (collection) =>\n ({\n type: EntityType.collection,\n entity: collection,\n }) satisfies EntityToGroup,\n ),\n ...globals\n .filter(({ slug }) => visibleEntities.globals.includes(slug))\n .map(\n (global) =>\n ({\n type: EntityType.global,\n entity: global,\n }) satisfies EntityToGroup,\n ),\n ],\n permissions,\n i18n,\n )\n\n const navPreferences = await getNavPrefs(payload, user?.id, user?.collection)\n\n const LogoutComponent = RenderServerComponent({\n clientProps: {\n documentSubViewType,\n viewType,\n },\n Component: logout?.Button,\n Fallback: Logout,\n importMap: payload.importMap,\n serverProps: {\n i18n,\n locale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n },\n })\n\n return (\n <NavWrapper baseClass={baseClass}>\n <nav className={`${baseClass}__wrap`}>\n {RenderServerComponent({\n clientProps: {\n documentSubViewType,\n viewType,\n },\n Component: beforeNavLinks,\n importMap: payload.importMap,\n serverProps: {\n i18n,\n locale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n },\n })}\n <DefaultNavClient groups={groups} navPreferences={navPreferences} />\n {RenderServerComponent({\n clientProps: {\n documentSubViewType,\n viewType,\n },\n Component: afterNavLinks,\n importMap: payload.importMap,\n serverProps: {\n i18n,\n locale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n },\n })}\n <div className={`${baseClass}__controls`}>{LogoutComponent}</div>\n </nav>\n <div className={`${baseClass}__header`}>\n <div className={`${baseClass}__header-content`}>\n <NavHamburger baseClass={baseClass} />\n </div>\n </div>\n </NavWrapper>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/layouts/Root/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAmB,eAAe,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/layouts/Root/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAmB,eAAe,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAMhG,OAAO,KAAK,MAAM,OAAO,CAAA;AAQzB,OAAO,8BAA8B,CAAA;AAErC,eAAO,MAAM,QAAQ;;;CAGpB,CAAA;AAED,eAAO,MAAM,UAAU,oEAKpB;IACD,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IAClC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;IACzC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;IAC7B,QAAQ,CAAC,cAAc,EAAE,oBAAoB,CAAA;CAC9C,+BAsHA,CAAA"}
|
|
@@ -2,11 +2,9 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import { rtlLanguages } from '@payloadcms/translations';
|
|
3
3
|
import { ProgressBar, RootProvider } from '@payloadcms/ui';
|
|
4
4
|
import { getClientConfig } from '@payloadcms/ui/utilities/getClientConfig';
|
|
5
|
-
import {
|
|
6
|
-
import { getPayload, getRequestLanguage, parseCookies } from 'payload';
|
|
5
|
+
import { cookies as nextCookies } from 'next/headers.js';
|
|
7
6
|
import React from 'react';
|
|
8
7
|
import { getNavPrefs } from '../../elements/Nav/getNavPrefs.js';
|
|
9
|
-
import { getRequestLocale } from '../../utilities/getRequestLocale.js';
|
|
10
8
|
import { getRequestTheme } from '../../utilities/getRequestTheme.js';
|
|
11
9
|
import { initReq } from '../../utilities/initReq.js';
|
|
12
10
|
import { checkDependencies } from './checkDependencies.js';
|
|
@@ -22,27 +20,27 @@ export const RootLayout = async ({
|
|
|
22
20
|
serverFunction
|
|
23
21
|
}) => {
|
|
24
22
|
checkDependencies();
|
|
25
|
-
const
|
|
26
|
-
const headers = await getHeaders();
|
|
27
|
-
const cookies = parseCookies(headers);
|
|
28
|
-
const languageCode = getRequestLanguage({
|
|
29
|
-
config,
|
|
23
|
+
const {
|
|
30
24
|
cookies,
|
|
31
|
-
headers
|
|
25
|
+
headers,
|
|
26
|
+
languageCode,
|
|
27
|
+
permissions,
|
|
28
|
+
req,
|
|
29
|
+
req: {
|
|
30
|
+
payload: {
|
|
31
|
+
config
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
} = await initReq({
|
|
35
|
+
configPromise,
|
|
36
|
+
importMap,
|
|
37
|
+
key: 'RootLayout'
|
|
32
38
|
});
|
|
33
39
|
const theme = getRequestTheme({
|
|
34
40
|
config,
|
|
35
41
|
cookies,
|
|
36
42
|
headers
|
|
37
43
|
});
|
|
38
|
-
const payload = await getPayload({
|
|
39
|
-
config,
|
|
40
|
-
importMap
|
|
41
|
-
});
|
|
42
|
-
const {
|
|
43
|
-
permissions,
|
|
44
|
-
req
|
|
45
|
-
} = await initReq(config);
|
|
46
44
|
const dir = rtlLanguages.includes(languageCode) ? 'RTL' : 'LTR';
|
|
47
45
|
const languageOptions = Object.entries(config.i18n.supportedLanguages || {}).reduce((acc, [language, languageConfig]) => {
|
|
48
46
|
if (Object.keys(config.i18n.supportedLanguages).includes(language)) {
|
|
@@ -63,10 +61,7 @@ export const RootLayout = async ({
|
|
|
63
61
|
value: lang
|
|
64
62
|
});
|
|
65
63
|
}
|
|
66
|
-
const navPrefs = await getNavPrefs(
|
|
67
|
-
payload,
|
|
68
|
-
user: req.user
|
|
69
|
-
});
|
|
64
|
+
const navPrefs = await getNavPrefs(req.payload, req.user?.id, req.user?.collection);
|
|
70
65
|
const clientConfig = getClientConfig({
|
|
71
66
|
config,
|
|
72
67
|
i18n: req.i18n,
|
|
@@ -84,9 +79,6 @@ export const RootLayout = async ({
|
|
|
84
79
|
code
|
|
85
80
|
}) => code);
|
|
86
81
|
}
|
|
87
|
-
const locale = await getRequestLocale({
|
|
88
|
-
req
|
|
89
|
-
});
|
|
90
82
|
return /*#__PURE__*/_jsxs("html", {
|
|
91
83
|
"data-theme": theme,
|
|
92
84
|
dir: dir,
|
|
@@ -104,7 +96,7 @@ export const RootLayout = async ({
|
|
|
104
96
|
isNavOpen: navPrefs?.open ?? true,
|
|
105
97
|
languageCode: languageCode,
|
|
106
98
|
languageOptions: languageOptions,
|
|
107
|
-
locale: locale
|
|
99
|
+
locale: req.locale,
|
|
108
100
|
permissions: permissions,
|
|
109
101
|
serverFunction: serverFunction,
|
|
110
102
|
switchLanguageServerAction: switchLanguageServerAction,
|
|
@@ -112,11 +104,11 @@ export const RootLayout = async ({
|
|
|
112
104
|
translations: req.i18n.translations,
|
|
113
105
|
user: req.user,
|
|
114
106
|
children: [/*#__PURE__*/_jsx(ProgressBar, {}), Array.isArray(config.admin?.components?.providers) && config.admin?.components?.providers.length > 0 ? /*#__PURE__*/_jsx(NestProviders, {
|
|
115
|
-
importMap: payload.importMap,
|
|
107
|
+
importMap: req.payload.importMap,
|
|
116
108
|
providers: config.admin?.components?.providers,
|
|
117
109
|
serverProps: {
|
|
118
110
|
i18n: req.i18n,
|
|
119
|
-
payload,
|
|
111
|
+
payload: req.payload,
|
|
120
112
|
permissions,
|
|
121
113
|
user: req.user
|
|
122
114
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["rtlLanguages","ProgressBar","RootProvider","getClientConfig","
|
|
1
|
+
{"version":3,"file":"index.js","names":["rtlLanguages","ProgressBar","RootProvider","getClientConfig","cookies","nextCookies","React","getNavPrefs","getRequestTheme","initReq","checkDependencies","NestProviders","metadata","description","title","RootLayout","children","config","configPromise","importMap","serverFunction","headers","languageCode","permissions","req","payload","key","theme","dir","includes","languageOptions","Object","entries","i18n","supportedLanguages","reduce","acc","language","languageConfig","keys","push","label","translations","general","thisLanguage","value","switchLanguageServerAction","lang","set","name","cookiePrefix","path","navPrefs","user","id","collection","clientConfig","localization","filterAvailableLocales","locales","map","toString","rest","localeCodes","code","_jsxs","suppressHydrationWarning","admin","_jsx","dateFNSKey","fallbackLang","fallbackLanguage","isNavOpen","open","locale","Array","isArray","components","providers","length","serverProps"],"sources":["../../../src/layouts/Root/index.tsx"],"sourcesContent":["import type { AcceptedLanguages } from '@payloadcms/translations'\nimport type { ImportMap, LanguageOptions, SanitizedConfig, ServerFunctionClient } from 'payload'\n\nimport { rtlLanguages } from '@payloadcms/translations'\nimport { ProgressBar, RootProvider } from '@payloadcms/ui'\nimport { getClientConfig } from '@payloadcms/ui/utilities/getClientConfig'\nimport { cookies as nextCookies } from 'next/headers.js'\nimport React from 'react'\n\nimport { getNavPrefs } from '../../elements/Nav/getNavPrefs.js'\nimport { getRequestTheme } from '../../utilities/getRequestTheme.js'\nimport { initReq } from '../../utilities/initReq.js'\nimport { checkDependencies } from './checkDependencies.js'\nimport { NestProviders } from './NestProviders.js'\n\nimport '@payloadcms/ui/scss/app.scss'\n\nexport const metadata = {\n description: 'Generated by Next.js',\n title: 'Next.js',\n}\n\nexport const RootLayout = async ({\n children,\n config: configPromise,\n importMap,\n serverFunction,\n}: {\n readonly children: React.ReactNode\n readonly config: Promise<SanitizedConfig>\n readonly importMap: ImportMap\n readonly serverFunction: ServerFunctionClient\n}) => {\n checkDependencies()\n\n const {\n cookies,\n headers,\n languageCode,\n permissions,\n req,\n req: {\n payload: { config },\n },\n } = await initReq({ configPromise, importMap, key: 'RootLayout' })\n\n const theme = getRequestTheme({\n config,\n cookies,\n headers,\n })\n\n const dir = (rtlLanguages as unknown as AcceptedLanguages[]).includes(languageCode)\n ? 'RTL'\n : 'LTR'\n\n const languageOptions: LanguageOptions = Object.entries(\n config.i18n.supportedLanguages || {},\n ).reduce((acc, [language, languageConfig]) => {\n if (Object.keys(config.i18n.supportedLanguages).includes(language)) {\n acc.push({\n label: languageConfig.translations.general.thisLanguage,\n value: language,\n })\n }\n\n return acc\n }, [])\n\n async function switchLanguageServerAction(lang: string): Promise<void> {\n 'use server'\n const cookies = await nextCookies()\n cookies.set({\n name: `${config.cookiePrefix || 'payload'}-lng`,\n path: '/',\n value: lang,\n })\n }\n\n const navPrefs = await getNavPrefs(req.payload, req.user?.id, req.user?.collection)\n\n const clientConfig = getClientConfig({\n config,\n i18n: req.i18n,\n importMap,\n })\n\n if (\n clientConfig.localization &&\n config.localization &&\n typeof config.localization.filterAvailableLocales === 'function'\n ) {\n clientConfig.localization.locales = (\n await config.localization.filterAvailableLocales({\n locales: config.localization.locales,\n req,\n })\n ).map(({ toString, ...rest }) => rest)\n clientConfig.localization.localeCodes = config.localization.locales.map(({ code }) => code)\n }\n\n return (\n <html\n data-theme={theme}\n dir={dir}\n lang={languageCode}\n suppressHydrationWarning={config?.admin?.suppressHydrationWarning ?? false}\n >\n <head>\n <style>{`@layer payload-default, payload;`}</style>\n </head>\n <body>\n <RootProvider\n config={clientConfig}\n dateFNSKey={req.i18n.dateFNSKey}\n fallbackLang={config.i18n.fallbackLanguage}\n isNavOpen={navPrefs?.open ?? true}\n languageCode={languageCode}\n languageOptions={languageOptions}\n locale={req.locale}\n permissions={permissions}\n serverFunction={serverFunction}\n switchLanguageServerAction={switchLanguageServerAction}\n theme={theme}\n translations={req.i18n.translations}\n user={req.user}\n >\n <ProgressBar />\n {Array.isArray(config.admin?.components?.providers) &&\n config.admin?.components?.providers.length > 0 ? (\n <NestProviders\n importMap={req.payload.importMap}\n providers={config.admin?.components?.providers}\n serverProps={{\n i18n: req.i18n,\n payload: req.payload,\n permissions,\n user: req.user,\n }}\n >\n {children}\n </NestProviders>\n ) : (\n children\n )}\n </RootProvider>\n <div id=\"portal\" />\n </body>\n </html>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|