feat: collapse

This commit is contained in:
TrèsAbhi committed 2024-01-26 23:09:53 -06:00
1 parent 47b8f75447
commit 46719cd32a
1 file changed
+40 -5
@@ -1,4 +1,6 @@
import { ChevronDownIcon, ChevronUpIcon } from '@radix-ui/react-icons';
import { Flex, Heading } from '@radix-ui/themes'; import { Flex, Heading } from '@radix-ui/themes';
import { useState } from 'react';
import * as styles from '../../../page.css'; import * as styles from '../../../page.css';
import { Camouflage } from './components/Camouflage'; import { Camouflage } from './components/Camouflage';
import { Consumables } from './components/Consumables'; import { Consumables } from './components/Consumables';
@@ -9,23 +11,45 @@ import { Modules } from './components/Modules';
import { Provisions } from './components/Provisions'; import { Provisions } from './components/Provisions';
export function Characteristics() { export function Characteristics() {
const [configureVisible, setConfigureVisible] = useState(true);
const [statsVisible, setStatsVisible] = useState(true);
return ( return (
<Flex className={styles.characteristics}> <Flex className={styles.characteristics}>
<div className={styles.configuration}> <div className={styles.configuration}>
<Heading>Configure</Heading> <Heading
onClick={() => setConfigureVisible((state) => !state)}
style={{
cursor: 'pointer',
}}
>
Configure {configureVisible ? <ChevronDownIcon /> : <ChevronUpIcon />}
</Heading>
{configureVisible && (
<Flex direction="column" gap="4">
<Modules /> <Modules />
<Equipments /> <Equipments />
<Crew /> <Crew />
<Consumables /> <Consumables />
<Provisions /> <Provisions />
<Camouflage /> <Camouflage />
</Flex>
)}
</div> </div>
<Flex style={{ flex: 1 }} wrap="wrap" direction="column" gap="4"> <Flex style={{ flex: 1 }} wrap="wrap" direction="column" gap="4">
<Heading>Statistics</Heading> <Heading
onClick={() => setStatsVisible((state) => !state)}
style={{
cursor: 'pointer',
}}
>
Statistics {statsVisible ? <ChevronDownIcon /> : <ChevronUpIcon />}
</Heading>
<Flex direction="column" gap="6"> {statsVisible && (
<Flex direction="column" gap="4">
<Flex direction="column" gap="2"> <Flex direction="column" gap="2">
<Heading size="4">Survivability</Heading> <Heading size="4">Survivability</Heading>
<Info name="Health" value="2014" unit="hp" /> <Info name="Health" value="2014" unit="hp" />
@@ -40,7 +64,12 @@ export function Characteristics() {
<Info indent name="At 500m" value="240" unit="mm" /> <Info indent name="At 500m" value="240" unit="mm" />
<Info name="Damage per minute" value="2316" unit="hp / min" /> <Info name="Damage per minute" value="2316" unit="hp / min" />
<Info indent name="Maximum" value="2316" unit="hp / min" /> <Info indent name="Maximum" value="2316" unit="hp / min" />
<Info indent name="Effective at 60s" value="2316" unit="hp / min" /> <Info
indent
name="Effective at 60s"
value="2316"
unit="hp / min"
/>
<Info name="Reload" value="5.73" unit="s" /> <Info name="Reload" value="5.73" unit="s" />
<Info name="Shell velocity" value="1535" unit="m/s" /> <Info name="Shell velocity" value="1535" unit="m/s" />
<Info name="Aim time" value="1.72" unit="s" /> <Info name="Aim time" value="1.72" unit="s" />
@@ -68,7 +97,12 @@ export function Characteristics() {
value="36.86" value="36.86"
unit="hp/kg" unit="hp/kg"
/> />
<Info indent name="On medium terrain" value="36.86" unit="hp/kg" /> <Info
indent
name="On medium terrain"
value="36.86"
unit="hp/kg"
/>
<Info indent name="On soft terrain" value="36.86" unit="hp/kg" /> <Info indent name="On soft terrain" value="36.86" unit="hp/kg" />
<Info <Info
name="Traverse speed on hard terrain" name="Traverse speed on hard terrain"
@@ -94,6 +128,7 @@ export function Characteristics() {
/> />
</Flex> </Flex>
</Flex> </Flex>
)}
</Flex> </Flex>
</Flex> </Flex>
); );