From 1f482863ab0cfb7bd46a8b8b70dd4f01fbaa7b8a Mon Sep 17 00:00:00 2001 From: Nudesuppe42 Date: Wed, 17 Jan 2024 21:12:12 +0100 Subject: [PATCH] feat(application): :sparkles: Reviewer, Discord Name --- .../application/questions/TextQuestion.tsx | 7 ++- src/pages/teams/[team]/manage/review/[id].tsx | 50 +++++++++++++++---- .../teams/[team]/manage/review/index.tsx | 2 - 3 files changed, 46 insertions(+), 13 deletions(-) diff --git a/src/components/application/questions/TextQuestion.tsx b/src/components/application/questions/TextQuestion.tsx index fcefef70..d383cd13 100644 --- a/src/components/application/questions/TextQuestion.tsx +++ b/src/components/application/questions/TextQuestion.tsx @@ -1,4 +1,4 @@ -import { NumberInput, TextInput } from '@mantine/core'; +import { NumberInput, Textarea } from '@mantine/core'; import { IconTextSize } from '@tabler/icons-react'; import { ApplicationQuestion } from '../../../utils/application/ApplicationQuestions'; @@ -20,7 +20,7 @@ function validation(props: TextQuestionProps): (value: string) => void { const TextQuestion = (props: TextQuestionProps) => { return ( - } required={props.required} description={props.subtitle} @@ -29,6 +29,9 @@ const TextQuestion = (props: TextQuestionProps) => { style={props.style} onChange={(e) => props.onChange && props.onChange(e.target.value)} error={props.error} + autosize + minRows={1} + maxRows={3} disabled={props.disabled} readOnly={props.readonly} value={props.value} diff --git a/src/pages/teams/[team]/manage/review/[id].tsx b/src/pages/teams/[team]/manage/review/[id].tsx index 49d454b6..375adc01 100644 --- a/src/pages/teams/[team]/manage/review/[id].tsx +++ b/src/pages/teams/[team]/manage/review/[id].tsx @@ -1,18 +1,22 @@ import { + ActionIcon, Alert, Badge, Button, + Code, Divider, Grid, Group, Stack, Text, Textarea, + Tooltip, useMantineTheme, } from '@mantine/core'; -import { IconCheck, IconX } from '@tabler/icons-react'; +import { IconCheck, IconCopy, IconX } from '@tabler/icons-react'; import useSWR, { mutate } from 'swr'; +import { useClipboard } from '@mantine/hooks'; import { modals } from '@mantine/modals'; import { showNotification } from '@mantine/notifications'; import { NextPage } from 'next'; @@ -20,12 +24,13 @@ import { serverSideTranslations } from 'next-i18next/serverSideTranslations'; import Page from '../../../../../components/Page'; import SettingsTabs from '../../../../../components/SettingsTabs'; import { useUser } from '../../../../../hooks/useUser'; -import { ApplicationQuestions } from '../../../../../utils/application/ApplicationQuestions'; import fetcher from '../../../../../utils/Fetcher'; +import { ApplicationQuestions } from '../../../../../utils/application/ApplicationQuestions'; const Apply: NextPage = ({ team, id }: any) => { const theme = useMantineTheme(); const user = useUser(); + const clipboard = useClipboard(); const { data } = useSWR( `/buildteams/${team}/applications/${id}?includeAnswers=true&includeUser=true&slug=true`, ); @@ -127,37 +132,55 @@ const Apply: NextPage = ({ team, id }: any) => { - Id + ID {data.id} Created At - {new Date(data.createdAt).toLocaleString()} + {new Date(data.createdAt).toLocaleString()} {data.reviewedAt && ( <> Reviewed At - {new Date(data.reviewedAt).toLocaleString()} + {new Date(data.reviewedAt).toLocaleString()} )} - Discord Id - {data?.user?.discordId} + Discord Name + + + {data?.user?.discordName} + clipboard.copy(data?.user?.discordId)} + > + + + + Minecraft Name - {data?.user?.name} + {data?.user?.name || '--'} Trial - {data.trial ? 'Yes' : 'No'} + + {data.trial ? 'Yes' : 'No'}{' '} + @@ -166,6 +189,15 @@ const Apply: NextPage = ({ team, id }: any) => { {statusToString(data.status)} + {data.status != 'SEND' && ( + <> + + + Reviewer + {data?.reviewer?.discordName} + + + )} {data.status != 'SEND' && ( diff --git a/src/pages/teams/[team]/manage/review/index.tsx b/src/pages/teams/[team]/manage/review/index.tsx index b2d20e67..06703bd7 100644 --- a/src/pages/teams/[team]/manage/review/index.tsx +++ b/src/pages/teams/[team]/manage/review/index.tsx @@ -35,8 +35,6 @@ const Review = ({ team }: any) => { }} seo={{ nofollow: true, noindex: true }} requiredPermissions={[ - 'team.settings.edit', - 'team.socials.edit', 'team.application.edit', 'team.application.list', 'team.application.review',