File tree 3 files changed +131
-0
lines changed
app/(main)/agency/[agencyId]
3 files changed +131
-0
lines changed Original file line number Diff line number Diff line change
1
+ import React from 'react'
2
+
3
+ type Props = {
4
+ children : React . ReactNode
5
+ params : { agencyId : string }
6
+ }
7
+
8
+ const layout = ( { children, params } : Props ) => {
9
+ return (
10
+ < div > layout</ div >
11
+ )
12
+ }
13
+
14
+ export default layout ;
Original file line number Diff line number Diff line change
1
+ import { getAuthUserDetails } from '@/lib/queries'
2
+ import { off } from 'process'
3
+ import React from 'react'
4
+ import MenuOptions from './menu-options'
5
+
6
+ type Props = {
7
+ id : string
8
+ type : 'agency' | 'subaccount'
9
+ }
10
+
11
+ const Sidebar = async ( { id, type } : Props ) => {
12
+ const user = await getAuthUserDetails ( )
13
+ if ( ! user ) return null
14
+
15
+ if ( ! user . Agency ) return
16
+
17
+ const details =
18
+ type === 'agency'
19
+ ? user ?. Agency
20
+ : user ?. Agency . SubAccount . find ( ( subaccount ) => subaccount . id === id )
21
+
22
+ const isWhiteLabeledAgency = user . Agency . whiteLabel
23
+ if ( ! details ) return
24
+
25
+ let sideBarLogo = user . Agency . agencyLogo || '/assets/plura-logo.svg'
26
+
27
+ if ( ! isWhiteLabeledAgency ) {
28
+ if ( type === 'subaccount' ) {
29
+ sideBarLogo =
30
+ user ?. Agency . SubAccount . find ( ( subaccount ) => subaccount . id === id )
31
+ ?. subAccountLogo || user . Agency . agencyLogo
32
+ }
33
+ }
34
+
35
+ const sidebarOpt =
36
+ type === 'agency'
37
+ ? user . Agency . SidebarOption || [ ]
38
+ : user . Agency . SubAccount . find ( ( subaccount ) => subaccount . id === id )
39
+ ?. SidebarOption || [ ]
40
+
41
+ const subaccounts = user . Agency . SubAccount . filter ( ( subaccount ) =>
42
+ user . Permissions . find (
43
+ ( permission ) =>
44
+ permission . subAccountId === subaccount . id && permission . access
45
+ )
46
+ )
47
+
48
+ return (
49
+ < >
50
+ < MenuOptions
51
+ defaultOpen = { true }
52
+ details = { details }
53
+ id = { id }
54
+ sidebarLogo = { sideBarLogo }
55
+ sidebarOpt = { sidebarOpt }
56
+ subAccounts = { subaccounts }
57
+ user = { user }
58
+ />
59
+ < MenuOptions
60
+ details = { details }
61
+ id = { id }
62
+ sidebarLogo = { sideBarLogo }
63
+ sidebarOpt = { sidebarOpt }
64
+ subAccounts = { subaccounts }
65
+ user = { user }
66
+ />
67
+ </ >
68
+ )
69
+ }
70
+
71
+ export default Sidebar
Original file line number Diff line number Diff line change
1
+ import React from 'react'
2
+ import {
3
+ Agency ,
4
+ AgencySidebarOption ,
5
+ SubAccount ,
6
+ SubAccountSidebarOption ,
7
+ } from '@prisma/client'
8
+ import { useEffect , useMemo , useState } from 'react'
9
+
10
+ type Props = {
11
+
12
+ defaultOpen ?: boolean
13
+ subAccounts : SubAccount [ ]
14
+ sidebarOpt : AgencySidebarOption [ ] | SubAccountSidebarOption [ ]
15
+ sidebarLogo : string
16
+ details : any
17
+ user : any
18
+ id : string
19
+ }
20
+
21
+ const MenuOptions = ( {
22
+ details,
23
+ id,
24
+ sidebarLogo,
25
+ sidebarOpt,
26
+ subAccounts,
27
+ user,
28
+ defaultOpen,
29
+ } : Props ) => {
30
+ // const { setOpen } = useModal()
31
+ const [ isMounted , setIsMounted ] = useState ( false )
32
+
33
+ const openState = useMemo (
34
+ ( ) => ( defaultOpen ? { open : true } : { } ) ,
35
+ [ defaultOpen ]
36
+ )
37
+
38
+ useEffect ( ( ) => {
39
+ setIsMounted ( true )
40
+ } , [ ] )
41
+
42
+ return (
43
+ < div > MenuOptions</ div >
44
+ )
45
+ }
46
+ export default MenuOptions ;
You can’t perform that action at this time.
0 commit comments