diff --git a/app/components/UserAttendance/Attendance.tsx b/app/components/UserAttendance/Attendance.tsx
index 70f8707aef..53b0fd27e5 100644
--- a/app/components/UserAttendance/Attendance.tsx
+++ b/app/components/UserAttendance/Attendance.tsx
@@ -4,16 +4,14 @@ import AttendanceStatus from 'app/components/UserAttendance/AttendanceStatus';
import UserGrid from 'app/components/UserGrid';
import { useIsLoggedIn } from 'app/reducers/auth';
import RegisteredSummary from 'app/routes/events/components/RegisteredSummary';
-import type {
- Pool,
- Registration,
-} from 'app/components/UserAttendance/AttendanceModalContent';
+import type { Pool } from 'app/components/UserAttendance/AttendanceModalContent';
import type { SummaryRegistration } from 'app/routes/events/components/RegisteredSummary';
+import type { PaymentRegistration } from 'app/store/models/Registration';
type Props = {
pools: Pool[];
registrations?: SummaryRegistration[];
- currentRegistration?: Registration;
+ currentRegistration?: PaymentRegistration;
minUserGridRows?: number;
maxUserGridRows?: number;
isMeeting?: boolean;
diff --git a/app/routes/events/components/EventDetail/AttendeeSection.tsx b/app/routes/events/components/EventDetail/AttendeeSection.tsx
new file mode 100644
index 0000000000..ccbdd9b680
--- /dev/null
+++ b/app/routes/events/components/EventDetail/AttendeeSection.tsx
@@ -0,0 +1,82 @@
+import { Flex } from '@webkom/lego-bricks';
+import moment from 'moment-timezone';
+import Attendance from 'app/components/UserAttendance/Attendance';
+import { useIsLoggedIn } from 'app/reducers/auth';
+import { selectRegistrationsFromPools } from 'app/reducers/events';
+import RegistrationMeta from 'app/routes/events/components/RegistrationMeta';
+import { getEventSemesterFromStartTime } from 'app/routes/events/utils';
+import { useAppSelector } from 'app/store/hooks';
+import type { UserDetailedEvent } from 'app/store/models/Event';
+import type {
+ PaymentRegistration,
+ ReadRegistration,
+} from 'app/store/models/Registration';
+
+const MIN_USER_GRID_ROWS = 2;
+const MAX_USER_GRID_ROWS = 2;
+
+interface Props {
+ showSkeleton: boolean;
+ event: UserDetailedEvent;
+ currentRegistration?: PaymentRegistration;
+ pools: any;
+ currentPool: any;
+}
+
+export const AttendeeSection = ({
+ showSkeleton,
+ event,
+ currentRegistration,
+ pools,
+ currentPool,
+}: Props) => {
+ const loggedIn = useIsLoggedIn();
+ const fetching = useAppSelector((state) => state.events.fetching);
+ const registrations: ReadRegistration[] | undefined = useAppSelector(
+ (state) => selectRegistrationsFromPools(state, { eventId: event.id }),
+ );
+
+ const currentMoment = moment();
+ const hasSimpleWaitingList =
+ pools.filter((p) => p.name != 'Venteliste').length <= 1;
+ const waitingListIndex =
+ currentPool?.registrations.indexOf(currentRegistration);
+
+ // The UserGrid is expanded when there's less than 5 minutes till activation
+ const minUserGridRows = currentMoment.isAfter(
+ moment(event.activationTime).subtract(5, 'minutes'),
+ )
+ ? MIN_USER_GRID_ROWS
+ : 0;
+
+ return (
+
+
Påmeldte
+
+
+
+ {loggedIn && (
+
+ )}
+
+ );
+};
diff --git a/app/routes/events/components/EventDetail/UnansweredSurveys.tsx b/app/routes/events/components/EventDetail/UnansweredSurveys.tsx
new file mode 100644
index 0000000000..25120f7308
--- /dev/null
+++ b/app/routes/events/components/EventDetail/UnansweredSurveys.tsx
@@ -0,0 +1,28 @@
+import { Card } from '@webkom/lego-bricks';
+import { Link } from 'react-router-dom';
+import type { AuthUserDetailedEvent } from 'app/store/models/Event';
+import type { ReadRegistration } from 'app/store/models/Registration';
+
+interface Props {
+ event: AuthUserDetailedEvent;
+ currentRegistration: ReadRegistration | null;
+}
+
+export const UnansweredSurveys = ({ event, currentRegistration }: Props) => {
+ return (
+
+
+ Du kan ikke melde deg {currentRegistration ? 'av' : 'på'} dette
+ arrangementet fordi du har ubesvarte spørreundersøkelser. Gå til lenkene
+ under for å svare:
+
- Du kan ikke melde deg {currentRegistration ? 'av' : 'på'}{' '}
- dette arrangementet fordi du har ubesvarte
- spørreundersøkelser. Gå til lenkene under for å svare:
-