Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 44 additions & 2 deletions lego-webapp/pages/contact/+Page.tsx
Original file line number Diff line number Diff line change
@@ -1,12 +1,54 @@
import { Page } from '@webkom/lego-bricks';
import { Card, Flex, Page } from '@webkom/lego-bricks';
import { Helmet } from 'react-helmet-async';
import { useIsLoggedIn } from '~/redux/slices/auth';
import ContactForm from './ContactForm';

const Contact = () => {
const loggedIn = useIsLoggedIn();

return (
<Page title="Kontaktskjema for Abakus">
<Helmet title="Kontakt" />
<ContactForm />
<Flex column gap="var(--spacing-md)">
<p>
Dette skjemaet er et verktøy for å nå ut til Abakus sine komiteer
eller Hovedstyret, enten du har spørsmål, tilbakemeldinger, eller bare
ønsker å dele informasjon med oss.
</p>
<Card severity="info">
<span>
Dersom du ønsker å varsle om kritikkverdige forhold, vennligst
benytt vår{' '}
<a
href="https://avvik.abakus.no"
rel="noopener noreferrer"
target="_blank"
>
varslingsportal
</a>
. Da sikrer du at saken din blir behandlet best mulig, og du har
mulighet til å følge opp saken samtidig som du forblir{' '}
<strong>anonym</strong>.
<br />
Les mer i våre{' '}
<a href="/pages/organisasjon/117-abakus-etiske-retningslinjer">
Etiske retningslinjer
</a>
.
</span>
</Card>

{loggedIn ? (
<ContactForm />
) : (
<span>
<h3>Du er ikke innlogget</h3>
Du må være innlogget for å benytte dette skjemaet. Dersom du ikke
har abakus bruker se andre kontaktmuligheter under{' '}
<a href="/pages/info-om-abakus#contact">Om Abakus - Kontakt Oss</a>.
</span>
)}
</Flex>
</Page>
);
};
Expand Down
59 changes: 1 addition & 58 deletions lego-webapp/pages/contact/ContactForm.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ import {
Form,
TextInput,
TextArea,
CheckBox,
Captcha,
SelectInput,
LegoFinalForm,
Expand All @@ -16,7 +15,6 @@ import { SubmitButton } from '~/components/Form/SubmitButton';
import { sendContactMessage } from '~/redux/actions/ContactActions';
import { fetchAllWithType, fetchGroup } from '~/redux/actions/GroupActions';
import { useAppDispatch, useAppSelector } from '~/redux/hooks';
import { useIsLoggedIn } from '~/redux/slices/auth';
import { selectGroupById, selectGroupsByType } from '~/redux/slices/groups';
import { isNotNullish } from '~/utils';
import { createValidator, maxLength, required } from '~/utils/validation';
Expand All @@ -31,8 +29,6 @@ const validate = createValidator({
const REVUE_BOARD_GROUP_ID = 59;

const ContactForm = () => {
const loggedIn = useIsLoggedIn();

const committees = useAppSelector((state) =>
selectGroupsByType(state, GroupType.Committee),
);
Expand Down Expand Up @@ -81,42 +77,9 @@ const ContactForm = () => {
}));

return (
<LegoFinalForm
onSubmit={onSubmit}
validate={validate}
validateOnSubmitOnly
initialValues={{
anonymous: !loggedIn,
}}
>
<LegoFinalForm onSubmit={onSubmit} validate={validate} validateOnSubmitOnly>
{({ handleSubmit }) => (
<Form onSubmit={handleSubmit}>
<p>
Dette skjemaet er et verktøy for å nå ut til Abakus sine komiteer
eller Hovedstyret, enten du har spørsmål, tilbakemeldinger, eller
bare ønsker å dele informasjon med oss.
</p>
<Card severity="info">
<span>
Dersom du ønsker å varsle om kritikkverdige forhold, vennligst
benytt vår{' '}
<a
href="https://avvik.abakus.no"
rel="noopener noreferrer"
target="_blank"
>
varslingsportal
</a>
. Da sikrer du at saken din blir behandlet best mulig, og du har
mulighet til å følge opp saken samtidig som du forblir anonym.
<br />
Les mer i våre{' '}
<a href="/pages/organisasjon/117-abakus-etiske-retningslinjer">
Etiske retningslinjer
</a>
.
</span>
</Card>
<p>
Sender du meldingen til en spesifikk komité er det kun lederen av
komiteen som vil motta meldingen. Dersom du sender til Hovedstyret
Expand Down Expand Up @@ -149,26 +112,6 @@ const ContactForm = () => {
component={TextArea.Field}
/>

<p>
Du har også mulighet til å sende meldingen anonymt. Ved anonym
innsendelse vil de som mottar meldingen ikke få vite hvem som har
opprettet den, men de vil da heller ikke ha mulighet til å svare. Av
den grunn kan ikke ønsker om innsyn sendes inn anonymt.
</p>

{!loggedIn && (
<b>Du er ikke logget inn, så din melding vil være anonym.</b>
)}

<Field
label="Send som anonym avsender"
name="anonymous"
component={CheckBox.Field}
type="checkbox"
readOnly={!loggedIn}
disabled={!loggedIn}
/>

<Field
name="captchaResponse"
fieldStyle={{
Expand Down