create-nextjs-cms 0.6.3 → 0.6.4
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/package.json +1 -1
- package/templates/default/app/(rootLayout)/layout.tsx +1 -1
- package/templates/default/components/Layout.tsx +5 -1
- package/templates/default/components/Sidebar.tsx +9 -8
- package/templates/default/components/SidebarDropdownItem.tsx +1 -1
- package/templates/default/package.json +2 -2
package/package.json
CHANGED
|
@@ -54,7 +54,7 @@ export default async function CMSLayout({ children }: { children: React.ReactNod
|
|
|
54
54
|
>
|
|
55
55
|
<Providers session={session ?? undefined}>
|
|
56
56
|
<HydrateClient>
|
|
57
|
-
<Layout logoUrlPath={cmsConfig.ui.logo} logoText={cmsConfig.ui.logoText}>
|
|
57
|
+
<Layout logoUrlPath={cmsConfig.ui.logo} logoText={cmsConfig.ui.logoText} isRTL={isRTL}>
|
|
58
58
|
{children}
|
|
59
59
|
</Layout>
|
|
60
60
|
</HydrateClient>
|
|
@@ -13,10 +13,12 @@ function Layout({
|
|
|
13
13
|
children,
|
|
14
14
|
logoUrlPath,
|
|
15
15
|
logoText,
|
|
16
|
+
isRTL,
|
|
16
17
|
}: {
|
|
17
18
|
children: React.ReactNode
|
|
18
19
|
logoUrlPath: string
|
|
19
20
|
logoText: string
|
|
21
|
+
isRTL: boolean
|
|
20
22
|
}) {
|
|
21
23
|
const [showMobileSidebar, setShowMobileSidebar] = useState(false)
|
|
22
24
|
const session = useSession({
|
|
@@ -44,6 +46,7 @@ function Layout({
|
|
|
44
46
|
mobileSidebar={showMobileSidebar}
|
|
45
47
|
logoUrlPath={logoUrlPath}
|
|
46
48
|
logoText={logoText}
|
|
49
|
+
isRTL={isRTL}
|
|
47
50
|
/>
|
|
48
51
|
{showMobileSidebar && (
|
|
49
52
|
// Display a black transparent div to close the sidebar when clicked outside
|
|
@@ -55,7 +58,8 @@ function Layout({
|
|
|
55
58
|
<div
|
|
56
59
|
className={classNames({
|
|
57
60
|
'transition-all duration-100 ease-in-out': true,
|
|
58
|
-
'float-right
|
|
61
|
+
'float-right': !isRTL,
|
|
62
|
+
'float-left': isRTL,
|
|
59
63
|
'w-full md:w-[calc(100%-275px)]': true,
|
|
60
64
|
})}
|
|
61
65
|
>
|
|
@@ -12,7 +12,7 @@ import { trpc } from '@/app/_trpc/client'
|
|
|
12
12
|
import { useToast } from '@/components/ui/use-toast'
|
|
13
13
|
import { logout, useSession } from 'nextjs-cms/auth/react'
|
|
14
14
|
|
|
15
|
-
const Sidebar = (props: SidebarProps & { logoUrlPath: string; logoText: string }) => {
|
|
15
|
+
const Sidebar = (props: SidebarProps & { logoUrlPath: string; logoText: string; isRTL: boolean }) => {
|
|
16
16
|
const t = useI18n()
|
|
17
17
|
const session = useSession()
|
|
18
18
|
const [navItems] = trpc.navigation.getSidebar.useSuspenseQuery()
|
|
@@ -30,7 +30,6 @@ const Sidebar = (props: SidebarProps & { logoUrlPath: string; logoText: string }
|
|
|
30
30
|
})
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
|
-
const isRTL = session?.data?.user?.locale === 'ar'
|
|
34
33
|
return (
|
|
35
34
|
<div
|
|
36
35
|
className={classNames({
|
|
@@ -39,12 +38,14 @@ const Sidebar = (props: SidebarProps & { logoUrlPath: string; logoText: string }
|
|
|
39
38
|
'transition-all duration-100 ease-in-out': true,
|
|
40
39
|
'w-[300px] md:w-[275px]': true,
|
|
41
40
|
// LTR: sidebar on left, slides in from left
|
|
42
|
-
'left-0
|
|
43
|
-
'
|
|
41
|
+
'left-0': !props.isRTL,
|
|
42
|
+
'md:translate-x-0': !props.isRTL,
|
|
43
|
+
'-translate-x-full': !props.isRTL && !props.mobileSidebar,
|
|
44
44
|
// RTL: sidebar on right, slides in from right
|
|
45
|
-
'
|
|
46
|
-
'
|
|
47
|
-
|
|
45
|
+
'right-0': props.isRTL,
|
|
46
|
+
'translate-x-full md:translate-x-0': props.isRTL && !props.mobileSidebar,
|
|
47
|
+
// Mobile sidebar shown (both LTR and RTL)
|
|
48
|
+
'translate-x-0': props.mobileSidebar,
|
|
48
49
|
})}
|
|
49
50
|
>
|
|
50
51
|
<div
|
|
@@ -64,7 +65,7 @@ const Sidebar = (props: SidebarProps & { logoUrlPath: string; logoText: string }
|
|
|
64
65
|
{props.logoText}
|
|
65
66
|
</span>
|
|
66
67
|
</div>
|
|
67
|
-
<ScrollArea dir={isRTL ? 'rtl' : 'ltr'} type='always' className='grow'>
|
|
68
|
+
<ScrollArea dir={props.isRTL ? 'rtl' : 'ltr'} type='always' className='grow'>
|
|
68
69
|
<ul
|
|
69
70
|
className={classNames({
|
|
70
71
|
'my-2 flex flex-col items-stretch gap-2': true,
|
|
@@ -28,7 +28,7 @@ export default function SidebarDropdownItem({ item, closeSideBar }: SidebarItemP
|
|
|
28
28
|
{open ? (
|
|
29
29
|
<ChevronUpIcon className='h-5 w-5' />
|
|
30
30
|
) : (
|
|
31
|
-
<ChevronDownIcon className='h-5 w-5
|
|
31
|
+
<ChevronDownIcon className='h-5 w-5' />
|
|
32
32
|
)}
|
|
33
33
|
</span>
|
|
34
34
|
</li>
|
|
@@ -65,7 +65,7 @@
|
|
|
65
65
|
"nanoid": "^5.1.2",
|
|
66
66
|
"next": "16.1.1",
|
|
67
67
|
"next-themes": "^0.4.6",
|
|
68
|
-
"nextjs-cms": "0.6.
|
|
68
|
+
"nextjs-cms": "0.6.4",
|
|
69
69
|
"plaiceholder": "^3.0.0",
|
|
70
70
|
"prettier-plugin-tailwindcss": "^0.7.2",
|
|
71
71
|
"qrcode": "^1.5.4",
|
|
@@ -98,7 +98,7 @@
|
|
|
98
98
|
"eslint-config-prettier": "^10.0.1",
|
|
99
99
|
"eslint-plugin-prettier": "^5.2.3",
|
|
100
100
|
"fs-extra": "^11.3.3",
|
|
101
|
-
"nextjs-cms-kit": "0.6.
|
|
101
|
+
"nextjs-cms-kit": "0.6.4",
|
|
102
102
|
"postcss": "^8.5.1",
|
|
103
103
|
"prettier": "3.5.0",
|
|
104
104
|
"raw-loader": "^4.0.2",
|