From fdeb37a208ac94943f2f555c22e8eb55b1d882ae Mon Sep 17 00:00:00 2001 From: tonytc13579 Date: Mon, 8 Jan 2024 15:24:55 +0700 Subject: [PATCH] Modify layout and fix text --- src/layouts/BoxContent/index.tsx | 38 ++++ src/layouts/BoxContent/styles.module.scss | 2 + src/layouts/Header/components/DrawerMenu.tsx | 44 +++++ src/layouts/Header/index.tsx | 118 +++++------- src/layouts/MainLayout.tsx | 1 - src/layouts/styles.module.scss | 2 +- src/modules/bvm/Section_1/index.tsx | 2 +- src/modules/home/Section_1/index.tsx | 192 ++++++++++--------- src/themes/chakra-themes.tsx | 11 ++ 9 files changed, 238 insertions(+), 172 deletions(-) create mode 100644 src/layouts/BoxContent/index.tsx create mode 100644 src/layouts/BoxContent/styles.module.scss create mode 100644 src/layouts/Header/components/DrawerMenu.tsx diff --git a/src/layouts/BoxContent/index.tsx b/src/layouts/BoxContent/index.tsx new file mode 100644 index 000000000..53f5b3463 --- /dev/null +++ b/src/layouts/BoxContent/index.tsx @@ -0,0 +1,38 @@ +'use client'; + +import { Box } from '@chakra-ui/react'; +import { HTMLChakraProps } from '@chakra-ui/system'; +import * as _chakra_ui_system from '@chakra-ui/system'; + +// const breakpoints = { +// base: "0em", // 0px => Mobile +// sm: "30em", // ~480px. em is a relative unit and is dependant on the font size. +// md: "48em", // ~768px +// lg: "62em", // ~992px +// xl: "80em", // ~1280px +// "2xl": "96em", // ~1536px +// }; + +const BoxContent: _chakra_ui_system.ChakraComponent<'div', {}> = ( + props: HTMLChakraProps<'div'>, +) => { + return ( + + {props.children} + + ); +}; + +export default BoxContent; diff --git a/src/layouts/BoxContent/styles.module.scss b/src/layouts/BoxContent/styles.module.scss new file mode 100644 index 000000000..485140808 --- /dev/null +++ b/src/layouts/BoxContent/styles.module.scss @@ -0,0 +1,2 @@ +.container { +} diff --git a/src/layouts/Header/components/DrawerMenu.tsx b/src/layouts/Header/components/DrawerMenu.tsx new file mode 100644 index 000000000..fc205dfe4 --- /dev/null +++ b/src/layouts/Header/components/DrawerMenu.tsx @@ -0,0 +1,44 @@ +'use client'; +import { + Drawer, + DrawerBody, + DrawerContent, + DrawerFooter, + DrawerOverlay, + Image, + useDisclosure, +} from '@chakra-ui/react'; +import { MobileNav } from './MobileNav'; + +export type HeaderProps = { + isOpen: boolean; +}; + +const DrawerMobileMenu = (props: HeaderProps) => { + const { isOpen, onToggle } = useDisclosure(); + return ( + + + + {} + + + + + + ); +}; + +export default DrawerMobileMenu; diff --git a/src/layouts/Header/index.tsx b/src/layouts/Header/index.tsx index 3f7d8a4f7..dc63958ca 100644 --- a/src/layouts/Header/index.tsx +++ b/src/layouts/Header/index.tsx @@ -1,23 +1,16 @@ 'use client'; -import SvgInset from '@/components/SvgInset'; -import { CDN_URL_ICONS } from '@/config'; import { Box, - Button, - Drawer, - DrawerBody, - DrawerContent, - DrawerFooter, - DrawerOverlay, Flex, IconButton, Image, useBreakpointValue, useDisclosure, } from '@chakra-ui/react'; -import { DesktopNav } from './components/DesktopNav'; -import { MobileNav } from './components/MobileNav'; import Link from 'next/link'; +import BoxContent from '../BoxContent'; +import { DesktopNav } from './components/DesktopNav'; +import DrawerMobileMenu from './components/DrawerMenu'; export type HeaderProps = { color?: 'black' | 'white'; @@ -33,22 +26,10 @@ const Header = (props: HeaderProps) => { const { isOpen, onToggle } = useDisclosure(); const isMobile = useBreakpointValue({ base: true, md: false }) as boolean; - const renderMenuButton = () => { - return ( - } - aria-label={'Toggle Menu'} - _hover={{ - bgColor: 'transparent', - }} - /> - ); - }; - return ( <> { right={0} zIndex={2} > - - {/* Left View */} + - - {primaryColor === 'white' ? ( - + {/* Left View */} + + + {primaryColor === 'white' ? ( + + ) : ( + + )} + + + + {/* Right View */} + + {isMobile ? ( + + } + aria-label={'Toggle Menu'} + _hover={{ + bgColor: 'transparent', + }} + /> ) : ( - + )} - + - - {/* Right View */} - - {isMobile ? ( - renderMenuButton() - ) : ( - - )} - - + - - - - {} - - - - - + ); }; diff --git a/src/layouts/MainLayout.tsx b/src/layouts/MainLayout.tsx index fba460899..822405fa7 100644 --- a/src/layouts/MainLayout.tsx +++ b/src/layouts/MainLayout.tsx @@ -8,7 +8,6 @@ type IMainProps = { hideHeader?: boolean; hideFooter?: boolean; children?: React.ReactNode; - headerProps?: HeaderProps; }; diff --git a/src/layouts/styles.module.scss b/src/layouts/styles.module.scss index 09f725953..767290067 100644 --- a/src/layouts/styles.module.scss +++ b/src/layouts/styles.module.scss @@ -3,7 +3,7 @@ flex-direction: column; flex: 1; height: 100vh; - width: 100dvw; + width: 100vw; color: #fff; background-color: #000; } diff --git a/src/modules/bvm/Section_1/index.tsx b/src/modules/bvm/Section_1/index.tsx index 0e75ad547..c509d7cc0 100644 --- a/src/modules/bvm/Section_1/index.tsx +++ b/src/modules/bvm/Section_1/index.tsx @@ -56,7 +56,7 @@ const Section_1 = () => { opacity: 0.8, }} > - {`Build your Bitcoin L2`} + {`Get BVM`} diff --git a/src/modules/home/Section_1/index.tsx b/src/modules/home/Section_1/index.tsx index 075a549c5..61dff1830 100644 --- a/src/modules/home/Section_1/index.tsx +++ b/src/modules/home/Section_1/index.tsx @@ -15,6 +15,7 @@ import { } from '@chakra-ui/react'; import { useRouter } from 'next/navigation'; import { BlockchainsList, BlockchainsType } from './data'; +import BoxContent from '@/layouts/BoxContent'; const Section_1 = () => { const router = useRouter(); @@ -25,109 +26,108 @@ const Section_1 = () => { bgSize={'cover'} bgImg={`/images/lego_bg_vs3.png`} bgColor={'#EE550C'} + // bgColor={'transparent'} display={'flex'} justifyContent={'center'} alignContent={'center'} > - - - {`Bitcoin Virtual Machine`} - - - - BVM is a metaprotocol that lets developers launch their own - lightning-fast and low-cost Bitcoin L2 blockchain in a few clicks and - start building decentralized applications on Bitcoin. - - - - - - - - - - - + + {`Bitcoin Virtual Machine`} + + + - Powered by blockchain building blocks + BVM is a metaprotocol that lets developers launch their own + lightning-fast and low-cost Bitcoin L2 blockchain in a few clicks + and start building decentralized applications on Bitcoin. - - {/* + + + + + + + + + + + Powered by blockchain building blocks + + + {/* { ); })} */} - - + + + + - + ); }; diff --git a/src/themes/chakra-themes.tsx b/src/themes/chakra-themes.tsx index c9b3fb52c..59a819650 100644 --- a/src/themes/chakra-themes.tsx +++ b/src/themes/chakra-themes.tsx @@ -58,8 +58,19 @@ const config: ThemeConfig = { useSystemColorMode: false, }; +const breakpoints = { + base: '0px', + sm: '480px', + md: '768px', + lg: '992px', + xl: '1280px', + '2xl': '1536px', + max: '1600px', +}; + const chakraThemes = extendTheme({ config, + breakpoints, styles: { global: { body: {