Skip to content

Commit

Permalink
Add dynamic modal to umami/web
Browse files Browse the repository at this point in the history
  • Loading branch information
serjonya-trili committed Jul 4, 2024
1 parent 7645f72 commit bf949e1
Show file tree
Hide file tree
Showing 5 changed files with 124 additions and 54 deletions.
3 changes: 2 additions & 1 deletion apps/web/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@
"@taquito/taquito": "^20.0.1",
"@taquito/utils": "^20.0.1",
"@tzkt/sdk-api": "^2.2.1",
"@umami/components": "workspace:^",
"@umami/core": "workspace:^",
"@umami/data-polling": "workspace:^",
"@umami/state": "workspace:^",
Expand Down Expand Up @@ -84,6 +85,7 @@
"@svgr/plugin-svgo": "^8.1.0",
"@testing-library/dom": "^10.3.0",
"@testing-library/react": "^16.0.0",
"@testing-library/react-hooks": "^8.0.1",
"@testing-library/user-event": "^14.5.2",
"@types/jest": "^29.5.12",
"@types/node": "20.14.9",
Expand All @@ -102,7 +104,6 @@
"react-hooks-testing-library": "^0.6.0",
"rimraf": "^5.0.7",
"storybook": "^8.1.11",
"ts-node": "^10.9.2",
"typescript": "^5.5.3",
"vite": "^5.3.3",
"vite-plugin-svgr": "^4.2.0"
Expand Down
9 changes: 8 additions & 1 deletion apps/web/src/App.tsx
Original file line number Diff line number Diff line change
@@ -1,9 +1,16 @@
import { DynamicModalContext, useDynamicModal } from "@umami/components";
import { useDataPolling } from "@umami/data-polling";

import { Layout } from "./Layout";

export const App = () => {
useDataPolling();
const dynamicModal = useDynamicModal();

return <Layout />;
return (
<DynamicModalContext.Provider value={dynamicModal}>
<Layout />
{dynamicModal.content}
</DynamicModalContext.Provider>
);
};
128 changes: 78 additions & 50 deletions apps/web/src/components/AccountCard/AccountBalance.tsx
Original file line number Diff line number Diff line change
@@ -1,54 +1,82 @@
import { Box, Button, Flex, IconButton, Text } from "@chakra-ui/react";
import {
Box,
Button,
Flex,
IconButton,
ModalBody,
ModalCloseButton,
ModalContent,
ModalHeader,
Text,
} from "@chakra-ui/react";
import { DynamicModalContext } from "@umami/components";
import { useContext } from "react";

import { ArrowDownLeftIcon, PlusIcon } from "../../assets/icons";

export const AccountBalance = () => (
<Box paddingX="12px">
<Flex flexDirection="column" gap="4px">
<Text
display={{
base: "none",
lg: "block",
}}
fontWeight="600"
size="sm"
>
Tez Balance
</Text>
<Text size="2xl" variant="bold">
2882.675746 ꜩ
</Text>
<Text size="sm">$3603.34</Text>
</Flex>
<Flex
alignItems="center"
justifyContent="space-between"
marginTop={{ base: "20px", lg: "40px" }}
>
<IconButton
aria-label="Deposit"
icon={<PlusIcon width="24px" height="24px" />}
isRound
size="lg"
variant="iconButtonSolid"
/>
<IconButton
marginRight="12px"
marginLeft="auto"
borderRadius="full"
aria-label="Send"
icon={<ArrowDownLeftIcon />}
size="lg"
variant="iconButtonOutline"
/>
<Button
padding={{ base: "10px 24px", lg: "10px 40px" }}
borderRadius="full"
size="lg"
variant="primary"
export const AccountBalance = () => {
const { openWith, isOpen } = useContext(DynamicModalContext);

return (
<Box paddingX="12px">
<Flex flexDirection="column" gap="4px">
<Text
display={{
base: "none",
lg: "block",
}}
fontWeight="600"
size="sm"
>
Tez Balance
</Text>
<Text size="2xl" variant="bold">
2882.675746 ꜩ
</Text>
<Text size="sm">$3603.34</Text>
</Flex>
<Flex
alignItems="center"
justifyContent="space-between"
marginTop={{ base: "20px", lg: "40px" }}
>
Send
</Button>
</Flex>
</Box>
);
<IconButton
aria-label="Deposit"
icon={<PlusIcon width="24px" height="24px" />}
isRound
size="lg"
variant="iconButtonSolid"
/>
<IconButton
marginRight="12px"
marginLeft="auto"
borderRadius="full"
aria-label="Send"
icon={<ArrowDownLeftIcon />}
size="lg"
variant="iconButtonOutline"
/>
<Button
padding={{ base: "10px 24px", lg: "10px 40px" }}
borderRadius="full"
onClick={() =>
openWith(
<ModalContent>
<ModalHeader>
<ModalCloseButton />
</ModalHeader>
<ModalBody>
<Text>Not supported yet :(</Text>
</ModalBody>
</ModalContent>
)
}
size="lg"
variant="primary"
>
Send {isOpen}
</Button>
</Flex>
</Box>
);
};
2 changes: 1 addition & 1 deletion apps/web/src/index.scss
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@ body {
margin: 0;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
padding: 20px 46px 0;
position: relative;

& .layout {
padding: 20px 46px 0;
height: calc(100vh - 20px);
}

Expand Down
36 changes: 35 additions & 1 deletion yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -6830,6 +6830,28 @@ __metadata:
languageName: node
linkType: hard

"@testing-library/react-hooks@npm:^8.0.1":
version: 8.0.1
resolution: "@testing-library/react-hooks@npm:8.0.1"
dependencies:
"@babel/runtime": "npm:^7.12.5"
react-error-boundary: "npm:^3.1.0"
peerDependencies:
"@types/react": ^16.9.0 || ^17.0.0
react: ^16.9.0 || ^17.0.0
react-dom: ^16.9.0 || ^17.0.0
react-test-renderer: ^16.9.0 || ^17.0.0
peerDependenciesMeta:
"@types/react":
optional: true
react-dom:
optional: true
react-test-renderer:
optional: true
checksum: 10/f7b69373feebe99bc7d60595822cc5c00a1a5a4801bc4f99b597256a5c1d23c45a51f359051dd8a7bdffcc23b26f324c582e9433c25804934fd351a886812790
languageName: node
linkType: hard

"@testing-library/react-hooks@npm:~1.0.2":
version: 1.0.4
resolution: "@testing-library/react-hooks@npm:1.0.4"
Expand Down Expand Up @@ -8582,12 +8604,14 @@ __metadata:
"@taquito/utils": "npm:^20.0.1"
"@testing-library/dom": "npm:^10.3.0"
"@testing-library/react": "npm:^16.0.0"
"@testing-library/react-hooks": "npm:^8.0.1"
"@testing-library/user-event": "npm:^14.5.2"
"@types/jest": "npm:^29.5.12"
"@types/node": "npm:20.14.9"
"@types/react": "npm:^18.3.3"
"@types/react-dom": "npm:^18.3.0"
"@tzkt/sdk-api": "npm:^2.2.1"
"@umami/components": "workspace:^"
"@umami/core": "workspace:^"
"@umami/data-polling": "workspace:^"
"@umami/eslint-config": "workspace:^"
Expand Down Expand Up @@ -8627,7 +8651,6 @@ __metadata:
redux-persist: "npm:^6.0.0"
rimraf: "npm:^5.0.7"
storybook: "npm:^8.1.11"
ts-node: "npm:^10.9.2"
typescript: "npm:^5.5.3"
vite: "npm:^5.3.3"
vite-plugin-svgr: "npm:^4.2.0"
Expand Down Expand Up @@ -18921,6 +18944,17 @@ __metadata:
languageName: node
linkType: hard

"react-error-boundary@npm:^3.1.0":
version: 3.1.4
resolution: "react-error-boundary@npm:3.1.4"
dependencies:
"@babel/runtime": "npm:^7.12.5"
peerDependencies:
react: ">=16.13.1"
checksum: 10/7418637bf352b88f35ff3798e6faa094ee046df9d422fc08f54c017892c3c0738dac661ba3d64d97209464e7a60e7fbbeffdbeaee5edc38f3aaf5f1f4a8bf610
languageName: node
linkType: hard

"react-error-boundary@npm:^4.0.13":
version: 4.0.13
resolution: "react-error-boundary@npm:4.0.13"
Expand Down

0 comments on commit bf949e1

Please sign in to comment.