Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions packages/client/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@
"framer-motion": "^11.2.6",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-icons": "^5.2.1",
"react-router-dom": "^6.23.1",
"rxjs": "7.5.5",
"viem": "2.9.20",
Expand Down
Binary file added packages/client/public/images/raidguild.webp
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
17 changes: 15 additions & 2 deletions packages/client/src/App.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,20 @@
import { Box } from '@chakra-ui/react';
import { BrowserRouter as Router } from 'react-router-dom';

import { Footer } from './components/Footer';
import { Header } from './components/Header';
import AppRoutes from './Routes';

export const App: React.FC = () => {
return <AppRoutes />;
export const App = (): JSX.Element => {
return (
<Router>
<Box px={{ base: 8, sm: 12, md: 20 }}>
<Header />
<AppRoutes />
<Footer />
</Box>
</Router>
);
};

export default App;
14 changes: 6 additions & 8 deletions packages/client/src/Routes.tsx
Original file line number Diff line number Diff line change
@@ -1,18 +1,16 @@
import { BrowserRouter as Router, Route, Routes } from 'react-router-dom';
import { Route, Routes } from 'react-router-dom';

import { CharacterCreation } from './components/CharacterCreation';
import { Welcome } from './pages/Welcome';
import { World } from './pages/World';

const AppRoutes: React.FC = () => {
return (
<Router>
<Routes>
<Route path="/" element={<Welcome />} />
<Route path="/world" element={<World />} />
<Route path="/character-creation" element={<CharacterCreation />} />
</Routes>
</Router>
<Routes>
<Route path="/" element={<Welcome />} />
<Route path="/world" element={<World />} />
<Route path="/character-creation" element={<CharacterCreation />} />
</Routes>
);
};

Expand Down
103 changes: 103 additions & 0 deletions packages/client/src/components/Footer.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
import { Grid, GridItem, HStack, Link, Stack, VStack } from '@chakra-ui/react';
import { FaDiscord, FaTwitter } from 'react-icons/fa';

export const Footer = (): JSX.Element => {
return (
<HStack alignItems="center" h="150px">
<Grid
alignItems="center"
templateColumns="repeat(4, 1fr)"
h="90px"
w="100%"
>
<GridItem colSpan={{ base: 3, sm: 2, md: 3 }}>
<HStack spacing={{ base: 4, md: 10 }}>
<Stack
direction={{ base: 'column', md: 'row' }}
spacing={{ base: 4, md: 10 }}
>
<Link
alignSelf="start"
borderBottom="2px solid"
borderColor="lightgrey"
fontSize={{ base: 'xs', sm: 'sm', md: 'md' }}
pb={1}
_hover={{
borderColor: 'grey',
textDecoration: 'none',
}}
>
About
</Link>
<Link
alignSelf="start"
borderBottom="2px solid"
borderColor="lightgrey"
fontSize={{ base: 'xs', sm: 'sm', md: 'md' }}
pb={1}
_hover={{
borderColor: 'grey',
textDecoration: 'none',
}}
>
Guild Info
</Link>
</Stack>
<Stack
direction={{ base: 'column', md: 'row' }}
spacing={{ base: 4, md: 10 }}
>
<Link
alignSelf="start"
borderBottom="2px solid"
borderColor="lightgrey"
fontSize={{ base: 'xs', sm: 'sm', md: 'md' }}
pb={1}
_hover={{
borderColor: 'grey',
textDecoration: 'none',
}}
>
Map Info
</Link>
<Link
alignSelf="start"
borderBottom="2px solid"
borderColor="lightgrey"
fontSize={{ base: 'xs', sm: 'sm', md: 'md' }}
pb={1}
_hover={{
borderColor: 'grey',
textDecoration: 'none',
}}
>
Create Map
</Link>
</Stack>
</HStack>
</GridItem>
<GridItem colSpan={{ base: 1, sm: 2, md: 1 }} h="100%">
<VStack
alignItems="end"
h="100%"
justifyContent={{ base: 'start', md: 'center' }}
>
<Stack
alignItems="center"
direction={{ base: 'column', sm: 'row' }}
spacing={{ base: 3, md: 10 }}
>
<Link>
<FaDiscord />
</Link>
<Link>
<FaTwitter />
</Link>
<Link fontWeight={700}>T&C</Link>
</Stack>
</VStack>
</GridItem>
</Grid>
</HStack>
);
};
22 changes: 22 additions & 0 deletions packages/client/src/components/Header.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
import { Box, Heading, Stack } from '@chakra-ui/react';
import { useLocation } from 'react-router-dom';

const PAGES_WITHOUT_HEADER = ['/'];

export const Header = (): JSX.Element => {
const { pathname } = useLocation();

if (PAGES_WITHOUT_HEADER.includes(pathname)) {
return <Box />;
}

return (
<Box>
<Stack backgroundColor="lightgray" direction="row" padding="10px">
<Heading as="h1" margin="10px" w="50%">
Ultimate Dominion
</Heading>
</Stack>
</Box>
);
};
4 changes: 1 addition & 3 deletions packages/client/src/pages/Welcome.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,7 @@ export const Welcome = (): JSX.Element => {
mt={{ base: 20, sm: 32 }}
spacing={{ base: 12, sm: 20 }}
>
<Heading px={4} textAlign="center">
Welcome to Ultimate Dominion
</Heading>
<Heading textAlign="center">Welcome to Ultimate Dominion</Heading>
<VStack spacing={6} textAlign="center">
<Text size={{ base: 'xs', sm: 'sm', md: 'md' }}>
As you awaken, your eyes flutter open to the stark, eerie ambiance
Expand Down
36 changes: 36 additions & 0 deletions pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.