From a8a0402c393e0e91b64f60a72fee2e75799e09b2 Mon Sep 17 00:00:00 2001 From: emillub <145599402+emillub@users.noreply.github.com> Date: Wed, 26 Mar 2025 21:27:47 +0100 Subject: [PATCH 1/2] Download csv file work --- .../@eventId/administrate/attendees/+Page.tsx | 16 ++++++++++++++-- lego-webapp/pages/events/utils.ts | 4 ++++ 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/lego-webapp/pages/events/@eventId/administrate/attendees/+Page.tsx b/lego-webapp/pages/events/@eventId/administrate/attendees/+Page.tsx index 943662d014..1b37e93a27 100644 --- a/lego-webapp/pages/events/@eventId/administrate/attendees/+Page.tsx +++ b/lego-webapp/pages/events/@eventId/administrate/attendees/+Page.tsx @@ -1,4 +1,4 @@ -import { Flex } from '@webkom/lego-bricks'; +import { Flex, Icon } from '@webkom/lego-bricks'; import moment from 'moment-timezone'; import { ContentMain } from '~/components/Content'; import EmptyState from '~/components/EmptyState'; @@ -13,6 +13,9 @@ import { useParams } from '~/utils/useParams'; import styles from '../abacard/Abacard.module.css'; import { RegisteredTable, UnregisteredTable } from './RegistrationTables'; import type { AdministrateEvent } from '~/redux/models/Event'; +import Tooltip from '~/components/Tooltip'; +import { FileDown } from 'lucide-react'; +import { getCsvUrl } from '~/pages/events/utils'; const Attendees = () => { const { eventId } = useParams<{ eventId: string }>(); @@ -65,7 +68,16 @@ const Attendees = () => { -

Påmeldte

+ +

Påmeldte

+ + } + size={19} + /> + +
{`${registerCount}/${event?.registrationCount || '?'} ${ diff --git a/lego-webapp/pages/events/utils.ts b/lego-webapp/pages/events/utils.ts index b643fc746e..ad0235b00c 100644 --- a/lego-webapp/pages/events/utils.ts +++ b/lego-webapp/pages/events/utils.ts @@ -15,6 +15,7 @@ import type { CompleteEvent } from '~/redux/models/Event'; import type Penalty from '~/redux/models/Penalty'; import type { PublicUser } from '~/redux/models/User'; import type { PoolRegistrationWithUser } from '~/redux/slices/events'; +import { EntityId } from '@reduxjs/toolkit'; export type ConfigProperties = { displayName: string; @@ -364,6 +365,9 @@ export const transformEventStatusType = (eventStatusType: string) => { ); }; +export const getCsvUrl = (eventId: EntityId) => + `${appConfig.serverUrl}/events/${eventId}/csv/`; + export const getEventSemesterFromStartTime = ( startTime: Dateish, ): EventSemester => { From fb1584184ca156f981bf4b03ecddbb4c45cb2bec Mon Sep 17 00:00:00 2001 From: emillub <145599402+emillub@users.noreply.github.com> Date: Wed, 26 Mar 2025 21:58:44 +0100 Subject: [PATCH 2/2] Lint --- .../pages/events/@eventId/administrate/attendees/+Page.tsx | 6 +++--- lego-webapp/pages/events/utils.ts | 2 +- lego-webapp/pages/sudo/achievements/+Page.tsx | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/lego-webapp/pages/events/@eventId/administrate/attendees/+Page.tsx b/lego-webapp/pages/events/@eventId/administrate/attendees/+Page.tsx index 1b37e93a27..82d1b9a5d1 100644 --- a/lego-webapp/pages/events/@eventId/administrate/attendees/+Page.tsx +++ b/lego-webapp/pages/events/@eventId/administrate/attendees/+Page.tsx @@ -1,7 +1,10 @@ import { Flex, Icon } from '@webkom/lego-bricks'; +import { FileDown } from 'lucide-react'; import moment from 'moment-timezone'; import { ContentMain } from '~/components/Content'; import EmptyState from '~/components/EmptyState'; +import Tooltip from '~/components/Tooltip'; +import { getCsvUrl } from '~/pages/events/utils'; import { useAppSelector } from '~/redux/hooks'; import { selectRegistrationGroups, @@ -13,9 +16,6 @@ import { useParams } from '~/utils/useParams'; import styles from '../abacard/Abacard.module.css'; import { RegisteredTable, UnregisteredTable } from './RegistrationTables'; import type { AdministrateEvent } from '~/redux/models/Event'; -import Tooltip from '~/components/Tooltip'; -import { FileDown } from 'lucide-react'; -import { getCsvUrl } from '~/pages/events/utils'; const Attendees = () => { const { eventId } = useParams<{ eventId: string }>(); diff --git a/lego-webapp/pages/events/utils.ts b/lego-webapp/pages/events/utils.ts index ad0235b00c..85b7451e21 100644 --- a/lego-webapp/pages/events/utils.ts +++ b/lego-webapp/pages/events/utils.ts @@ -1,3 +1,4 @@ +import { EntityId } from '@reduxjs/toolkit'; import { pick, sumBy, find } from 'lodash'; import moment from 'moment-timezone'; import { EventType } from '~/redux/models/Event'; @@ -15,7 +16,6 @@ import type { CompleteEvent } from '~/redux/models/Event'; import type Penalty from '~/redux/models/Penalty'; import type { PublicUser } from '~/redux/models/User'; import type { PoolRegistrationWithUser } from '~/redux/slices/events'; -import { EntityId } from '@reduxjs/toolkit'; export type ConfigProperties = { displayName: string; diff --git a/lego-webapp/pages/sudo/achievements/+Page.tsx b/lego-webapp/pages/sudo/achievements/+Page.tsx index 8d64b21398..bb93dccaeb 100644 --- a/lego-webapp/pages/sudo/achievements/+Page.tsx +++ b/lego-webapp/pages/sudo/achievements/+Page.tsx @@ -1,4 +1,4 @@ -import { Button, Card, ConfirmModal, Flex, Page } from '@webkom/lego-bricks'; +import { Button, ConfirmModal, Flex, Page } from '@webkom/lego-bricks'; import { Helmet } from 'react-helmet-async'; import ContentMain from '~/components/Content/ContentMain'; import HTTPError from '~/components/errors/HTTPError';