Menus, globals, vendor page

This commit is contained in:
2023-07-09 20:37:50 +04:00
parent c28dc2146c
commit 9382da5750
12 changed files with 298 additions and 291 deletions

View File

@@ -1,29 +1,28 @@
import { Link } from '@chakra-ui/next-js'
import { Box, Flex, Stack, useColorModeValue } from '@chakra-ui/react'
import { Box, Flex, Stack, Text, useColorModeValue } from '@chakra-ui/react'
export default function Footer({ siteName }) {
export default function Footer({ menu, globals }) {
return (
<>
<Box bg={useColorModeValue('gray.100', 'gray.900')} px={4} mt="8">
<Flex h={16} alignItems={'center'}>
<FooterMenu />
</Flex>
</Box>
</>
<Box bg={useColorModeValue('gray.100', 'gray.900')} px={4} mt="8">
<Flex h={16} alignItems={'center'} justifyContent="space-between">
<FooterMenu items={menu.items} />
<Text>{globals.copyright}</Text>
</Flex>
</Box>
)
}
const FooterMenu = () => {
const FooterMenu = ({ items }) => {
const linkColor = useColorModeValue('gray.600', 'gray.200')
const linkHoverColor = useColorModeValue('gray.800', 'white')
return (
<Stack direction={'row'} spacing={4} pl="4">
{NAV_ITEMS.map((navItem) => (
{items.map((navItem) => (
<Box key={navItem.label}>
<Link
p={2}
href={navItem.href ?? '#'}
href={navItem.url ?? '#'}
fontSize={'sm'}
fontWeight={500}
color={linkColor}
@@ -39,14 +38,3 @@ const FooterMenu = () => {
</Stack>
)
}
const NAV_ITEMS = [
{
label: 'Vendors',
href: '/vendors',
},
{
label: 'About Us',
href: '/about-us',
},
]

View File

@@ -2,15 +2,16 @@ import { MoonIcon, SunIcon } from '@chakra-ui/icons'
import { Box, Button, Flex, Heading, Spacer, Stack, useColorMode, useColorModeValue } from '@chakra-ui/react'
import { Link } from '@chakra-ui/next-js'
export default function Header({ siteName }) {
export default function Header({ menu, globals }) {
const { colorMode, toggleColorMode } = useColorMode()
return (
<>
<Box bg={useColorModeValue('gray.100', 'gray.900')} px={4}>
<Flex h={16} alignItems={'center'}>
<Heading size="md">{siteName}</Heading>
<Heading size="md">{globals.site_name}</Heading>
<MainMenu />
<MainMenu items={menu.items} />
<Spacer />
<Flex alignItems={'center'}>
@@ -24,17 +25,17 @@ export default function Header({ siteName }) {
)
}
const MainMenu = () => {
const MainMenu = ({ items }) => {
const linkColor = useColorModeValue('gray.600', 'gray.200')
const linkHoverColor = useColorModeValue('gray.800', 'white')
return (
<Stack direction={'row'} spacing={4} pl="4">
{NAV_ITEMS.map((navItem) => (
{items.map((navItem) => (
<Box key={navItem.label}>
<Link
p={2}
href={navItem.href ?? '#'}
href={navItem.url ?? '#'}
fontSize={'sm'}
fontWeight={500}
color={linkColor}
@@ -50,14 +51,3 @@ const MainMenu = () => {
</Stack>
)
}
const NAV_ITEMS = [
{
label: 'Vendors',
href: '/vendors',
},
{
label: 'About Us',
href: '/about-us',
},
]

View File

@@ -1,13 +1,13 @@
import { Container } from '@chakra-ui/react'
import { Container, Box } from '@chakra-ui/react'
import Footer from '~/components/footer'
import Header from '~/components/header'
export default function Layout({ children }) {
export default function Layout({ globals, menus, children }) {
return (
<Container maxW={'8xl'}>
<Header />
<main>{children}</main>
<Footer />
<Header menu={menus.find((m) => m.id === 'MAIN_MENU')} globals={globals} />
<Box marginY="6">{children}</Box>
<Footer menu={menus.find((m) => m.id === 'FOOTER_MENU')} globals={globals} />
</Container>
)
}

View File

@@ -16,7 +16,7 @@
"@emotion/styled": "11.11.0",
"@react-hookz/web": "23.1.0",
"clsx": "1.2.1",
"next": "13.4.8",
"next": "13.4.9",
"react": "18.2.0",
"react-dom": "18.2.0",
"react-icons": "4.10.1",

View File

@@ -1,3 +1,5 @@
import { Box, Button, Heading, Image, List, ListIcon, ListItem, SimpleGrid, Text } from '@chakra-ui/react'
export const getStaticPaths = async () => {
const url = new URL(`${process.env.NEXT_PUBLIC_DIRECTUS_API_URL}/items/pages`)
url.searchParams.append('fields[]', 'slug')
@@ -29,9 +31,9 @@ export const getStaticProps = async ({ params: { slug } }) => {
export default function Page(page) {
return (
<div>
<h1>{page.title}</h1>
<Box>
<Heading>{page.title}</Heading>
<div dangerouslySetInnerHTML={{ __html: page.content }}></div>
</div>
</Box>
)
}

View File

@@ -1,13 +1,43 @@
import App from 'next/app'
import { ChakraProvider } from '@chakra-ui/react'
import Layout from '~/components/layout'
import theme from '~/src/theme'
export default function MyApp({ Component, pageProps }) {
export default function MyApp({ Component, pageProps, globals, menus }) {
return (
<ChakraProvider theme={theme}>
<Layout>
<Layout globals={globals} menus={menus}>
<Component {...pageProps} />
</Layout>
</ChakraProvider>
)
}
MyApp.getInitialProps = async (context) => {
const pageProps = await App.getInitialProps(context)
let url = new URL(`${process.env.NEXT_PUBLIC_DIRECTUS_API_URL}/items/globals`)
url.searchParams.append('fields[]', '*')
url.searchParams.append('limit', 1)
const resG = await fetch(url.toString())
let { data: globals } = await resG.json()
url = new URL(`${process.env.NEXT_PUBLIC_DIRECTUS_API_URL}/items/menus`)
url.searchParams.append('fields[]', '*')
url.searchParams.append('fields[]', 'menus_menu_items.sort')
url.searchParams.append('fields[]', 'menus_menu_items.menu_items_id.label')
url.searchParams.append('fields[]', 'menus_menu_items.menu_items_id.url')
url.searchParams.append('fields[]', 'menus_menu_items.menu_items_id.sort')
url.searchParams.append('limit', -1)
const resM = await fetch(url.toString())
const { data: menus } = await resM.json()
return {
...pageProps,
globals,
menus: menus.map((m) => ({
id: m.id,
items: m.menus_menu_items.sort((a, b) => a.sort - b.sort).map((mm) => mm.menu_items_id),
})),
}
}

View File

@@ -1,4 +1,8 @@
// import directus from '~/lib/directus'
import { Link } from '@chakra-ui/next-js'
import { Box, Button, Flex, Heading, Image, List, ListIcon, ListItem, SimpleGrid, Text } from '@chakra-ui/react'
import { FaFacebookSquare, FaLinkedin, FaTwitterSquare } from 'react-icons/fa'
import { TbWorldWww } from 'react-icons/tb'
export const getStaticPaths = async () => {
const url = new URL(`${process.env.NEXT_PUBLIC_DIRECTUS_API_URL}/items/vendors`)
url.searchParams.append('fields[]', 'slug')
@@ -36,62 +40,134 @@ export const getStaticProps = async ({ params: { slug } }) => {
export default function VendorPage(vendor) {
return (
<>
<h1>{vendor.name}</h1>
<p>{vendor.description}</p>
<Flex justifyContent="space-between" direction={['column', 'column', 'row']}>
<Heading marginY="6">{vendor.name}</Heading>
<Image
rounded={4}
objectFit="contain"
src={`${process.env.NEXT_PUBLIC_DIRECTUS_API_URL}/assets/${vendor.logo}?key=logo-page`}
alt={vendor.name}
width="350px"
height="150px"
bg="#fff"
/>
</Flex>
<Box
dangerouslySetInnerHTML={{ __html: vendor.long_description }}
sx={{
h5: {
fontFamily: 'var(--chakra-fonts-heading)',
fontWeight: 'var(--chakra-fontWeights-bold)',
fontSize: 'var(--chakra-fontSizes-xl)',
marginTop: 'var(--chakra-space-6)',
marginBottom: 'var(--chakra-space-1)',
},
}}
></Box>
<h2>Address</h2>
<p>
{vendor.address_line_1 && (
<>
{vendor.address_line_1}
<br />
</>
)}
{vendor.address_line_2 && (
<>
{vendor.address_line_2}
<br />
</>
)}
{vendor.city && (
<>
{vendor.city}
<br />
</>
)}
{vendor.state && (
<>
{vendor.state}
<br />
</>
)}
{vendor.country && (
<>
{vendor.country}
<br />
</>
)}
</p>
{vendor.website && (
<>
<h2>Website</h2>
<a href={vendor.website} target="_blank">
{vendor.website}
</a>
</>
)}
{vendor.categories.length > 0 && (
<>
<h2>Categories</h2>
<ul>
{vendor.categories.map((cat) => (
<li key={cat.categories_id.slug}>{cat.categories_id.name}</li>
))}
</ul>
</>
)}
<SimpleGrid columns={[1, 2, 3]} spacing={10}>
<Box>
<Heading size="md" mt="6" mb="1">
Address
</Heading>
<Text>
{vendor.address_line_1 && (
<>
{vendor.address_line_1}
<br />
</>
)}
{vendor.address_line_2 && (
<>
{vendor.address_line_2}
<br />
</>
)}
{vendor.city && (
<>
{vendor.city}
<br />
</>
)}
{vendor.state && (
<>
{vendor.state}
<br />
</>
)}
{vendor.country && (
<>
{vendor.country}
<br />
</>
)}
</Text>
</Box>
<Box>
{(vendor.website || vendor.facebook || vendor.linkedin || vendor.twitter) && (
<>
<Heading size="md" mt="6" mb="1">
Social
</Heading>
<List>
{vendor.website && (
<ListItem>
<ListIcon as={TbWorldWww} />
{vendor.website}
</ListItem>
)}
{vendor.linkedin && (
<ListItem>
<ListIcon as={FaLinkedin} />
{vendor.linkedin}
</ListItem>
)}
{vendor.twitter && (
<ListItem>
<ListIcon as={FaTwitterSquare} />
{vendor.twitter}
</ListItem>
)}
{vendor.facebook && (
<ListItem>
<ListIcon as={FaFacebookSquare} />
{vendor.facebook}
</ListItem>
)}
</List>
</>
)}
</Box>
<Box>
{vendor.categories.length > 0 && (
<>
<Heading size="md" mt="6" mb="1">
Categories
</Heading>
<List spacing="3">
{vendor.categories.map((cat) => (
<ListItem key={cat.categories_id.slug}>
<Button
as={Link}
fontSize="11"
href={{
pathname: '/vendors',
query: {
category: cat.categories_id.slug,
},
}}
paddingX="0.5rem"
height="1.5rem"
>
{cat.categories_id.name}
</Button>
</ListItem>
))}
</List>
</>
)}
</Box>
</SimpleGrid>
</>
)
}

View File

@@ -136,9 +136,7 @@ export default function VendorsPage({ categories }) {
return (
<>
<Flex alignItems="center" justifyContent="space-between" direction={['column', 'row']} mb="5" gap="5">
<Heading size="lg" my={8}>
Vendors
</Heading>
<Heading size="lg">Vendors</Heading>
<Box>{isValidating && <Spinner />}</Box>
<HStack gap="5">
<InputGroup>
@@ -203,7 +201,7 @@ export default function VendorsPage({ categories }) {
<LinkBox as={Card} rounded={4} key={v.id}>
<Image
roundedTop={4}
objectFit="cover"
objectFit="contain"
src={`${process.env.NEXT_PUBLIC_DIRECTUS_API_URL}/assets/${v.logo}?key=logo-card`}
alt={v.name}
width="250"

233
frontend/pnpm-lock.yaml generated
View File

@@ -10,10 +10,10 @@ dependencies:
version: 2.0.19(@chakra-ui/system@2.5.8)(react@18.2.0)
'@chakra-ui/next-js':
specifier: 2.1.4
version: 2.1.4(@chakra-ui/react@2.7.1)(@emotion/react@11.11.1)(next@13.4.8)(react@18.2.0)
version: 2.1.4(@chakra-ui/react@2.7.1)(@emotion/react@11.11.1)(next@13.4.9)(react@18.2.0)
'@chakra-ui/react':
specifier: 2.7.1
version: 2.7.1(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(framer-motion@6.5.1)(react-dom@18.2.0)(react@18.2.0)
version: 2.7.1(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(framer-motion@10.12.18)(react-dom@18.2.0)(react@18.2.0)
'@emotion/react':
specifier: 11.11.1
version: 11.11.1(react@18.2.0)
@@ -27,8 +27,8 @@ dependencies:
specifier: 1.2.1
version: 1.2.1
next:
specifier: 13.4.8
version: 13.4.8(react-dom@18.2.0)(react@18.2.0)
specifier: 13.4.9
version: 13.4.9(react-dom@18.2.0)(react@18.2.0)
react:
specifier: 18.2.0
version: 18.2.0
@@ -93,7 +93,7 @@ packages:
to-fast-properties: 2.0.0
dev: false
/@chakra-ui/accordion@2.2.0(@chakra-ui/system@2.5.8)(framer-motion@6.5.1)(react@18.2.0):
/@chakra-ui/accordion@2.2.0(@chakra-ui/system@2.5.8)(framer-motion@10.12.18)(react@18.2.0):
resolution: {integrity: sha512-2IK1iLzTZ22u8GKPPPn65mqJdZidn4AvkgAbv17ISdKA07VHJ8jSd4QF1T5iCXjKfZ0XaXozmhP4kDhjwF2IbQ==}
peerDependencies:
'@chakra-ui/system': '>=2.0.0'
@@ -107,8 +107,8 @@ packages:
'@chakra-ui/react-use-merge-refs': 2.0.7(react@18.2.0)
'@chakra-ui/shared-utils': 2.0.5
'@chakra-ui/system': 2.5.8(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(react@18.2.0)
'@chakra-ui/transition': 2.0.16(framer-motion@6.5.1)(react@18.2.0)
framer-motion: 6.5.1(react-dom@18.2.0)(react@18.2.0)
'@chakra-ui/transition': 2.0.16(framer-motion@10.12.18)(react@18.2.0)
framer-motion: 10.12.18(react-dom@18.2.0)(react@18.2.0)
react: 18.2.0
dev: false
@@ -436,7 +436,7 @@ packages:
react: 18.2.0
dev: false
/@chakra-ui/menu@2.1.15(@chakra-ui/system@2.5.8)(framer-motion@6.5.1)(react@18.2.0):
/@chakra-ui/menu@2.1.15(@chakra-ui/system@2.5.8)(framer-motion@10.12.18)(react@18.2.0):
resolution: {integrity: sha512-+1fh7KBKZyhy8wi7Q6nQAzrvjM6xggyhGMnSna0rt6FJVA2jlfkjb5FozyIVPnkfJKjkKd8THVhrs9E7pHNV/w==}
peerDependencies:
'@chakra-ui/system': '>=2.0.0'
@@ -458,12 +458,12 @@ packages:
'@chakra-ui/react-use-update-effect': 2.0.7(react@18.2.0)
'@chakra-ui/shared-utils': 2.0.5
'@chakra-ui/system': 2.5.8(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(react@18.2.0)
'@chakra-ui/transition': 2.0.16(framer-motion@6.5.1)(react@18.2.0)
framer-motion: 6.5.1(react-dom@18.2.0)(react@18.2.0)
'@chakra-ui/transition': 2.0.16(framer-motion@10.12.18)(react@18.2.0)
framer-motion: 10.12.18(react-dom@18.2.0)(react@18.2.0)
react: 18.2.0
dev: false
/@chakra-ui/modal@2.2.12(@chakra-ui/system@2.5.8)(framer-motion@6.5.1)(react-dom@18.2.0)(react@18.2.0):
/@chakra-ui/modal@2.2.12(@chakra-ui/system@2.5.8)(framer-motion@10.12.18)(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-F1nNmYGvyqlmxidbwaBM3y57NhZ/Qeyc8BE9tb1FL1v9nxQhkfrPvMQ9miK0O1syPN6aZ5MMj+uD3AsRFE+/tA==}
peerDependencies:
'@chakra-ui/system': '>=2.0.0'
@@ -479,9 +479,9 @@ packages:
'@chakra-ui/react-use-merge-refs': 2.0.7(react@18.2.0)
'@chakra-ui/shared-utils': 2.0.5
'@chakra-ui/system': 2.5.8(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(react@18.2.0)
'@chakra-ui/transition': 2.0.16(framer-motion@6.5.1)(react@18.2.0)
'@chakra-ui/transition': 2.0.16(framer-motion@10.12.18)(react@18.2.0)
aria-hidden: 1.2.3
framer-motion: 6.5.1(react-dom@18.2.0)(react@18.2.0)
framer-motion: 10.12.18(react-dom@18.2.0)(react@18.2.0)
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
react-remove-scroll: 2.5.6(react@18.2.0)
@@ -489,7 +489,7 @@ packages:
- '@types/react'
dev: false
/@chakra-ui/next-js@2.1.4(@chakra-ui/react@2.7.1)(@emotion/react@11.11.1)(next@13.4.8)(react@18.2.0):
/@chakra-ui/next-js@2.1.4(@chakra-ui/react@2.7.1)(@emotion/react@11.11.1)(next@13.4.9)(react@18.2.0):
resolution: {integrity: sha512-qPmpZSA6ONozcD8gC8fyuEPqweZqk1Y4ar/hbfUDLMdCCRsU+aigN6ay2HBBn3kPzzMOE6BUlkgvij8uB8smxQ==}
peerDependencies:
'@chakra-ui/react': '>=2.4.0'
@@ -497,10 +497,10 @@ packages:
next: '>=13'
react: '>=18'
dependencies:
'@chakra-ui/react': 2.7.1(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(framer-motion@6.5.1)(react-dom@18.2.0)(react@18.2.0)
'@chakra-ui/react': 2.7.1(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(framer-motion@10.12.18)(react-dom@18.2.0)(react@18.2.0)
'@emotion/cache': 11.11.0
'@emotion/react': 11.11.1(react@18.2.0)
next: 13.4.8(react-dom@18.2.0)(react@18.2.0)
next: 13.4.9(react-dom@18.2.0)(react@18.2.0)
react: 18.2.0
dev: false
@@ -550,7 +550,7 @@ packages:
react: 18.2.0
dev: false
/@chakra-ui/popover@2.1.12(@chakra-ui/system@2.5.8)(framer-motion@6.5.1)(react@18.2.0):
/@chakra-ui/popover@2.1.12(@chakra-ui/system@2.5.8)(framer-motion@10.12.18)(react@18.2.0):
resolution: {integrity: sha512-Corh8trA1f3ydcMQqomgSvYNNhAlpxiBpMY2sglwYazOJcueHA8CI05cJVD0T/wwoTob7BShabhCGFZThn61Ng==}
peerDependencies:
'@chakra-ui/system': '>=2.0.0'
@@ -569,7 +569,7 @@ packages:
'@chakra-ui/react-use-merge-refs': 2.0.7(react@18.2.0)
'@chakra-ui/shared-utils': 2.0.5
'@chakra-ui/system': 2.5.8(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(react@18.2.0)
framer-motion: 6.5.1(react-dom@18.2.0)(react@18.2.0)
framer-motion: 10.12.18(react-dom@18.2.0)(react@18.2.0)
react: 18.2.0
dev: false
@@ -837,7 +837,7 @@ packages:
react: 18.2.0
dev: false
/@chakra-ui/react@2.7.1(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(framer-motion@6.5.1)(react-dom@18.2.0)(react@18.2.0):
/@chakra-ui/react@2.7.1(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(framer-motion@10.12.18)(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-uIYIAg+gnUoRbgdCfSEVvQnrEz0oWWXATGGSQpxmuJovNVyZKnX/Xug7NkWQfBUJPYRSG+VB69ZmsAFpyLSMtA==}
peerDependencies:
'@emotion/react': ^11.0.0
@@ -846,7 +846,7 @@ packages:
react: '>=18'
react-dom: '>=18'
dependencies:
'@chakra-ui/accordion': 2.2.0(@chakra-ui/system@2.5.8)(framer-motion@6.5.1)(react@18.2.0)
'@chakra-ui/accordion': 2.2.0(@chakra-ui/system@2.5.8)(framer-motion@10.12.18)(react@18.2.0)
'@chakra-ui/alert': 2.1.0(@chakra-ui/system@2.5.8)(react@18.2.0)
'@chakra-ui/avatar': 2.2.11(@chakra-ui/system@2.5.8)(react@18.2.0)
'@chakra-ui/breadcrumb': 2.1.5(@chakra-ui/system@2.5.8)(react@18.2.0)
@@ -867,11 +867,11 @@ packages:
'@chakra-ui/layout': 2.2.0(@chakra-ui/system@2.5.8)(react@18.2.0)
'@chakra-ui/live-region': 2.0.13(react@18.2.0)
'@chakra-ui/media-query': 3.2.12(@chakra-ui/system@2.5.8)(react@18.2.0)
'@chakra-ui/menu': 2.1.15(@chakra-ui/system@2.5.8)(framer-motion@6.5.1)(react@18.2.0)
'@chakra-ui/modal': 2.2.12(@chakra-ui/system@2.5.8)(framer-motion@6.5.1)(react-dom@18.2.0)(react@18.2.0)
'@chakra-ui/menu': 2.1.15(@chakra-ui/system@2.5.8)(framer-motion@10.12.18)(react@18.2.0)
'@chakra-ui/modal': 2.2.12(@chakra-ui/system@2.5.8)(framer-motion@10.12.18)(react-dom@18.2.0)(react@18.2.0)
'@chakra-ui/number-input': 2.0.19(@chakra-ui/system@2.5.8)(react@18.2.0)
'@chakra-ui/pin-input': 2.0.20(@chakra-ui/system@2.5.8)(react@18.2.0)
'@chakra-ui/popover': 2.1.12(@chakra-ui/system@2.5.8)(framer-motion@6.5.1)(react@18.2.0)
'@chakra-ui/popover': 2.1.12(@chakra-ui/system@2.5.8)(framer-motion@10.12.18)(react@18.2.0)
'@chakra-ui/popper': 3.0.14(react@18.2.0)
'@chakra-ui/portal': 2.0.16(react-dom@18.2.0)(react@18.2.0)
'@chakra-ui/progress': 2.1.6(@chakra-ui/system@2.5.8)(react@18.2.0)
@@ -886,7 +886,7 @@ packages:
'@chakra-ui/stat': 2.0.18(@chakra-ui/system@2.5.8)(react@18.2.0)
'@chakra-ui/stepper': 2.2.0(@chakra-ui/system@2.5.8)(react@18.2.0)
'@chakra-ui/styled-system': 2.9.1
'@chakra-ui/switch': 2.0.27(@chakra-ui/system@2.5.8)(framer-motion@6.5.1)(react@18.2.0)
'@chakra-ui/switch': 2.0.27(@chakra-ui/system@2.5.8)(framer-motion@10.12.18)(react@18.2.0)
'@chakra-ui/system': 2.5.8(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(react@18.2.0)
'@chakra-ui/table': 2.0.17(@chakra-ui/system@2.5.8)(react@18.2.0)
'@chakra-ui/tabs': 2.1.9(@chakra-ui/system@2.5.8)(react@18.2.0)
@@ -894,14 +894,14 @@ packages:
'@chakra-ui/textarea': 2.0.19(@chakra-ui/system@2.5.8)(react@18.2.0)
'@chakra-ui/theme': 3.1.2(@chakra-ui/styled-system@2.9.1)
'@chakra-ui/theme-utils': 2.0.18
'@chakra-ui/toast': 6.1.4(@chakra-ui/system@2.5.8)(framer-motion@6.5.1)(react-dom@18.2.0)(react@18.2.0)
'@chakra-ui/tooltip': 2.2.9(@chakra-ui/system@2.5.8)(framer-motion@6.5.1)(react-dom@18.2.0)(react@18.2.0)
'@chakra-ui/transition': 2.0.16(framer-motion@6.5.1)(react@18.2.0)
'@chakra-ui/toast': 6.1.4(@chakra-ui/system@2.5.8)(framer-motion@10.12.18)(react-dom@18.2.0)(react@18.2.0)
'@chakra-ui/tooltip': 2.2.9(@chakra-ui/system@2.5.8)(framer-motion@10.12.18)(react-dom@18.2.0)(react@18.2.0)
'@chakra-ui/transition': 2.0.16(framer-motion@10.12.18)(react@18.2.0)
'@chakra-ui/utils': 2.0.15
'@chakra-ui/visually-hidden': 2.0.15(@chakra-ui/system@2.5.8)(react@18.2.0)
'@emotion/react': 11.11.1(react@18.2.0)
'@emotion/styled': 11.11.0(@emotion/react@11.11.1)(react@18.2.0)
framer-motion: 6.5.1(react-dom@18.2.0)(react@18.2.0)
framer-motion: 10.12.18(react-dom@18.2.0)(react@18.2.0)
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
transitivePeerDependencies:
@@ -1012,7 +1012,7 @@ packages:
lodash.mergewith: 4.6.2
dev: false
/@chakra-ui/switch@2.0.27(@chakra-ui/system@2.5.8)(framer-motion@6.5.1)(react@18.2.0):
/@chakra-ui/switch@2.0.27(@chakra-ui/system@2.5.8)(framer-motion@10.12.18)(react@18.2.0):
resolution: {integrity: sha512-z76y2fxwMlvRBrC5W8xsZvo3gP+zAEbT3Nqy5P8uh/IPd5OvDsGeac90t5cgnQTyxMOpznUNNK+1eUZqtLxWnQ==}
peerDependencies:
'@chakra-ui/system': '>=2.0.0'
@@ -1022,7 +1022,7 @@ packages:
'@chakra-ui/checkbox': 2.2.15(@chakra-ui/system@2.5.8)(react@18.2.0)
'@chakra-ui/shared-utils': 2.0.5
'@chakra-ui/system': 2.5.8(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(react@18.2.0)
framer-motion: 6.5.1(react-dom@18.2.0)(react@18.2.0)
framer-motion: 10.12.18(react-dom@18.2.0)(react@18.2.0)
react: 18.2.0
dev: false
@@ -1131,7 +1131,7 @@ packages:
'@chakra-ui/theme-tools': 2.0.18(@chakra-ui/styled-system@2.9.1)
dev: false
/@chakra-ui/toast@6.1.4(@chakra-ui/system@2.5.8)(framer-motion@6.5.1)(react-dom@18.2.0)(react@18.2.0):
/@chakra-ui/toast@6.1.4(@chakra-ui/system@2.5.8)(framer-motion@10.12.18)(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-wAcPHq/N/ar4jQxkUGhnsbp+lx2eKOpHxn1KaWdHXUkqCNUA1z09fvBsoMyzObSiiwbDuQPZG5RxsOhzfPZX4Q==}
peerDependencies:
'@chakra-ui/system': 2.5.8
@@ -1149,12 +1149,12 @@ packages:
'@chakra-ui/styled-system': 2.9.1
'@chakra-ui/system': 2.5.8(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(react@18.2.0)
'@chakra-ui/theme': 3.1.2(@chakra-ui/styled-system@2.9.1)
framer-motion: 6.5.1(react-dom@18.2.0)(react@18.2.0)
framer-motion: 10.12.18(react-dom@18.2.0)(react@18.2.0)
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
dev: false
/@chakra-ui/tooltip@2.2.9(@chakra-ui/system@2.5.8)(framer-motion@6.5.1)(react-dom@18.2.0)(react@18.2.0):
/@chakra-ui/tooltip@2.2.9(@chakra-ui/system@2.5.8)(framer-motion@10.12.18)(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-ZoksllanqXRUyMDaiogvUVJ+RdFXwZrfrwx3RV22fejYZIQ602hZ3QHtHLB5ZnKFLbvXKMZKM23HxFTSb0Ytqg==}
peerDependencies:
'@chakra-ui/system': '>=2.0.0'
@@ -1171,19 +1171,19 @@ packages:
'@chakra-ui/react-use-merge-refs': 2.0.7(react@18.2.0)
'@chakra-ui/shared-utils': 2.0.5
'@chakra-ui/system': 2.5.8(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(react@18.2.0)
framer-motion: 6.5.1(react-dom@18.2.0)(react@18.2.0)
framer-motion: 10.12.18(react-dom@18.2.0)(react@18.2.0)
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
dev: false
/@chakra-ui/transition@2.0.16(framer-motion@6.5.1)(react@18.2.0):
/@chakra-ui/transition@2.0.16(framer-motion@10.12.18)(react@18.2.0):
resolution: {integrity: sha512-E+RkwlPc3H7P1crEXmXwDXMB2lqY2LLia2P5siQ4IEnRWIgZXlIw+8Em+NtHNgusel2N+9yuB0wT9SeZZeZ3CQ==}
peerDependencies:
framer-motion: '>=4.0.0'
react: '>=18'
dependencies:
'@chakra-ui/shared-utils': 2.0.5
framer-motion: 6.5.1(react-dom@18.2.0)(react@18.2.0)
framer-motion: 10.12.18(react-dom@18.2.0)(react@18.2.0)
react: 18.2.0
dev: false
@@ -1333,59 +1333,12 @@ packages:
resolution: {integrity: sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww==}
dev: false
/@motionone/animation@10.15.1:
resolution: {integrity: sha512-mZcJxLjHor+bhcPuIFErMDNyrdb2vJur8lSfMCsuCB4UyV8ILZLvK+t+pg56erv8ud9xQGK/1OGPt10agPrCyQ==}
dependencies:
'@motionone/easing': 10.15.1
'@motionone/types': 10.15.1
'@motionone/utils': 10.15.1
tslib: 2.6.0
/@next/env@13.4.9:
resolution: {integrity: sha512-vuDRK05BOKfmoBYLNi2cujG2jrYbEod/ubSSyqgmEx9n/W3eZaJQdRNhTfumO+qmq/QTzLurW487n/PM/fHOkw==}
dev: false
/@motionone/dom@10.12.0:
resolution: {integrity: sha512-UdPTtLMAktHiqV0atOczNYyDd/d8Cf5fFsd1tua03PqTwwCe/6lwhLSQ8a7TbnQ5SN0gm44N1slBfj+ORIhrqw==}
dependencies:
'@motionone/animation': 10.15.1
'@motionone/generators': 10.15.1
'@motionone/types': 10.15.1
'@motionone/utils': 10.15.1
hey-listen: 1.0.8
tslib: 2.6.0
dev: false
/@motionone/easing@10.15.1:
resolution: {integrity: sha512-6hIHBSV+ZVehf9dcKZLT7p5PEKHGhDwky2k8RKkmOvUoYP3S+dXsKupyZpqx5apjd9f+php4vXk4LuS+ADsrWw==}
dependencies:
'@motionone/utils': 10.15.1
tslib: 2.6.0
dev: false
/@motionone/generators@10.15.1:
resolution: {integrity: sha512-67HLsvHJbw6cIbLA/o+gsm7h+6D4Sn7AUrB/GPxvujse1cGZ38F5H7DzoH7PhX+sjvtDnt2IhFYF2Zp1QTMKWQ==}
dependencies:
'@motionone/types': 10.15.1
'@motionone/utils': 10.15.1
tslib: 2.6.0
dev: false
/@motionone/types@10.15.1:
resolution: {integrity: sha512-iIUd/EgUsRZGrvW0jqdst8st7zKTzS9EsKkP+6c6n4MPZoQHwiHuVtTQLD6Kp0bsBLhNzKIBlHXponn/SDT4hA==}
dev: false
/@motionone/utils@10.15.1:
resolution: {integrity: sha512-p0YncgU+iklvYr/Dq4NobTRdAPv9PveRDUXabPEeOjBLSO/1FNB2phNTZxOxpi1/GZwYpAoECEa0Wam+nsmhSw==}
dependencies:
'@motionone/types': 10.15.1
hey-listen: 1.0.8
tslib: 2.6.0
dev: false
/@next/env@13.4.8:
resolution: {integrity: sha512-twuSf1klb3k9wXI7IZhbZGtFCWvGD4wXTY2rmvzIgVhXhs7ISThrbNyutBx3jWIL8Y/Hk9+woytFz5QsgtcRKQ==}
dev: false
/@next/swc-darwin-arm64@13.4.8:
resolution: {integrity: sha512-MSFplVM4dTWOuKAUv0XR9gY7AWtMSBu9os9f+kp+s5rWhM1I2CdR3obFttd6366nS/W/VZxbPM5oEIdlIa46zA==}
/@next/swc-darwin-arm64@13.4.9:
resolution: {integrity: sha512-TVzGHpZoVBk3iDsTOQA/R6MGmFp0+17SWXMEWd6zG30AfuELmSSMe2SdPqxwXU0gbpWkJL1KgfLzy5ReN0crqQ==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [darwin]
@@ -1393,8 +1346,8 @@ packages:
dev: false
optional: true
/@next/swc-darwin-x64@13.4.8:
resolution: {integrity: sha512-Reox+UXgonon9P0WNDE6w85DGtyBqGitl/ryznOvn6TvfxEaZIpTgeu3ZrJLU9dHSMhiK7YAM793mE/Zii2/Qw==}
/@next/swc-darwin-x64@13.4.9:
resolution: {integrity: sha512-aSfF1fhv28N2e7vrDZ6zOQ+IIthocfaxuMWGReB5GDriF0caTqtHttAvzOMgJgXQtQx6XhyaJMozLTSEXeNN+A==}
engines: {node: '>= 10'}
cpu: [x64]
os: [darwin]
@@ -1402,8 +1355,8 @@ packages:
dev: false
optional: true
/@next/swc-linux-arm64-gnu@13.4.8:
resolution: {integrity: sha512-kdyzYvAYtqQVgzIKNN7e1rLU8aZv86FDSRqPlOkKZlvqudvTO0iohuTPmnEEDlECeBM6qRPShNffotDcU/R2KA==}
/@next/swc-linux-arm64-gnu@13.4.9:
resolution: {integrity: sha512-JhKoX5ECzYoTVyIy/7KykeO4Z2lVKq7HGQqvAH+Ip9UFn1MOJkOnkPRB7v4nmzqAoY+Je05Aj5wNABR1N18DMg==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
@@ -1411,8 +1364,8 @@ packages:
dev: false
optional: true
/@next/swc-linux-arm64-musl@13.4.8:
resolution: {integrity: sha512-oWxx4yRkUGcR81XwbI+T0zhZ3bDF6V1aVLpG+C7hSG50ULpV8gC39UxVO22/bv93ZlcfMY4zl8xkz9Klct6dpQ==}
/@next/swc-linux-arm64-musl@13.4.9:
resolution: {integrity: sha512-OOn6zZBIVkm/4j5gkPdGn4yqQt+gmXaLaSjRSO434WplV8vo2YaBNbSHaTM9wJpZTHVDYyjzuIYVEzy9/5RVZw==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
@@ -1420,8 +1373,8 @@ packages:
dev: false
optional: true
/@next/swc-linux-x64-gnu@13.4.8:
resolution: {integrity: sha512-anhtvuO6eE9YRhYnaEGTfbpH3L5gT/9qPFcNoi6xS432r/4DAtpJY8kNktqkTVevVIC/pVumqO8tV59PR3zbNg==}
/@next/swc-linux-x64-gnu@13.4.9:
resolution: {integrity: sha512-iA+fJXFPpW0SwGmx/pivVU+2t4zQHNOOAr5T378PfxPHY6JtjV6/0s1vlAJUdIHeVpX98CLp9k5VuKgxiRHUpg==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
@@ -1429,8 +1382,8 @@ packages:
dev: false
optional: true
/@next/swc-linux-x64-musl@13.4.8:
resolution: {integrity: sha512-aR+J4wWfNgH1DwCCBNjan7Iumx0lLtn+2/rEYuhIrYLY4vnxqSVGz9u3fXcgUwo6Q9LT8NFkaqK1vPprdq+BXg==}
/@next/swc-linux-x64-musl@13.4.9:
resolution: {integrity: sha512-rlNf2WUtMM+GAQrZ9gMNdSapkVi3koSW3a+dmBVp42lfugWVvnyzca/xJlN48/7AGx8qu62WyO0ya1ikgOxh6A==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
@@ -1438,8 +1391,8 @@ packages:
dev: false
optional: true
/@next/swc-win32-arm64-msvc@13.4.8:
resolution: {integrity: sha512-OWBKIrJwQBTqrat0xhxEB/jcsjJR3+diD9nc/Y8F1mRdQzsn4bPsomgJyuqPVZs6Lz3K18qdIkvywmfSq75SsQ==}
/@next/swc-win32-arm64-msvc@13.4.9:
resolution: {integrity: sha512-5T9ybSugXP77nw03vlgKZxD99AFTHaX8eT1ayKYYnGO9nmYhJjRPxcjU5FyYI+TdkQgEpIcH7p/guPLPR0EbKA==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [win32]
@@ -1447,8 +1400,8 @@ packages:
dev: false
optional: true
/@next/swc-win32-ia32-msvc@13.4.8:
resolution: {integrity: sha512-agiPWGjUndXGTOn4ChbKipQXRA6/UPkywAWIkx7BhgGv48TiJfHTK6MGfBoL9tS6B4mtW39++uy0wFPnfD0JWg==}
/@next/swc-win32-ia32-msvc@13.4.9:
resolution: {integrity: sha512-ojZTCt1lP2ucgpoiFgrFj07uq4CZsq4crVXpLGgQfoFq00jPKRPgesuGPaz8lg1yLfvafkU3Jd1i8snKwYR3LA==}
engines: {node: '>= 10'}
cpu: [ia32]
os: [win32]
@@ -1456,8 +1409,8 @@ packages:
dev: false
optional: true
/@next/swc-win32-x64-msvc@13.4.8:
resolution: {integrity: sha512-UIRKoByVKbuR6SnFG4JM8EMFlJrfEGuUQ1ihxzEleWcNwRMMiVaCj1KyqfTOW8VTQhJ0u8P1Ngg6q1RwnIBTtw==}
/@next/swc-win32-x64-msvc@13.4.9:
resolution: {integrity: sha512-QbT03FXRNdpuL+e9pLnu+XajZdm/TtIXVYY4lA9t+9l0fLZbHXDYEKitAqxrOj37o3Vx5ufxiRAniaIebYDCgw==}
engines: {node: '>= 10'}
cpu: [x64]
os: [win32]
@@ -1551,8 +1504,8 @@ packages:
engines: {node: '>=6'}
dev: false
/caniuse-lite@1.0.30001512:
resolution: {integrity: sha512-2S9nK0G/mE+jasCUsMPlARhRCts1ebcp2Ji8Y8PWi4NDE1iRdLCnEPHkEfeBrGC45L4isBx5ur3IQ6yTE2mRZw==}
/caniuse-lite@1.0.30001514:
resolution: {integrity: sha512-ENcIpYBmwAAOm/V2cXgM7rZUrKKaqisZl4ZAI520FIkqGXUxJjmaIssbRW5HVVR5tyV6ygTLIm15aU8LUmQSaQ==}
dev: false
/chalk@2.4.2:
@@ -1653,30 +1606,24 @@ packages:
tslib: 2.5.3
dev: false
/framer-motion@6.5.1(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-o1BGqqposwi7cgDrtg0dNONhkmPsUFDaLcKXigzuTFC5x58mE8iyTazxSudFzmT6MEyJKfjjU8ItoMe3W+3fiw==}
/framer-motion@10.12.18(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-cfhiUpPbj+0eEWKjuD+5cz5cMqH71xOtMxGiS/cSGfHn2OlHIEAqFnFyzEMENw5PxWR9bMVhatzzpD6lexmHZQ==}
peerDependencies:
react: '>=16.8 || ^17.0.0 || ^18.0.0'
react-dom: '>=16.8 || ^17.0.0 || ^18.0.0'
react: ^18.0.0
react-dom: ^18.0.0
peerDependenciesMeta:
react:
optional: true
react-dom:
optional: true
dependencies:
'@motionone/dom': 10.12.0
framesync: 6.0.1
hey-listen: 1.0.8
popmotion: 11.0.3
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
style-value-types: 5.0.0
tslib: 2.6.0
optionalDependencies:
'@emotion/is-prop-valid': 0.8.8
dev: false
/framesync@6.0.1:
resolution: {integrity: sha512-fUY88kXvGiIItgNC7wcTOl0SNRCVXMKSWW2Yzfmn7EKNc+MpCzcz9DhdHcdjbrtN3c6R4H5dTY2jiCpPdysEjA==}
dependencies:
tslib: 2.6.0
dev: false
/framesync@6.1.2:
resolution: {integrity: sha512-jBTqhX6KaQVDyus8muwZbBeGGP0XgujBRbQ7gM7BRdS3CadCZIHiawyzYLnafYcvZIh5j8WE7cxZKFn7dXhu9g==}
dependencies:
@@ -1712,10 +1659,6 @@ packages:
function-bind: 1.1.1
dev: false
/hey-listen@1.0.8:
resolution: {integrity: sha512-COpmrF2NOg4TBWUJ5UVyaCU2A88wEMkUPK4hNqyCkqHbxT92BbvfjoSozkAIIm6XhicGlJHhFdullInrdhwU8Q==}
dev: false
/hoist-non-react-statics@3.3.2:
resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==}
dependencies:
@@ -1775,8 +1718,8 @@ packages:
hasBin: true
dev: false
/next@13.4.8(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-lxUjndYKjZHGK3CWeN2RI+/6ni6EUvjiqGWXAYPxUfGIdFGQ5XoisrqAJ/dF74aP27buAfs8MKIbIMMdxjqSBg==}
/next@13.4.9(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-vtefFm/BWIi/eWOqf1GsmKG3cjKw1k3LjuefKRcL3iiLl3zWzFdPG3as6xtxrGO6gwTzzaO1ktL4oiHt/uvTjA==}
engines: {node: '>=16.8.0'}
hasBin: true
peerDependencies:
@@ -1793,10 +1736,10 @@ packages:
sass:
optional: true
dependencies:
'@next/env': 13.4.8
'@next/env': 13.4.9
'@swc/helpers': 0.5.1
busboy: 1.6.0
caniuse-lite: 1.0.30001512
caniuse-lite: 1.0.30001514
postcss: 8.4.14
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
@@ -1804,15 +1747,15 @@ packages:
watchpack: 2.4.0
zod: 3.21.4
optionalDependencies:
'@next/swc-darwin-arm64': 13.4.8
'@next/swc-darwin-x64': 13.4.8
'@next/swc-linux-arm64-gnu': 13.4.8
'@next/swc-linux-arm64-musl': 13.4.8
'@next/swc-linux-x64-gnu': 13.4.8
'@next/swc-linux-x64-musl': 13.4.8
'@next/swc-win32-arm64-msvc': 13.4.8
'@next/swc-win32-ia32-msvc': 13.4.8
'@next/swc-win32-x64-msvc': 13.4.8
'@next/swc-darwin-arm64': 13.4.9
'@next/swc-darwin-x64': 13.4.9
'@next/swc-linux-arm64-gnu': 13.4.9
'@next/swc-linux-arm64-musl': 13.4.9
'@next/swc-linux-x64-gnu': 13.4.9
'@next/swc-linux-x64-musl': 13.4.9
'@next/swc-win32-arm64-msvc': 13.4.9
'@next/swc-win32-ia32-msvc': 13.4.9
'@next/swc-win32-x64-msvc': 13.4.9
transitivePeerDependencies:
- '@babel/core'
- babel-plugin-macros
@@ -1853,15 +1796,6 @@ packages:
resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
dev: false
/popmotion@11.0.3:
resolution: {integrity: sha512-Y55FLdj3UxkR7Vl3s7Qr4e9m0onSnP8W7d/xQLsoJM40vs6UKHFdygs6SWryasTZYqugMjm3BepCF4CWXDiHgA==}
dependencies:
framesync: 6.0.1
hey-listen: 1.0.8
style-value-types: 5.0.0
tslib: 2.6.0
dev: false
/postcss@8.4.14:
resolution: {integrity: sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==}
engines: {node: ^10 || ^12 || >=14}
@@ -2027,13 +1961,6 @@ packages:
engines: {node: '>=10.0.0'}
dev: false
/style-value-types@5.0.0:
resolution: {integrity: sha512-08yq36Ikn4kx4YU6RD7jWEv27v4V+PUsOGa4n/as8Et3CuODMJQ00ENeAVXAeydX4Z2j1XHZF1K2sX4mGl18fA==}
dependencies:
hey-listen: 1.0.8
tslib: 2.6.0
dev: false
/styled-jsx@5.1.1(react@18.2.0):
resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==}
engines: {node: '>= 12.0.0'}