diff --git a/src/components/StratItem.module.css b/src/components/StratItem.module.css index e69de29..d6a735e 100644 --- a/src/components/StratItem.module.css +++ b/src/components/StratItem.module.css @@ -0,0 +1,22 @@ +.layout { + display: grid; + width: 100%; + +} + +.title { + font-weight: bold; + grid-column: 1; +} + +.description { + grid-column: 2; +} + +.stratType { + grid-column: 3; +} + +.deleteButton { + grid-column: 4; +} \ No newline at end of file diff --git a/src/components/StratItem.tsx b/src/components/StratItem.tsx index 24e9f30..c7c1b55 100644 --- a/src/components/StratItem.tsx +++ b/src/components/StratItem.tsx @@ -41,16 +41,12 @@ const StratItem: Component = (props) => { }; return ( -
-
-
navigate('/group/' + props.group.id + '/strat/' + props.strat.id)}> - - - -
-
- -
+
+ navigate('/group/' + props.group.id + '/strat/' + props.strat.id)} /> + + +
+
) diff --git a/src/pages/GroupPage.module.css b/src/pages/GroupPage.module.css index e69de29..18fd822 100644 --- a/src/pages/GroupPage.module.css +++ b/src/pages/GroupPage.module.css @@ -0,0 +1,13 @@ +.layout { + display: grid; + column-gap: 50px; +} + +.strats { + grid-column-start: 1; + grid-column-end: 3; +} + +.members { + grid-column: 4; +} \ No newline at end of file diff --git a/src/pages/GroupPage.tsx b/src/pages/GroupPage.tsx index c38aac1..37d20a4 100644 --- a/src/pages/GroupPage.tsx +++ b/src/pages/GroupPage.tsx @@ -1,18 +1,13 @@ import { useNavigate, useParams } from "@solidjs/router"; import { Component, Show, createEffect, createSignal, onMount } from "solid-js"; -import styles from './GroupPage.module.css' +import styles from './GroupPage.module.css'; import { Group, Map, Profile, Strat, User, api } from "../api"; import { showDialog, showInputDialog, showMessageDialog } from "../state"; -import { _arrayBufferToBase64, addMap, addMember, addProfile, addStratType, errorToString, normalize } from "../util"; +import { _arrayBufferToBase64, addMap, addMember, addStratType, errorToString, normalize } from "../util"; import { BsCheck2, BsPencil, BsTrash } from "solid-icons/bs"; -import { Collapse } from "solid-collapse"; import MemberItem from "../components/MemberItem"; -import MapItem from "../components/MapItem"; import StratItem from "../components/StratItem"; -import StratTypeItem from "../components/StratTypeItem"; -import ProfileItem from "../components/ProfileItem"; -import { UploadFile, createFileUploader } from "@solid-primitives/upload"; const GroupPage: Component = () => { const params = useParams(); @@ -29,6 +24,12 @@ const GroupPage: Component = () => { const [profilesIsExpanded, setProfilesIsExpanded] = createSignal(false); const [stratTypesIsExpanded, setStratTypesIsExpanded] = createSignal(false); + const [filters, setFilters] = createSignal({ + name: "", + Map: "All", + stratType: "All" + }); + onMount(async () => { try { setGroup(await api().getGroup(params.id)); @@ -91,8 +92,9 @@ const GroupPage: Component = () => { name: 'description' }], onDismiss: async () => { - const strat = await api().addStrat(group().id, { title: title(), description: description(), stratType: stratType() }); - navigate('/group/' + group().id + '/strat/' + strat.id); + const newGroup = await api().addStrat(group().id, { title: title(), description: description(), stratType: stratType() }); + const strat = newGroup.strats.find(s => s.description === description() && s.title === title() && s.stratType === stratType()); + navigate('/group/' + group().id + '/strat/' + strat!.id); }, content: + + +
- -
- - - -
- {group().strats?.map(s => )} -
-
-
- - - -
- {group().maps?.map(m => )} -
-
-
- - - -
- {group().stratTypes?.map(s => )} -
-
-
- - - -
- {group().profiles?.map(p => )} -
-
+ {group().strats.map(s => )} +
+
+

Member

+ {group().members.map(m => )} +
diff --git a/src/pages/Groups.tsx b/src/pages/Groups.tsx index 6b5ed77..1d98799 100644 --- a/src/pages/Groups.tsx +++ b/src/pages/Groups.tsx @@ -2,7 +2,7 @@ import { Component, For, Show, createSignal } from "solid-js"; import GroupItem from '../components/GroupItem' -import styles from './Groups.module.css' +import styles from './Groups.module.css'; import { useNavigate } from "@solidjs/router"; import { Group, api } from "../api"; import { localState, showMessageDialog } from "../state";