Skip to content

Commit e58be75

Browse files
committed
wip: update membership system
1 parent f2bf4c9 commit e58be75

File tree

25 files changed

+1172
-341
lines changed

25 files changed

+1172
-341
lines changed

apps/dashboard/src/app/(internal)/arrangementer/components/qr-code-scanned-modal.tsx

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@ import {
55
type User,
66
findActiveMembership,
77
getAttendeeQueuePosition,
8-
getMembershipGrade,
98
getUnreservedAttendeeCount,
9+
getMembershipTypeName,
1010
} from "@dotkomonline/types"
11-
import { getCurrentUTC } from "@dotkomonline/utils"
11+
import { getCurrentUTC, getStudyGrade } from "@dotkomonline/utils"
1212
import { Button, Flex, Group, Image, Stack, Text, Title, useComputedColorScheme } from "@mantine/core"
1313
import { useMediaQuery } from "@mantine/hooks"
1414
import { type ContextModalProps, modals } from "@mantine/modals"
@@ -167,7 +167,8 @@ const UserBox = ({ user, isMobile }: UserBoxProps) => {
167167
const isLightMode = useComputedColorScheme() === "light"
168168

169169
const membership = findActiveMembership(user)
170-
const grade = membership ? getMembershipGrade(membership) : null
170+
const grade = membership?.semester != null ? getStudyGrade(membership.semester) : null
171+
const membershipType = membership && getMembershipTypeName(membership.type)
171172

172173
return (
173174
<Stack>
@@ -183,7 +184,8 @@ const UserBox = ({ user, isMobile }: UserBoxProps) => {
183184
<Image src={user.imageUrl} alt={user.name ?? user.profileSlug} radius="md" w={100} h={100} />
184185
<Stack gap={2}>
185186
<Title order={4}>{user.name}</Title>
186-
<Text size="sm">Klasse: {grade}</Text>
187+
<Text size="sm">{membership ? `Medlemskap: ${membershipType}` : "Ingen aktivt medlemskap"}</Text>
188+
<Text size="sm">{membership ? (grade ? `Klasse: ${grade}` : "Ingen klassetrinn") : "-"}</Text>
187189
<Text size="sm">Kjønn: {user.gender || "Ikke oppgitt"}</Text>
188190
<Text size="sm">Kostholdsrestriksjoner: {user.dietaryRestrictions || "Ingen"}</Text>
189191
</Stack>

apps/dashboard/src/app/(internal)/brukere/[id]/edit-card.tsx

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,6 @@
11
import { env } from "@/lib/env"
22
import { useSession } from "@dotkomonline/oauth2/react"
3-
import {
4-
UserWriteSchema,
5-
type WorkspaceUser,
6-
findActiveMembership,
7-
getMembershipGrade,
8-
getMembershipTypeName,
9-
} from "@dotkomonline/types"
3+
import { UserWriteSchema, type WorkspaceUser, findActiveMembership, getMembershipTypeName } from "@dotkomonline/types"
104
import { Button, Group, Loader, Stack, Text, TextInput, Title } from "@mantine/core"
115
import { useDebouncedValue } from "@mantine/hooks"
126
import { IconCheck, IconLink, IconUsersGroup, IconX, IconArrowUpRight } from "@tabler/icons-react"
@@ -15,6 +9,7 @@ import { useLinkOwUserToWorkspaceUserMutation, useUpdateUserMutation } from "../
159
import { useFindWorkspaceUserQuery, useGroupAllByMemberQuery, useIsAdminQuery } from "../queries"
1610
import { useUserProfileEditForm } from "./edit-form"
1711
import { useUserDetailsContext } from "./provider"
12+
import { getStudyGrade } from "@dotkomonline/utils"
1813

1914
export const UserEditCard: FC = () => {
2015
const session = useSession()
@@ -57,7 +52,7 @@ export const UserEditCard: FC = () => {
5752
})
5853

5954
const activeMembership = findActiveMembership(user)
60-
const grade = activeMembership ? getMembershipGrade(activeMembership) : null
55+
const grade = activeMembership?.semester != null ? getStudyGrade(activeMembership.semester) : null
6156
const membershipType = activeMembership ? getMembershipTypeName(activeMembership.type) : null
6257

6358
return (

apps/dashboard/src/app/(internal)/brukere/components/create-membership-modal.tsx

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import { type ContextModalProps, modals } from "@mantine/modals"
33
import type { FC } from "react"
44
import { useCreateMembershipMutation } from "../mutations"
55
import { useMembershipWriteForm } from "./membership-form"
6+
import { Stack, Text } from "@mantine/core"
67

78
export const CreateMembershipModal: FC<ContextModalProps<{ user: User }>> = ({ context, id, innerProps: { user } }) => {
89
const close = () => context.closeModal(id)
@@ -16,7 +17,14 @@ export const CreateMembershipModal: FC<ContextModalProps<{ user: User }>> = ({ c
1617
close()
1718
},
1819
})
19-
return <FormComponent />
20+
return (
21+
<Stack gap="sm">
22+
<Text size="sm" c="dimmed">
23+
Rediger semesterverdien for å endre årstrinn.
24+
</Text>
25+
<FormComponent />
26+
</Stack>
27+
)
2028
}
2129

2230
export const useCreateMembershipModal =

apps/dashboard/src/app/(internal)/brukere/components/edit-membership-modal.tsx

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import { type ContextModalProps, modals } from "@mantine/modals"
33
import type { FC } from "react"
44
import { useUpdateMembershipMutation } from "../mutations"
55
import { useMembershipWriteForm } from "./membership-form"
6+
import { Stack, Text } from "@mantine/core"
67

78
export const EditMembershipModal: FC<ContextModalProps<{ membership: Membership }>> = ({
89
context,
@@ -21,7 +22,14 @@ export const EditMembershipModal: FC<ContextModalProps<{ membership: Membership
2122
close()
2223
},
2324
})
24-
return <FormComponent />
25+
return (
26+
<Stack gap="sm">
27+
<Text size="sm" c="dimmed">
28+
Rediger semesterverdien for å endre årstrinn.
29+
</Text>
30+
<FormComponent />
31+
</Stack>
32+
)
2533
}
2634

2735
export const useEditMembershipModal =

0 commit comments

Comments
 (0)