-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: siirrä notifikaatiot sivun yläreunaan ja lisää puuttuvia Notifi…
…cation-elementtejä (#325)
- Loading branch information
Showing
3 changed files
with
108 additions
and
60 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,53 +1,119 @@ | ||
import React, { ReactElement } from "react"; | ||
import React, { FC, ReactElement } from "react"; | ||
import ProjektiPageLayout from "@components/projekti/ProjektiPageLayout"; | ||
import { PageProps } from "@pages/_app"; | ||
import useProjektiBreadcrumbs from "src/hooks/useProjektiBreadcrumbs"; | ||
import Notification, { NotificationType } from "@components/notification/Notification"; | ||
import Tabs from "@components/layout/tabs/Tabs"; | ||
import KuulutuksenTiedot from "@components/projekti/nahtavillaolo/kuulutuksentiedot/KuulutuksenTiedot"; | ||
import NahtavilleAsetettavatAineistot from "@components/projekti/nahtavillaolo/nahtavilleAsetettavatAineistot/NahtavilleAsetettavatAineistot"; | ||
import { useProjekti } from "src/hooks/useProjekti"; | ||
import { NahtavillaoloVaiheTila } from "@services/api"; | ||
import dayjs from "dayjs"; | ||
import SectionContent from "@components/layout/SectionContent"; | ||
import FormatDate from "@components/FormatDate"; | ||
|
||
const InfoElement: FC = () => { | ||
const { data: projekti } = useProjekti(); | ||
|
||
const julkaisut = projekti?.nahtavillaoloVaiheJulkaisut; | ||
|
||
const julkaisu = julkaisut?.[julkaisut.length - 1]; | ||
|
||
if (julkaisu?.tila === NahtavillaoloVaiheTila.HYVAKSYTTY) { | ||
// Toistaiseksi tarkastellaan julkaisupaivatietoa, koska ei ole olemassa erillista tilaa julkaistulle kuulutukselle | ||
const julkaisupvm = dayjs(julkaisu.kuulutusPaiva); | ||
if (dayjs().isBefore(julkaisupvm, "day")) { | ||
return ( | ||
<Notification type={NotificationType.WARN}> | ||
{`Kuulutusta ei ole vielä julkaistu. Kuulutuspäivä ${julkaisupvm.format("DD.MM.YYYY")}.`} | ||
</Notification> | ||
); | ||
} else { | ||
return ( | ||
<Notification type={NotificationType.INFO_GREEN}> | ||
Kuulutus on julkaistu {julkaisupvm.format("DD.MM.YYYY")}. Projekti näytetään kuulutuspäivästä lasketun | ||
määräajan jälkeen palvelun julkisella puolella suunnittelussa olevana. Kuulutusvaihe päättyy{" "} | ||
<FormatDate date={julkaisu.kuulutusVaihePaattyyPaiva} />. | ||
</Notification> | ||
); | ||
} | ||
} else if (julkaisu?.tila === NahtavillaoloVaiheTila.ODOTTAA_HYVAKSYNTAA) { | ||
if (projekti?.nykyinenKayttaja.onProjektipaallikko || projekti?.nykyinenKayttaja.onYllapitaja) { | ||
return ( | ||
<Notification type={NotificationType.WARN}> | ||
{ | ||
"Kuulutus odottaa hyväksyntää. Tarkasta kuulutus ja a) hyväksy tai a) palauta kuulutus korjattavaksi, jos havaitset puutteita tai virheen." | ||
} | ||
</Notification> | ||
); | ||
} else { | ||
return ( | ||
<Notification type={NotificationType.WARN}> | ||
Kuulutus on hyväksyttävänä projektipäälliköllä. Jos kuulutusta tarvitsee muokata, ota yhteys | ||
projektipäällikköön. | ||
</Notification> | ||
); | ||
} | ||
} else if (julkaisu?.tila === NahtavillaoloVaiheTila.PALAUTETTU) { | ||
return ( | ||
<> | ||
{projekti?.nahtavillaoloVaihe?.palautusSyy && ( | ||
<Notification type={NotificationType.WARN}> | ||
{"Aloituskuulutus on palautettu korjattavaksi. Palautuksen syy: " + projekti.nahtavillaoloVaihe.palautusSyy} | ||
</Notification> | ||
)} | ||
</> | ||
); | ||
} else { | ||
return <></>; | ||
} | ||
}; | ||
|
||
export default function Nahtavillaolo({ setRouteLabels }: PageProps): ReactElement { | ||
useProjektiBreadcrumbs(setRouteLabels); | ||
|
||
return ( | ||
<ProjektiPageLayout title="Nähtävilläolovaihe"> | ||
<Notification type={NotificationType.INFO} hideIcon> | ||
<div> | ||
<h3 className="vayla-small-title">Ohjeet</h3> | ||
<ul className="list-disc block pl-5"> | ||
<li> | ||
Lisää nähtäville asetettavat aineistot sekä lausuntopyynnön lisäaineistot kuulutuksen ensimmäiseltä | ||
välilehdeltä. | ||
</li> | ||
<li>Siirry Kuulutuksen tiedot-välilehdelle täyttämään kuulutuksen perustiedot.</li> | ||
<li> | ||
Anna päivämäärä, jolloin suunnittelun nähtäville asettamisesta kuulutetaan. Projekti ja sen nähtävilläolon | ||
kuulutus julkaistaan samana päivänä Valtion liikenneväylien suunnittelu -palvelun kansalaispuolella. | ||
</li> | ||
<li> | ||
Muokkaa tai täydennä halutessasi tiivistetty sisällönkuvaus hankkeesta. Jos projektista tulee tehdä | ||
kuulutus suomen lisäksi toisella kielellä, eikä tälle ole kenttää, tarkista projektin tiedot -sivulta | ||
projektin kieliasetus. | ||
</li> | ||
<li>Valitse kuulutuksessa esitettävät yhteystiedot.</li> | ||
<li>Lähetä nähtäville asettamisen kuulutus projektipäällikölle hyväksyttäväksi.</li> | ||
<li> | ||
{ | ||
"Projekti näytetään kuulutuspäivästä lasketun määräajan jälkeen palvelun julkisella puolella 'Hyväksyntämenettelyssä' -olevana." | ||
} | ||
</li> | ||
</ul> | ||
</div> | ||
</Notification> | ||
<Tabs | ||
tabStyle="Underlined" | ||
defaultValue={0} | ||
tabs={[ | ||
{ label: "Nähtäville asetettavat aineistot", content: <NahtavilleAsetettavatAineistot /> }, | ||
{ label: "Kuulutuksen tiedot", content: <KuulutuksenTiedot /> }, | ||
]} | ||
/> | ||
<SectionContent largeGaps> | ||
<InfoElement /> | ||
<Notification type={NotificationType.INFO} hideIcon> | ||
<div> | ||
<h3 className="vayla-small-title">Ohjeet</h3> | ||
<ul className="list-disc block pl-5"> | ||
<li> | ||
Lisää nähtäville asetettavat aineistot sekä lausuntopyynnön lisäaineistot kuulutuksen ensimmäiseltä | ||
välilehdeltä. | ||
</li> | ||
<li>Siirry Kuulutuksen tiedot-välilehdelle täyttämään kuulutuksen perustiedot.</li> | ||
<li> | ||
Anna päivämäärä, jolloin suunnittelun nähtäville asettamisesta kuulutetaan. Projekti ja sen | ||
nähtävilläolon kuulutus julkaistaan samana päivänä Valtion liikenneväylien suunnittelu -palvelun | ||
kansalaispuolella. | ||
</li> | ||
<li> | ||
Muokkaa tai täydennä halutessasi tiivistetty sisällönkuvaus hankkeesta. Jos projektista tulee tehdä | ||
kuulutus suomen lisäksi toisella kielellä, eikä tälle ole kenttää, tarkista projektin tiedot -sivulta | ||
projektin kieliasetus. | ||
</li> | ||
<li>Valitse kuulutuksessa esitettävät yhteystiedot.</li> | ||
<li>Lähetä nähtäville asettamisen kuulutus projektipäällikölle hyväksyttäväksi.</li> | ||
<li> | ||
{ | ||
"Projekti näytetään kuulutuspäivästä lasketun määräajan jälkeen palvelun julkisella puolella 'Hyväksyntämenettelyssä' -olevana." | ||
} | ||
</li> | ||
</ul> | ||
</div> | ||
</Notification> | ||
<Tabs | ||
tabStyle="Underlined" | ||
defaultValue={0} | ||
tabs={[ | ||
{ label: "Nähtäville asetettavat aineistot", content: <NahtavilleAsetettavatAineistot /> }, | ||
{ label: "Kuulutuksen tiedot", content: <KuulutuksenTiedot /> }, | ||
]} | ||
/> | ||
</SectionContent> | ||
</ProjektiPageLayout> | ||
); | ||
} |