New info page

This commit is contained in:
2022-06-18 00:31:43 +03:00
parent 438a2d4c07
commit 4d66ff85e0
5 changed files with 215 additions and 25 deletions

View File

@@ -1,12 +1,156 @@
import React from 'react'; import React, { useState } from 'react';
import shared from '../styles/Shared.module.scss'; import shared from '../styles/Shared.module.scss';
import styles from '../styles/Info.module.scss';
import { BiChevronDown, BiChevronLeft } from 'react-icons/bi';
interface InfoToggles {
shop: boolean;
bus: boolean;
accom: boolean;
ferry: boolean;
fb: boolean;
}
const Info = () => { const Info = () => {
const [infoToggles, setInfoToggles] = useState<InfoToggles>({
shop: false,
bus: false,
accom: false,
ferry: false,
fb: false,
});
const toggleInfo = (info: keyof InfoToggles) => {
let updated = { ...infoToggles };
updated[info] = !updated[info];
setInfoToggles(updated);
};
return ( return (
<section className={shared.page}> <section className={shared.page}>
<h1>Info</h1> <h1>Info</h1>
<i>Lisätietoja tulossa myöhemmin!</i> <i>Lisätietoja tulossa myöhemmin!</i>
<div className={styles.infoContainer}>
<div className={styles.infoTitle} onClick={() => toggleInfo('shop')}>
<h2>Livonsaaren Osuuskauppa</h2>
<button className={shared.openingChevron}>
{infoToggles.shop ? (
<BiChevronDown size='3rem' />
) : (
<BiChevronLeft size='3rem' />
)}
</button>
</div>
{infoToggles.shop && (
<>
<p>
Livonsaaren osuuskauppa palvelee klo 9-19 joka päivä. Keittiö ja
baari 12-19 to-pe. Ostosten yhteydessä mahdollista nostaa
käteistä, mutta suosittelemme tuomaan käteistä rahaa kaupungista
esim. mahdollisia kirjaostoksia varten.
</p>
<a href='https://https//livonsaarenosuuskauppa.fi/'>
Kaupan kotisivut
</a>
</>
)}
<hr />
</div>
<div className={styles.infoContainer}>
<div className={styles.infoTitle} onClick={() => toggleInfo('bus')}>
<h2>Bussiaikataulut</h2>
<button className={shared.openingChevron}>
{infoToggles.bus ? (
<BiChevronDown size='3rem' />
) : (
<BiChevronLeft size='3rem' />
)}
</button>
</div>
{infoToggles.bus && (
<>
<p>
Bussi 403 lähteen Turusta ma-pe 16:30 ja saapuu Livonsaarelle
17:37 ja Velkualle 17:48. Tämä on ainoa suorayhteys festivaali
alueelle.
</p>
<a href='https://https//www.foli.fi/fi'>
Paikallisliikenteen bussiaikataulut
</a>
</>
)}
<hr />
</div>
<div className={styles.infoContainer}>
<div className={styles.infoTitle} onClick={() => toggleInfo('accom')}>
<h2>Majoitus</h2>
<button className={shared.openingChevron}>
{infoToggles.accom ? (
<BiChevronDown size='3rem' />
) : (
<BiChevronLeft size='3rem' />
)}
</button>
</div>
{infoToggles.accom && (
<>
<p>
Majoituspalveluita Livonsaari-Velkua: Wanha Salakuljettaja
(Teersalo), Livonsaari Caravan, Saaristohotelli Vaihela.
</p>
<a href='https://oldsmuggler.fi/'>Vanha Salakuljettaja</a>
<a href='https://www.livonsaarencaravan.fi/'>Livonsaari Caravan</a>
<a href='https://vaihela.fi/'>Saaristohotelli Vaihela</a>
</>
)}
<hr />
</div>
<div className={styles.infoContainer}>
<div className={styles.infoTitle} onClick={() => toggleInfo('ferry')}>
<h2>Lossiyhteydet</h2>
<button className={shared.openingChevron}>
{infoToggles.ferry ? (
<BiChevronDown size='3rem' />
) : (
<BiChevronLeft size='3rem' />
)}
</button>
</div>
{infoToggles.ferry && (
<>
<p>
Lossiyhteydet Palvaan ja Velkuanmaahan Finferries-sivustolla
(huom. yövuoro edellyttää tilauksen etukäteen. Lossi on osa
julkista tieverkostoa eli maksuton.)
</p>
<a href='https://www.finferries.fi/lauttaliikenne/lauttapaikat-ja-aikataulut/velkuanmaa.html'>
Aikataulut Palvaan ja Velkuanmaahan
</a>
</>
)}
<hr />
</div>
<div className={styles.infoContainer}>
<div className={styles.infoTitle} onClick={() => toggleInfo('fb')}>
<h2>Facebook</h2>
<button className={shared.openingChevron}>
{infoToggles.fb ? (
<BiChevronDown size='3rem' />
) : (
<BiChevronLeft size='3rem' />
)}
</button>
</div>
{infoToggles.fb && (
<>
<a href='https://https//www.facebook.com/Runosaari-festivaali-110533364561933'>
Tapahtuman facebook-sivut
</a>
</>
)}
<hr />
</div>
</section> </section>
); );
}; };

View File

@@ -46,15 +46,13 @@ const Program = () => {
</div> </div>
{dayToggles.wed && ( {dayToggles.wed && (
<> <>
<p className={styles.programParag}> <p>
18-20 Olen polkuni päässä -illassa Ella Pyhältö lausuu 18-20 Olen polkuni päässä -illassa Ella Pyhältö lausuu
rakastettuja runoja Irja ja Veikko Aro-Heinilän kotipihalla rakastettuja runoja Irja ja Veikko Aro-Heinilän kotipihalla
(sateella sisällä). (sateella sisällä).
</p> </p>
<p className={styles.programParag}>Sydämellisesti tervetuloa!</p> <p>Sydämellisesti tervetuloa!</p>
<p className={styles.programParag}> <p>Paikka: Huhtakarintie 24, Livonsaari</p>
Paikka: Huhtakarintie 24, Livonsaari
</p>
</> </>
)} )}
<hr /> <hr />
@@ -75,7 +73,7 @@ const Program = () => {
</div> </div>
{dayToggles.thu && ( {dayToggles.thu && (
<> <>
<p className={styles.programParag}> <p>
14-16 Ainot ja Lauri esittävät Lähellä-nimisen poikkitaiteellisen 14-16 Ainot ja Lauri esittävät Lähellä-nimisen poikkitaiteellisen
kokoonpanon, joka on saanut kolmannen kiinnityksen kokoonpanon, joka on saanut kolmannen kiinnityksen
kiertopalkintoon Willi Kansa -katselmuksessa marraskuussa 2021 kiertopalkintoon Willi Kansa -katselmuksessa marraskuussa 2021
@@ -83,11 +81,11 @@ const Program = () => {
kuullaan Irja Aro-Heinilän ja Arto Juurakon tekstejä Ainojen ja kuullaan Irja Aro-Heinilän ja Arto Juurakon tekstejä Ainojen ja
Laurin esittäminä. Laurin esittäminä.
</p> </p>
<p className={styles.programParag}> <p>
17-19 Runollinen, musiikillinen ja merellinen matinea Cafe 17-19 Runollinen, musiikillinen ja merellinen matinea Cafe
Laiturissa. Esiintymässä mm. Anja Erämaja. Laiturissa. Esiintymässä mm. Anja Erämaja.
</p> </p>
<p className={styles.programParag}> <p>
Paikka: Huhtakarintie 24, Livonsaari sekä Cafe Laituri, Paikka: Huhtakarintie 24, Livonsaari sekä Cafe Laituri,
Voiponlahdentie 37, Palva Voiponlahdentie 37, Palva
</p> </p>
@@ -111,34 +109,32 @@ const Program = () => {
</div> </div>
{dayToggles.fri && ( {dayToggles.fri && (
<> <>
<p className={styles.programParag}> <p>
11-14 Monologityöpaja, vetäjä teatteritaiteen maisteri Kati Urho. 11-14 Monologityöpaja, vetäjä teatteritaiteen maisteri Kati Urho.
</p> </p>
<p className={styles.programParag}> <p>
Ympäristöjargonia luovasti -työpaja, vetäjä journalisti ja Ympäristöjargonia luovasti -työpaja, vetäjä journalisti ja
viestintäkonsultti Laura Rantanen. viestintäkonsultti Laura Rantanen.
</p> </p>
<p className={styles.programParag}> <p>
14-20 Runoutta, musiikkia ja poikkitaiteellisia yllätyksiä 14-20 Runoutta, musiikkia ja poikkitaiteellisia yllätyksiä
puutarhalavalla tai myrskyn sattuessa Seurantalon salissa. puutarhalavalla tai myrskyn sattuessa Seurantalon salissa.
</p> </p>
<p className={styles.programParag}> <p>
Esiintymässä mm. Kari Aronpuro, Sanna Karlström, Katariina Esiintymässä mm. Kari Aronpuro, Sanna Karlström, Katariina
Vuorinen, Aki Salmela, Heidi Iivari ja Laura Laakso. Vuorinen, Aki Salmela, Heidi Iivari ja Laura Laakso.
</p> </p>
<p className={styles.programParag}> <p>
Musiikillisesta puolesta vastaa saksofonisti Mikko Innanen sekä Musiikillisesta puolesta vastaa saksofonisti Mikko Innanen sekä
Äyräs-kokoonpano: Olga Välimaa (laulu), Kauko Röyhkä (laulu, Äyräs-kokoonpano: Olga Välimaa (laulu), Kauko Röyhkä (laulu,
kitara, basso), Ilkka Turta (kitara), Kimmo Laine (basso, kitara, basso), Ilkka Turta (kitara), Kimmo Laine (basso,
koskettimet), Roberto Lanz (rummut). koskettimet), Roberto Lanz (rummut).
</p> </p>
<p className={styles.programParag}> <p>
Tapahtuman ajan Sinervon talolla pitää majaa kiehtovien kirjojen Tapahtuman ajan Sinervon talolla pitää majaa kiehtovien kirjojen
tori. tori.
</p> </p>
<p className={styles.programParag}> <p>Paikka: Sinervon talo, Sauniementie 5, Teersalo</p>
Paikka: Sinervon talo, Sauniementie 5, Teersalo
</p>
</> </>
)} )}
<hr /> <hr />
@@ -159,21 +155,21 @@ const Program = () => {
</div> </div>
{dayToggles.sat && ( {dayToggles.sat && (
<> <>
<p className={styles.programParag}> <p>
13-17 Runollinen iltapäivä. Romanttinen Velkuanmaa kutsuu mystisen 13-17 Runollinen iltapäivä. Romanttinen Velkuanmaa kutsuu mystisen
äärelle. äärelle.
</p> </p>
<p className={styles.programParag}> <p>
Saaristohotelli Vaihelan terassilla runoilijat vievät kuulijat Saaristohotelli Vaihelan terassilla runoilijat vievät kuulijat
luomiinsa maailmoihin yhdessä muusikoiden kanssa. Samalla ehtii luomiinsa maailmoihin yhdessä muusikoiden kanssa. Samalla ehtii
myös nauttimaan lounasta, juttelemaan muiden festarikävijöiden myös nauttimaan lounasta, juttelemaan muiden festarikävijöiden
kanssa ja ihailemaan ympäröivää luontoa. kanssa ja ihailemaan ympäröivää luontoa.
</p> </p>
<p className={styles.programParag}> <p>
Juha Kulmala ja Diodi-yhtye, Saila Susiluoto ja Markku Pääskynen Juha Kulmala ja Diodi-yhtye, Saila Susiluoto ja Markku Pääskynen
(luuttu). (luuttu).
</p> </p>
<p className={styles.programParag}> <p>
Paikka: Vaihelan saaristohotelli, Velkuanmaantie 168, Velkuanmaa Paikka: Vaihelan saaristohotelli, Velkuanmaantie 168, Velkuanmaa
</p> </p>
</> </>

35
styles/Info.module.scss Normal file
View File

@@ -0,0 +1,35 @@
.infoContainer {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
hr {
border: 0.2rem solid #d5caf29d;
width: 60%;
}
p {
width: 60%;
}
}
.infoTitle {
display: flex;
align-items: center;
justify-content: space-between;
width: 60%;
padding-left: 1.5rem;
padding-right: 1.5rem;
margin-top: 1.5rem;
cursor: pointer;
h2 {
margin-right: 1rem;
}
h2:hover {
color: rgb(117, 117, 117);
transition: color 0.3s;
}
}

View File

@@ -3,14 +3,15 @@
flex-direction: column; flex-direction: column;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
hr { hr {
border: 0.2rem solid #d5caf29d; border: 0.2rem solid #d5caf29d;
width: 60%; width: 60%;
} }
}
.programParag { p {
width: 60%; width: 60%;
}
} }
.programTitle { .programTitle {
@@ -21,7 +22,14 @@
padding-left: 1.5rem; padding-left: 1.5rem;
padding-right: 1.5rem; padding-right: 1.5rem;
margin-top: 1.5rem; margin-top: 1.5rem;
cursor: pointer;
h2 { h2 {
margin-right: 1rem; margin-right: 1rem;
} }
h2:hover {
color: rgb(117, 117, 117);
transition: color 0.3s;
}
} }

View File

@@ -5,6 +5,13 @@
border: transparent; border: transparent;
} }
.openingChevron:hover {
svg {
color: rgb(117, 117, 117);
transition: color 0.3s;
}
}
.page { .page {
text-align: center; text-align: center;
margin-bottom: 8rem; margin-bottom: 8rem;