From 3f2cb7717ef2bc68949bfc3edc94479de5630979 Mon Sep 17 00:00:00 2001 From: Johannes Date: Sat, 3 Feb 2024 14:56:21 +0200 Subject: [PATCH] start new branch --- src/components/Footer/FooterContent.tsx | 2 - src/components/Navigation.tsx | 2 + src/pages/kilta/hallitus.tsx | 18 ++ src/pages/kilta/toimihenkilot.tsx | 18 ++ src/pages/yhteystiedot.tsx | 2 +- src/views/ActualPage/ActualPageView.tsx | 3 +- src/views/BoardPage/BoardPageView.tsx | 152 ++++++++++++ src/views/BoardPage/board.json | 163 +++++++++++++ src/views/CommitteePage/CommitteePageView.tsx | 210 +++++++++++++++++ .../board.json | 0 .../{ContactsPage => CommitteePage}/ftmk.json | 0 .../{ContactsPage => CommitteePage}/htmk.json | 0 .../hvtmk.json | 0 .../{ContactsPage => CommitteePage}/ltmk.json | 0 .../{ContactsPage => CommitteePage}/mtmk.json | 0 .../{ContactsPage => CommitteePage}/ntmk.json | 0 .../optmk.json | 0 .../others.json | 0 .../{ContactsPage => CommitteePage}/ptmk.json | 0 .../shntmk.json | 0 .../shtmk.json | 0 .../siwatmk.json | 0 .../sstmk.json | 0 .../swtmk.json | 0 .../{ContactsPage => CommitteePage}/ttmk.json | 0 .../{ContactsPage => CommitteePage}/utmk.json | 0 .../{ContactsPage => CommitteePage}/vtmk.json | 0 .../{ContactsPage => CommitteePage}/ytmk.json | 0 src/views/ContactsPage/ContactsPageView.tsx | 223 ++---------------- src/views/CorporatePage/CorporatePageView.tsx | 2 +- 30 files changed, 587 insertions(+), 208 deletions(-) create mode 100644 src/pages/kilta/hallitus.tsx create mode 100644 src/pages/kilta/toimihenkilot.tsx create mode 100644 src/views/BoardPage/BoardPageView.tsx create mode 100644 src/views/BoardPage/board.json create mode 100644 src/views/CommitteePage/CommitteePageView.tsx rename src/views/{ContactsPage => CommitteePage}/board.json (100%) rename src/views/{ContactsPage => CommitteePage}/ftmk.json (100%) rename src/views/{ContactsPage => CommitteePage}/htmk.json (100%) rename src/views/{ContactsPage => CommitteePage}/hvtmk.json (100%) rename src/views/{ContactsPage => CommitteePage}/ltmk.json (100%) rename src/views/{ContactsPage => CommitteePage}/mtmk.json (100%) rename src/views/{ContactsPage => CommitteePage}/ntmk.json (100%) rename src/views/{ContactsPage => CommitteePage}/optmk.json (100%) rename src/views/{ContactsPage => CommitteePage}/others.json (100%) rename src/views/{ContactsPage => CommitteePage}/ptmk.json (100%) rename src/views/{ContactsPage => CommitteePage}/shntmk.json (100%) rename src/views/{ContactsPage => CommitteePage}/shtmk.json (100%) rename src/views/{ContactsPage => CommitteePage}/siwatmk.json (100%) rename src/views/{ContactsPage => CommitteePage}/sstmk.json (100%) rename src/views/{ContactsPage => CommitteePage}/swtmk.json (100%) rename src/views/{ContactsPage => CommitteePage}/ttmk.json (100%) rename src/views/{ContactsPage => CommitteePage}/utmk.json (100%) rename src/views/{ContactsPage => CommitteePage}/vtmk.json (100%) rename src/views/{ContactsPage => CommitteePage}/ytmk.json (100%) diff --git a/src/components/Footer/FooterContent.tsx b/src/components/Footer/FooterContent.tsx index 91374d8..0d2c050 100644 --- a/src/components/Footer/FooterContent.tsx +++ b/src/components/Footer/FooterContent.tsx @@ -77,10 +77,8 @@ const FooterContent: React.FC = () => (

TUAS-Talo

Maarintie 8

-

PL 15500, 00076 Aalto

-

Y-tunnus: 1627010-1

hallitus@sahkoinsinoorikilta.fi

Yhteystiedot
diff --git a/src/components/Navigation.tsx b/src/components/Navigation.tsx index 3cfedc7..11d7ec0 100644 --- a/src/components/Navigation.tsx +++ b/src/components/Navigation.tsx @@ -11,6 +11,8 @@ export const renderNavigationItems = (mobile = false): JSX.Element => ( Toiminta Fuksi + Hallitus + Toimihenkilöt Vuokraa kalustoa Kunnianosoitukset Dokumenttiarkisto diff --git a/src/pages/kilta/hallitus.tsx b/src/pages/kilta/hallitus.tsx new file mode 100644 index 0000000..cb23aa6 --- /dev/null +++ b/src/pages/kilta/hallitus.tsx @@ -0,0 +1,18 @@ +import React from "react"; +import { NextPage } from "next"; +import Head from "next/head"; +import BoardPageView from "@views/BoardPage/BoardPageView"; +import PageWrapper from "@views/common/PageWrapper"; + +const BoardPage: NextPage = () => ( + <> + + + + + + + +); + +export default BoardPage; diff --git a/src/pages/kilta/toimihenkilot.tsx b/src/pages/kilta/toimihenkilot.tsx new file mode 100644 index 0000000..6e2dc9e --- /dev/null +++ b/src/pages/kilta/toimihenkilot.tsx @@ -0,0 +1,18 @@ +import React from "react"; +import { NextPage } from "next"; +import Head from "next/head"; +import CommitteePageView from "@views/CommitteePage/CommitteePageView"; +import PageWrapper from "@views/common/PageWrapper"; + +const CommitteePage: NextPage = () => ( + <> + + + + + + + +); + +export default CommitteePage; diff --git a/src/pages/yhteystiedot.tsx b/src/pages/yhteystiedot.tsx index 1492246..f246391 100644 --- a/src/pages/yhteystiedot.tsx +++ b/src/pages/yhteystiedot.tsx @@ -7,7 +7,7 @@ import PageWrapper from "@views/common/PageWrapper"; const ContactsPage: NextPage = () => ( <> - + diff --git a/src/views/ActualPage/ActualPageView.tsx b/src/views/ActualPage/ActualPageView.tsx index 50794bb..486910c 100644 --- a/src/views/ActualPage/ActualPageView.tsx +++ b/src/views/ActualPage/ActualPageView.tsx @@ -139,7 +139,8 @@ const ActualPageView: React.FC = ({ events, feed }) => (
Yhteistyö yritysten kanssa

Killassa toimiva yrityssuhdetoimikunta vastaa siitä, että killan talous pysyy pystyssä, mutta tämän lisäksi he myös tarjoavat kiltalaisille mahdollisuuksia solmia suhteita alamme huippuyritysten kanssa. - Tällaisia mahdollisuuksia järjestetään excursioiden muodossa, joissa kiltalaiset usein pääsevät yrityksen omiin tiloihin tutustumaan yrityksen toimintaan ja henkilökuntaan, sekä erilaisten Otaniemessä järjestettävien yrityssuhdetapahtumien muodossa. + Tällaisia mahdollisuuksia järjestetään excursioiden muodossa, joissa kiltalaiset usein pääsevät yrityksen omiin tiloihin tutustumaan yrityksen toimintaan ja henkilökuntaan, + sekä erilaisten Otaniemessä järjestettävien yrityssuhdetapahtumien muodossa. Otaniemi-yritystapahtumia ovat esimerkiksi yrityksien kanssa yhteistyössä järjestetyt saunaillat, sekä jokavuotinen yritysbrunssi. Ilmottautumiset näihin tapahtumiin onnistuvat Tapahtumat-osiosta killan nettisivuilta.

diff --git a/src/views/BoardPage/BoardPageView.tsx b/src/views/BoardPage/BoardPageView.tsx new file mode 100644 index 0000000..80c08d6 --- /dev/null +++ b/src/views/BoardPage/BoardPageView.tsx @@ -0,0 +1,152 @@ +import React from "react"; +import styled from "styled-components"; +import { Divider, TextSection, Link } from "@components/index"; +import colors from "@theme/colors"; +import ContactCard from "@components/ContactCard"; + +import BoardJson from "./board.json"; + +const orderedCommittees = [ + BoardJson, +]; + +const blankProfile = "/img/blank_profile.png"; + +const BlueLink = styled(Link)` + color: ${colors.blue1}; + + &:hover { + color: ${colors.lightBlue}; + } +`; + +const Container = styled.div` + color: ${colors.darkBlue}; + align-items: center; + justify-content: center; + width: 50vw; + + & > h2 { + text-transform: uppercase; + font-size: 4rem; + width: 100%; + } + + & > div { + display: flex; + flex-flow: row wrap; + } + + @media (max-width: 950px) { + width: 100vw; + } +`; + +const ContactContainer = styled.div` + overflow-x: hidden; + @media (max-width: 950px) { + margin-top: 0; + } +`; + +const TitleContainer = styled.div` + display: flex; + width: 100%; + align-items: center; + justify-content: center; + padding: 10px 10px; + flex-direction: column; + margin: auto; +`; + +const CommitteeContainer: React.FC<{ + committee: Committee; + children: React.ReactNode; +}> = ({ committee, children }) => ( + + +

+ {committee.name_fi || committee.name_en} +

+
+
+ {committee.roles.map((role) => ( + role.representatives.map((representative) => ( + + )) + ))} +
+ {children} +
+); + +interface Committee { + name_fi: string; + name_en: string; + roles: Array; +} + +interface Role { + name_fi: string; + name_en: string; + representatives: Array +} + +interface Representative { + name: string; + phone_number?: string; + email?: string; + image?: string; +} + +const BoardPageView: React.FC = () => ( + <> + +

Hallitus

+

+ Tältä sivulta löydät killan hallituksen jäsenten yhteystiedot. +

+
+ + {orderedCommittees.map((json) => ( + + {(json.slug !== "board") && ( + + )} + + + {(json.slug === "board") && ( +
+

+ {"Koko hallitukseen saa yhteyden lähettämällä sähköpostia osoitteeseen "} + + hallitus@sahkoinsinoorikilta.fi + + . +

+

+ {"Hallitukselle voi myös lähettää palautetta täyttämällä "} + + palautelomakkeen + + . Lomakkeen vastauksia käydään läpi hallituksen kokouksissa. +

+
+ )} +
+
+
+ ))} +
+ +); + +export default BoardPageView; diff --git a/src/views/BoardPage/board.json b/src/views/BoardPage/board.json new file mode 100644 index 0000000..9fba1b1 --- /dev/null +++ b/src/views/BoardPage/board.json @@ -0,0 +1,163 @@ +{ + "slug": "board", + "name_fi": "Hallitus 2024", + "name_en": "Board", + "roles": [ + { + "name_fi": "Puheenjohtaja", + "name_en": "Chairman of the Board", + "representatives": [ + { + "name": "Ville Lairila", + "phone_number": null, + "email": "ville.lairila@sahkoinsinoorikilta.fi", + "image": "https://static.sahkoinsinoorikilta.fi/img/board/ville.jpg" + } + ] + }, + { + "name_fi": "Sihteeri", + "name_en": "Secretary", + "representatives": [ + { + "name": "Akseli Heikkinen", + "phone_number": null, + "email": "akseli.heikkinen@sahkoinsinoorikilta.fi", + "image": "/img/blank_profile.png" + } + ] + }, + { + "name_fi": "Rahastonhoitaja", + "name_en": "Treasurer", + "representatives": [ + { + "name": "Alisa Ahonen", + "phone_number": null, + "email": "alisa.ahonen@sahkoinsinoorikilta.fi", + "image": "/img/blank_profile.png" + } + ] + }, + { + "name_fi": "Fuksitoimikunnan Puheenjohtaja", + "name_en": "", + "representatives": [ + { + "name": "Sauli Hakala", + "phone_number": null, + "email": "sauli.hakala@sahkoinsinoorikilta.fi", + "image": "/img/blank_profile.png" + } + ] + }, + { + "name_fi": "Fuksitoimikunnan puheenjohtajan adjutantti", + "name_en": "", + "representatives": [ + { + "name": "Valentin Juhela", + "phone_number": null, + "email": "valentin.juhela@sahkoinsinoorikilta.fi", + "image": "/img/blank_profile.png" + } + ] + }, + { + "name_fi": "Hovimestari", + "name_en": "", + "representatives": [ + { + "name": "Axel Aurola", + "phone_number": null, + "email": "axel.aurola@sahkoinsinoorikilta.fi", + "image": "/img/blank_profile.png" + } + ] + }, + { + "name_fi": "Hovineuvos", + "name_en": "", + "representatives": [ + { + "name": "Nelli Liljasto", + "phone_number": null, + "email": "nelli.liljasto@sahkoinsinoorikilta.fi", + "image": "/img/blank_profile.png" + } + ] + }, + { + "name_fi": "Hyvinvointimestari", + "name_en": "", + "representatives": [ + { + "name": "Peter Lindahl", + "phone_number": null, + "email": "peter.lindahl@sahkoinsinoorikilta.fi", + "image": "/img/blank_profile.png" + } + ] + }, + { + "name_fi": "Opintomestari", + "name_en": "", + "representatives": [ + { + "name": "Mikko Sandström", + "phone_number": null, + "email": "mikko.sandstrom@sahkoinsinoorikilta.fi", + "image": "/img/blank_profile.png" + } + ] + }, + { + "name_fi": "Teknologiamestari", + "name_en": "", + "representatives": [ + { + "name": "Johannes Viirimäki", + "phone_number": null, + "email": "johannes.viirimaki@sahkoinsinoorikilta.fi", + "image": "/img/blank_profile.png" + } + ] + }, + { + "name_fi": "KV-fuksikapteeni", + "name_en": "", + "representatives": [ + { + "name": "Verneri Turkki", + "phone_number": null, + "email": "verneri.turkki@sahkoinsinoorikilta.fi", + "image": "/img/blank_profile.png" + } + ] + }, + { + "name_fi": "Yrityssuhdemestari", + "name_en": "", + "representatives": [ + { + "name": "Emma Uusküla", + "phone_number": null, + "email": "emma.uuskula@sahkoinsinoorikilta.fi", + "image": "/img/blank_profile.png" + } + ] + }, + { + "name_fi": "Excursio- ja ulkomestari", + "name_en": "", + "representatives": [ + { + "name": "Roope Jaskari", + "phone_number": null, + "email": "roope.jaskari@sahkoinsinoorikilta.fi", + "image": "/img/blank_profile.png" + } + ] + } + ] +} diff --git a/src/views/CommitteePage/CommitteePageView.tsx b/src/views/CommitteePage/CommitteePageView.tsx new file mode 100644 index 0000000..1ded7de --- /dev/null +++ b/src/views/CommitteePage/CommitteePageView.tsx @@ -0,0 +1,210 @@ +import React from "react"; +import styled from "styled-components"; +import { Divider, TextSection, Link } from "@components/index"; +import colors from "@theme/colors"; +import ContactCard from "@components/ContactCard"; + +import FtmkJson from "./ftmk.json"; +import HtmkJson from "./htmk.json"; +import HvtmkJson from "./hvtmk.json"; +import MtmkJson from "./mtmk.json"; +import OptmkJson from "./optmk.json"; +import NtmkJson from "./ntmk.json"; +import PtmkJson from "./ptmk.json"; +import TtmkJson from "./ttmk.json"; +import YtmkJson from "./ytmk.json"; +import SwtmkJson from "./swtmk.json"; +import VtmkJson from "./vtmk.json"; +import LtmkJson from "./ltmk.json"; +import Others from "./others.json"; + +const orderedCommittees = [ + FtmkJson, + HtmkJson, + LtmkJson, + HvtmkJson, + MtmkJson, + OptmkJson, + YtmkJson, + TtmkJson, + PtmkJson, + VtmkJson, + SwtmkJson, + NtmkJson, + Others, +]; + +const blankProfile = "/img/blank_profile.png"; + +const BlueLink = styled(Link)` + color: ${colors.blue1}; + + &:hover { + color: ${colors.lightBlue}; + } +`; + +const IndexUL = styled.ul` + padding: 0; + list-style: none; + + li::before { + content: attr(data-icon); + margin-right: 4px; + } +`; + +const Index: React.FC<{ committees: typeof orderedCommittees }> = ({ committees }) => ( + + {committees.map(({ slug, name_fi }) => ( + +
  • + {name_fi} +
  • +
    + ))} +
    +); + +const Container = styled.div` + color: ${colors.darkBlue}; + align-items: center; + justify-content: center; + width: 50vw; + + & > h2 { + text-transform: uppercase; + font-size: 4rem; + width: 100%; + } + + & > div { + display: flex; + flex-flow: row wrap; + } + + @media (max-width: 950px) { + width: 100vw; + } +`; + +const ContactContainer = styled.div` + overflow-x: hidden; + @media (max-width: 950px) { + margin-top: 0; + } +`; + +const TitleContainer = styled.div` + display: flex; + width: 100%; + align-items: center; + justify-content: center; + padding: 10px 10px; + flex-direction: column; + margin: auto; +`; + +const CommitteeContainer: React.FC<{ + committee: Committee; + children: React.ReactNode; +}> = ({ committee, children }) => ( + + +

    + {committee.name_fi || committee.name_en} +

    +
    +
    + {committee.roles.map((role) => ( + role.representatives.map((representative) => ( + + )) + ))} +
    + {children} +
    +); + +interface Committee { + name_fi: string; + name_en: string; + roles: Array; +} + +interface Role { + name_fi: string; + name_en: string; + representatives: Array +} + +interface Representative { + name: string; + phone_number?: string; + email?: string; + image?: string; +} + +const ContactsPageView: React.FC = () => ( + <> + +

    Toimihenkilöt

    +

    + Tältä sivulta löytyvät killan toimihenkilöt sekä lyhyet kuvaukset toimikunnista. +
    +
    + Toimihenkilöiden sähköpostiosoitteet ovat muotoa etunimi.sukunimi@sahkoinsinoorikilta.fi. +

    + +
    + + {orderedCommittees.map((json) => ( + + {(json.slug !== "board") && ( + + )} + + + {(json.slug === "board") && ( +
    +

    + {"Koko hallitukseen saa yhteyden lähettämällä sähköpostia osoitteeseen "} + + hallitus@sahkoinsinoorikilta.fi + + . +

    +

    + {"Hallitukselle voi myös lähettää palautetta täyttämällä "} + + palautelomakkeen + + . Lomakkeen vastauksia käydään läpi hallituksen kokouksissa. +

    +

    + Toimihenkilöiden sähköpostiosoitteet ovat muotoa etunimi.sukunimi@sahkoinsinoorikilta.fi. +

    +
    + )} +
    +
    +
    + ))} +
    + +); + +export default ContactsPageView; diff --git a/src/views/ContactsPage/board.json b/src/views/CommitteePage/board.json similarity index 100% rename from src/views/ContactsPage/board.json rename to src/views/CommitteePage/board.json diff --git a/src/views/ContactsPage/ftmk.json b/src/views/CommitteePage/ftmk.json similarity index 100% rename from src/views/ContactsPage/ftmk.json rename to src/views/CommitteePage/ftmk.json diff --git a/src/views/ContactsPage/htmk.json b/src/views/CommitteePage/htmk.json similarity index 100% rename from src/views/ContactsPage/htmk.json rename to src/views/CommitteePage/htmk.json diff --git a/src/views/ContactsPage/hvtmk.json b/src/views/CommitteePage/hvtmk.json similarity index 100% rename from src/views/ContactsPage/hvtmk.json rename to src/views/CommitteePage/hvtmk.json diff --git a/src/views/ContactsPage/ltmk.json b/src/views/CommitteePage/ltmk.json similarity index 100% rename from src/views/ContactsPage/ltmk.json rename to src/views/CommitteePage/ltmk.json diff --git a/src/views/ContactsPage/mtmk.json b/src/views/CommitteePage/mtmk.json similarity index 100% rename from src/views/ContactsPage/mtmk.json rename to src/views/CommitteePage/mtmk.json diff --git a/src/views/ContactsPage/ntmk.json b/src/views/CommitteePage/ntmk.json similarity index 100% rename from src/views/ContactsPage/ntmk.json rename to src/views/CommitteePage/ntmk.json diff --git a/src/views/ContactsPage/optmk.json b/src/views/CommitteePage/optmk.json similarity index 100% rename from src/views/ContactsPage/optmk.json rename to src/views/CommitteePage/optmk.json diff --git a/src/views/ContactsPage/others.json b/src/views/CommitteePage/others.json similarity index 100% rename from src/views/ContactsPage/others.json rename to src/views/CommitteePage/others.json diff --git a/src/views/ContactsPage/ptmk.json b/src/views/CommitteePage/ptmk.json similarity index 100% rename from src/views/ContactsPage/ptmk.json rename to src/views/CommitteePage/ptmk.json diff --git a/src/views/ContactsPage/shntmk.json b/src/views/CommitteePage/shntmk.json similarity index 100% rename from src/views/ContactsPage/shntmk.json rename to src/views/CommitteePage/shntmk.json diff --git a/src/views/ContactsPage/shtmk.json b/src/views/CommitteePage/shtmk.json similarity index 100% rename from src/views/ContactsPage/shtmk.json rename to src/views/CommitteePage/shtmk.json diff --git a/src/views/ContactsPage/siwatmk.json b/src/views/CommitteePage/siwatmk.json similarity index 100% rename from src/views/ContactsPage/siwatmk.json rename to src/views/CommitteePage/siwatmk.json diff --git a/src/views/ContactsPage/sstmk.json b/src/views/CommitteePage/sstmk.json similarity index 100% rename from src/views/ContactsPage/sstmk.json rename to src/views/CommitteePage/sstmk.json diff --git a/src/views/ContactsPage/swtmk.json b/src/views/CommitteePage/swtmk.json similarity index 100% rename from src/views/ContactsPage/swtmk.json rename to src/views/CommitteePage/swtmk.json diff --git a/src/views/ContactsPage/ttmk.json b/src/views/CommitteePage/ttmk.json similarity index 100% rename from src/views/ContactsPage/ttmk.json rename to src/views/CommitteePage/ttmk.json diff --git a/src/views/ContactsPage/utmk.json b/src/views/CommitteePage/utmk.json similarity index 100% rename from src/views/ContactsPage/utmk.json rename to src/views/CommitteePage/utmk.json diff --git a/src/views/ContactsPage/vtmk.json b/src/views/CommitteePage/vtmk.json similarity index 100% rename from src/views/ContactsPage/vtmk.json rename to src/views/CommitteePage/vtmk.json diff --git a/src/views/ContactsPage/ytmk.json b/src/views/CommitteePage/ytmk.json similarity index 100% rename from src/views/ContactsPage/ytmk.json rename to src/views/CommitteePage/ytmk.json diff --git a/src/views/ContactsPage/ContactsPageView.tsx b/src/views/ContactsPage/ContactsPageView.tsx index 7c92156..57a61b8 100644 --- a/src/views/ContactsPage/ContactsPageView.tsx +++ b/src/views/ContactsPage/ContactsPageView.tsx @@ -1,211 +1,28 @@ import React from "react"; -import styled from "styled-components"; -import { Divider, TextSection, Link } from "@components/index"; -import colors from "@theme/colors"; -import ContactCard from "@components/ContactCard"; - -import BoardJson from "./board.json"; -import FtmkJson from "./ftmk.json"; -import HtmkJson from "./htmk.json"; -import HvtmkJson from "./hvtmk.json"; -import MtmkJson from "./mtmk.json"; -import OptmkJson from "./optmk.json"; -import NtmkJson from "./ntmk.json"; -import PtmkJson from "./ptmk.json"; -import TtmkJson from "./ttmk.json"; -import YtmkJson from "./ytmk.json"; -import SwtmkJson from "./swtmk.json"; -import VtmkJson from "./vtmk.json"; -import LtmkJson from "./ltmk.json"; -import Others from "./others.json"; - -const orderedCommittees = [ - BoardJson, - FtmkJson, - HtmkJson, - LtmkJson, - HvtmkJson, - MtmkJson, - OptmkJson, - YtmkJson, - TtmkJson, - PtmkJson, - VtmkJson, - SwtmkJson, - NtmkJson, - Others, -]; - -const blankProfile = "/img/blank_profile.png"; - -const BlueLink = styled(Link)` - color: ${colors.blue1}; - - &:hover { - color: ${colors.lightBlue}; - } -`; - -const IndexUL = styled.ul` - padding: 0; - list-style: none; - - li::before { - content: attr(data-icon); - margin-right: 4px; - } -`; - -const Index: React.FC<{ committees: typeof orderedCommittees }> = ({ committees }) => ( - - {committees.map(({ slug, name_fi }) => ( - -
  • - {name_fi} -
  • -
    - ))} -
    -); - -const Container = styled.div` - color: ${colors.darkBlue}; - align-items: center; - justify-content: center; - width: 50vw; - - & > h2 { - text-transform: uppercase; - font-size: 4rem; - width: 100%; - } - - & > div { - display: flex; - flex-flow: row wrap; - } - - @media (max-width: 950px) { - width: 100vw; - } -`; - -const ContactContainer = styled.div` - overflow-x: hidden; - @media (max-width: 950px) { - margin-top: 0; - } -`; - -const TitleContainer = styled.div` - display: flex; - width: 100%; - align-items: center; - justify-content: center; - padding: 10px 10px; - flex-direction: column; - margin: auto; -`; - -const CommitteeContainer: React.FC<{ - committee: Committee; - children: React.ReactNode; -}> = ({ committee, children }) => ( - - -

    - {committee.name_fi || committee.name_en} -

    -
    -
    - {committee.roles.map((role) => ( - role.representatives.map((representative) => ( - - )) - ))} -
    - {children} -
    -); - -interface Committee { - name_fi: string; - name_en: string; - roles: Array; -} - -interface Role { - name_fi: string; - name_en: string; - representatives: Array -} - -interface Representative { - name: string; - phone_number?: string; - email?: string; - image?: string; -} +import { TextSection, Link } from "@components/index"; const ContactsPageView: React.FC = () => ( - <> - -

    Yhteystiedot

    + +

    Yhteystiedot

    +
    +
    Hallitus

    - Asiaa olisi, mutta kehen ottaa yhteyttä? -
    - Tämä sivu yrittää valottaa sen oikean ihmisen sähköpostiosoitetta. + Koko hallitukseen saat yhteyden osoitteesta hallitus@sahkoinsinoorikilta.fi. + Yksittäisten hallituksen jäsenten yhteystiedot löydät täältä.

    - - - - {orderedCommittees.map((json) => ( - - {(json.slug !== "board") && ( - - )} - - - {(json.slug === "board") && ( -
    -

    - {"Koko hallitukseen saa yhteyden lähettämällä sähköpostia osoitteeseen "} - - hallitus@sahkoinsinoorikilta.fi - - . -

    -

    - {"Hallitukselle voi myös lähettää palautetta täyttämällä "} - - palautelomakkeen - - . Lomakkeen vastauksia käydään läpi hallituksen kokouksissa. -

    -

    - Toimihenkilöiden sähköpostiosoitteet ovat muotoa etunimi.sukunimi@sahkoinsinoorikilta.fi. -

    -
    - )} -
    -
    -
    - ))} -
    - +
    Postiosoite
    +

    + Aalto-yliopisto
    + Aalto-yliopiston Sähköinsinöörikilta ry
    + PL 15500
    + 00076 Aalto +

    +
    Rekisteritiedot
    +

    + Y-tunnus: 1627010-1 +

    +
    +
    ); export default ContactsPageView; diff --git a/src/views/CorporatePage/CorporatePageView.tsx b/src/views/CorporatePage/CorporatePageView.tsx index 4fec540..d4165a9 100644 --- a/src/views/CorporatePage/CorporatePageView.tsx +++ b/src/views/CorporatePage/CorporatePageView.tsx @@ -6,7 +6,7 @@ import JobAd from "@models/JobAd"; import CorporatePageHero from "./CorporatePageHero"; import JobAdList from "./JobAdList"; -import BoardJson from "../ContactsPage/board.json"; +import BoardJson from "../BoardPage/board.json"; const EXCURSION_RULES = "https://static.sahkoinsinoorikilta.fi/saannot/excursiosaannot.pdf"; const CORPORATE_MASTER_INFO = BoardJson.roles.filter((role) => role.name_fi === "Yrityssuhdemestari")[0].representatives[0];