Fuksikipparit tavoitat
@@ -96,23 +94,23 @@ class FreshmenPage extends React.Component
-
+
Killassa tapahtuu kaikenlaista!
-
+
Seuraa killan tapahtumia
-
-
-
+
+
+
Isoryhmät
Lorem jotain ISOryhmiä X kpl
Mikä ihmeen ISO...
TODO: Kuvia
-
+
);
diff --git a/src/pages/FrontPage/FrontPage.tsx b/src/pages/FrontPage/FrontPage.tsx
index 7a36986..83c6222 100644
--- a/src/pages/FrontPage/FrontPage.tsx
+++ b/src/pages/FrontPage/FrontPage.tsx
@@ -7,7 +7,6 @@ import { Post, getFeed } from "../../models/Feed";
import { StaticContext } from "../../server/StaticContext";
import PageSection from "../../components/PageSection";
-import { ColorEnum } from "../../components/ColorDiv/ColorDiv";
import PageLink from "../../components/PageLink/PageLink";
import HeroMainSection from "../../components/HeroMainSection";
@@ -17,7 +16,6 @@ import Ribbon from "../../components/Ribbon";
import SponsorReel from "../../components/SponsorReel";
import HeroAsideItem from "../../components/HeroAsideItem";
import TextAnchor from "../../components/TextAnchor";
-import { TextSize } from "../../components/TextAnchor/TextAnchor";
interface FrontPageProps {
staticContext: StaticContext;
@@ -92,7 +90,7 @@ class FrontPage extends React.Component {
const { events, feed } = this.state;
return (
-
+
Aalto-yliopiston Sähköinsinöörikilta
@@ -109,7 +107,7 @@ class FrontPage extends React.Component {
-
+ {
-
+
{events.map(event => (
{
-
+
Sössöä vuodesta 1969.
-
+
Lue opiskelijalehden viimeisin numero ›
@@ -192,7 +190,7 @@ class FrontPage extends React.Component {
-
+
diff --git a/src/pages/GuildPage/GuildPage.tsx b/src/pages/GuildPage/GuildPage.tsx
index 624cc42..988a1d1 100644
--- a/src/pages/GuildPage/GuildPage.tsx
+++ b/src/pages/GuildPage/GuildPage.tsx
@@ -10,7 +10,6 @@ import HeroAsideSection from "../../components/HeroAsideSection";
import HeroAsideItem from "../../components/HeroAsideItem";
import Ribbon from "../../components/Ribbon";
import InfoBox from "../../components/InfoBox";
-import { ColorEnum } from "../../components/ColorDiv/ColorDiv";
import Accordion from "../../components/Accordion";
import TextAnchor from "../../components/TextAnchor";
import { TextSize } from "../../components/TextAnchor/TextAnchor";
@@ -26,13 +25,13 @@ class GuildPage extends React.Component {
-
+
Kilta koostuu sähkötekniikan ja elektroniikan (ELEC) tutkinto-ohjelmissa opiskelevista opiskelijoista
-
Vapaa-ajan jäsenpalvelujen lisäksi killan tehtävänä on edistää jäsentensä opintoja, tarjota uraohjausta ja fuksikasvatusta. Jokaiselle jäsenelle löytyy varmasti jotakin—kaukomaita, opiskelijalehti Sössöä, ja kiltaaktiivina pääset kartuttamaan kokemusta, josta on hyötyä myös työelämässä.
+
Vapaa-ajan jäsenpalvelujen lisäksi killan tehtävänä on edistää jäsentensä opintoja, tarjota uraohjausta ja fuksikasvatusta. Jokaiselle jäsenelle löytyy varmasti jotakin—kaukomaita, opiskelijalehti Sössöä, ja kiltaaktiivina pääset kartuttamaan kokemusta, josta on hyötyä myös työelämässä.
Arvot estrumquias doluptatur aut quam fugiti cus debit landisciis eatemperes eumquibus di blat que sim etus idis dolut labor ad magnat.
-
+ {
-
-
-
+
+
+
Killan tehtävät ja tarina
-
Kilta tukee jäsentensä hyvinvointia ja tarjoaa vastapainoa opiskelulle. Kilta järjestää esimerkiksi urheilutapahtumia, kulttuurielämyksiä ja näiden lisäksi sitsejä ja saunailtoja. Valinnanvaraa on, joten tapahtumakalenterin aktiivisella seuraamisella saattaa olla hyvinkin miellyttäviä seuraamuksia. Voit myös itse järjestää mieleisesi tapahtuman killan tukemana, tai ehdottaa sitä killan toimitsijoille.
+
Kilta tukee jäsentensä hyvinvointia ja tarjoaa vastapainoa opiskelulle. Kilta järjestää esimerkiksi urheilutapahtumia, kulttuurielämyksiä ja näiden lisäksi sitsejä ja saunailtoja. Valinnanvaraa on, joten tapahtumakalenterin aktiivisella seuraamisella saattaa olla hyvinkin miellyttäviä seuraamuksia. Voit myös itse järjestää mieleisesi tapahtuman killan tukemana, tai ehdottaa sitä killan toimitsijoille.
-
Yhteistyössä korkeakoulun kanssa, kilta kehittää opetusta. Kilta on mukana kurssien kehittämisessä, valvoo kiltalaisten etua korkeakoulussa ja tuo korkeakoulun henkilöstöä lähemmäs kiltalaisia. Kilta avaa oven yritysmaailmaan järjestämällä yritysten kanssa excursioita, saunailtoja ja yritystapahtumia. Lisäksi killan kautta kuulee ensimmäisten joukossa uusista avoimista työpaikoista. Killalla on Otaniemen mukavin kiltahuone, jossa voi käydä hengähtämässä luentojen välillä, hakea apua vaikeisiin tehtäviin tai järjestää vaikka leffailtoja. Tämän lisäksi killalla on myös haastavampaan elektroniikkaharrasteluun sopivat tilat.
+
Yhteistyössä korkeakoulun kanssa, kilta kehittää opetusta. Kilta on mukana kurssien kehittämisessä, valvoo kiltalaisten etua korkeakoulussa ja tuo korkeakoulun henkilöstöä lähemmäs kiltalaisia. Kilta avaa oven yritysmaailmaan järjestämällä yritysten kanssa excursioita, saunailtoja ja yritystapahtumia. Lisäksi killan kautta kuulee ensimmäisten joukossa uusista avoimista työpaikoista. Killalla on Otaniemen mukavin kiltahuone, jossa voi käydä hengähtämässä luentojen välillä, hakea apua vaikeisiin tehtäviin tai järjestää vaikka leffailtoja. Tämän lisäksi killalla on myös haastavampaan elektroniikkaharrasteluun sopivat tilat.
Takana lähes satavuotinen historia
@@ -85,7 +84,7 @@ class GuildPage extends React.Component {
määritelmä kuuluukin: “teekkarius on kaikkea sitä, mitä teekkarit tekevät”. Yksi asia
meitä kaikkia kuitenkin yhdistää. Opiskelemme jotain tekniikkaan liittyvää täällä
Aalto-yliopistossa.
- Teekkariutta on vaikkapa toimiminen killoissa tai jossain AYY:n lukuisista
+ Teekkariutta on vaikkapa toimiminen killoissa tai jossain AYY:n lukuisista
yhdistyksistä. Teekkariutta on yhtä lailla SIK:n tapahtumien järjestäminen tai niihin osallistuminen kuin vaikkapa laulaminen Polyteknikkojen Kuorossa tai sukeltaminen Polyteknikkojen sukelluskerho Kuplassa. Kaikille varmasti löytyy jotain itseä kiinnostavaa.
Teekkareilla, varsinkin otaniemeläisillä, on pitkä ja vahva historia. Siihen kannattaa
@@ -94,7 +93,7 @@ class GuildPage extends React.Component {
Teekkariuteen kuuluu olennaisena osana mukautuminen ajan vaatimuksiin. Jos asiat
tehtäisiin aina vanhaa toistaen, ei voitaisi enää edes puhua teekkariudesta.
-
+
Yliopiston jäsenedut
@@ -110,27 +109,27 @@ class GuildPage extends React.Component {
-
+
Killan hallinto koostuu XXX henkilöstä.
-
-
-
+
+
+
Organisaatio
-
Sähköinsinöörikillassa toimeenpanovaltaa käyttää 3–13 kiltalaisen muodostama hallitus apunaan lukuisa määrä toimihenkilöitä. Hallituksen ja toimihenkilöt valitsee killan valtuusto, joka myös valvoo näiden toimintaa. Käytännössä valtuusto valitsee vaalikokouksessaan ensin uuden puheenjohtajan ja jää 1–2 viikon mittaiselle kokoustauolle. Tauon jälkeen puheenjohtaja esittelee valtuustolle ehdotuksensa hallitukseksi ja toimihenkilöiksi, ja valtuusto joko hyväksyy tai hylkää ehdotuksen noin tunnin kestävän kysely- ja esittelytuokion jälkeen. Hallituksen kuulumiset lorem.
+
Sähköinsinöörikillassa toimeenpanovaltaa käyttää 3–13 kiltalaisen muodostama hallitus apunaan lukuisa määrä toimihenkilöitä. Hallituksen ja toimihenkilöt valitsee killan valtuusto, joka myös valvoo näiden toimintaa. Käytännössä valtuusto valitsee vaalikokouksessaan ensin uuden puheenjohtajan ja jää 1–2 viikon mittaiselle kokoustauolle. Tauon jälkeen puheenjohtaja esittelee valtuustolle ehdotuksensa hallitukseksi ja toimihenkilöiksi, ja valtuusto joko hyväksyy tai hylkää ehdotuksen noin tunnin kestävän kysely- ja esittelytuokion jälkeen. Hallituksen kuulumiset lorem.
Valtuuston toimintaa
-
Killan valtuusto valitaan marraskuussa pidettävillä vaaleilla yhdeksi vuodeksi kerrallaan. Vaaleissa ovat vaalikelpoisia ja äänioikeutettuja kaikki SIK:n varsinaiset jäsenet. Uuden valtuuston toiminta alkaa varsin pian valitsemisen jälkeen vaalikokouksessa, jossa todetaan uusi kokoonpano, valitaan puhemiehistö, killan hallituksen puheenjohtaja ja muut hallituksen jäsenet, toimihenkilöt, toimikuntien puheenjohtajat sekä tilintarkastajat. Toinen sääntömääräinen valtuuston kokous on helmikuinen vuosikokous, jossa käsitellään mm. edellisen vuoden toimintakertomus ja tilinpäätös, sekä kuluvan vuoden toimintasuunnitelma ja budjetti. Lisäksi valtuusto pitää tarpeelliseksi katsomanssa määrän kokouksia pitkin vuotta. Pöytäkirjat ja muut dokumentit lorem ipsum.
+
Killan valtuusto valitaan marraskuussa pidettävillä vaaleilla yhdeksi vuodeksi kerrallaan. Vaaleissa ovat vaalikelpoisia ja äänioikeutettuja kaikki SIK:n varsinaiset jäsenet. Uuden valtuuston toiminta alkaa varsin pian valitsemisen jälkeen vaalikokouksessa, jossa todetaan uusi kokoonpano, valitaan puhemiehistö, killan hallituksen puheenjohtaja ja muut hallituksen jäsenet, toimihenkilöt, toimikuntien puheenjohtajat sekä tilintarkastajat. Toinen sääntömääräinen valtuuston kokous on helmikuinen vuosikokous, jossa käsitellään mm. edellisen vuoden toimintakertomus ja tilinpäätös, sekä kuluvan vuoden toimintasuunnitelma ja budjetti. Lisäksi valtuusto pitää tarpeelliseksi katsomanssa määrän kokouksia pitkin vuotta. Pöytäkirjat ja muut dokumentit lorem ipsum.
Hallituksen toimintaa
-
Jokaisella hallituksen jäsenellä on oma vastuualueensa, jota hän hoitaa yhdessä mahdollisen toimikuntansa kanssa. Puheenjohtajan tehtävä on pitää langat käsissään, ja olla perillä kaikesta, mitä killassa tapahtuu. Hallitus tekee päätökset ja sopii menettelytavat viikottaisessa kokouksessaan. Hallitus on vastuussa kaikesta killan näkyvästä ja näkymättömästä toiminnasta, ja se on myös oikea osoite, jos joku asia vaivaa mieltä, tai mielessä on parannusehdotus mihin tahansa asiaan.
+
Jokaisella hallituksen jäsenellä on oma vastuualueensa, jota hän hoitaa yhdessä mahdollisen toimikuntansa kanssa. Puheenjohtajan tehtävä on pitää langat käsissään, ja olla perillä kaikesta, mitä killassa tapahtuu. Hallitus tekee päätökset ja sopii menettelytavat viikottaisessa kokouksessaan. Hallitus on vastuussa kaikesta killan näkyvästä ja näkymättömästä toiminnasta, ja se on myös oikea osoite, jos joku asia vaivaa mieltä, tai mielessä on parannusehdotus mihin tahansa asiaan.
-
+
Vuoden 2019 hallinto
@@ -141,13 +140,13 @@ class GuildPage extends React.Component {
-
+
-
Kiltatoimintaa järjestää ja ylläpitää kilta-aktiivit, toimikunnat ja jaokset.
+
Kiltatoimintaa järjestää ja ylläpitää kilta-aktiivit, toimikunnat ja jaokset.
-
+
Miksi alkaa kilta-aktiiviksi?
Näitä töitä tehdessä saa väkisinkin paljon uusia kavereita ja oppii monia palkallisessa työelämässä tarpeellisia taitoja. Eikä laajasta tuttavapiiristä ja monista kontakteista varmasti haittaa ole tulevaa työuraakaan ajatellen. Rahallista tai materiaalista hyötyä kiltatoiminnasta ei saa, eikä kukaan killan toimintaan mukaan tuleva sitä pyrikään tavoittelemaan. Mikä tärkeintä, kiltatoiminta on kivaa!
@@ -162,16 +161,16 @@ class GuildPage extends React.Component {
» Voit kokeilla ja oppia jotain sellaista, mitä et ikinä aikaisemmin ole tehnyt
-
+
Runsaasti erilaisia tehtäviä
- Killassa on todella monenlaisia tehtäviä. Olitpa koodaaja, urheilija tai ammattimainen juhlija, killasta löytyy tekemistä juuri sinulle. Toimikunnissa sitoudut toimintaan vuodeksi kerrallaan. Jaostoiminta mahdollistaa kiltatoiminnan kokeilun pienemmässä mittakaavassa. Tehtäväkuvaukset lorem ipsum dolor sit amet alla. Jos ei löydy sopivaa lorem ipsum dolor sit amet, voit perustaa myös oman.
+ Killassa on todella monenlaisia tehtäviä. Olitpa koodaaja, urheilija tai ammattimainen juhlija, killasta löytyy tekemistä juuri sinulle. Toimikunnissa sitoudut toimintaan vuodeksi kerrallaan. Jaostoiminta mahdollistaa kiltatoiminnan kokeilun pienemmässä mittakaavassa. Tehtäväkuvaukset lorem ipsum dolor sit amet alla. Jos ei löydy sopivaa lorem ipsum dolor sit amet, voit perustaa myös oman.
- » Haluatko valtuustoon, hallitukseen tai toimariksi?
+ » Haluatko valtuustoon, hallitukseen tai toimariksi?
» Lorem ipsum
@@ -179,8 +178,8 @@ class GuildPage extends React.Component {
-
-
+
+
Sähkötekniikan korkeakoulun toimikunnat
@@ -202,7 +201,7 @@ class GuildPage extends React.Component {
-
+
Jaokset—kokeile kiltatoimintaa vapaammin
@@ -211,23 +210,23 @@ class GuildPage extends React.Component {
-
+
Jäsenedut vuonna 2019
-
-
-
+
+
+
Aalto-yliopiston tarjoamat monenlaiset edut
Sen lisäksi että kilta tarjoaa jäsenilleen palveluja ja aktiviteetteja, Aalto-yliopisto tarjoaa lorem ipsum dolor sit amet.
- » Download.aalto.fi Täältä voit ladata yliopiston tarjoamia ohjelmia ilmaiseksi.
+ » Download.aalto.fi Täältä voit ladata yliopiston tarjoamia ohjelmia ilmaiseksi.
-
+ Jäseneksi liittyminen on helppoa, hauskaa ja hyödyllistä 8 € jäsenmaksulla pääset nauttimaan kaikista jäseneduista.
diff --git a/src/pages/SignUpPage/SignUpPage.tsx b/src/pages/SignUpPage/SignUpPage.tsx
index 47ede05..5c88e63 100644
--- a/src/pages/SignUpPage/SignUpPage.tsx
+++ b/src/pages/SignUpPage/SignUpPage.tsx
@@ -5,7 +5,6 @@ import "./SignUpPage.scss";
import { getForm, SignupForm } from "../../models/SignupForm";
import { createSignup, Signup } from "../../models/Signup";
import PageSection from "../../components/PageSection";
-import { ColorEnum } from "../../components/ColorDiv/ColorDiv";
import { Question } from "../../components/SignupQuestionsWidget";
export interface SignUpPageProps {
@@ -236,7 +235,7 @@ class SignUpPage extends React.Component {
{statusMessage}
-
+
{form}
{signups}
diff --git a/src/pages/StudiesPage/StudiesPage.tsx b/src/pages/StudiesPage/StudiesPage.tsx
index db12448..0200ba8 100644
--- a/src/pages/StudiesPage/StudiesPage.tsx
+++ b/src/pages/StudiesPage/StudiesPage.tsx
@@ -7,11 +7,9 @@ import HeroAsideSection from "../../components/HeroAsideSection/index";
import HeroAsideItem from "../../components/HeroAsideItem/index";
import AsideSection from "../../components/AsideSection/index";
import MainSection from "../../components/MainSection/index";
-import { ColorEnum } from "../../components/ColorDiv/ColorDiv";
import PageLink from "../../components/PageLink/index";
import Ribbon from "../../components/Ribbon/index";
import TextAnchor from "../../components/TextAnchor/index";
-import { TextSize } from "../../components/TextAnchor/TextAnchor";
export interface StudiesPageProps {}
export interface StudiesPageState {}
@@ -23,14 +21,14 @@ class StudiesPage extends React.Component {
-
+
Suomen parasta elektroniikan opetusta
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed vehicula aliquam enim, in lacinia nunc rutrum fringilla. Phasellus dui dolor, pellentesque vitae feugiat non, maximus in felis. Praesent feugiat vehicula mi, sed tincidunt enim venenatis quis. In euismod gravida ullamcorper. Phasellus a sagittis nisi, vitae blandit ipsum. Nunc rhoncus ultrices ante, id commodo dolor convallis id. Morbi ullamcorper vulputate risus id sodales.
TODO: Tähän nostoja yhteistyöstä! Yhteistyömahdollisuuksista voi tiedustella lisää killan yrityssuhdemestarilta.
@@ -61,7 +59,7 @@ class StudiesPage extends React.Component {
Raketteja ja mikropiirejä
Excursioiden tarkoituksena on tarjota opiskelijoille mahdollisuus tutustua yritysmaailmaan. Pidemmillä excursiolla hauskanpito ja teekkariperinteiden vaaliminen on tärkeä osa excursiota.
-
+
Kurssitarjonta
@@ -72,22 +70,22 @@ class StudiesPage extends React.Component {
-
+
Hae opiskelemaan!
-
+
Lue lisää Aallon sivuilta
-
-
-
+
+
+
Yliopiston järjestelmiä
TODO: Tänne varmaan mielummin Akateemiset komiteat etc.
+
+ {children}
+
+
+)
+
+export default HeroSecondarySection;
diff --git a/src/pages/ActualPage/ActualPage.tsx b/src/pages/ActualPage/ActualPage.tsx
index dbf7d04..94b793f 100644
--- a/src/pages/ActualPage/ActualPage.tsx
+++ b/src/pages/ActualPage/ActualPage.tsx
@@ -11,6 +11,7 @@ import Ribbon from "../../components/Ribbon/index";
import TextAnchor from "../../components/TextAnchor/index";
import Button, { ButtonType } from "../../components/Button/index";
import Accordion from "../../components/Accordion";
+import HeroSecondarySection, { HeroSecondarySectionItem } from "../../components/HeroSecondarySection/HeroSecondarySection";
export interface ActualPageProps {}
export interface ActualPageState {}
@@ -38,11 +39,14 @@ class ActualPage extends React.Component {
-
-
Kiltahuone sijaitsee Tuas-talossa (Maarintie 8)
-
Killan hallitus päivystää kiltahuoneella maanantaisin klo 12.15–13.15. Tuolloin voit ostaa kiltatuotteita, kuten esim. haalarimerkkejä tai laulukirjoja.
-
Kiltapäiväkerho Kiltis kokoontuu torstaisin klo XX.XX kiltahuoneella. Lorem ipsum dolor sit amet. Lämpimästi tervetuloa kaikki SIKkiläiset ja SIK-mieliset!
-
+
+
+ Killan hallitus päivystää kiltahuoneella maanantaisin klo 12.15–13.15. Tuolloin voit ostaa kiltatuotteita, kuten esim. haalarimerkkejä tai laulukirjoja.
+
+
+ Kiltapäiväkerho Kiltis kokoontuu torstaisin klo XX.XX kiltahuoneella. Lorem ipsum dolor sit amet. Lämpimästi tervetuloa kaikki SIKkiläiset ja SIK-mieliset!
+
+
- );
- }
-}
-
-export default HeroMainSection;
diff --git a/src/components/HeroMainSection/index.ts b/src/components/HeroMainSection/index.ts
deleted file mode 100644
index 4311a6e..0000000
--- a/src/components/HeroMainSection/index.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-import HeroMainSection from "./HeroMainSection";
-export default HeroMainSection;
diff --git a/src/pages/ActualPage/ActualPage.tsx b/src/pages/ActualPage/ActualPage.tsx
index 25e0260..b4aff27 100644
--- a/src/pages/ActualPage/ActualPage.tsx
+++ b/src/pages/ActualPage/ActualPage.tsx
@@ -2,16 +2,16 @@ import React from "react";
import { Helmet } from "react-helmet";
import "./ActualPage.scss";
import PageSection from "../../components/PageSection";
-import HeroMainSection from "../../components/HeroMainSection";
-import HeroAsideSection from "../../components/HeroAsideSection";
-import HeroAsideItem from "../../components/HeroAsideItem";
+import HeroMainSection from "../../components/Hero/HeroMainSection/HeroMainSection";
+import HeroAsideSection from "../../components/Hero/HeroAsideSection/HeroAsideSection";
+import HeroAsideItem from "../../components/Hero/HeroAsideItem/HeroAsideItem";
import AsideSection from "../../components/AsideSection";
import MainSection from "../../components/MainSection/index";
import Ribbon from "../../components/Ribbon/index";
import TextAnchor from "../../components/TextAnchor/index";
import Button, { ButtonType } from "../../components/Button/index";
import Accordion from "../../components/Accordion";
-import HeroSecondarySection, { HeroSecondarySectionItem } from "../../components/HeroSecondarySection/HeroSecondarySection";
+import HeroSecondarySection, { HeroSecondarySectionItem } from "../../components/Hero/HeroSecondarySection/HeroSecondarySection";
export interface ActualPageProps {}
export interface ActualPageState {}
@@ -25,19 +25,17 @@ class ActualPage extends React.Component {
-
-
Yritystapahtumia ja vastapainoa opiskelulle
-
+
Yritystapahtumia ja vastapainoa opiskelulle
+
Teekkarielämä ei ole pelkkää saunomista, juhlimista ja muita huvituksia—tai no, on se sitäkin.
-
-
-
-
-
+
+
+
+
diff --git a/src/pages/CorporatePage/CorporatePage.tsx b/src/pages/CorporatePage/CorporatePage.tsx
index d7e66e4..6337517 100644
--- a/src/pages/CorporatePage/CorporatePage.tsx
+++ b/src/pages/CorporatePage/CorporatePage.tsx
@@ -2,9 +2,9 @@ import React from "react";
import { Helmet } from "react-helmet";
import "./CorporatePage.scss";
import PageSection from "../../components/PageSection";
-import HeroMainSection from "../../components/HeroMainSection";
-import HeroAsideSection from "../../components/HeroAsideSection";
-import HeroAsideItem from "../../components/HeroAsideItem";
+import HeroMainSection from "../../components/Hero/HeroMainSection/HeroMainSection";
+import HeroAsideSection from "../../components/Hero/HeroAsideSection/HeroAsideSection";
+import HeroAsideItem from "../../components/Hero/HeroAsideItem/HeroAsideItem";
import AsideSection from "../../components/AsideSection";
import MainSection from "../../components/MainSection/index";
import PageLink from "../../components/PageLink/index";
diff --git a/src/pages/FreshmenPage/FreshmenPage.tsx b/src/pages/FreshmenPage/FreshmenPage.tsx
index d961a82..a7c59b3 100644
--- a/src/pages/FreshmenPage/FreshmenPage.tsx
+++ b/src/pages/FreshmenPage/FreshmenPage.tsx
@@ -2,9 +2,9 @@ import React from "react";
import { Helmet } from "react-helmet";
import "./FreshmenPage.scss";
import PageSection from "../../components/PageSection/index";
-import HeroMainSection from "../../components/HeroMainSection/index";
-import HeroAsideSection from "../../components/HeroAsideSection/index";
-import HeroAsideItem from "../../components/HeroAsideItem/index";
+import HeroMainSection from "../../components/Hero/HeroMainSection/HeroMainSection";
+import HeroAsideSection from "../../components/Hero/HeroAsideSection/HeroAsideSection";
+import HeroAsideItem from "../../components/Hero/HeroAsideItem/HeroAsideItem";
import AsideSection from "../../components/AsideSection/index";
import MainSection from "../../components/MainSection/index";
import PageLink from "../../components/PageLink/index";
diff --git a/src/pages/FrontPage/FrontPage.tsx b/src/pages/FrontPage/FrontPage.tsx
index 83c6222..135efe2 100644
--- a/src/pages/FrontPage/FrontPage.tsx
+++ b/src/pages/FrontPage/FrontPage.tsx
@@ -9,12 +9,12 @@ import { StaticContext } from "../../server/StaticContext";
import PageSection from "../../components/PageSection";
import PageLink from "../../components/PageLink/PageLink";
-import HeroMainSection from "../../components/HeroMainSection";
-import HeroAsideSection from "../../components/HeroAsideSection";
+import HeroMainSection from "../../components/Hero/HeroMainSection/HeroMainSection";
+import HeroAsideSection from "../../components/Hero/HeroAsideSection/HeroAsideSection";
import Button, { ButtonType } from "../../components/Button";
import Ribbon from "../../components/Ribbon";
import SponsorReel from "../../components/SponsorReel";
-import HeroAsideItem from "../../components/HeroAsideItem";
+import HeroAsideItem from "../../components/Hero/HeroAsideItem/HeroAsideItem";
import TextAnchor from "../../components/TextAnchor";
interface FrontPageProps {
diff --git a/src/pages/GuildPage/GuildPage.tsx b/src/pages/GuildPage/GuildPage.tsx
index 988a1d1..1843385 100644
--- a/src/pages/GuildPage/GuildPage.tsx
+++ b/src/pages/GuildPage/GuildPage.tsx
@@ -5,14 +5,13 @@ import PageSection from "../../components/PageSection";
import MainSection from "../../components/MainSection";
import AsideSection from "../../components/AsideSection";
import PageLink from "../../components/PageLink";
-import HeroMainSection from "../../components/HeroMainSection";
-import HeroAsideSection from "../../components/HeroAsideSection";
-import HeroAsideItem from "../../components/HeroAsideItem";
+import HeroMainSection from "../../components/Hero/HeroMainSection/HeroMainSection";
+import HeroAsideSection from "../../components/Hero/HeroAsideSection/HeroAsideSection";
+import HeroAsideItem from "../../components/Hero/HeroAsideItem/HeroAsideItem";
import Ribbon from "../../components/Ribbon";
import InfoBox from "../../components/InfoBox";
import Accordion from "../../components/Accordion";
import TextAnchor from "../../components/TextAnchor";
-import { TextSize } from "../../components/TextAnchor/TextAnchor";
export interface GuildPageProps { }
export interface GuildPageState { }
diff --git a/src/pages/StudiesPage/StudiesPage.tsx b/src/pages/StudiesPage/StudiesPage.tsx
index 0200ba8..360376a 100644
--- a/src/pages/StudiesPage/StudiesPage.tsx
+++ b/src/pages/StudiesPage/StudiesPage.tsx
@@ -2,9 +2,9 @@ import React from "react";
import { Helmet } from "react-helmet";
import "./StudiesPage.scss";
import PageSection from "../../components/PageSection/index";
-import HeroMainSection from "../../components/HeroMainSection/index";
-import HeroAsideSection from "../../components/HeroAsideSection/index";
-import HeroAsideItem from "../../components/HeroAsideItem/index";
+import HeroMainSection from "../../components/Hero/HeroMainSection/HeroMainSection";
+import HeroAsideSection from "../../components/Hero/HeroAsideSection/HeroAsideSection";
+import HeroAsideItem from "../../components/Hero/HeroAsideItem/HeroAsideItem";
import AsideSection from "../../components/AsideSection/index";
import MainSection from "../../components/MainSection/index";
import PageLink from "../../components/PageLink/index";
From 6af5969734cd6abc7df27bc8667c70a542236442 Mon Sep 17 00:00:00 2001
From: Aarni Halinen
Date: Wed, 8 Jul 2020 14:16:44 +0300
Subject: [PATCH 24/56] Support @-paths
---
configs/webpack/common.js | 4 ++-
package-lock.json | 46 +++++++++++++++++++++++++++++++
package.json | 1 +
src/pages/FrontPage/FrontPage.tsx | 28 +++++++++----------
tsconfig.json | 32 ++++++++++++++++++++-
5 files changed, 95 insertions(+), 16 deletions(-)
diff --git a/configs/webpack/common.js b/configs/webpack/common.js
index f40ba5b..4431478 100644
--- a/configs/webpack/common.js
+++ b/configs/webpack/common.js
@@ -1,5 +1,6 @@
// Shared config (dev and prod)
const {resolve} = require("path");
+const TsconfigPathsPlugin = require("tsconfig-paths-webpack-plugin");
const {CheckerPlugin} = require("awesome-typescript-loader");
const StyleLintPlugin = require("stylelint-webpack-plugin");
const webpack = require('webpack');
@@ -12,7 +13,8 @@ module.exports = function (env, argv) {
};
config.resolve = {
- extensions: [".ts", ".tsx", ".js", ".jsx"]
+ extensions: [".ts", ".tsx", ".js", ".jsx"],
+ plugins: [new TsconfigPathsPlugin()]
};
config.context = resolve(__dirname, "../../src");
config.module = {
diff --git a/package-lock.json b/package-lock.json
index aa4de8a..7147029 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -833,6 +833,12 @@
"integrity": "sha512-Il2DtDVRGDcqjDtE+rF8iqg1CArehSK84HZJCT7AMITlyXRBpuPhqGLDQMowraqqu1coEaimg4ZOqggt6L6L+A==",
"dev": true
},
+ "@types/json5": {
+ "version": "0.0.29",
+ "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz",
+ "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=",
+ "dev": true
+ },
"@types/lodash": {
"version": "4.14.146",
"resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.146.tgz",
@@ -20330,6 +20336,46 @@
"utf8-byte-length": "^1.0.1"
}
},
+ "tsconfig-paths": {
+ "version": "3.9.0",
+ "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.9.0.tgz",
+ "integrity": "sha512-dRcuzokWhajtZWkQsDVKbWyY+jgcLC5sqJhg2PSgf4ZkH2aHPvaOY8YWGhmjb68b5qqTfasSsDO9k7RUiEmZAw==",
+ "dev": true,
+ "requires": {
+ "@types/json5": "^0.0.29",
+ "json5": "^1.0.1",
+ "minimist": "^1.2.0",
+ "strip-bom": "^3.0.0"
+ },
+ "dependencies": {
+ "json5": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
+ "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
+ "dev": true,
+ "requires": {
+ "minimist": "^1.2.0"
+ }
+ },
+ "minimist": {
+ "version": "1.2.5",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
+ "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
+ "dev": true
+ }
+ }
+ },
+ "tsconfig-paths-webpack-plugin": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/tsconfig-paths-webpack-plugin/-/tsconfig-paths-webpack-plugin-3.2.0.tgz",
+ "integrity": "sha512-S/gOOPOkV8rIL4LurZ1vUdYCVgo15iX9ZMJ6wx6w2OgcpT/G4wMyHB6WM+xheSqGMrWKuxFul+aXpCju3wmj/g==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.3.0",
+ "enhanced-resolve": "^4.0.0",
+ "tsconfig-paths": "^3.4.0"
+ }
+ },
"tslib": {
"version": "1.9.3",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz",
diff --git a/package.json b/package.json
index 7810842..344aaff 100644
--- a/package.json
+++ b/package.json
@@ -105,6 +105,7 @@
"stylelint-webpack-plugin": "1.0.3",
"testcafe": "1.6.1",
"testcafe-react-selectors": "2.1.0",
+ "tsconfig-paths-webpack-plugin": "3.2.0",
"typescript": "3.9.5",
"uglifyjs-webpack-plugin": "1.3.0",
"webpack": "4.41.2",
diff --git a/src/pages/FrontPage/FrontPage.tsx b/src/pages/FrontPage/FrontPage.tsx
index 135efe2..2dbdc25 100644
--- a/src/pages/FrontPage/FrontPage.tsx
+++ b/src/pages/FrontPage/FrontPage.tsx
@@ -1,21 +1,21 @@
import React from "react";
import "./FrontPage.scss";
-import appStore from "../../stores/AppStore";
-import Card from "../../components/Card";
-import { Event, getEvents } from "../../models/Event";
-import { Post, getFeed } from "../../models/Feed";
-import { StaticContext } from "../../server/StaticContext";
+import appStore from "@stores/AppStore";
+import Card from "@components/Card";
+import { Event, getEvents } from "@models/Event";
+import { Post, getFeed } from "@models/Feed";
+import { StaticContext } from "@server/StaticContext";
-import PageSection from "../../components/PageSection";
+import PageSection from "@components/PageSection";
-import PageLink from "../../components/PageLink/PageLink";
-import HeroMainSection from "../../components/Hero/HeroMainSection/HeroMainSection";
-import HeroAsideSection from "../../components/Hero/HeroAsideSection/HeroAsideSection";
-import Button, { ButtonType } from "../../components/Button";
-import Ribbon from "../../components/Ribbon";
-import SponsorReel from "../../components/SponsorReel";
-import HeroAsideItem from "../../components/Hero/HeroAsideItem/HeroAsideItem";
-import TextAnchor from "../../components/TextAnchor";
+import PageLink from "@components/PageLink/PageLink";
+import HeroMainSection from "@components/Hero/HeroMainSection/HeroMainSection";
+import HeroAsideSection from "@components/Hero/HeroAsideSection/HeroAsideSection";
+import Button, { ButtonType } from "@components/Button";
+import Ribbon from "@components/Ribbon";
+import SponsorReel from "@components/SponsorReel";
+import HeroAsideItem from "@components/Hero/HeroAsideItem/HeroAsideItem";
+import TextAnchor from "@components/TextAnchor";
interface FrontPageProps {
staticContext: StaticContext;
diff --git a/tsconfig.json b/tsconfig.json
index 4df75b7..1a531bf 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -18,7 +18,37 @@
"types": [
"node",
"jest"
- ]
+ ],
+ "baseUrl": "./",
+ "paths": {
+ "@assets/*": [
+ "src/assets/*"
+ ],
+ "@client/*": [
+ "src/client/*"
+ ],
+ "@components/*": [
+ "src/components/*"
+ ],
+ "@models/*": [
+ "src/models/*"
+ ],
+ "@pages/*": [
+ "src/pages/*"
+ ],
+ "@server/*": [
+ "src/server/*"
+ ],
+ "@stores/*": [
+ "src/stores/*"
+ ],
+ "@theme/*": [
+ "src/theme/*"
+ ],
+ "@views/*": [
+ "src/views/*"
+ ],
+ },
},
"include": [
"./src/**/*",
From 6a3cd4bb7aacdf88dcc7492721d9fdfb71417dd3 Mon Sep 17 00:00:00 2001
From: Aarni Halinen
Date: Wed, 8 Jul 2020 14:37:11 +0300
Subject: [PATCH 25/56] Import with @components
---
src/models/SignupForm.ts | 2 +-
src/pages/ActualPage/ActualPage.tsx | 22 +++++++++----------
src/pages/AdminCommonPage/AdminCommonPage.tsx | 4 ++--
src/pages/AdminEventPage/AdminEventPage.tsx | 2 +-
src/pages/AdminFeedPage/AdminFeedPage.tsx | 2 +-
src/pages/AdminFrontPage/AdminFrontPage.tsx | 2 +-
src/pages/AdminSignupPage/AdminSignupPage.tsx | 2 +-
src/pages/CommonPage/CommonPage.tsx | 4 ++--
src/pages/ContactsPage/ContactsPage.tsx | 6 ++---
src/pages/CorporatePage/CorporatePage.tsx | 18 +++++++--------
src/pages/EventCreatePage/EventCreatePage.tsx | 8 +++----
src/pages/EventPage/EventPage.tsx | 10 ++++-----
src/pages/FeedCreatePage/FeedCreatePage.tsx | 2 +-
src/pages/FreshmenPage/FreshmenPage.tsx | 20 ++++++++---------
src/pages/GuildPage/GuildPage.tsx | 22 +++++++++----------
src/pages/SignUpPage/SignUpPage.tsx | 4 ++--
.../SignupCreatePage/SignupCreatePage.tsx | 4 ++--
src/pages/StudiesPage/StudiesPage.tsx | 18 +++++++--------
src/routes.tsx | 2 +-
19 files changed, 77 insertions(+), 77 deletions(-)
diff --git a/src/models/SignupForm.ts b/src/models/SignupForm.ts
index 1ff02a9..507a389 100644
--- a/src/models/SignupForm.ts
+++ b/src/models/SignupForm.ts
@@ -1,7 +1,7 @@
import axios from "axios";
import { getAuthHeader } from "../auth";
const url = `${process.env.API_URL}/signupForm/`;
-import { Question } from "../components/SignupQuestionsWidget";
+import { Question } from "@components/SignupQuestionsWidget";
export interface SignupForm {
id?: number;
diff --git a/src/pages/ActualPage/ActualPage.tsx b/src/pages/ActualPage/ActualPage.tsx
index b4aff27..80df124 100644
--- a/src/pages/ActualPage/ActualPage.tsx
+++ b/src/pages/ActualPage/ActualPage.tsx
@@ -1,17 +1,17 @@
import React from "react";
import { Helmet } from "react-helmet";
import "./ActualPage.scss";
-import PageSection from "../../components/PageSection";
-import HeroMainSection from "../../components/Hero/HeroMainSection/HeroMainSection";
-import HeroAsideSection from "../../components/Hero/HeroAsideSection/HeroAsideSection";
-import HeroAsideItem from "../../components/Hero/HeroAsideItem/HeroAsideItem";
-import AsideSection from "../../components/AsideSection";
-import MainSection from "../../components/MainSection/index";
-import Ribbon from "../../components/Ribbon/index";
-import TextAnchor from "../../components/TextAnchor/index";
-import Button, { ButtonType } from "../../components/Button/index";
-import Accordion from "../../components/Accordion";
-import HeroSecondarySection, { HeroSecondarySectionItem } from "../../components/Hero/HeroSecondarySection/HeroSecondarySection";
+import PageSection from "@components/PageSection";
+import HeroMainSection from "@components/Hero/HeroMainSection/HeroMainSection";
+import HeroAsideSection from "@components/Hero/HeroAsideSection/HeroAsideSection";
+import HeroAsideItem from "@components/Hero/HeroAsideItem/HeroAsideItem";
+import AsideSection from "@components/AsideSection";
+import MainSection from "@components/MainSection/index";
+import Ribbon from "@components/Ribbon/index";
+import TextAnchor from "@components/TextAnchor/index";
+import Button, { ButtonType } from "@components/Button/index";
+import Accordion from "@components/Accordion";
+import HeroSecondarySection, { HeroSecondarySectionItem } from "@components/Hero/HeroSecondarySection/HeroSecondarySection";
export interface ActualPageProps {}
export interface ActualPageState {}
diff --git a/src/pages/AdminCommonPage/AdminCommonPage.tsx b/src/pages/AdminCommonPage/AdminCommonPage.tsx
index b9a2f88..172eaad 100644
--- a/src/pages/AdminCommonPage/AdminCommonPage.tsx
+++ b/src/pages/AdminCommonPage/AdminCommonPage.tsx
@@ -1,7 +1,7 @@
import React from "react";
import { Redirect } from "react-router-dom";
-import AdminHeader from "../../components/AdminHeader";
-import AdminSidebar from "../../components/AdminSidebar";
+import AdminHeader from "@components/AdminHeader";
+import AdminSidebar from "@components/AdminSidebar";
import { isAuthenticated } from "../../auth";
import "./AdminCommonPage.scss";
diff --git a/src/pages/AdminEventPage/AdminEventPage.tsx b/src/pages/AdminEventPage/AdminEventPage.tsx
index 79bf37b..304cce7 100644
--- a/src/pages/AdminEventPage/AdminEventPage.tsx
+++ b/src/pages/AdminEventPage/AdminEventPage.tsx
@@ -1,6 +1,6 @@
import React from "react";
import { Helmet } from "react-helmet";
-import Anchor from "../../components/Anchor";
+import Anchor from "@components/Anchor";
import { formatRelative } from "date-fns";
import "./AdminEventPage.scss";
diff --git a/src/pages/AdminFeedPage/AdminFeedPage.tsx b/src/pages/AdminFeedPage/AdminFeedPage.tsx
index 1a7b819..f88acd1 100644
--- a/src/pages/AdminFeedPage/AdminFeedPage.tsx
+++ b/src/pages/AdminFeedPage/AdminFeedPage.tsx
@@ -1,6 +1,6 @@
import React from "react";
import { Helmet } from "react-helmet";
-import Anchor from "../../components/Anchor";
+import Anchor from "@components/Anchor";
import "./AdminFeedPage.scss";
import { StaticContext } from "../../server/StaticContext";
import { Post, getFeed } from "../../models/Feed";
diff --git a/src/pages/AdminFrontPage/AdminFrontPage.tsx b/src/pages/AdminFrontPage/AdminFrontPage.tsx
index a6a5474..a111b10 100644
--- a/src/pages/AdminFrontPage/AdminFrontPage.tsx
+++ b/src/pages/AdminFrontPage/AdminFrontPage.tsx
@@ -1,6 +1,6 @@
import React from "react";
import { Helmet } from "react-helmet";
-import Anchor from "../../components/Anchor";
+import Anchor from "@components/Anchor";
import "./AdminFrontPage.scss";
export interface AdminFrontPageProps { }
diff --git a/src/pages/AdminSignupPage/AdminSignupPage.tsx b/src/pages/AdminSignupPage/AdminSignupPage.tsx
index 9b582e4..2702ab0 100644
--- a/src/pages/AdminSignupPage/AdminSignupPage.tsx
+++ b/src/pages/AdminSignupPage/AdminSignupPage.tsx
@@ -1,7 +1,7 @@
import React from "react";
import { Helmet } from "react-helmet";
import { formatRelative } from "date-fns";
-import Anchor from "../../components/Anchor";
+import Anchor from "@components/Anchor";
import "./AdminSignupPage.scss";
import { SignupForm, getForms } from "../../models/SignupForm";
diff --git a/src/pages/CommonPage/CommonPage.tsx b/src/pages/CommonPage/CommonPage.tsx
index 5b4ae48..fe83558 100644
--- a/src/pages/CommonPage/CommonPage.tsx
+++ b/src/pages/CommonPage/CommonPage.tsx
@@ -1,6 +1,6 @@
import React from "react";
-import Header from "../../components/Header";
-import Footer from "../../components/Footer";
+import Header from "@components/Header";
+import Footer from "@components/Footer";
export interface CommonPageProps {
page: any;
diff --git a/src/pages/ContactsPage/ContactsPage.tsx b/src/pages/ContactsPage/ContactsPage.tsx
index 797d503..eff4eae 100644
--- a/src/pages/ContactsPage/ContactsPage.tsx
+++ b/src/pages/ContactsPage/ContactsPage.tsx
@@ -2,10 +2,10 @@ import React from "react";
import { Helmet } from "react-helmet";
import "./ContactsPage.scss";
import { StaticContext } from "../../server/StaticContext";
-import PageSection from "../../components/PageSection";
+import PageSection from "@components/PageSection";
import { getContacts, Occupation, Committee, getCommittees } from "../../models/Contacts";
-import CommitteeContainer from "../../components/CommitteeContainer";
-import TextAnchor from "../../components/TextAnchor/index";
+import CommitteeContainer from "@components/CommitteeContainer";
+import TextAnchor from "@components/TextAnchor/index";
interface ContactsPageProps {
staticContext: StaticContext;
diff --git a/src/pages/CorporatePage/CorporatePage.tsx b/src/pages/CorporatePage/CorporatePage.tsx
index 6337517..c7117b3 100644
--- a/src/pages/CorporatePage/CorporatePage.tsx
+++ b/src/pages/CorporatePage/CorporatePage.tsx
@@ -1,15 +1,15 @@
import React from "react";
import { Helmet } from "react-helmet";
import "./CorporatePage.scss";
-import PageSection from "../../components/PageSection";
-import HeroMainSection from "../../components/Hero/HeroMainSection/HeroMainSection";
-import HeroAsideSection from "../../components/Hero/HeroAsideSection/HeroAsideSection";
-import HeroAsideItem from "../../components/Hero/HeroAsideItem/HeroAsideItem";
-import AsideSection from "../../components/AsideSection";
-import MainSection from "../../components/MainSection/index";
-import PageLink from "../../components/PageLink/index";
-import Ribbon from "../../components/Ribbon/index";
-import TextAnchor from "../../components/TextAnchor/index";
+import PageSection from "@components/PageSection";
+import HeroMainSection from "@components/Hero/HeroMainSection/HeroMainSection";
+import HeroAsideSection from "@components/Hero/HeroAsideSection/HeroAsideSection";
+import HeroAsideItem from "@components/Hero/HeroAsideItem/HeroAsideItem";
+import AsideSection from "@components/AsideSection";
+import MainSection from "@components/MainSection/index";
+import PageLink from "@components/PageLink/index";
+import Ribbon from "@components/Ribbon/index";
+import TextAnchor from "@components/TextAnchor/index";
export interface CorporatePageProps {}
export interface CorporatePageState {}
diff --git a/src/pages/EventCreatePage/EventCreatePage.tsx b/src/pages/EventCreatePage/EventCreatePage.tsx
index 03b59d2..cd551e2 100644
--- a/src/pages/EventCreatePage/EventCreatePage.tsx
+++ b/src/pages/EventCreatePage/EventCreatePage.tsx
@@ -6,10 +6,10 @@ import Form from "react-jsonschema-form";
import { Tag, getTags } from "../../models/Tag";
import { SignupForm, getForms } from "../../models/SignupForm";
import { createEvent, getEvent, updateEvent, Event } from "../../models/Event";
-import DatetimeWidget from "../../components/DatetimeWidget";
-import SectionDividerWidget from "../../components/SectionDividerWidget";
-import Icon from "../../components/Icon";
-import { IconType } from "../../components/Icon/Icon";
+import DatetimeWidget from "@components/DatetimeWidget";
+import SectionDividerWidget from "@components/SectionDividerWidget";
+import Icon from "@components/Icon";
+import { IconType } from "@components/Icon/Icon";
const widgets = {
datetime: DatetimeWidget,
diff --git a/src/pages/EventPage/EventPage.tsx b/src/pages/EventPage/EventPage.tsx
index c3e2904..d3463e1 100644
--- a/src/pages/EventPage/EventPage.tsx
+++ b/src/pages/EventPage/EventPage.tsx
@@ -3,11 +3,11 @@ import { Helmet } from "react-helmet";
import "./EventPage.scss";
import { Event, getEvent } from "../../models/Event";
import { RouteComponentProps } from "react-router-dom";
-import Button, { ButtonType } from "../../components/Button";
-import Anchor from "../../components/Anchor";
-import PageSection from "../../components/PageSection";
-import MainSection from "../../components/MainSection";
-import AsideSection from "../../components/AsideSection/AsideSection";
+import Button, { ButtonType } from "@components/Button";
+import Anchor from "@components/Anchor";
+import PageSection from "@components/PageSection";
+import MainSection from "@components/MainSection";
+import AsideSection from "@components/AsideSection/AsideSection";
interface MatchParams {
id: string;
diff --git a/src/pages/FeedCreatePage/FeedCreatePage.tsx b/src/pages/FeedCreatePage/FeedCreatePage.tsx
index 922b40e..28baa07 100644
--- a/src/pages/FeedCreatePage/FeedCreatePage.tsx
+++ b/src/pages/FeedCreatePage/FeedCreatePage.tsx
@@ -5,7 +5,7 @@ import { isAuthenticated } from "../../auth";
import Form from "react-jsonschema-form";
import { Tag, getTags } from "../../models/Tag";
import { createPost, getPost, updatePost } from "../../models/Feed";
-import DatetimeWidget from "../../components/DatetimeWidget";
+import DatetimeWidget from "@components/DatetimeWidget";
const widgets = {
datetime: DatetimeWidget,
diff --git a/src/pages/FreshmenPage/FreshmenPage.tsx b/src/pages/FreshmenPage/FreshmenPage.tsx
index a7c59b3..e232f3a 100644
--- a/src/pages/FreshmenPage/FreshmenPage.tsx
+++ b/src/pages/FreshmenPage/FreshmenPage.tsx
@@ -1,16 +1,16 @@
import React from "react";
import { Helmet } from "react-helmet";
import "./FreshmenPage.scss";
-import PageSection from "../../components/PageSection/index";
-import HeroMainSection from "../../components/Hero/HeroMainSection/HeroMainSection";
-import HeroAsideSection from "../../components/Hero/HeroAsideSection/HeroAsideSection";
-import HeroAsideItem from "../../components/Hero/HeroAsideItem/HeroAsideItem";
-import AsideSection from "../../components/AsideSection/index";
-import MainSection from "../../components/MainSection/index";
-import PageLink from "../../components/PageLink/index";
-import Ribbon from "../../components/Ribbon/index";
-import TextAnchor from "../../components/TextAnchor/index";
-import InfoBox from "../../components/InfoBox/index";
+import PageSection from "@components/PageSection/index";
+import HeroMainSection from "@components/Hero/HeroMainSection/HeroMainSection";
+import HeroAsideSection from "@components/Hero/HeroAsideSection/HeroAsideSection";
+import HeroAsideItem from "@components/Hero/HeroAsideItem/HeroAsideItem";
+import AsideSection from "@components/AsideSection/index";
+import MainSection from "@components/MainSection/index";
+import PageLink from "@components/PageLink/index";
+import Ribbon from "@components/Ribbon/index";
+import TextAnchor from "@components/TextAnchor/index";
+import InfoBox from "@components/InfoBox/index";
export interface FreshmenPageProps {}
export interface FreshmenPageState {}
diff --git a/src/pages/GuildPage/GuildPage.tsx b/src/pages/GuildPage/GuildPage.tsx
index 1843385..74a2ddf 100644
--- a/src/pages/GuildPage/GuildPage.tsx
+++ b/src/pages/GuildPage/GuildPage.tsx
@@ -1,17 +1,17 @@
import React from "react";
import { Helmet } from "react-helmet";
import "./GuildPage.scss";
-import PageSection from "../../components/PageSection";
-import MainSection from "../../components/MainSection";
-import AsideSection from "../../components/AsideSection";
-import PageLink from "../../components/PageLink";
-import HeroMainSection from "../../components/Hero/HeroMainSection/HeroMainSection";
-import HeroAsideSection from "../../components/Hero/HeroAsideSection/HeroAsideSection";
-import HeroAsideItem from "../../components/Hero/HeroAsideItem/HeroAsideItem";
-import Ribbon from "../../components/Ribbon";
-import InfoBox from "../../components/InfoBox";
-import Accordion from "../../components/Accordion";
-import TextAnchor from "../../components/TextAnchor";
+import PageSection from "@components/PageSection";
+import MainSection from "@components/MainSection";
+import AsideSection from "@components/AsideSection";
+import PageLink from "@components/PageLink";
+import HeroMainSection from "@components/Hero/HeroMainSection/HeroMainSection";
+import HeroAsideSection from "@components/Hero/HeroAsideSection/HeroAsideSection";
+import HeroAsideItem from "@components/Hero/HeroAsideItem/HeroAsideItem";
+import Ribbon from "@components/Ribbon";
+import InfoBox from "@components/InfoBox";
+import Accordion from "@components/Accordion";
+import TextAnchor from "@components/TextAnchor";
export interface GuildPageProps { }
export interface GuildPageState { }
diff --git a/src/pages/SignUpPage/SignUpPage.tsx b/src/pages/SignUpPage/SignUpPage.tsx
index 5c88e63..da23f71 100644
--- a/src/pages/SignUpPage/SignUpPage.tsx
+++ b/src/pages/SignUpPage/SignUpPage.tsx
@@ -4,8 +4,8 @@ import Form from "react-jsonschema-form";
import "./SignUpPage.scss";
import { getForm, SignupForm } from "../../models/SignupForm";
import { createSignup, Signup } from "../../models/Signup";
-import PageSection from "../../components/PageSection";
-import { Question } from "../../components/SignupQuestionsWidget";
+import PageSection from "@components/PageSection";
+import { Question } from "@components/SignupQuestionsWidget";
export interface SignUpPageProps {
match: {
diff --git a/src/pages/SignupCreatePage/SignupCreatePage.tsx b/src/pages/SignupCreatePage/SignupCreatePage.tsx
index 99dac3a..0c90659 100644
--- a/src/pages/SignupCreatePage/SignupCreatePage.tsx
+++ b/src/pages/SignupCreatePage/SignupCreatePage.tsx
@@ -4,8 +4,8 @@ import { Link } from "react-router-dom";
import "./SignupCreatePage.scss";
import Form from "react-jsonschema-form";
import { createForm, getForm, updateForm, SignupForm } from "../../models/SignupForm";
-import DatetimeWidget from "../../components/DatetimeWidget";
-import SignupQuestionsWidget from "../../components/SignupQuestionsWidget";
+import DatetimeWidget from "@components/DatetimeWidget";
+import SignupQuestionsWidget from "@components/SignupQuestionsWidget";
const widgets = {
datetime: DatetimeWidget,
diff --git a/src/pages/StudiesPage/StudiesPage.tsx b/src/pages/StudiesPage/StudiesPage.tsx
index 360376a..df8ff7b 100644
--- a/src/pages/StudiesPage/StudiesPage.tsx
+++ b/src/pages/StudiesPage/StudiesPage.tsx
@@ -1,15 +1,15 @@
import React from "react";
import { Helmet } from "react-helmet";
import "./StudiesPage.scss";
-import PageSection from "../../components/PageSection/index";
-import HeroMainSection from "../../components/Hero/HeroMainSection/HeroMainSection";
-import HeroAsideSection from "../../components/Hero/HeroAsideSection/HeroAsideSection";
-import HeroAsideItem from "../../components/Hero/HeroAsideItem/HeroAsideItem";
-import AsideSection from "../../components/AsideSection/index";
-import MainSection from "../../components/MainSection/index";
-import PageLink from "../../components/PageLink/index";
-import Ribbon from "../../components/Ribbon/index";
-import TextAnchor from "../../components/TextAnchor/index";
+import PageSection from "@components/PageSection/index";
+import HeroMainSection from "@components/Hero/HeroMainSection/HeroMainSection";
+import HeroAsideSection from "@components/Hero/HeroAsideSection/HeroAsideSection";
+import HeroAsideItem from "@components/Hero/HeroAsideItem/HeroAsideItem";
+import AsideSection from "@components/AsideSection/index";
+import MainSection from "@components/MainSection/index";
+import PageLink from "@components/PageLink/index";
+import Ribbon from "@components/Ribbon/index";
+import TextAnchor from "@components/TextAnchor/index";
export interface StudiesPageProps {}
export interface StudiesPageState {}
diff --git a/src/routes.tsx b/src/routes.tsx
index 440b449..5f497bc 100644
--- a/src/routes.tsx
+++ b/src/routes.tsx
@@ -5,7 +5,7 @@ import FrontPage from "./pages/FrontPage";
import GuildPage from "./pages/GuildPage";
import NotFoundPage from "./pages/NotFoundPage";
import CommonPage from "./pages/CommonPage";
-import JsonLD from "./components/JsonLD";
+import JsonLD from "@components/JsonLD";
import "./index.scss";
import AdminFrontPage from "./pages/AdminFrontPage";
import AdminEventPage from "./pages/AdminEventPage";
From 8fbe0ca5e257d18b9cbcd5a8efeb663518d83000 Mon Sep 17 00:00:00 2001
From: Aarni Halinen
Date: Wed, 8 Jul 2020 15:16:51 +0300
Subject: [PATCH 26/56] Test splitting page into view and context layers with
FrontPage
---
src/models/Event.ts | 2 +-
src/models/Feed.ts | 2 +-
src/models/Signup.ts | 2 +-
src/models/SignupForm.ts | 2 +-
src/pages/{ActualPage => }/ActualPage.scss | 0
src/pages/{ActualPage => }/ActualPage.tsx | 0
src/pages/ActualPage/index.ts | 2 -
src/pages/AdminCommonPage/index.ts | 2 -
src/pages/AdminEventPage/index.ts | 2 -
src/pages/AdminFeedPage/index.ts | 2 -
src/pages/AdminFrontPage/index.ts | 2 -
src/pages/AdminLoginPage/index.ts | 2 -
src/pages/AdminLogoutPage/index.ts | 2 -
src/pages/AdminSignupPage/index.ts | 2 -
src/pages/{CommonPage => }/CommonPage.tsx | 0
src/pages/CommonPage/index.ts | 2 -
.../{ContactsPage => }/ContactsPage.scss | 2 +-
src/pages/{ContactsPage => }/ContactsPage.tsx | 4 +-
src/pages/ContactsPage/index.ts | 2 -
.../{CorporatePage => }/CorporatePage.scss | 0
.../{CorporatePage => }/CorporatePage.tsx | 0
src/pages/CorporatePage/index.ts | 2 -
.../EventCreatePage.scss | 2 +-
.../{EventCreatePage => }/EventCreatePage.tsx | 8 +-
src/pages/EventCreatePage/index.ts | 2 -
src/pages/{EventPage => }/EventPage.scss | 0
src/pages/{EventPage => }/EventPage.tsx | 2 +-
src/pages/EventPage/index.ts | 2 -
.../{FeedCreatePage => }/FeedCreatePage.scss | 2 +-
.../{FeedCreatePage => }/FeedCreatePage.tsx | 6 +-
src/pages/FeedCreatePage/index.ts | 2 -
.../{FreshmenPage => }/FreshmenPage.scss | 0
src/pages/{FreshmenPage => }/FreshmenPage.tsx | 0
src/pages/FreshmenPage/index.ts | 2 -
src/pages/FrontPage.tsx | 83 +++++++++++++++++++
src/pages/FrontPage/index.ts | 2 -
src/pages/{GuildPage => }/GuildPage.scss | 0
src/pages/{GuildPage => }/GuildPage.tsx | 0
src/pages/GuildPage/index.ts | 2 -
.../{InEnglishPage => }/InEnglishPage.scss | 0
.../{InEnglishPage => }/InEnglishPage.tsx | 0
src/pages/InEnglishPage/index.ts | 3 -
.../{NotFoundPage => }/NotFoundPage.scss | 0
src/pages/{NotFoundPage => }/NotFoundPage.tsx | 0
src/pages/NotFoundPage/index.ts | 2 -
src/pages/{SignUpPage => }/SignUpPage.scss | 0
src/pages/{SignUpPage => }/SignUpPage.tsx | 4 +-
src/pages/SignUpPage/index.ts | 2 -
.../SignupCreatePage.scss | 2 +-
.../SignupCreatePage.tsx | 2 +-
src/pages/SignupCreatePage/index.ts | 2 -
src/pages/{StudiesPage => }/StudiesPage.scss | 0
src/pages/{StudiesPage => }/StudiesPage.tsx | 0
src/pages/StudiesPage/index.ts | 2 -
.../AdminCommonPage.scss | 0
.../AdminCommonPage.tsx | 2 +-
.../AdminEventPage.scss | 0
.../AdminEventPage.tsx | 6 +-
.../AdminFeedPage.scss | 0
.../AdminFeedPage.tsx | 8 +-
.../AdminFrontPage.scss | 0
.../AdminFrontPage.tsx | 0
.../AdminLoginPage.scss | 0
.../AdminLoginPage.tsx | 2 +-
.../AdminLogoutPage.tsx | 2 +-
.../AdminSignupPage.scss | 0
.../AdminSignupPage.tsx | 6 +-
src/routes.tsx | 14 ++--
src/{ => utils}/auth.ts | 0
src/{pages => views}/FrontPage/FrontPage.scss | 0
.../FrontPage/FrontPageView.tsx} | 0
tsconfig.json | 3 +
72 files changed, 127 insertions(+), 86 deletions(-)
rename src/pages/{ActualPage => }/ActualPage.scss (100%)
rename src/pages/{ActualPage => }/ActualPage.tsx (100%)
delete mode 100644 src/pages/ActualPage/index.ts
delete mode 100644 src/pages/AdminCommonPage/index.ts
delete mode 100644 src/pages/AdminEventPage/index.ts
delete mode 100644 src/pages/AdminFeedPage/index.ts
delete mode 100644 src/pages/AdminFrontPage/index.ts
delete mode 100644 src/pages/AdminLoginPage/index.ts
delete mode 100644 src/pages/AdminLogoutPage/index.ts
delete mode 100644 src/pages/AdminSignupPage/index.ts
rename src/pages/{CommonPage => }/CommonPage.tsx (100%)
delete mode 100644 src/pages/CommonPage/index.ts
rename src/pages/{ContactsPage => }/ContactsPage.scss (71%)
rename src/pages/{ContactsPage => }/ContactsPage.tsx (97%)
delete mode 100644 src/pages/ContactsPage/index.ts
rename src/pages/{CorporatePage => }/CorporatePage.scss (100%)
rename src/pages/{CorporatePage => }/CorporatePage.tsx (100%)
delete mode 100644 src/pages/CorporatePage/index.ts
rename src/pages/{EventCreatePage => }/EventCreatePage.scss (95%)
rename src/pages/{EventCreatePage => }/EventCreatePage.tsx (96%)
delete mode 100644 src/pages/EventCreatePage/index.ts
rename src/pages/{EventPage => }/EventPage.scss (100%)
rename src/pages/{EventPage => }/EventPage.tsx (97%)
delete mode 100644 src/pages/EventPage/index.ts
rename src/pages/{FeedCreatePage => }/FeedCreatePage.scss (95%)
rename src/pages/{FeedCreatePage => }/FeedCreatePage.tsx (96%)
delete mode 100644 src/pages/FeedCreatePage/index.ts
rename src/pages/{FreshmenPage => }/FreshmenPage.scss (100%)
rename src/pages/{FreshmenPage => }/FreshmenPage.tsx (100%)
delete mode 100644 src/pages/FreshmenPage/index.ts
create mode 100644 src/pages/FrontPage.tsx
delete mode 100644 src/pages/FrontPage/index.ts
rename src/pages/{GuildPage => }/GuildPage.scss (100%)
rename src/pages/{GuildPage => }/GuildPage.tsx (100%)
delete mode 100644 src/pages/GuildPage/index.ts
rename src/pages/{InEnglishPage => }/InEnglishPage.scss (100%)
rename src/pages/{InEnglishPage => }/InEnglishPage.tsx (100%)
delete mode 100644 src/pages/InEnglishPage/index.ts
rename src/pages/{NotFoundPage => }/NotFoundPage.scss (100%)
rename src/pages/{NotFoundPage => }/NotFoundPage.tsx (100%)
delete mode 100644 src/pages/NotFoundPage/index.ts
rename src/pages/{SignUpPage => }/SignUpPage.scss (100%)
rename src/pages/{SignUpPage => }/SignUpPage.tsx (97%)
delete mode 100644 src/pages/SignUpPage/index.ts
rename src/pages/{SignupCreatePage => }/SignupCreatePage.scss (95%)
rename src/pages/{SignupCreatePage => }/SignupCreatePage.tsx (99%)
delete mode 100644 src/pages/SignupCreatePage/index.ts
rename src/pages/{StudiesPage => }/StudiesPage.scss (100%)
rename src/pages/{StudiesPage => }/StudiesPage.tsx (100%)
delete mode 100644 src/pages/StudiesPage/index.ts
rename src/pages/{AdminCommonPage => admin}/AdminCommonPage.scss (100%)
rename src/pages/{AdminCommonPage => admin}/AdminCommonPage.tsx (96%)
rename src/pages/{AdminEventPage => admin}/AdminEventPage.scss (100%)
rename src/pages/{AdminEventPage => admin}/AdminEventPage.tsx (94%)
rename src/pages/{AdminFeedPage => admin}/AdminFeedPage.scss (100%)
rename src/pages/{AdminFeedPage => admin}/AdminFeedPage.tsx (92%)
rename src/pages/{AdminFrontPage => admin}/AdminFrontPage.scss (100%)
rename src/pages/{AdminFrontPage => admin}/AdminFrontPage.tsx (100%)
rename src/pages/{AdminLoginPage => admin}/AdminLoginPage.scss (100%)
rename src/pages/{AdminLoginPage => admin}/AdminLoginPage.tsx (99%)
rename src/pages/{AdminLogoutPage => admin}/AdminLogoutPage.tsx (89%)
rename src/pages/{AdminSignupPage => admin}/AdminSignupPage.scss (100%)
rename src/pages/{AdminSignupPage => admin}/AdminSignupPage.tsx (94%)
rename src/{ => utils}/auth.ts (100%)
rename src/{pages => views}/FrontPage/FrontPage.scss (100%)
rename src/{pages/FrontPage/FrontPage.tsx => views/FrontPage/FrontPageView.tsx} (100%)
diff --git a/src/models/Event.ts b/src/models/Event.ts
index 80b3632..1e52069 100644
--- a/src/models/Event.ts
+++ b/src/models/Event.ts
@@ -1,5 +1,5 @@
import axios from "axios";
-import { getAuthHeader } from "../auth";
+import { getAuthHeader } from "@utils/auth";
import { Tag } from "./Tag";
import qs from "query-string";
import { SignupForm } from "./SignupForm";
diff --git a/src/models/Feed.ts b/src/models/Feed.ts
index 1d51829..dc291d3 100644
--- a/src/models/Feed.ts
+++ b/src/models/Feed.ts
@@ -1,5 +1,5 @@
import axios from "axios";
-import { getAuthHeader } from "../auth";
+import { getAuthHeader } from "@utils/auth";
const url = `${process.env.API_URL}/feed/`;
diff --git a/src/models/Signup.ts b/src/models/Signup.ts
index dfb2510..4ab5c39 100644
--- a/src/models/Signup.ts
+++ b/src/models/Signup.ts
@@ -1,5 +1,5 @@
import axios from "axios";
-import { getAuthHeader } from "../auth";
+import { getAuthHeader } from "@utils/auth";
const url = `${process.env.API_URL}/signup/`;
export interface Signup {
diff --git a/src/models/SignupForm.ts b/src/models/SignupForm.ts
index 507a389..4e1c9a9 100644
--- a/src/models/SignupForm.ts
+++ b/src/models/SignupForm.ts
@@ -1,5 +1,5 @@
import axios from "axios";
-import { getAuthHeader } from "../auth";
+import { getAuthHeader } from "@utils/auth";
const url = `${process.env.API_URL}/signupForm/`;
import { Question } from "@components/SignupQuestionsWidget";
diff --git a/src/pages/ActualPage/ActualPage.scss b/src/pages/ActualPage.scss
similarity index 100%
rename from src/pages/ActualPage/ActualPage.scss
rename to src/pages/ActualPage.scss
diff --git a/src/pages/ActualPage/ActualPage.tsx b/src/pages/ActualPage.tsx
similarity index 100%
rename from src/pages/ActualPage/ActualPage.tsx
rename to src/pages/ActualPage.tsx
diff --git a/src/pages/ActualPage/index.ts b/src/pages/ActualPage/index.ts
deleted file mode 100644
index b0c4179..0000000
--- a/src/pages/ActualPage/index.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-import ActualPage from "./ActualPage";
-export default ActualPage;
diff --git a/src/pages/AdminCommonPage/index.ts b/src/pages/AdminCommonPage/index.ts
deleted file mode 100644
index b46f3f8..0000000
--- a/src/pages/AdminCommonPage/index.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-import AdminCommonPage from "./AdminCommonPage";
-export default AdminCommonPage;
diff --git a/src/pages/AdminEventPage/index.ts b/src/pages/AdminEventPage/index.ts
deleted file mode 100644
index ee74a94..0000000
--- a/src/pages/AdminEventPage/index.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-import AdminEventPage from "./AdminEventPage";
-export default AdminEventPage;
diff --git a/src/pages/AdminFeedPage/index.ts b/src/pages/AdminFeedPage/index.ts
deleted file mode 100644
index a29bb81..0000000
--- a/src/pages/AdminFeedPage/index.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-import AdminFeedPage from "./AdminFeedPage";
-export default AdminFeedPage;
diff --git a/src/pages/AdminFrontPage/index.ts b/src/pages/AdminFrontPage/index.ts
deleted file mode 100644
index 1872125..0000000
--- a/src/pages/AdminFrontPage/index.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-import AdminFrontPage from "./AdminFrontPage";
-export default AdminFrontPage;
diff --git a/src/pages/AdminLoginPage/index.ts b/src/pages/AdminLoginPage/index.ts
deleted file mode 100644
index b1c9000..0000000
--- a/src/pages/AdminLoginPage/index.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-import AdminLoginPage from "./AdminLoginPage";
-export default AdminLoginPage;
diff --git a/src/pages/AdminLogoutPage/index.ts b/src/pages/AdminLogoutPage/index.ts
deleted file mode 100644
index e9858a7..0000000
--- a/src/pages/AdminLogoutPage/index.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-import AdminLogoutPage from "./AdminLogoutPage";
-export default AdminLogoutPage;
diff --git a/src/pages/AdminSignupPage/index.ts b/src/pages/AdminSignupPage/index.ts
deleted file mode 100644
index c356fc4..0000000
--- a/src/pages/AdminSignupPage/index.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-import AdminSignupPage from "./AdminSignupPage";
-export default AdminSignupPage;
diff --git a/src/pages/CommonPage/CommonPage.tsx b/src/pages/CommonPage.tsx
similarity index 100%
rename from src/pages/CommonPage/CommonPage.tsx
rename to src/pages/CommonPage.tsx
diff --git a/src/pages/CommonPage/index.ts b/src/pages/CommonPage/index.ts
deleted file mode 100644
index 73c6795..0000000
--- a/src/pages/CommonPage/index.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-import CommonPage from "./CommonPage";
-export default CommonPage;
diff --git a/src/pages/ContactsPage/ContactsPage.scss b/src/pages/ContactsPage.scss
similarity index 71%
rename from src/pages/ContactsPage/ContactsPage.scss
rename to src/pages/ContactsPage.scss
index 3c8525d..61018dc 100644
--- a/src/pages/ContactsPage/ContactsPage.scss
+++ b/src/pages/ContactsPage.scss
@@ -1,4 +1,4 @@
-@import "../../assets/scss/globals";
+@import "../assets/scss/globals";
.contacts-page {
display: flex;
diff --git a/src/pages/ContactsPage/ContactsPage.tsx b/src/pages/ContactsPage.tsx
similarity index 97%
rename from src/pages/ContactsPage/ContactsPage.tsx
rename to src/pages/ContactsPage.tsx
index eff4eae..5b8a33c 100644
--- a/src/pages/ContactsPage/ContactsPage.tsx
+++ b/src/pages/ContactsPage.tsx
@@ -1,9 +1,9 @@
import React from "react";
import { Helmet } from "react-helmet";
import "./ContactsPage.scss";
-import { StaticContext } from "../../server/StaticContext";
+import { StaticContext } from "../server/StaticContext";
import PageSection from "@components/PageSection";
-import { getContacts, Occupation, Committee, getCommittees } from "../../models/Contacts";
+import { getContacts, Occupation, Committee, getCommittees } from "../models/Contacts";
import CommitteeContainer from "@components/CommitteeContainer";
import TextAnchor from "@components/TextAnchor/index";
diff --git a/src/pages/ContactsPage/index.ts b/src/pages/ContactsPage/index.ts
deleted file mode 100644
index 4c674dc..0000000
--- a/src/pages/ContactsPage/index.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-import ContactsPage from "./ContactsPage";
-export default ContactsPage;
diff --git a/src/pages/CorporatePage/CorporatePage.scss b/src/pages/CorporatePage.scss
similarity index 100%
rename from src/pages/CorporatePage/CorporatePage.scss
rename to src/pages/CorporatePage.scss
diff --git a/src/pages/CorporatePage/CorporatePage.tsx b/src/pages/CorporatePage.tsx
similarity index 100%
rename from src/pages/CorporatePage/CorporatePage.tsx
rename to src/pages/CorporatePage.tsx
diff --git a/src/pages/CorporatePage/index.ts b/src/pages/CorporatePage/index.ts
deleted file mode 100644
index 1284574..0000000
--- a/src/pages/CorporatePage/index.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-import CorporatePage from "./CorporatePage";
-export default CorporatePage;
diff --git a/src/pages/EventCreatePage/EventCreatePage.scss b/src/pages/EventCreatePage.scss
similarity index 95%
rename from src/pages/EventCreatePage/EventCreatePage.scss
rename to src/pages/EventCreatePage.scss
index 6766a0c..b664980 100644
--- a/src/pages/EventCreatePage/EventCreatePage.scss
+++ b/src/pages/EventCreatePage.scss
@@ -1,4 +1,4 @@
-@import "../../assets/scss/globals";
+@import "../assets/scss/globals";
.event-create-page {
diff --git a/src/pages/EventCreatePage/EventCreatePage.tsx b/src/pages/EventCreatePage.tsx
similarity index 96%
rename from src/pages/EventCreatePage/EventCreatePage.tsx
rename to src/pages/EventCreatePage.tsx
index cd551e2..005553b 100644
--- a/src/pages/EventCreatePage/EventCreatePage.tsx
+++ b/src/pages/EventCreatePage.tsx
@@ -1,11 +1,11 @@
import React from "react";
import { Helmet } from "react-helmet";
import "./EventCreatePage.scss";
-import { isAuthenticated } from "../../auth";
+import { isAuthenticated } from "@utils/auth";
import Form from "react-jsonschema-form";
-import { Tag, getTags } from "../../models/Tag";
-import { SignupForm, getForms } from "../../models/SignupForm";
-import { createEvent, getEvent, updateEvent, Event } from "../../models/Event";
+import { Tag, getTags } from "@models/Tag";
+import { SignupForm, getForms } from "@models/SignupForm";
+import { createEvent, getEvent, updateEvent, Event } from "@models/Event";
import DatetimeWidget from "@components/DatetimeWidget";
import SectionDividerWidget from "@components/SectionDividerWidget";
import Icon from "@components/Icon";
diff --git a/src/pages/EventCreatePage/index.ts b/src/pages/EventCreatePage/index.ts
deleted file mode 100644
index 4f19e34..0000000
--- a/src/pages/EventCreatePage/index.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-import EventCreatePage from "./EventCreatePage";
-export default EventCreatePage;
diff --git a/src/pages/EventPage/EventPage.scss b/src/pages/EventPage.scss
similarity index 100%
rename from src/pages/EventPage/EventPage.scss
rename to src/pages/EventPage.scss
diff --git a/src/pages/EventPage/EventPage.tsx b/src/pages/EventPage.tsx
similarity index 97%
rename from src/pages/EventPage/EventPage.tsx
rename to src/pages/EventPage.tsx
index d3463e1..4d18f6c 100644
--- a/src/pages/EventPage/EventPage.tsx
+++ b/src/pages/EventPage.tsx
@@ -1,7 +1,7 @@
import React from "react";
import { Helmet } from "react-helmet";
import "./EventPage.scss";
-import { Event, getEvent } from "../../models/Event";
+import { Event, getEvent } from "../models/Event";
import { RouteComponentProps } from "react-router-dom";
import Button, { ButtonType } from "@components/Button";
import Anchor from "@components/Anchor";
diff --git a/src/pages/EventPage/index.ts b/src/pages/EventPage/index.ts
deleted file mode 100644
index effa600..0000000
--- a/src/pages/EventPage/index.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-import EventPage from "./EventPage";
-export default EventPage;
diff --git a/src/pages/FeedCreatePage/FeedCreatePage.scss b/src/pages/FeedCreatePage.scss
similarity index 95%
rename from src/pages/FeedCreatePage/FeedCreatePage.scss
rename to src/pages/FeedCreatePage.scss
index cfd6b3b..5043653 100644
--- a/src/pages/FeedCreatePage/FeedCreatePage.scss
+++ b/src/pages/FeedCreatePage.scss
@@ -1,4 +1,4 @@
-@import "../../assets/scss/globals";
+@import "../assets/scss/globals";
.post-create-page {
diff --git a/src/pages/FeedCreatePage/FeedCreatePage.tsx b/src/pages/FeedCreatePage.tsx
similarity index 96%
rename from src/pages/FeedCreatePage/FeedCreatePage.tsx
rename to src/pages/FeedCreatePage.tsx
index 28baa07..070c2b8 100644
--- a/src/pages/FeedCreatePage/FeedCreatePage.tsx
+++ b/src/pages/FeedCreatePage.tsx
@@ -1,10 +1,10 @@
import React from "react";
import { Helmet } from "react-helmet";
import "./FeedCreatePage.scss";
-import { isAuthenticated } from "../../auth";
+import { isAuthenticated } from "@utils/auth";
import Form from "react-jsonschema-form";
-import { Tag, getTags } from "../../models/Tag";
-import { createPost, getPost, updatePost } from "../../models/Feed";
+import { Tag, getTags } from "@models/Tag";
+import { createPost, getPost, updatePost } from "@models/Feed";
import DatetimeWidget from "@components/DatetimeWidget";
const widgets = {
diff --git a/src/pages/FeedCreatePage/index.ts b/src/pages/FeedCreatePage/index.ts
deleted file mode 100644
index 162b402..0000000
--- a/src/pages/FeedCreatePage/index.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-import FeedCreatePage from "./FeedCreatePage";
-export default FeedCreatePage;
diff --git a/src/pages/FreshmenPage/FreshmenPage.scss b/src/pages/FreshmenPage.scss
similarity index 100%
rename from src/pages/FreshmenPage/FreshmenPage.scss
rename to src/pages/FreshmenPage.scss
diff --git a/src/pages/FreshmenPage/FreshmenPage.tsx b/src/pages/FreshmenPage.tsx
similarity index 100%
rename from src/pages/FreshmenPage/FreshmenPage.tsx
rename to src/pages/FreshmenPage.tsx
diff --git a/src/pages/FreshmenPage/index.ts b/src/pages/FreshmenPage/index.ts
deleted file mode 100644
index 74fb55e..0000000
--- a/src/pages/FreshmenPage/index.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-import FreshmenPage from "./FreshmenPage";
-export default FreshmenPage;
diff --git a/src/pages/FrontPage.tsx b/src/pages/FrontPage.tsx
new file mode 100644
index 0000000..5e6dbe1
--- /dev/null
+++ b/src/pages/FrontPage.tsx
@@ -0,0 +1,83 @@
+import React from "react";
+import appStore from "@stores/AppStore";
+import { Event, getEvents } from "@models/Event";
+import { Post, getFeed } from "@models/Feed";
+import { StaticContext } from "@server/StaticContext";
+import FrontPageView from "@views/FrontPage/FrontPageView";
+
+interface FrontPageProps {
+ staticContext: StaticContext;
+}
+
+interface FrontPageState {
+ events: Event[];
+ feed: Post[];
+}
+
+class FrontPage extends React.Component {
+ constructor(props: FrontPageProps) {
+ super(props);
+ const { staticContext } = props;
+
+ if (staticContext) {
+ /* The static context is an object that manages promises when
+ rendering on the server. If staticContext exists, that means
+ we have to store all promises in it. Otherwise, operate
+ normally. See server/index.ts. */
+ if (staticContext.resolutions.getEvents) {
+ const events = staticContext.resolutions.getEvents as Event[];
+ const feed = staticContext.resolutions.getFeed as Post[];
+ this.state = {
+ events,
+ feed,
+ };
+ } else {
+ this.state = {
+ events: [],
+ feed: [],
+ };
+ const promiseEvents = this.fetchEvents();
+ const promiseFeed = this.fetchFeed();
+ staticContext.promises.getEvents = promiseEvents;
+ staticContext.promises.getFeed = promiseFeed;
+ }
+ } else {
+ this.state = {
+ events: [],
+ feed: [],
+ };
+ this.fetchEvents();
+ this.fetchFeed();
+ }
+ }
+
+ fetchEvents = () => {
+ const getEventsPromise = getEvents({
+ onlyNonPast: true,
+ limit: 4,
+ });
+ getEventsPromise.then(events => {
+ this.setState({
+ events,
+ });
+ });
+ return getEventsPromise;
+ }
+
+ fetchFeed = () => {
+ const getFeedPromise = getFeed();
+ getFeedPromise.then(feed => {
+ this.setState({
+ feed,
+ });
+ });
+ return getFeedPromise;
+ }
+
+ render() {
+ const { events, feed } = this.state;
+ return
+ }
+}
+
+export default props => ;
diff --git a/src/pages/FrontPage/index.ts b/src/pages/FrontPage/index.ts
deleted file mode 100644
index 23d37ad..0000000
--- a/src/pages/FrontPage/index.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-import FrontPage from "./FrontPage";
-export default FrontPage;
diff --git a/src/pages/GuildPage/GuildPage.scss b/src/pages/GuildPage.scss
similarity index 100%
rename from src/pages/GuildPage/GuildPage.scss
rename to src/pages/GuildPage.scss
diff --git a/src/pages/GuildPage/GuildPage.tsx b/src/pages/GuildPage.tsx
similarity index 100%
rename from src/pages/GuildPage/GuildPage.tsx
rename to src/pages/GuildPage.tsx
diff --git a/src/pages/GuildPage/index.ts b/src/pages/GuildPage/index.ts
deleted file mode 100644
index 7dac43e..0000000
--- a/src/pages/GuildPage/index.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-import GuildPage from "./GuildPage";
-export default GuildPage;
diff --git a/src/pages/InEnglishPage/InEnglishPage.scss b/src/pages/InEnglishPage.scss
similarity index 100%
rename from src/pages/InEnglishPage/InEnglishPage.scss
rename to src/pages/InEnglishPage.scss
diff --git a/src/pages/InEnglishPage/InEnglishPage.tsx b/src/pages/InEnglishPage.tsx
similarity index 100%
rename from src/pages/InEnglishPage/InEnglishPage.tsx
rename to src/pages/InEnglishPage.tsx
diff --git a/src/pages/InEnglishPage/index.ts b/src/pages/InEnglishPage/index.ts
deleted file mode 100644
index 8238ed1..0000000
--- a/src/pages/InEnglishPage/index.ts
+++ /dev/null
@@ -1,3 +0,0 @@
-import InEnglishPage from "./InEnglishPage";
-
-export default InEnglishPage;
diff --git a/src/pages/NotFoundPage/NotFoundPage.scss b/src/pages/NotFoundPage.scss
similarity index 100%
rename from src/pages/NotFoundPage/NotFoundPage.scss
rename to src/pages/NotFoundPage.scss
diff --git a/src/pages/NotFoundPage/NotFoundPage.tsx b/src/pages/NotFoundPage.tsx
similarity index 100%
rename from src/pages/NotFoundPage/NotFoundPage.tsx
rename to src/pages/NotFoundPage.tsx
diff --git a/src/pages/NotFoundPage/index.ts b/src/pages/NotFoundPage/index.ts
deleted file mode 100644
index 4be9bb0..0000000
--- a/src/pages/NotFoundPage/index.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-import NotFoundPage from "./NotFoundPage";
-export default NotFoundPage;
diff --git a/src/pages/SignUpPage/SignUpPage.scss b/src/pages/SignUpPage.scss
similarity index 100%
rename from src/pages/SignUpPage/SignUpPage.scss
rename to src/pages/SignUpPage.scss
diff --git a/src/pages/SignUpPage/SignUpPage.tsx b/src/pages/SignUpPage.tsx
similarity index 97%
rename from src/pages/SignUpPage/SignUpPage.tsx
rename to src/pages/SignUpPage.tsx
index da23f71..d04bbad 100644
--- a/src/pages/SignUpPage/SignUpPage.tsx
+++ b/src/pages/SignUpPage.tsx
@@ -2,8 +2,8 @@ import React from "react";
import { Helmet } from "react-helmet";
import Form from "react-jsonschema-form";
import "./SignUpPage.scss";
-import { getForm, SignupForm } from "../../models/SignupForm";
-import { createSignup, Signup } from "../../models/Signup";
+import { getForm, SignupForm } from "../models/SignupForm";
+import { createSignup, Signup } from "../models/Signup";
import PageSection from "@components/PageSection";
import { Question } from "@components/SignupQuestionsWidget";
diff --git a/src/pages/SignUpPage/index.ts b/src/pages/SignUpPage/index.ts
deleted file mode 100644
index ebe4972..0000000
--- a/src/pages/SignUpPage/index.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-import SignUpPage from "./SignUpPage";
-export default SignUpPage;
diff --git a/src/pages/SignupCreatePage/SignupCreatePage.scss b/src/pages/SignupCreatePage.scss
similarity index 95%
rename from src/pages/SignupCreatePage/SignupCreatePage.scss
rename to src/pages/SignupCreatePage.scss
index e22bd08..895e4db 100644
--- a/src/pages/SignupCreatePage/SignupCreatePage.scss
+++ b/src/pages/SignupCreatePage.scss
@@ -1,4 +1,4 @@
-@import "../../assets/scss/globals";
+@import "../assets/scss/globals";
.signup-create-page {
diff --git a/src/pages/SignupCreatePage/SignupCreatePage.tsx b/src/pages/SignupCreatePage.tsx
similarity index 99%
rename from src/pages/SignupCreatePage/SignupCreatePage.tsx
rename to src/pages/SignupCreatePage.tsx
index 0c90659..1ba1403 100644
--- a/src/pages/SignupCreatePage/SignupCreatePage.tsx
+++ b/src/pages/SignupCreatePage.tsx
@@ -3,7 +3,7 @@ import { Helmet } from "react-helmet";
import { Link } from "react-router-dom";
import "./SignupCreatePage.scss";
import Form from "react-jsonschema-form";
-import { createForm, getForm, updateForm, SignupForm } from "../../models/SignupForm";
+import { createForm, getForm, updateForm, SignupForm } from "../models/SignupForm";
import DatetimeWidget from "@components/DatetimeWidget";
import SignupQuestionsWidget from "@components/SignupQuestionsWidget";
diff --git a/src/pages/SignupCreatePage/index.ts b/src/pages/SignupCreatePage/index.ts
deleted file mode 100644
index 753e7a8..0000000
--- a/src/pages/SignupCreatePage/index.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-import SignupCreatePage from "./SignupCreatePage";
-export default SignupCreatePage;
diff --git a/src/pages/StudiesPage/StudiesPage.scss b/src/pages/StudiesPage.scss
similarity index 100%
rename from src/pages/StudiesPage/StudiesPage.scss
rename to src/pages/StudiesPage.scss
diff --git a/src/pages/StudiesPage/StudiesPage.tsx b/src/pages/StudiesPage.tsx
similarity index 100%
rename from src/pages/StudiesPage/StudiesPage.tsx
rename to src/pages/StudiesPage.tsx
diff --git a/src/pages/StudiesPage/index.ts b/src/pages/StudiesPage/index.ts
deleted file mode 100644
index dead812..0000000
--- a/src/pages/StudiesPage/index.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-import StudiesPage from "./StudiesPage";
-export default StudiesPage;
diff --git a/src/pages/AdminCommonPage/AdminCommonPage.scss b/src/pages/admin/AdminCommonPage.scss
similarity index 100%
rename from src/pages/AdminCommonPage/AdminCommonPage.scss
rename to src/pages/admin/AdminCommonPage.scss
diff --git a/src/pages/AdminCommonPage/AdminCommonPage.tsx b/src/pages/admin/AdminCommonPage.tsx
similarity index 96%
rename from src/pages/AdminCommonPage/AdminCommonPage.tsx
rename to src/pages/admin/AdminCommonPage.tsx
index 172eaad..cadfa76 100644
--- a/src/pages/AdminCommonPage/AdminCommonPage.tsx
+++ b/src/pages/admin/AdminCommonPage.tsx
@@ -2,7 +2,7 @@ import React from "react";
import { Redirect } from "react-router-dom";
import AdminHeader from "@components/AdminHeader";
import AdminSidebar from "@components/AdminSidebar";
-import { isAuthenticated } from "../../auth";
+import { isAuthenticated } from "@utils/auth";
import "./AdminCommonPage.scss";
export interface AdminCommonPageProps {
diff --git a/src/pages/AdminEventPage/AdminEventPage.scss b/src/pages/admin/AdminEventPage.scss
similarity index 100%
rename from src/pages/AdminEventPage/AdminEventPage.scss
rename to src/pages/admin/AdminEventPage.scss
diff --git a/src/pages/AdminEventPage/AdminEventPage.tsx b/src/pages/admin/AdminEventPage.tsx
similarity index 94%
rename from src/pages/AdminEventPage/AdminEventPage.tsx
rename to src/pages/admin/AdminEventPage.tsx
index 304cce7..71d772a 100644
--- a/src/pages/AdminEventPage/AdminEventPage.tsx
+++ b/src/pages/admin/AdminEventPage.tsx
@@ -4,9 +4,9 @@ import Anchor from "@components/Anchor";
import { formatRelative } from "date-fns";
import "./AdminEventPage.scss";
-import { Event, getEvents } from "../../models/Event";
-import { StaticContext } from "../../server/StaticContext";
-import AddIcon from "../../assets/img/add-icon.png";
+import { Event, getEvents } from "@models/Event";
+import { StaticContext } from "@server/StaticContext";
+import AddIcon from "@assets/img/add-icon.png";
export interface AdminEventPageProps {
diff --git a/src/pages/AdminFeedPage/AdminFeedPage.scss b/src/pages/admin/AdminFeedPage.scss
similarity index 100%
rename from src/pages/AdminFeedPage/AdminFeedPage.scss
rename to src/pages/admin/AdminFeedPage.scss
diff --git a/src/pages/AdminFeedPage/AdminFeedPage.tsx b/src/pages/admin/AdminFeedPage.tsx
similarity index 92%
rename from src/pages/AdminFeedPage/AdminFeedPage.tsx
rename to src/pages/admin/AdminFeedPage.tsx
index f88acd1..a72ac1e 100644
--- a/src/pages/AdminFeedPage/AdminFeedPage.tsx
+++ b/src/pages/admin/AdminFeedPage.tsx
@@ -2,12 +2,12 @@ import React from "react";
import { Helmet } from "react-helmet";
import Anchor from "@components/Anchor";
import "./AdminFeedPage.scss";
-import { StaticContext } from "../../server/StaticContext";
-import { Post, getFeed } from "../../models/Feed";
-import { getEvents } from "../../models/Event";
+import { StaticContext } from "@server/StaticContext";
+import { Post, getFeed } from "@models/Feed";
+import { getEvents } from "@models/Event";
import { formatRelative } from "date-fns";
import { th } from "date-fns/esm/locale";
-import AddIcon from "../../assets/img/add-icon.png";
+import AddIcon from "@assets/img/add-icon.png";
export interface AdminFeedPageProps {
staticContext: StaticContext;
diff --git a/src/pages/AdminFrontPage/AdminFrontPage.scss b/src/pages/admin/AdminFrontPage.scss
similarity index 100%
rename from src/pages/AdminFrontPage/AdminFrontPage.scss
rename to src/pages/admin/AdminFrontPage.scss
diff --git a/src/pages/AdminFrontPage/AdminFrontPage.tsx b/src/pages/admin/AdminFrontPage.tsx
similarity index 100%
rename from src/pages/AdminFrontPage/AdminFrontPage.tsx
rename to src/pages/admin/AdminFrontPage.tsx
diff --git a/src/pages/AdminLoginPage/AdminLoginPage.scss b/src/pages/admin/AdminLoginPage.scss
similarity index 100%
rename from src/pages/AdminLoginPage/AdminLoginPage.scss
rename to src/pages/admin/AdminLoginPage.scss
diff --git a/src/pages/AdminLoginPage/AdminLoginPage.tsx b/src/pages/admin/AdminLoginPage.tsx
similarity index 99%
rename from src/pages/AdminLoginPage/AdminLoginPage.tsx
rename to src/pages/admin/AdminLoginPage.tsx
index c5d830f..e4edc32 100644
--- a/src/pages/AdminLoginPage/AdminLoginPage.tsx
+++ b/src/pages/admin/AdminLoginPage.tsx
@@ -2,7 +2,7 @@ import React from "react";
import { Helmet } from "react-helmet";
import { Redirect } from "react-router-dom";
import qs from "query-string";
-import { generateToken, setTokenCookie, isAuthenticated } from "../../auth";
+import { generateToken, setTokenCookie, isAuthenticated } from "@utils/auth";
import "./AdminLoginPage.scss";
export interface AdminLoginPageProps {
diff --git a/src/pages/AdminLogoutPage/AdminLogoutPage.tsx b/src/pages/admin/AdminLogoutPage.tsx
similarity index 89%
rename from src/pages/AdminLogoutPage/AdminLogoutPage.tsx
rename to src/pages/admin/AdminLogoutPage.tsx
index 38e7181..4a4d72c 100644
--- a/src/pages/AdminLogoutPage/AdminLogoutPage.tsx
+++ b/src/pages/admin/AdminLogoutPage.tsx
@@ -1,6 +1,6 @@
import React from "react";
import { Redirect } from "react-router-dom";
-import { deleteTokenCookie } from "../../auth";
+import { deleteTokenCookie } from "@utils/auth";
export interface AdminLogoutPageProps {}
export interface AdminLogoutPageState {}
diff --git a/src/pages/AdminSignupPage/AdminSignupPage.scss b/src/pages/admin/AdminSignupPage.scss
similarity index 100%
rename from src/pages/AdminSignupPage/AdminSignupPage.scss
rename to src/pages/admin/AdminSignupPage.scss
diff --git a/src/pages/AdminSignupPage/AdminSignupPage.tsx b/src/pages/admin/AdminSignupPage.tsx
similarity index 94%
rename from src/pages/AdminSignupPage/AdminSignupPage.tsx
rename to src/pages/admin/AdminSignupPage.tsx
index 2702ab0..b6846f9 100644
--- a/src/pages/AdminSignupPage/AdminSignupPage.tsx
+++ b/src/pages/admin/AdminSignupPage.tsx
@@ -4,9 +4,9 @@ import { formatRelative } from "date-fns";
import Anchor from "@components/Anchor";
import "./AdminSignupPage.scss";
-import { SignupForm, getForms } from "../../models/SignupForm";
-import { StaticContext } from "../../server/StaticContext";
-import AddIcon from "../../assets/img/add-icon.png";
+import { SignupForm, getForms } from "@models/SignupForm";
+import { StaticContext } from "@server/StaticContext";
+import AddIcon from "@assets/img/add-icon.png";
export interface AdminSignupPageProps {
staticContext: StaticContext;
diff --git a/src/routes.tsx b/src/routes.tsx
index 5f497bc..3be67aa 100644
--- a/src/routes.tsx
+++ b/src/routes.tsx
@@ -7,16 +7,16 @@ import NotFoundPage from "./pages/NotFoundPage";
import CommonPage from "./pages/CommonPage";
import JsonLD from "@components/JsonLD";
import "./index.scss";
-import AdminFrontPage from "./pages/AdminFrontPage";
-import AdminEventPage from "./pages/AdminEventPage";
-import AdminFeedPage from "./pages/AdminFeedPage";
-import AdminCommonPage from "./pages/AdminCommonPage";
-import AdminLoginPage from "./pages/AdminLoginPage";
-import AdminLogoutPage from "./pages/AdminLogoutPage";
+import AdminFrontPage from "./pages/admin/AdminFrontPage";
+import AdminEventPage from "./pages/admin/AdminEventPage";
+import AdminFeedPage from "./pages/admin/AdminFeedPage";
+import AdminCommonPage from "./pages/admin/AdminCommonPage";
+import AdminSignupPage from "./pages/admin/AdminSignupPage";
+import AdminLoginPage from "./pages/admin/AdminLoginPage";
+import AdminLogoutPage from "./pages/admin/AdminLogoutPage";
import EventCreatePage from "./pages/EventCreatePage";
import FeedCreatePage from "./pages/FeedCreatePage";
import ContactsPage from "./pages/ContactsPage";
-import AdminSignupPage from "./pages/AdminSignupPage";
import SignupCreatePage from "./pages/SignupCreatePage";
import SignUpPage from "./pages/SignUpPage";
import ActualPage from "./pages/ActualPage";
diff --git a/src/auth.ts b/src/utils/auth.ts
similarity index 100%
rename from src/auth.ts
rename to src/utils/auth.ts
diff --git a/src/pages/FrontPage/FrontPage.scss b/src/views/FrontPage/FrontPage.scss
similarity index 100%
rename from src/pages/FrontPage/FrontPage.scss
rename to src/views/FrontPage/FrontPage.scss
diff --git a/src/pages/FrontPage/FrontPage.tsx b/src/views/FrontPage/FrontPageView.tsx
similarity index 100%
rename from src/pages/FrontPage/FrontPage.tsx
rename to src/views/FrontPage/FrontPageView.tsx
diff --git a/tsconfig.json b/tsconfig.json
index 1a531bf..2739d2b 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -48,6 +48,9 @@
"@views/*": [
"src/views/*"
],
+ "@utils/*": [
+ "src/utils/*"
+ ]
},
},
"include": [
From b35fe1456d6c37bd8e901807b2cf6222fa5041d8 Mon Sep 17 00:00:00 2001
From: Aarni Halinen
Date: Wed, 8 Jul 2020 15:22:15 +0300
Subject: [PATCH 27/56] Finalize @-path imports
---
src/components/AdminHeader/AdminHeader.tsx | 2 +-
src/components/ColorDiv/ColorDiv.tsx | 2 +-
src/components/CommitteeContainer/CommitteeContainer.tsx | 2 +-
src/components/ContactCard/ContactCard.tsx | 4 ++--
src/components/Header/Header.tsx | 2 +-
.../SignupQuestionsWidget/SignupQuestionsWidget.tsx | 2 +-
src/components/TextAnchor/TextAnchor.tsx | 2 +-
src/pages/ContactsPage.tsx | 4 ++--
src/pages/EventPage.tsx | 2 +-
src/pages/SignUpPage.tsx | 4 ++--
src/pages/SignupCreatePage.tsx | 2 +-
11 files changed, 14 insertions(+), 14 deletions(-)
diff --git a/src/components/AdminHeader/AdminHeader.tsx b/src/components/AdminHeader/AdminHeader.tsx
index 3308b92..c299094 100644
--- a/src/components/AdminHeader/AdminHeader.tsx
+++ b/src/components/AdminHeader/AdminHeader.tsx
@@ -1,6 +1,6 @@
import React from "react";
import { Link } from "react-router-dom";
-import TitleImage from "../../assets/img/SIK_RGB_W_side.png";
+import TitleImage from "@assets/img/SIK_RGB_W_side.png";
import "./AdminHeader.scss";
export interface AdminHeaderProps { }
diff --git a/src/components/ColorDiv/ColorDiv.tsx b/src/components/ColorDiv/ColorDiv.tsx
index 0dba70c..05a9b1c 100644
--- a/src/components/ColorDiv/ColorDiv.tsx
+++ b/src/components/ColorDiv/ColorDiv.tsx
@@ -1,6 +1,6 @@
import React from "react";
import "./ColorDiv.scss";
-import { Colors, colorToClass, bgColorToClass, hoverColorToClass, bgHoverColorToClass } from "../../theme/colors";
+import { Colors, colorToClass, bgColorToClass, hoverColorToClass, bgHoverColorToClass } from "@theme/colors";
import classNames from "classnames";
export interface ColorDivProps extends React.HTMLAttributes {
diff --git a/src/components/CommitteeContainer/CommitteeContainer.tsx b/src/components/CommitteeContainer/CommitteeContainer.tsx
index d37d0d6..03bc91a 100644
--- a/src/components/CommitteeContainer/CommitteeContainer.tsx
+++ b/src/components/CommitteeContainer/CommitteeContainer.tsx
@@ -1,6 +1,6 @@
import React from "react";
import "./CommitteeContainer.scss";
-import { Occupation } from "../../models/Contacts";
+import { Occupation } from "@models/Contacts";
import ContactCard from "../ContactCard/ContactCard";
export interface CommitteeContainerProps {
diff --git a/src/components/ContactCard/ContactCard.tsx b/src/components/ContactCard/ContactCard.tsx
index 89e8183..34187bd 100644
--- a/src/components/ContactCard/ContactCard.tsx
+++ b/src/components/ContactCard/ContactCard.tsx
@@ -1,7 +1,7 @@
import React from "react";
import "./ContactCard.scss";
-import blank_profile from "../../assets/img/blank_profile.png";
-import { Role } from "../../models/Contacts";
+import blank_profile from "@assets/img/blank_profile.png";
+import { Role } from "@models/Contacts";
export interface ContactCardProps {
first_name: string;
diff --git a/src/components/Header/Header.tsx b/src/components/Header/Header.tsx
index 5a1ba3f..7978d32 100644
--- a/src/components/Header/Header.tsx
+++ b/src/components/Header/Header.tsx
@@ -4,7 +4,7 @@ import "./Header.scss";
import NavbarDropdownLink from "../NavbarDropdownLink/NavbarDropdownLink";
import NavbarChildLink from "../NavbarChildLink/NavbarChildLink";
import Navigation from "../Navigation";
-import TitleImage from "../../assets/img/SIK_RGB_W_side.png";
+import TitleImage from "@assets/img/SIK_RGB_W_side.png";
import classNames from "classnames";
import throttle from "lodash/throttle";
diff --git a/src/components/SignupQuestionsWidget/SignupQuestionsWidget.tsx b/src/components/SignupQuestionsWidget/SignupQuestionsWidget.tsx
index 62454d0..e5a8994 100644
--- a/src/components/SignupQuestionsWidget/SignupQuestionsWidget.tsx
+++ b/src/components/SignupQuestionsWidget/SignupQuestionsWidget.tsx
@@ -3,7 +3,7 @@ import shortid from "shortid";
import OptionsWidget from "./OptionsWidget";
import { DragDropContext, Droppable } from "react-beautiful-dnd";
import { Question, InputProps, optionTypes } from "."
-import AddIcon from "../../assets/img/add-icon.png";
+import AddIcon from "@assets/img/add-icon.png";
import "./SignupQuestionsWidget.scss";
import TypeWidget from "./TypeWidget";
import QuestionList from "./QuestionList";
diff --git a/src/components/TextAnchor/TextAnchor.tsx b/src/components/TextAnchor/TextAnchor.tsx
index d44877c..193fab5 100644
--- a/src/components/TextAnchor/TextAnchor.tsx
+++ b/src/components/TextAnchor/TextAnchor.tsx
@@ -1,6 +1,6 @@
import React from "react";
import "./TextAnchor.scss";
-import { Colors, colorToClass, hoverColorToClass } from "../../theme/colors";
+import { Colors, colorToClass, hoverColorToClass } from "@theme/colors";
import Anchor from "../Anchor";
import classNames from "classnames";
diff --git a/src/pages/ContactsPage.tsx b/src/pages/ContactsPage.tsx
index 5b8a33c..d4af859 100644
--- a/src/pages/ContactsPage.tsx
+++ b/src/pages/ContactsPage.tsx
@@ -1,9 +1,9 @@
import React from "react";
import { Helmet } from "react-helmet";
import "./ContactsPage.scss";
-import { StaticContext } from "../server/StaticContext";
+import { StaticContext } from "@server/StaticContext";
import PageSection from "@components/PageSection";
-import { getContacts, Occupation, Committee, getCommittees } from "../models/Contacts";
+import { getContacts, Occupation, Committee, getCommittees } from "@models/Contacts";
import CommitteeContainer from "@components/CommitteeContainer";
import TextAnchor from "@components/TextAnchor/index";
diff --git a/src/pages/EventPage.tsx b/src/pages/EventPage.tsx
index 4d18f6c..957bb61 100644
--- a/src/pages/EventPage.tsx
+++ b/src/pages/EventPage.tsx
@@ -1,7 +1,7 @@
import React from "react";
import { Helmet } from "react-helmet";
import "./EventPage.scss";
-import { Event, getEvent } from "../models/Event";
+import { Event, getEvent } from "@models/Event";
import { RouteComponentProps } from "react-router-dom";
import Button, { ButtonType } from "@components/Button";
import Anchor from "@components/Anchor";
diff --git a/src/pages/SignUpPage.tsx b/src/pages/SignUpPage.tsx
index d04bbad..30be232 100644
--- a/src/pages/SignUpPage.tsx
+++ b/src/pages/SignUpPage.tsx
@@ -2,8 +2,8 @@ import React from "react";
import { Helmet } from "react-helmet";
import Form from "react-jsonschema-form";
import "./SignUpPage.scss";
-import { getForm, SignupForm } from "../models/SignupForm";
-import { createSignup, Signup } from "../models/Signup";
+import { getForm, SignupForm } from "@models/SignupForm";
+import { createSignup, Signup } from "@models/Signup";
import PageSection from "@components/PageSection";
import { Question } from "@components/SignupQuestionsWidget";
diff --git a/src/pages/SignupCreatePage.tsx b/src/pages/SignupCreatePage.tsx
index 1ba1403..dc89580 100644
--- a/src/pages/SignupCreatePage.tsx
+++ b/src/pages/SignupCreatePage.tsx
@@ -3,7 +3,7 @@ import { Helmet } from "react-helmet";
import { Link } from "react-router-dom";
import "./SignupCreatePage.scss";
import Form from "react-jsonschema-form";
-import { createForm, getForm, updateForm, SignupForm } from "../models/SignupForm";
+import { createForm, getForm, updateForm, SignupForm } from "@models/SignupForm";
import DatetimeWidget from "@components/DatetimeWidget";
import SignupQuestionsWidget from "@components/SignupQuestionsWidget";
From acba0cb46649c456251ee5a2dab677a7cd058976 Mon Sep 17 00:00:00 2001
From: Aarni Halinen
Date: Wed, 8 Jul 2020 16:11:42 +0300
Subject: [PATCH 28/56] Continue page/view splitting
---
src/pages/ActualPage.tsx | 144 +--------
src/pages/ContactsPage.tsx | 39 +--
src/pages/CorporatePage.tsx | 86 +-----
src/pages/EventPage.tsx | 45 +--
src/pages/FreshmenPage.tsx | 121 +-------
src/pages/FrontPage.tsx | 12 +-
src/pages/GuildPage.tsx | 244 +---------------
src/pages/InEnglishPage.tsx | 25 +-
src/pages/NotFoundPage.scss | 9 -
src/pages/NotFoundPage.tsx | 38 ++-
src/pages/SignUpPage.tsx | 12 +-
src/pages/StudiesPage.tsx | 99 +------
src/pages/{ => admin}/EventCreatePage.scss | 2 +-
src/pages/{ => admin}/EventCreatePage.tsx | 0
src/pages/{ => admin}/FeedCreatePage.scss | 2 +-
src/pages/{ => admin}/FeedCreatePage.tsx | 0
src/pages/{ => admin}/SignupCreatePage.scss | 2 +-
src/pages/{ => admin}/SignupCreatePage.tsx | 0
src/routes.tsx | 6 +-
.../ActualPage}/ActualPage.scss | 0
src/views/ActualPage/ActualPageView.tsx | 137 +++++++++
.../ContactsPage}/ContactsPage.scss | 2 +-
src/views/ContactsPage/ContactsPageView.tsx | 52 ++++
.../CorporatePage}/CorporatePage.scss | 0
src/views/CorporatePage/CorporatePageView.tsx | 88 ++++++
src/{pages => views/EventPage}/EventPage.scss | 0
src/views/EventPage/EventPageView.tsx | 52 ++++
.../FreshmenPage}/FreshmenPage.scss | 0
src/views/FreshmenPage/FreshmenPageView.tsx | 109 +++++++
src/views/FrontPage/FrontPageView.tsx | 274 +++++++-----------
src/{pages => views/GuildPage}/GuildPage.scss | 0
src/views/GuildPage/GuildPageView.tsx | 229 +++++++++++++++
.../InEnglishPage}/InEnglishPage.scss | 0
src/views/InEnglishPage/InEnglishPageView.tsx | 10 +
.../SignUpPage}/SignUpPage.scss | 0
src/views/SignUpPage/SignUpPageView.tsx | 21 ++
.../StudiesPage}/StudiesPage.scss | 0
src/views/StudiesPage/StudiesPageView.tsx | 84 ++++++
38 files changed, 986 insertions(+), 958 deletions(-)
delete mode 100644 src/pages/NotFoundPage.scss
rename src/pages/{ => admin}/EventCreatePage.scss (95%)
rename src/pages/{ => admin}/EventCreatePage.tsx (100%)
rename src/pages/{ => admin}/FeedCreatePage.scss (95%)
rename src/pages/{ => admin}/FeedCreatePage.tsx (100%)
rename src/pages/{ => admin}/SignupCreatePage.scss (95%)
rename src/pages/{ => admin}/SignupCreatePage.tsx (100%)
rename src/{pages => views/ActualPage}/ActualPage.scss (100%)
create mode 100644 src/views/ActualPage/ActualPageView.tsx
rename src/{pages => views/ContactsPage}/ContactsPage.scss (71%)
create mode 100644 src/views/ContactsPage/ContactsPageView.tsx
rename src/{pages => views/CorporatePage}/CorporatePage.scss (100%)
create mode 100644 src/views/CorporatePage/CorporatePageView.tsx
rename src/{pages => views/EventPage}/EventPage.scss (100%)
create mode 100644 src/views/EventPage/EventPageView.tsx
rename src/{pages => views/FreshmenPage}/FreshmenPage.scss (100%)
create mode 100644 src/views/FreshmenPage/FreshmenPageView.tsx
rename src/{pages => views/GuildPage}/GuildPage.scss (100%)
create mode 100644 src/views/GuildPage/GuildPageView.tsx
rename src/{pages => views/InEnglishPage}/InEnglishPage.scss (100%)
create mode 100644 src/views/InEnglishPage/InEnglishPageView.tsx
rename src/{pages => views/SignUpPage}/SignUpPage.scss (100%)
create mode 100644 src/views/SignUpPage/SignUpPageView.tsx
rename src/{pages => views/StudiesPage}/StudiesPage.scss (100%)
create mode 100644 src/views/StudiesPage/StudiesPageView.tsx
diff --git a/src/pages/ActualPage.tsx b/src/pages/ActualPage.tsx
index 80df124..1062427 100644
--- a/src/pages/ActualPage.tsx
+++ b/src/pages/ActualPage.tsx
@@ -1,141 +1,15 @@
import React from "react";
import { Helmet } from "react-helmet";
-import "./ActualPage.scss";
-import PageSection from "@components/PageSection";
-import HeroMainSection from "@components/Hero/HeroMainSection/HeroMainSection";
-import HeroAsideSection from "@components/Hero/HeroAsideSection/HeroAsideSection";
-import HeroAsideItem from "@components/Hero/HeroAsideItem/HeroAsideItem";
-import AsideSection from "@components/AsideSection";
-import MainSection from "@components/MainSection/index";
-import Ribbon from "@components/Ribbon/index";
-import TextAnchor from "@components/TextAnchor/index";
-import Button, { ButtonType } from "@components/Button/index";
-import Accordion from "@components/Accordion";
-import HeroSecondarySection, { HeroSecondarySectionItem } from "@components/Hero/HeroSecondarySection/HeroSecondarySection";
+import ActualPageView from "@views/ActualPage/ActualPageView";
-export interface ActualPageProps {}
-export interface ActualPageState {}
+const ActualPage = () => (
+ <>
+
+
+
+
+ >
+)
-class ActualPage extends React.Component {
- render() {
- return (
-
-
-
-
-
-
-
Yritystapahtumia ja vastapainoa opiskelulle
-
- Teekkarielämä ei ole pelkkää saunomista, juhlimista ja muita huvituksia—tai no, on se sitäkin.
-
-
-
-
-
-
-
- Killan hallitus päivystää kiltahuoneella maanantaisin klo 12.15–13.15. Tuolloin voit ostaa kiltatuotteita, kuten esim. haalarimerkkejä tai laulukirjoja.
-
-
- Kiltapäiväkerho Kiltis kokoontuu torstaisin klo XX.XX kiltahuoneella. Lorem ipsum dolor sit amet. Lämpimästi tervetuloa kaikki SIKkiläiset ja SIK-mieliset!
-
-
-
-
-
- Kilta järjestää jäsenilleen jos jonkinlaista projektia ja toimintaa, muun muassa:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Tapahtumat
-
-
-
-
-
Uutiset
-
-
-
-
-
Kuvia tapahtumista.
-
-
Kuvagalleria ›
-
-
-
-
-
-
-
-
-
-
-
Sinustako kilta-aktiivi?
-
-
Tule mukaan kiltatoimintaan ›
-
-
-
-
-
-
-
Yritystapahtumia ja vastapainoa opiskelulle
-
- Toimintaa ylläpitää ja järjestää jaokset ja toimikunnat.
-
-
- Jotain elepajasta
-
-
- Jotain elepajasta
-
-
- Jotain elepajasta
-
-
- Jotain elepajasta
-
-
- Jotain elepajasta
-
-
-
-
-
- );
- }
-}
export default ActualPage;
diff --git a/src/pages/ContactsPage.tsx b/src/pages/ContactsPage.tsx
index d4af859..50f7ee5 100644
--- a/src/pages/ContactsPage.tsx
+++ b/src/pages/ContactsPage.tsx
@@ -1,11 +1,8 @@
import React from "react";
import { Helmet } from "react-helmet";
-import "./ContactsPage.scss";
import { StaticContext } from "@server/StaticContext";
-import PageSection from "@components/PageSection";
import { getContacts, Occupation, Committee, getCommittees } from "@models/Contacts";
-import CommitteeContainer from "@components/CommitteeContainer";
-import TextAnchor from "@components/TextAnchor/index";
+import ContactsPageView from "@views/ContactsPage/ContactsPageView";
interface ContactsPageProps {
staticContext: StaticContext;
@@ -75,41 +72,13 @@ class ContactsPage extends React.Component
render() {
const { contacts, committees } = this.state;
- const board = contacts.filter(x => x.role.is_board);
return (
-
+ <>
-
-
- Asiaa olisi, mutta kehen ottaa yhteyttä?
- Tämä sivu yrittää valottaa sen oikean ihmisen puhelinnumeroa ja sähköpostiosoitetta.
-
-
-
-
-
-
- {"Hallitukseen saa yhteyden lähettämällä sähköpostia "}
-
- sik-hallitus@list.ayy.fi
-
-
+
+ >
);
}
}
diff --git a/src/pages/CorporatePage.tsx b/src/pages/CorporatePage.tsx
index c7117b3..80c9035 100644
--- a/src/pages/CorporatePage.tsx
+++ b/src/pages/CorporatePage.tsx
@@ -1,15 +1,6 @@
import React from "react";
import { Helmet } from "react-helmet";
-import "./CorporatePage.scss";
-import PageSection from "@components/PageSection";
-import HeroMainSection from "@components/Hero/HeroMainSection/HeroMainSection";
-import HeroAsideSection from "@components/Hero/HeroAsideSection/HeroAsideSection";
-import HeroAsideItem from "@components/Hero/HeroAsideItem/HeroAsideItem";
-import AsideSection from "@components/AsideSection";
-import MainSection from "@components/MainSection/index";
-import PageLink from "@components/PageLink/index";
-import Ribbon from "@components/Ribbon/index";
-import TextAnchor from "@components/TextAnchor/index";
+import CorporatePageView from "@views/CorporatePage/CorporatePageView";
export interface CorporatePageProps {}
export interface CorporatePageState {}
@@ -17,81 +8,12 @@ export interface CorporatePageState {}
class CorporatePage extends React.Component {
render() {
return (
-
+ <>
-
-
-
Tee yhteistyötä tulevaisuuden huippuosaajien kanssa!
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed vehicula aliquam enim, in lacinia nunc rutrum fringilla. Phasellus dui dolor, pellentesque vitae feugiat non, maximus in felis. Praesent feugiat vehicula mi, sed tincidunt enim venenatis quis. In euismod gravida ullamcorper. Phasellus a sagittis nisi, vitae blandit ipsum. Nunc rhoncus ultrices ante, id commodo dolor convallis id. Morbi ullamcorper vulputate risus id sodales.
-
-
-
-
-
-
-
-
-
-
-
-
Yhteistyömahdollisuudet
-
-
TODO: Tähän nostoja yhteistyöstä! Yhteistyömahdollisuuksista voi tiedustella lisää killan yrityssuhdemestarilta.
-
-
Yritysbrunssi
-
Yritysbrunssi on Sähköinsinöörikillan ja bioinformaatioteknologian ainejärjestö Inkubion syksyllä järjestämä yritystapahtuma. Tapahtumassa luodaan yrityksille mahdollisuus tavata tulevaisuuden ammattilaisia maukkaan brunssin lomassa.
-
-
Haalarimainonta
-
Sähköinsinöörikillan ensimmäisen vuoden opiskelijat saavat opiskelijahaalarinsa heti syksyn ensimmäisenä päivänä. Yrityksien on mahdollista ostaa mainostilaa haalareista ja samalla lunastaa esiintymispaikka haalareiden luovutustilaisuuteen, "Haalarigaalaan". Tilaisuus on erinomainen paikka jäädä heti uusien opiskelijoiden mieleen.
-
-
Excursiot
-
Excursioiden tarkoituksena on tarjota opiskelijoille mahdollisuus tutustua yritysmaailmaan. Pidemmillä excursiolla hauskanpito ja teekkariperinteiden vaaliminen on tärkeä osa excursiota.
-
-
Potentiaalin Tasaus
-
Kiltamme viettää vuosijuhliaan helmikuun kolmantena lauantaina. Potentiaalin Tasaus on kiltamme juhlavin tapahtuma. Yrityksillä on mahdollisuus osallistua vuosijuhliin niin pienellä kuin suurellakin panoksella.
-
-
-
-
- Excursiosäännöt
-
-
- Liity jäseneksi
-
-
-
-
-
-
-
Mainos Sössöön?
-
-
Killan lehden mediakortin löydät täältä›
-
-
-
-
-
-
-
Työpaikkaulmoitukset
-
TODO: Miten listataan yritykset?
- {/* TODO: Fix links */}
-
Voit saada yrityksesi työpaikkailmoituksen listalle lähettämällä sen osoitteeseen sik-yritys@list.ayy.fi
-
-
-
-
+
+ >
);
}
}
diff --git a/src/pages/EventPage.tsx b/src/pages/EventPage.tsx
index 957bb61..c79d368 100644
--- a/src/pages/EventPage.tsx
+++ b/src/pages/EventPage.tsx
@@ -1,25 +1,18 @@
import React from "react";
import { Helmet } from "react-helmet";
-import "./EventPage.scss";
-import { Event, getEvent } from "@models/Event";
import { RouteComponentProps } from "react-router-dom";
-import Button, { ButtonType } from "@components/Button";
-import Anchor from "@components/Anchor";
-import PageSection from "@components/PageSection";
-import MainSection from "@components/MainSection";
-import AsideSection from "@components/AsideSection/AsideSection";
+import { Event, getEvent } from "@models/Event";
+import EventPageView from "@views/EventPage/EventPageView";
interface MatchParams {
id: string;
}
-export interface EventPageOwnProps {}
-
-export interface EventPageState {
+interface EventPageState {
event?: Event;
}
-type EventPageProps = EventPageOwnProps & RouteComponentProps
+type EventPageProps = RouteComponentProps
class EventPage extends React.Component {
constructor(props: EventPageProps) {
@@ -47,36 +40,12 @@ class EventPage extends React.Component {
if (!event) return
Loading
return (
-
+ <>
-
-
-
-
-
{event.title_fi}
-
- {event.description_fi}
-
-
- {event.content_fi}
-
- {/* We may have multiple signup forms. Generate own Button for each one */}
-
- {event.signupForm.map(sf => (
-
-
-
- )
- )}
-
-
-
-
-
+
+ >
);
}
}
diff --git a/src/pages/FreshmenPage.tsx b/src/pages/FreshmenPage.tsx
index e232f3a..9f3d742 100644
--- a/src/pages/FreshmenPage.tsx
+++ b/src/pages/FreshmenPage.tsx
@@ -1,120 +1,17 @@
import React from "react";
import { Helmet } from "react-helmet";
-import "./FreshmenPage.scss";
-import PageSection from "@components/PageSection/index";
-import HeroMainSection from "@components/Hero/HeroMainSection/HeroMainSection";
-import HeroAsideSection from "@components/Hero/HeroAsideSection/HeroAsideSection";
-import HeroAsideItem from "@components/Hero/HeroAsideItem/HeroAsideItem";
-import AsideSection from "@components/AsideSection/index";
-import MainSection from "@components/MainSection/index";
-import PageLink from "@components/PageLink/index";
-import Ribbon from "@components/Ribbon/index";
-import TextAnchor from "@components/TextAnchor/index";
-import InfoBox from "@components/InfoBox/index";
+import FreshmenPageView from "@views/FreshmenPage/FreshmenPageView";
export interface FreshmenPageProps {}
export interface FreshmenPageState {}
-class FreshmenPage extends React.Component {
- render() {
- return (
-
-
-
-
-
-
-
Tervetuloa opiskelemaan Otaniemeen!
-
- Me olemme Emmaleena ja Jonna, sinun Fuksikapteenisi. Päätehtävämme on huolehtia fuksivuodestasi Aalto-yliopiston Sähköinsinöörikillassa.
-
-
Tämä on fuksien oma etusivu ja olemmekin keränneet tänne kaikki tärkeimmät tiedot, joita fuksivuotenasi tarvitset. Tietysti kannattaa katsoa myös yleisiä sivuja, sillä tänne ei mahdu kaikki, mitä killassa tapahtuu.
-
-
-
-
-
-
-
-
-
-
-
-
-
Onnittelut hyvästä opiskeluvalinnasta
-
-
Lorem
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed vehicula aliquam enim, in lacinia nunc rutrum fringilla. Phasellus dui dolor, pellentesque vitae feugiat non, maximus in felis. Praesent feugiat vehicula mi, sed tincidunt enim venenatis quis. In euismod gravida ullamcorper. Phasellus a sagittis nisi, vitae blandit ipsum. Nunc rhoncus ultrices ante, id commodo dolor convallis id. Morbi ullamcorper vulputate risus id sodales.
-
-
Ipsum
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed vehicula aliquam enim, in lacinia nunc rutrum fringilla. Phasellus dui dolor, pellentesque vitae feugiat non, maximus in felis. Praesent feugiat vehicula mi, sed tincidunt enim venenatis quis. In euismod gravida ullamcorper. Phasellus a sagittis nisi, vitae blandit ipsum. Nunc rhoncus ultrices ante, id commodo dolor convallis id. Morbi ullamcorper vulputate risus id sodales.
-
-
Raketteja ja mikropiirejä
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed vehicula aliquam enim, in lacinia nunc rutrum fringilla. Phasellus dui dolor, pellentesque vitae feugiat non, maximus in felis. Praesent feugiat vehicula mi, sed tincidunt enim venenatis quis. In euismod gravida ullamcorper. Phasellus a sagittis nisi, vitae blandit ipsum. Nunc rhoncus ultrices ante, id commodo dolor convallis id. Morbi ullamcorper vulputate risus id sodales.
-
- Telegram on pikaviestinpalvelu, jota käytetään otaniemessä paljon. Hieman samanlainen kuin Whatsapp, mutta ominaisuuksiltaan paremmaksi todettu. Lisätietoja: https://telegram.org/faq
-
-
- SIK:n fukseilla on oma Telegram-ryhmä, jonne pääset liitymään tästä.
-
-
-
-
-
-
-
-
-
Killassa tapahtuu kaikenlaista!
-
-
Seuraa killan tapahtumia
-
-
-
-
-
-
-
Isoryhmät
-
Lorem jotain ISOryhmiä X kpl
-
Mikä ihmeen ISO...
-
TODO: Kuvia
-
-
-
-
- );
- }
-}
+const FreshmenPage: React.FC = () => (
+ <>
+
+
+
+
+ >
+)
export default FreshmenPage;
diff --git a/src/pages/FrontPage.tsx b/src/pages/FrontPage.tsx
index 5e6dbe1..9f1917b 100644
--- a/src/pages/FrontPage.tsx
+++ b/src/pages/FrontPage.tsx
@@ -1,5 +1,5 @@
import React from "react";
-import appStore from "@stores/AppStore";
+import { Helmet } from "react-helmet";
import { Event, getEvents } from "@models/Event";
import { Post, getFeed } from "@models/Feed";
import { StaticContext } from "@server/StaticContext";
@@ -76,8 +76,14 @@ class FrontPage extends React.Component {
render() {
const { events, feed } = this.state;
- return
+ return (
+ <>
+
+
+
+ >
+ )
}
}
-export default props => ;
+export default FrontPage;
diff --git a/src/pages/GuildPage.tsx b/src/pages/GuildPage.tsx
index 74a2ddf..db0883e 100644
--- a/src/pages/GuildPage.tsx
+++ b/src/pages/GuildPage.tsx
@@ -1,240 +1,14 @@
import React from "react";
import { Helmet } from "react-helmet";
-import "./GuildPage.scss";
-import PageSection from "@components/PageSection";
-import MainSection from "@components/MainSection";
-import AsideSection from "@components/AsideSection";
-import PageLink from "@components/PageLink";
-import HeroMainSection from "@components/Hero/HeroMainSection/HeroMainSection";
-import HeroAsideSection from "@components/Hero/HeroAsideSection/HeroAsideSection";
-import HeroAsideItem from "@components/Hero/HeroAsideItem/HeroAsideItem";
-import Ribbon from "@components/Ribbon";
-import InfoBox from "@components/InfoBox";
-import Accordion from "@components/Accordion";
-import TextAnchor from "@components/TextAnchor";
+import GuildPageView from "@views/GuildPage/GuildPageView";
-export interface GuildPageProps { }
-export interface GuildPageState { }
-
-class GuildPage extends React.Component {
- render() {
- return (
-
-
-
-
-
-
-
-
Kilta koostuu sähkötekniikan ja elektroniikan (ELEC) tutkinto-ohjelmissa opiskelevista opiskelijoista
-
Vapaa-ajan jäsenpalvelujen lisäksi killan tehtävänä on edistää jäsentensä opintoja, tarjota uraohjausta ja fuksikasvatusta. Jokaiselle jäsenelle löytyy varmasti jotakin—kaukomaita, opiskelijalehti Sössöä, ja kiltaaktiivina pääset kartuttamaan kokemusta, josta on hyötyä myös työelämässä.
-
Arvot estrumquias doluptatur aut quam fugiti cus debit landisciis eatemperes eumquibus di blat que sim etus idis dolut labor ad magnat.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Killan tehtävät ja tarina
-
Kilta tukee jäsentensä hyvinvointia ja tarjoaa vastapainoa opiskelulle. Kilta järjestää esimerkiksi urheilutapahtumia, kulttuurielämyksiä ja näiden lisäksi sitsejä ja saunailtoja. Valinnanvaraa on, joten tapahtumakalenterin aktiivisella seuraamisella saattaa olla hyvinkin miellyttäviä seuraamuksia. Voit myös itse järjestää mieleisesi tapahtuman killan tukemana, tai ehdottaa sitä killan toimitsijoille.
-
-
Yhteistyössä korkeakoulun kanssa, kilta kehittää opetusta. Kilta on mukana kurssien kehittämisessä, valvoo kiltalaisten etua korkeakoulussa ja tuo korkeakoulun henkilöstöä lähemmäs kiltalaisia. Kilta avaa oven yritysmaailmaan järjestämällä yritysten kanssa excursioita, saunailtoja ja yritystapahtumia. Lisäksi killan kautta kuulee ensimmäisten joukossa uusista avoimista työpaikoista. Killalla on Otaniemen mukavin kiltahuone, jossa voi käydä hengähtämässä luentojen välillä, hakea apua vaikeisiin tehtäviin tai järjestää vaikka leffailtoja. Tämän lisäksi killalla on myös haastavampaan elektroniikkaharrasteluun sopivat tilat.
-
-
Takana lähes satavuotinen historia
-
-
Vaikka kilta onkin ajan hermolla, on sillä takana lähes satavuotinen historia.
- Sähköinsinööriklubin tuore puheenjohtaja lausahti klubin ensimmäisessä
- varsinaisessa kokouksessa 16. helmikuuta 1921: “Koska klubi nyt ensi kerran
- kokoontuu, niin pyydän lausua toivomuksena, että klubin jäsenillä aina tulisi
- olemaan hauskaa, että toverielämä kukoistaisi ja että myös sähkötekniikkaa
- klubissa harrastettaisiin.”.
-
-
Vaikka ajat ovat muuttuneet, klubi on muuttunut killaksi ja jäsenmäärä kasvanut
- alkuajoista valtavasti, ohjaavat nämä kolme asiaa edelleen killan toimintaa. Vaikka
- pitkästä historiasta kannattaa olla ylpeä, ei sitä tarvitse kokea taakkana. Uutta
- historiaa luodaan koko ajan ja tässä on meillä kaikilla mahdollista olla mukana. Ole
- aktiivinen, ota asioista selvää ja osallistu kaikkeen mahdolliseen. Tulet varmasti
- yllättymään kaikesta siitä mitä täältä keskuudestamme löytyy.
-
-
Meitä teekkareita on todella moneen lähtöön
-
-
Minkäänlaista perus- tai ihanneteekkaria ei ole olemassa, vaan paras teekkariuden
- määritelmä kuuluukin: “teekkarius on kaikkea sitä, mitä teekkarit tekevät”. Yksi asia
- meitä kaikkia kuitenkin yhdistää. Opiskelemme jotain tekniikkaan liittyvää täällä
- Aalto-yliopistossa.
- Teekkariutta on vaikkapa toimiminen killoissa tai jossain AYY:n lukuisista
- yhdistyksistä. Teekkariutta on yhtä lailla SIK:n tapahtumien järjestäminen tai niihin osallistuminen kuin vaikkapa laulaminen Polyteknikkojen Kuorossa tai sukeltaminen Polyteknikkojen sukelluskerho Kuplassa. Kaikille varmasti löytyy jotain itseä kiinnostavaa.
-
-
Teekkareilla, varsinkin otaniemeläisillä, on pitkä ja vahva historia. Siihen kannattaa
- tutustua, jotta saa jonkinlaisen kuvan siitä vahvasta teekkarihengestä, joka
- meillä täällä opinahjossamme vallitsee ja on vallinnut koko sen historian ajan.
- Teekkariuteen kuuluu olennaisena osana mukautuminen ajan vaatimuksiin. Jos asiat
- tehtäisiin aina vanhaa toistaen, ei voitaisi enää edes puhua teekkariudesta.
-
-
-
-
- Yliopiston jäsenedut
-
-
- Liity jäseneksi
-
-
-
-
- Herrasmies- tai herrasnaisuus kuuluu olennaisena osana teekkariuteen. Hyvät käytöstavat on syytä aina pitää mielessä, liikuttiin sitten puku päällä excuilla tai sitseillä tai haalarit päällä Tukholman illassa.
-
-
-
-
-
-
-
Killan hallinto koostuu XXX henkilöstä.
-
-
-
-
-
-
Organisaatio
-
-
Sähköinsinöörikillassa toimeenpanovaltaa käyttää 3–13 kiltalaisen muodostama hallitus apunaan lukuisa määrä toimihenkilöitä. Hallituksen ja toimihenkilöt valitsee killan valtuusto, joka myös valvoo näiden toimintaa. Käytännössä valtuusto valitsee vaalikokouksessaan ensin uuden puheenjohtajan ja jää 1–2 viikon mittaiselle kokoustauolle. Tauon jälkeen puheenjohtaja esittelee valtuustolle ehdotuksensa hallitukseksi ja toimihenkilöiksi, ja valtuusto joko hyväksyy tai hylkää ehdotuksen noin tunnin kestävän kysely- ja esittelytuokion jälkeen. Hallituksen kuulumiset lorem.
-
-
Valtuuston toimintaa
-
-
Killan valtuusto valitaan marraskuussa pidettävillä vaaleilla yhdeksi vuodeksi kerrallaan. Vaaleissa ovat vaalikelpoisia ja äänioikeutettuja kaikki SIK:n varsinaiset jäsenet. Uuden valtuuston toiminta alkaa varsin pian valitsemisen jälkeen vaalikokouksessa, jossa todetaan uusi kokoonpano, valitaan puhemiehistö, killan hallituksen puheenjohtaja ja muut hallituksen jäsenet, toimihenkilöt, toimikuntien puheenjohtajat sekä tilintarkastajat. Toinen sääntömääräinen valtuuston kokous on helmikuinen vuosikokous, jossa käsitellään mm. edellisen vuoden toimintakertomus ja tilinpäätös, sekä kuluvan vuoden toimintasuunnitelma ja budjetti. Lisäksi valtuusto pitää tarpeelliseksi katsomanssa määrän kokouksia pitkin vuotta. Pöytäkirjat ja muut dokumentit lorem ipsum.
-
-
Hallituksen toimintaa
-
Jokaisella hallituksen jäsenellä on oma vastuualueensa, jota hän hoitaa yhdessä mahdollisen toimikuntansa kanssa. Puheenjohtajan tehtävä on pitää langat käsissään, ja olla perillä kaikesta, mitä killassa tapahtuu. Hallitus tekee päätökset ja sopii menettelytavat viikottaisessa kokouksessaan. Hallitus on vastuussa kaikesta killan näkyvästä ja näkymättömästä toiminnasta, ja se on myös oikea osoite, jos joku asia vaivaa mieltä, tai mielessä on parannusehdotus mihin tahansa asiaan.
-
-
-
-
-
- Vuoden 2019 hallinto
-
-
- Dolor sit amet
-
-
-
-
-
-
-
Kiltatoimintaa järjestää ja ylläpitää kilta-aktiivit, toimikunnat ja jaokset.
-
-
-
-
-
Miksi alkaa kilta-aktiiviksi?
-
- Näitä töitä tehdessä saa väkisinkin paljon uusia kavereita ja oppii monia palkallisessa työelämässä tarpeellisia taitoja. Eikä laajasta tuttavapiiristä ja monista kontakteista varmasti haittaa ole tulevaa työuraakaan ajatellen. Rahallista tai materiaalista hyötyä kiltatoiminnasta ei saa, eikä kukaan killan toimintaan mukaan tuleva sitä pyrikään tavoittelemaan. Mikä tärkeintä, kiltatoiminta on kivaa!
-
-
- » Uusia ystäviä, samanhenkistä seuraa
-
-
- » Loistava mahdollisuus kokeilla omia kykyjään
-
-
- » Voit kokeilla ja oppia jotain sellaista, mitä et ikinä aikaisemmin ole tehnyt
-
-
-
-
Runsaasti erilaisia tehtäviä
-
- Killassa on todella monenlaisia tehtäviä. Olitpa koodaaja, urheilija tai ammattimainen juhlija, killasta löytyy tekemistä juuri sinulle. Toimikunnissa sitoudut toimintaan vuodeksi kerrallaan. Jaostoiminta mahdollistaa kiltatoiminnan kokeilun pienemmässä mittakaavassa. Tehtäväkuvaukset lorem ipsum dolor sit amet alla. Jos ei löydy sopivaa lorem ipsum dolor sit amet, voit perustaa myös oman.
-
-
- » Haluatko valtuustoon, hallitukseen tai toimariksi?
-
-
- » Toimihenkilönä pääset edistämään opintoja
-
-
- » Lorem ipsum
-
-
-
-
-
-
-
-
Sähkötekniikan korkeakoulun toimikunnat
-
- Ylioppilaskunnalla on edustus suuressa osassa Aalto-yliopiston tiedekuntia. Elektroniikan, tietoliikenteen ja automaation tiedekunnan toimikuntiin eli hallopedeihin opiskelijavalinna EST- ja TLT-tutkinto-ohjelmien osalta tehdään osin ylioppilaskunnan edustajistossa Sähköinsinöörikillan esityksestä ja osin Sähköinsinöörikillassa.
-
-
-
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed rhoncus feugiat ante. Nam eget venenatis dui. Morbi purus dui, cursus at velit id, placerat scelerisque turpis. Nulla a mauris odio. Nulla at tempor mi. Maecenas et sapien eu lorem interdum luctus. Proin interdum, tortor eget tempor tristique, massa arcu suscipit ipsum, sit amet lacinia erat lorem sit amet ipsum. Praesent dictum odio auctor odio sodales pharetra. Quisque accumsan iaculis diam, a laoreet odio aliquet eu. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. In hac habitasse platea dictumst. Pellentesque at hendrerit mi. Morbi at lacus finibus, pharetra urna sed, molestie tellus. Duis fermentum sodales leo. Nullam varius, massa in convallis sagittis, mi felis lacinia ipsum, viverra rhoncus nibh ipsum vel mi. Pellentesque ornare hendrerit malesuada.
- Suspendisse porta diam in massa suscipit congue. Nulla facilisi. Nulla egestas tempus arcu, vitae ultrices risus rhoncus ac. Ut porta orci neque, vel fermentum turpis fermentum in. Curabitur condimentum, mi in tristique pulvinar, mauris nibh bibendum neque, quis tincidunt purus eros quis dolor. Aliquam imperdiet nibh ac quam iaculis, at ullamcorper diam ultricies. Vestibulum egestas consequat justo non vehicula. Nam non egestas tellus.
- Praesent vel auctor ligula. Phasellus faucibus vulputate erat, non fringilla sem ultrices non. In vitae elit sit amet nisl interdum ultrices nec in ligula. Ut et turpis risus. Sed mattis varius nisl, in euismod diam fringilla ac. Nunc sed eros augue. Donec sit amet quam ex. Integer luctus nulla at est rutrum, a commodo est dapibus. Maecenas sagittis scelerisque blandit. Morbi congue tortor eros, sit amet vestibulum dolor tempor vitae. In pretium tellus at velit porttitor, vitae rutrum lacus suscipit. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam bibendum ultricies metus, nec placerat urna efficitur auctor. Morbi non purus magna. Ut at ex nec nunc dictum ultricies.
- Mauris volutpat nec sem sed malesuada. Sed eu scelerisque libero. Phasellus at mauris in ligula congue interdum et sit amet ante. Sed vestibulum, sem non congue molestie, quam massa euismod sem, non porta sem mauris vitae justo. Donec et fringilla tortor. Cras sed purus eget ante elementum mattis. Nunc elit nunc, volutpat sed congue ac, varius a ligula. Aenean sit amet laoreet dolor. Aenean finibus iaculis diam, quis lacinia nisi semper id. Phasellus eu nulla sed risus accumsan finibus. Nulla vel ante id mi vulputate ultrices. Cras finibus elementum tortor, at fringilla arcu facilisis ut. Cras vitae lectus pretium, posuere risus venenatis, congue metus. Phasellus vel dapibus felis.
- Maecenas tincidunt orci nulla. Sed maximus tellus nec lorem dignissim aliquet. Maecenas tincidunt dolor sed est laoreet, nec suscipit augue dictum. Vivamus venenatis rutrum molestie. Vestibulum in maximus leo. Duis a euismod nulla. Aenean luctus sodales quam, ut fringilla elit bibendum in. Ut in purus sit amet libero hendrerit hendrerit ac eget nisl. In ac mauris at felis suscipit scelerisque eu eget erat. Fusce accumsan tempus mauris, porta sagittis odio venenatis ac. Integer mollis nulla in velit dignissim imperdiet. Nunc ac magna ullamcorper, pretium mauris et, semper enim. Morbi aliquet accumsan turpis id rutrum. Donec purus tellus, pellentesque non nunc ac, ornare scelerisque ex.
-
-
-
-
-
-
-
-
-
-
Jaokset—kokeile kiltatoimintaa vapaammin
-
- Kiinnostaako kiltatoiminta, mutta vuoden kestävä sitoutuminen pelottaa? Jaokset mahdollistavat kiltatoiminnan kokeilemisen pienemmässä mittakaavassa. Jaokset toimivat varsin vapaamuotoisesti, mutta siltikin hyvässä hengessä. Mikäli Sinulla olisi hyvä idea, mitä kilta voisi jaosmaisesti toteuttaa, voit myös perustaa oman jaoksen.
-
-
-
-
-
-
-
Jäsenedut vuonna 2019
-
-
-
-
-
-
Aalto-yliopiston tarjoamat monenlaiset edut
-
- Sen lisäksi että kilta tarjoaa jäsenilleen palveluja ja aktiviteetteja, Aalto-yliopisto tarjoaa lorem ipsum dolor sit amet.
-
-
-
- 404 | Ei vaan löydy
-
-
- 404 | Ei vaan löydy
-
- );
- }
-}
+const NotFoundPage: React.FC = () => (
+ <>
+
+
+ 404 | Ei vaan löydy
+
+
+
+ 404 | Ei vaan löydy
+
+ >
+);
export default NotFoundPage;
diff --git a/src/pages/SignUpPage.tsx b/src/pages/SignUpPage.tsx
index 30be232..3881dc2 100644
--- a/src/pages/SignUpPage.tsx
+++ b/src/pages/SignUpPage.tsx
@@ -1,11 +1,11 @@
import React from "react";
import { Helmet } from "react-helmet";
import Form from "react-jsonschema-form";
-import "./SignUpPage.scss";
import { getForm, SignupForm } from "@models/SignupForm";
import { createSignup, Signup } from "@models/Signup";
import PageSection from "@components/PageSection";
import { Question } from "@components/SignupQuestionsWidget";
+import SignUpPageView from "@views/SignUpPage/SignUpPageView";
export interface SignUpPageProps {
match: {
@@ -230,16 +230,12 @@ class SignUpPage extends React.Component {
const signups = signUpForm && signUpForm.signups ? this.renderList() : null;
return (
-
+ <>
- {statusMessage}
-
- {form}
- {signups}
-
-
+
+ >
);
}
}
diff --git a/src/pages/StudiesPage.tsx b/src/pages/StudiesPage.tsx
index df8ff7b..d75acd1 100644
--- a/src/pages/StudiesPage.tsx
+++ b/src/pages/StudiesPage.tsx
@@ -1,95 +1,14 @@
import React from "react";
import { Helmet } from "react-helmet";
-import "./StudiesPage.scss";
-import PageSection from "@components/PageSection/index";
-import HeroMainSection from "@components/Hero/HeroMainSection/HeroMainSection";
-import HeroAsideSection from "@components/Hero/HeroAsideSection/HeroAsideSection";
-import HeroAsideItem from "@components/Hero/HeroAsideItem/HeroAsideItem";
-import AsideSection from "@components/AsideSection/index";
-import MainSection from "@components/MainSection/index";
-import PageLink from "@components/PageLink/index";
-import Ribbon from "@components/Ribbon/index";
-import TextAnchor from "@components/TextAnchor/index";
+import StudiesPageView from "@views/StudiesPage/StudiesPageView";
-export interface StudiesPageProps {}
-export interface StudiesPageState {}
-
-class StudiesPage extends React.Component {
- render() {
- return (
-
-
-
-
-
-
-
Suomen parasta elektroniikan opetusta
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed vehicula aliquam enim, in lacinia nunc rutrum fringilla. Phasellus dui dolor, pellentesque vitae feugiat non, maximus in felis. Praesent feugiat vehicula mi, sed tincidunt enim venenatis quis. In euismod gravida ullamcorper. Phasellus a sagittis nisi, vitae blandit ipsum. Nunc rhoncus ultrices ante, id commodo dolor convallis id. Morbi ullamcorper vulputate risus id sodales.
-
-
-
-
-
-
-
-
-
-
-
-
Abeille
-
-
TODO: Tähän nostoja yhteistyöstä! Yhteistyömahdollisuuksista voi tiedustella lisää killan yrityssuhdemestarilta.
-
-
Lorem
-
Yritysbrunssi on Sähköinsinöörikillan ja bioinformaatioteknologian ainejärjestö Inkubion syksyllä järjestämä yritystapahtuma. Tapahtumassa luodaan yrityksille mahdollisuus tavata tulevaisuuden ammattilaisia maukkaan brunssin lomassa.
-
-
Ipsum
-
Sähköinsinöörikillan ensimmäisen vuoden opiskelijat saavat opiskelijahaalarinsa heti syksyn ensimmäisenä päivänä. Yrityksien on mahdollista ostaa mainostilaa haalareista ja samalla lunastaa esiintymispaikka haalareiden luovutustilaisuuteen, "Haalarigaalaan". Tilaisuus on erinomainen paikka jäädä heti uusien opiskelijoiden mieleen.
-
-
Raketteja ja mikropiirejä
-
Excursioiden tarkoituksena on tarjota opiskelijoille mahdollisuus tutustua yritysmaailmaan. Pidemmillä excursiolla hauskanpito ja teekkariperinteiden vaaliminen on tärkeä osa excursiota.
-
-
-
-
- Kurssitarjonta
-
-
- Liity jäseneksi
-
-
-
-
-
-
-
Hae opiskelemaan!
-
-
Lue lisää Aallon sivuilta
-
-
-
-
-
-
-
Yliopiston järjestelmiä
-
TODO: Tänne varmaan mielummin Akateemiset komiteat etc.
-
Valmistuvalle juttuja, oodi, tenttiarkisto etc.
-
-
-
-
- );
- }
-}
+const StudiesPage: React.FC = () => (
+ <>
+
+
+
+
+ >
+);
export default StudiesPage;
diff --git a/src/pages/EventCreatePage.scss b/src/pages/admin/EventCreatePage.scss
similarity index 95%
rename from src/pages/EventCreatePage.scss
rename to src/pages/admin/EventCreatePage.scss
index b664980..6766a0c 100644
--- a/src/pages/EventCreatePage.scss
+++ b/src/pages/admin/EventCreatePage.scss
@@ -1,4 +1,4 @@
-@import "../assets/scss/globals";
+@import "../../assets/scss/globals";
.event-create-page {
diff --git a/src/pages/EventCreatePage.tsx b/src/pages/admin/EventCreatePage.tsx
similarity index 100%
rename from src/pages/EventCreatePage.tsx
rename to src/pages/admin/EventCreatePage.tsx
diff --git a/src/pages/FeedCreatePage.scss b/src/pages/admin/FeedCreatePage.scss
similarity index 95%
rename from src/pages/FeedCreatePage.scss
rename to src/pages/admin/FeedCreatePage.scss
index 5043653..cfd6b3b 100644
--- a/src/pages/FeedCreatePage.scss
+++ b/src/pages/admin/FeedCreatePage.scss
@@ -1,4 +1,4 @@
-@import "../assets/scss/globals";
+@import "../../assets/scss/globals";
.post-create-page {
diff --git a/src/pages/FeedCreatePage.tsx b/src/pages/admin/FeedCreatePage.tsx
similarity index 100%
rename from src/pages/FeedCreatePage.tsx
rename to src/pages/admin/FeedCreatePage.tsx
diff --git a/src/pages/SignupCreatePage.scss b/src/pages/admin/SignupCreatePage.scss
similarity index 95%
rename from src/pages/SignupCreatePage.scss
rename to src/pages/admin/SignupCreatePage.scss
index 895e4db..e22bd08 100644
--- a/src/pages/SignupCreatePage.scss
+++ b/src/pages/admin/SignupCreatePage.scss
@@ -1,4 +1,4 @@
-@import "../assets/scss/globals";
+@import "../../assets/scss/globals";
.signup-create-page {
diff --git a/src/pages/SignupCreatePage.tsx b/src/pages/admin/SignupCreatePage.tsx
similarity index 100%
rename from src/pages/SignupCreatePage.tsx
rename to src/pages/admin/SignupCreatePage.tsx
diff --git a/src/routes.tsx b/src/routes.tsx
index 3be67aa..b21962d 100644
--- a/src/routes.tsx
+++ b/src/routes.tsx
@@ -14,10 +14,10 @@ import AdminCommonPage from "./pages/admin/AdminCommonPage";
import AdminSignupPage from "./pages/admin/AdminSignupPage";
import AdminLoginPage from "./pages/admin/AdminLoginPage";
import AdminLogoutPage from "./pages/admin/AdminLogoutPage";
-import EventCreatePage from "./pages/EventCreatePage";
-import FeedCreatePage from "./pages/FeedCreatePage";
+import EventCreatePage from "./pages/admin/EventCreatePage";
+import FeedCreatePage from "./pages/admin/FeedCreatePage";
import ContactsPage from "./pages/ContactsPage";
-import SignupCreatePage from "./pages/SignupCreatePage";
+import SignupCreatePage from "./pages/admin/SignupCreatePage";
import SignUpPage from "./pages/SignUpPage";
import ActualPage from "./pages/ActualPage";
import FreshmenPage from "./pages/FreshmenPage";
diff --git a/src/pages/ActualPage.scss b/src/views/ActualPage/ActualPage.scss
similarity index 100%
rename from src/pages/ActualPage.scss
rename to src/views/ActualPage/ActualPage.scss
diff --git a/src/views/ActualPage/ActualPageView.tsx b/src/views/ActualPage/ActualPageView.tsx
new file mode 100644
index 0000000..6d0b360
--- /dev/null
+++ b/src/views/ActualPage/ActualPageView.tsx
@@ -0,0 +1,137 @@
+import React from "react";
+import "./ActualPage.scss";
+import PageSection from "@components/PageSection";
+import HeroMainSection from "@components/Hero/HeroMainSection/HeroMainSection";
+import HeroAsideSection from "@components/Hero/HeroAsideSection/HeroAsideSection";
+import HeroAsideItem from "@components/Hero/HeroAsideItem/HeroAsideItem";
+import AsideSection from "@components/AsideSection";
+import MainSection from "@components/MainSection/index";
+import Ribbon from "@components/Ribbon/index";
+import TextAnchor from "@components/TextAnchor/index";
+import Button, { ButtonType } from "@components/Button/index";
+import Accordion from "@components/Accordion";
+import HeroSecondarySection, { HeroSecondarySectionItem } from "@components/Hero/HeroSecondarySection/HeroSecondarySection";
+
+export interface ActualPageProps {}
+export interface ActualPageState {}
+
+class ActualPage extends React.Component {
+ render() {
+ return (
+
+
+
+
Yritystapahtumia ja vastapainoa opiskelulle
+
+ Teekkarielämä ei ole pelkkää saunomista, juhlimista ja muita huvituksia—tai no, on se sitäkin.
+
+
+
+
+
+
+
+ Killan hallitus päivystää kiltahuoneella maanantaisin klo 12.15–13.15. Tuolloin voit ostaa kiltatuotteita, kuten esim. haalarimerkkejä tai laulukirjoja.
+
+
+ Kiltapäiväkerho Kiltis kokoontuu torstaisin klo XX.XX kiltahuoneella. Lorem ipsum dolor sit amet. Lämpimästi tervetuloa kaikki SIKkiläiset ja SIK-mieliset!
+
+
+
+
+
+ Kilta järjestää jäsenilleen jos jonkinlaista projektia ja toimintaa, muun muassa:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Tapahtumat
+
+
+
+
+
Uutiset
+
+
+
+
+
Kuvia tapahtumista.
+
+
Kuvagalleria ›
+
+
+
+
+
+
+
+
+
+
+
Sinustako kilta-aktiivi?
+
+
Tule mukaan kiltatoimintaan ›
+
+
+
+
+
+
+
Yritystapahtumia ja vastapainoa opiskelulle
+
+ Toimintaa ylläpitää ja järjestää jaokset ja toimikunnat.
+
+
+ Jotain elepajasta
+
+
+ Jotain elepajasta
+
+
+ Jotain elepajasta
+
+
+ Jotain elepajasta
+
+
+ Jotain elepajasta
+
+
+
+
+
+ );
+ }
+}
+
+export default ContactsPageView;
diff --git a/src/pages/CorporatePage.scss b/src/views/CorporatePage/CorporatePage.scss
similarity index 100%
rename from src/pages/CorporatePage.scss
rename to src/views/CorporatePage/CorporatePage.scss
diff --git a/src/views/CorporatePage/CorporatePageView.tsx b/src/views/CorporatePage/CorporatePageView.tsx
new file mode 100644
index 0000000..68ad537
--- /dev/null
+++ b/src/views/CorporatePage/CorporatePageView.tsx
@@ -0,0 +1,88 @@
+import React from "react";
+import "./CorporatePage.scss";
+import PageSection from "@components/PageSection";
+import HeroMainSection from "@components/Hero/HeroMainSection/HeroMainSection";
+import HeroAsideSection from "@components/Hero/HeroAsideSection/HeroAsideSection";
+import HeroAsideItem from "@components/Hero/HeroAsideItem/HeroAsideItem";
+import AsideSection from "@components/AsideSection";
+import MainSection from "@components/MainSection/index";
+import PageLink from "@components/PageLink/index";
+import Ribbon from "@components/Ribbon/index";
+import TextAnchor from "@components/TextAnchor/index";
+
+const CorporatePageView: React.FC = () => (
+
+
+
+
Tee yhteistyötä tulevaisuuden huippuosaajien kanssa!
+
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed vehicula aliquam enim, in lacinia nunc rutrum fringilla. Phasellus dui dolor, pellentesque vitae feugiat non, maximus in felis. Praesent feugiat vehicula mi, sed tincidunt enim venenatis quis. In euismod gravida ullamcorper. Phasellus a sagittis nisi, vitae blandit ipsum. Nunc rhoncus ultrices ante, id commodo dolor convallis id. Morbi ullamcorper vulputate risus id sodales.
+
+
+
+
+
+
+
+
+
+
+
+
Yhteistyömahdollisuudet
+
+
TODO: Tähän nostoja yhteistyöstä! Yhteistyömahdollisuuksista voi tiedustella lisää killan yrityssuhdemestarilta.
+
+
Yritysbrunssi
+
Yritysbrunssi on Sähköinsinöörikillan ja bioinformaatioteknologian ainejärjestö Inkubion syksyllä järjestämä yritystapahtuma. Tapahtumassa luodaan yrityksille mahdollisuus tavata tulevaisuuden ammattilaisia maukkaan brunssin lomassa.
+
+
Haalarimainonta
+
Sähköinsinöörikillan ensimmäisen vuoden opiskelijat saavat opiskelijahaalarinsa heti syksyn ensimmäisenä päivänä. Yrityksien on mahdollista ostaa mainostilaa haalareista ja samalla lunastaa esiintymispaikka haalareiden luovutustilaisuuteen, "Haalarigaalaan". Tilaisuus on erinomainen paikka jäädä heti uusien opiskelijoiden mieleen.
+
+
Excursiot
+
Excursioiden tarkoituksena on tarjota opiskelijoille mahdollisuus tutustua yritysmaailmaan. Pidemmillä excursiolla hauskanpito ja teekkariperinteiden vaaliminen on tärkeä osa excursiota.
+
+
Potentiaalin Tasaus
+
Kiltamme viettää vuosijuhliaan helmikuun kolmantena lauantaina. Potentiaalin Tasaus on kiltamme juhlavin tapahtuma. Yrityksillä on mahdollisuus osallistua vuosijuhliin niin pienellä kuin suurellakin panoksella.
+
+
+
+
+ Excursiosäännöt
+
+
+ Liity jäseneksi
+
+
+
+
+
+
+
Mainos Sössöön?
+
+
Killan lehden mediakortin löydät täältä›
+
+
+
+
+
+
+
Työpaikkaulmoitukset
+
TODO: Miten listataan yritykset?
+ {/* TODO: Fix links */}
+
Voit saada yrityksesi työpaikkailmoituksen listalle lähettämällä sen osoitteeseen sik-yritys@list.ayy.fi
+
+
+
+
+);
+
+export default CorporatePageView;
diff --git a/src/pages/EventPage.scss b/src/views/EventPage/EventPage.scss
similarity index 100%
rename from src/pages/EventPage.scss
rename to src/views/EventPage/EventPage.scss
diff --git a/src/views/EventPage/EventPageView.tsx b/src/views/EventPage/EventPageView.tsx
new file mode 100644
index 0000000..3fab051
--- /dev/null
+++ b/src/views/EventPage/EventPageView.tsx
@@ -0,0 +1,52 @@
+import React from "react";
+import "./EventPage.scss";
+import { Event } from "@models/Event";
+import Button, { ButtonType } from "@components/Button";
+import Anchor from "@components/Anchor";
+import PageSection from "@components/PageSection";
+import MainSection from "@components/MainSection";
+import AsideSection from "@components/AsideSection/AsideSection";
+
+interface EventPageViewProps {
+ event?: Event;
+}
+
+
+class EventPageView extends React.Component {
+ render() {
+ const { event } = this.props;
+ if (!event) return
Loading
+
+ return (
+
+
+
+
+
+
{event.title_fi}
+
+ {event.description_fi}
+
+
+ {event.content_fi}
+
+ {/* We may have multiple signup forms. Generate own Button for each one */}
+
+ {event.signupForm.map(sf => (
+
+
+
+ )
+ )}
+
+
+
+
+
+ );
+ }
+}
+
+export default EventPageView;
diff --git a/src/pages/FreshmenPage.scss b/src/views/FreshmenPage/FreshmenPage.scss
similarity index 100%
rename from src/pages/FreshmenPage.scss
rename to src/views/FreshmenPage/FreshmenPage.scss
diff --git a/src/views/FreshmenPage/FreshmenPageView.tsx b/src/views/FreshmenPage/FreshmenPageView.tsx
new file mode 100644
index 0000000..9e45ef2
--- /dev/null
+++ b/src/views/FreshmenPage/FreshmenPageView.tsx
@@ -0,0 +1,109 @@
+import React from "react";
+import "./FreshmenPage.scss";
+import PageSection from "@components/PageSection/index";
+import HeroMainSection from "@components/Hero/HeroMainSection/HeroMainSection";
+import HeroAsideSection from "@components/Hero/HeroAsideSection/HeroAsideSection";
+import HeroAsideItem from "@components/Hero/HeroAsideItem/HeroAsideItem";
+import AsideSection from "@components/AsideSection/index";
+import MainSection from "@components/MainSection/index";
+import PageLink from "@components/PageLink/index";
+import Ribbon from "@components/Ribbon/index";
+import TextAnchor from "@components/TextAnchor/index";
+import InfoBox from "@components/InfoBox/index";
+
+const FreshmenPageView: React.FC = () => (
+
+
+
+
Tervetuloa opiskelemaan Otaniemeen!
+
+ Me olemme Emmaleena ja Jonna, sinun Fuksikapteenisi. Päätehtävämme on huolehtia fuksivuodestasi Aalto-yliopiston Sähköinsinöörikillassa.
+
+
Tämä on fuksien oma etusivu ja olemmekin keränneet tänne kaikki tärkeimmät tiedot, joita fuksivuotenasi tarvitset. Tietysti kannattaa katsoa myös yleisiä sivuja, sillä tänne ei mahdu kaikki, mitä killassa tapahtuu.
+
+
+
+
+
+
+
+
+
+
+
+
+
Onnittelut hyvästä opiskeluvalinnasta
+
+
Lorem
+
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed vehicula aliquam enim, in lacinia nunc rutrum fringilla. Phasellus dui dolor, pellentesque vitae feugiat non, maximus in felis. Praesent feugiat vehicula mi, sed tincidunt enim venenatis quis. In euismod gravida ullamcorper. Phasellus a sagittis nisi, vitae blandit ipsum. Nunc rhoncus ultrices ante, id commodo dolor convallis id. Morbi ullamcorper vulputate risus id sodales.
+
+
Ipsum
+
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed vehicula aliquam enim, in lacinia nunc rutrum fringilla. Phasellus dui dolor, pellentesque vitae feugiat non, maximus in felis. Praesent feugiat vehicula mi, sed tincidunt enim venenatis quis. In euismod gravida ullamcorper. Phasellus a sagittis nisi, vitae blandit ipsum. Nunc rhoncus ultrices ante, id commodo dolor convallis id. Morbi ullamcorper vulputate risus id sodales.
+
+
Raketteja ja mikropiirejä
+
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed vehicula aliquam enim, in lacinia nunc rutrum fringilla. Phasellus dui dolor, pellentesque vitae feugiat non, maximus in felis. Praesent feugiat vehicula mi, sed tincidunt enim venenatis quis. In euismod gravida ullamcorper. Phasellus a sagittis nisi, vitae blandit ipsum. Nunc rhoncus ultrices ante, id commodo dolor convallis id. Morbi ullamcorper vulputate risus id sodales.
+
+ Telegram on pikaviestinpalvelu, jota käytetään otaniemessä paljon. Hieman samanlainen kuin Whatsapp, mutta ominaisuuksiltaan paremmaksi todettu. Lisätietoja: https://telegram.org/faq
+
+
+ SIK:n fukseilla on oma Telegram-ryhmä, jonne pääset liitymään tästä.
+
+
+
+
+
+
+
+
+
Killassa tapahtuu kaikenlaista!
+
+
Seuraa killan tapahtumia
+
+
+
+
+
+
+
Isoryhmät
+
Lorem jotain ISOryhmiä X kpl
+
Mikä ihmeen ISO...
+
TODO: Kuvia
+
+
+
+
+);
+
+export default FreshmenPageView;
diff --git a/src/views/FrontPage/FrontPageView.tsx b/src/views/FrontPage/FrontPageView.tsx
index 2dbdc25..665221a 100644
--- a/src/views/FrontPage/FrontPageView.tsx
+++ b/src/views/FrontPage/FrontPageView.tsx
@@ -1,10 +1,8 @@
import React from "react";
import "./FrontPage.scss";
-import appStore from "@stores/AppStore";
import Card from "@components/Card";
-import { Event, getEvents } from "@models/Event";
-import { Post, getFeed } from "@models/Feed";
-import { StaticContext } from "@server/StaticContext";
+import { Event } from "@models/Event";
+import { Post } from "@models/Feed";
import PageSection from "@components/PageSection";
@@ -17,185 +15,117 @@ import SponsorReel from "@components/SponsorReel";
import HeroAsideItem from "@components/Hero/HeroAsideItem/HeroAsideItem";
import TextAnchor from "@components/TextAnchor";
-interface FrontPageProps {
- staticContext: StaticContext;
-}
-
-interface FrontPageState {
+interface FrontPageViewProps {
events: Event[];
feed: Post[];
}
-class FrontPage extends React.Component {
- constructor(props: FrontPageProps) {
- super(props);
- const { staticContext } = props;
-
- if (staticContext) {
- /* The static context is an object that manages promises when
- rendering on the server. If staticContext exists, that means
- we have to store all promises in it. Otherwise, operate
- normally. See server/index.ts. */
- if (staticContext.resolutions.getEvents) {
- const events = staticContext.resolutions.getEvents as Event[];
- const feed = staticContext.resolutions.getFeed as Post[];
- this.state = {
- events,
- feed,
- };
- } else {
- this.state = {
- events: [],
- feed: [],
- };
- const promiseEvents = this.fetchEvents();
- const promiseFeed = this.fetchFeed();
- staticContext.promises.getEvents = promiseEvents;
- staticContext.promises.getFeed = promiseFeed;
- }
- } else {
- this.state = {
- events: [],
- feed: [],
- };
- this.fetchEvents();
- this.fetchFeed();
- }
- }
-
- fetchEvents = () => {
- const getEventsPromise = getEvents({
- onlyNonPast: true,
- limit: 4,
- });
- getEventsPromise.then(events => {
- this.setState({
- events,
- });
- });
- return getEventsPromise;
- }
-
- fetchFeed = () => {
- const getFeedPromise = getFeed();
- getFeedPromise.then(feed => {
- this.setState({
- feed,
- });
- });
- return getFeedPromise;
- }
-
- render() {
- const { events, feed } = this.state;
- return (
-
on elektroniikan ja sähkötekniikan opiskelijoiden järjestö. Kilta
kasaa yhteen yli 600 alansa huippua, jotka ovat avainasemassa
vauhdilla sähköistyvän maailmamme kehityksessä.
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
Fuksikasvatusta, ISO-toimintaa, lorem ipsum dolor sit ja amet.
-
-
+
+
Oletko abi, vaihtamassa uraa tai valmistumassa?
-
-
+
+
Avoimet työpaikat ja excursiot. Infoa yritysten edustajille ja
sponsseille.
-
-
-
-
- {events.map(event => (
- { }}>
-
Lue lisää ›
-
- }
- />
- ))}
-
-
+
+
+
+
+ {events.map(event => (
+ { }}>
+
Lue lisää ›
+
+ }
+ />
+ ))}
+
+
Kaikki tapahtumat
-
-
-
-
-
-
Sössöä vuodesta 1969.
-
-
Lue opiskelijalehden viimeisin numero ›
-
-
-
-
- {feed.map(inst => (
- { }}>
-
Lue lisää ›
-
- }
- />
- ))}
-
-
- Lue tuoreimmat uutiset
-
-
- Kuvia tapahtumista
-
-
-
-
-
-
+
- );
- }
-}
+
+
+
+
Sössöä vuodesta 1969.
+
+
Lue opiskelijalehden viimeisin numero ›
+
+
+
+
+ {feed.map(inst => (
+ { }}>
+
Lue lisää ›
+
+ }
+ />
+ ))}
+
+
+ Lue tuoreimmat uutiset
+
+
+ Kuvia tapahtumista
+
+
+
+
+
+
+
+)
-export default props => ;
+export default FrontPageView;
diff --git a/src/pages/GuildPage.scss b/src/views/GuildPage/GuildPage.scss
similarity index 100%
rename from src/pages/GuildPage.scss
rename to src/views/GuildPage/GuildPage.scss
diff --git a/src/views/GuildPage/GuildPageView.tsx b/src/views/GuildPage/GuildPageView.tsx
new file mode 100644
index 0000000..bc64479
--- /dev/null
+++ b/src/views/GuildPage/GuildPageView.tsx
@@ -0,0 +1,229 @@
+import React from "react";
+import "./GuildPage.scss";
+import PageSection from "@components/PageSection";
+import MainSection from "@components/MainSection";
+import AsideSection from "@components/AsideSection";
+import PageLink from "@components/PageLink";
+import HeroMainSection from "@components/Hero/HeroMainSection/HeroMainSection";
+import HeroAsideSection from "@components/Hero/HeroAsideSection/HeroAsideSection";
+import HeroAsideItem from "@components/Hero/HeroAsideItem/HeroAsideItem";
+import Ribbon from "@components/Ribbon";
+import InfoBox from "@components/InfoBox";
+import Accordion from "@components/Accordion";
+import TextAnchor from "@components/TextAnchor";
+
+const GuildPageView: React.FC = () => (
+
+
+
+
+
Kilta koostuu sähkötekniikan ja elektroniikan (ELEC) tutkinto-ohjelmissa opiskelevista opiskelijoista
+
Vapaa-ajan jäsenpalvelujen lisäksi killan tehtävänä on edistää jäsentensä opintoja, tarjota uraohjausta ja fuksikasvatusta. Jokaiselle jäsenelle löytyy varmasti jotakin—kaukomaita, opiskelijalehti Sössöä, ja kiltaaktiivina pääset kartuttamaan kokemusta, josta on hyötyä myös työelämässä.
+
Arvot estrumquias doluptatur aut quam fugiti cus debit landisciis eatemperes eumquibus di blat que sim etus idis dolut labor ad magnat.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Killan tehtävät ja tarina
+
Kilta tukee jäsentensä hyvinvointia ja tarjoaa vastapainoa opiskelulle. Kilta järjestää esimerkiksi urheilutapahtumia, kulttuurielämyksiä ja näiden lisäksi sitsejä ja saunailtoja. Valinnanvaraa on, joten tapahtumakalenterin aktiivisella seuraamisella saattaa olla hyvinkin miellyttäviä seuraamuksia. Voit myös itse järjestää mieleisesi tapahtuman killan tukemana, tai ehdottaa sitä killan toimitsijoille.
+
+
Yhteistyössä korkeakoulun kanssa, kilta kehittää opetusta. Kilta on mukana kurssien kehittämisessä, valvoo kiltalaisten etua korkeakoulussa ja tuo korkeakoulun henkilöstöä lähemmäs kiltalaisia. Kilta avaa oven yritysmaailmaan järjestämällä yritysten kanssa excursioita, saunailtoja ja yritystapahtumia. Lisäksi killan kautta kuulee ensimmäisten joukossa uusista avoimista työpaikoista. Killalla on Otaniemen mukavin kiltahuone, jossa voi käydä hengähtämässä luentojen välillä, hakea apua vaikeisiin tehtäviin tai järjestää vaikka leffailtoja. Tämän lisäksi killalla on myös haastavampaan elektroniikkaharrasteluun sopivat tilat.
+
+
Takana lähes satavuotinen historia
+
+
Vaikka kilta onkin ajan hermolla, on sillä takana lähes satavuotinen historia.
+ Sähköinsinööriklubin tuore puheenjohtaja lausahti klubin ensimmäisessä
+ varsinaisessa kokouksessa 16. helmikuuta 1921: “Koska klubi nyt ensi kerran
+ kokoontuu, niin pyydän lausua toivomuksena, että klubin jäsenillä aina tulisi
+ olemaan hauskaa, että toverielämä kukoistaisi ja että myös sähkötekniikkaa
+ klubissa harrastettaisiin.”.
+
+
Vaikka ajat ovat muuttuneet, klubi on muuttunut killaksi ja jäsenmäärä kasvanut
+ alkuajoista valtavasti, ohjaavat nämä kolme asiaa edelleen killan toimintaa. Vaikka
+ pitkästä historiasta kannattaa olla ylpeä, ei sitä tarvitse kokea taakkana. Uutta
+ historiaa luodaan koko ajan ja tässä on meillä kaikilla mahdollista olla mukana. Ole
+ aktiivinen, ota asioista selvää ja osallistu kaikkeen mahdolliseen. Tulet varmasti
+ yllättymään kaikesta siitä mitä täältä keskuudestamme löytyy.
+
+
Meitä teekkareita on todella moneen lähtöön
+
+
Minkäänlaista perus- tai ihanneteekkaria ei ole olemassa, vaan paras teekkariuden
+ määritelmä kuuluukin: “teekkarius on kaikkea sitä, mitä teekkarit tekevät”. Yksi asia
+ meitä kaikkia kuitenkin yhdistää. Opiskelemme jotain tekniikkaan liittyvää täällä
+ Aalto-yliopistossa.
+ Teekkariutta on vaikkapa toimiminen killoissa tai jossain AYY:n lukuisista
+ yhdistyksistä. Teekkariutta on yhtä lailla SIK:n tapahtumien järjestäminen tai niihin osallistuminen kuin vaikkapa laulaminen Polyteknikkojen Kuorossa tai sukeltaminen Polyteknikkojen sukelluskerho Kuplassa. Kaikille varmasti löytyy jotain itseä kiinnostavaa.
+
+
Teekkareilla, varsinkin otaniemeläisillä, on pitkä ja vahva historia. Siihen kannattaa
+ tutustua, jotta saa jonkinlaisen kuvan siitä vahvasta teekkarihengestä, joka
+ meillä täällä opinahjossamme vallitsee ja on vallinnut koko sen historian ajan.
+ Teekkariuteen kuuluu olennaisena osana mukautuminen ajan vaatimuksiin. Jos asiat
+ tehtäisiin aina vanhaa toistaen, ei voitaisi enää edes puhua teekkariudesta.
+
+
+
+
+ Yliopiston jäsenedut
+
+
+ Liity jäseneksi
+
+
+
+
+ Herrasmies- tai herrasnaisuus kuuluu olennaisena osana teekkariuteen. Hyvät käytöstavat on syytä aina pitää mielessä, liikuttiin sitten puku päällä excuilla tai sitseillä tai haalarit päällä Tukholman illassa.
+
+
+
+
+
+
+
Killan hallinto koostuu XXX henkilöstä.
+
+
+
+
+
+
Organisaatio
+
+
Sähköinsinöörikillassa toimeenpanovaltaa käyttää 3–13 kiltalaisen muodostama hallitus apunaan lukuisa määrä toimihenkilöitä. Hallituksen ja toimihenkilöt valitsee killan valtuusto, joka myös valvoo näiden toimintaa. Käytännössä valtuusto valitsee vaalikokouksessaan ensin uuden puheenjohtajan ja jää 1–2 viikon mittaiselle kokoustauolle. Tauon jälkeen puheenjohtaja esittelee valtuustolle ehdotuksensa hallitukseksi ja toimihenkilöiksi, ja valtuusto joko hyväksyy tai hylkää ehdotuksen noin tunnin kestävän kysely- ja esittelytuokion jälkeen. Hallituksen kuulumiset lorem.
+
+
Valtuuston toimintaa
+
+
Killan valtuusto valitaan marraskuussa pidettävillä vaaleilla yhdeksi vuodeksi kerrallaan. Vaaleissa ovat vaalikelpoisia ja äänioikeutettuja kaikki SIK:n varsinaiset jäsenet. Uuden valtuuston toiminta alkaa varsin pian valitsemisen jälkeen vaalikokouksessa, jossa todetaan uusi kokoonpano, valitaan puhemiehistö, killan hallituksen puheenjohtaja ja muut hallituksen jäsenet, toimihenkilöt, toimikuntien puheenjohtajat sekä tilintarkastajat. Toinen sääntömääräinen valtuuston kokous on helmikuinen vuosikokous, jossa käsitellään mm. edellisen vuoden toimintakertomus ja tilinpäätös, sekä kuluvan vuoden toimintasuunnitelma ja budjetti. Lisäksi valtuusto pitää tarpeelliseksi katsomanssa määrän kokouksia pitkin vuotta. Pöytäkirjat ja muut dokumentit lorem ipsum.
+
+
Hallituksen toimintaa
+
Jokaisella hallituksen jäsenellä on oma vastuualueensa, jota hän hoitaa yhdessä mahdollisen toimikuntansa kanssa. Puheenjohtajan tehtävä on pitää langat käsissään, ja olla perillä kaikesta, mitä killassa tapahtuu. Hallitus tekee päätökset ja sopii menettelytavat viikottaisessa kokouksessaan. Hallitus on vastuussa kaikesta killan näkyvästä ja näkymättömästä toiminnasta, ja se on myös oikea osoite, jos joku asia vaivaa mieltä, tai mielessä on parannusehdotus mihin tahansa asiaan.
+
+
+
+
+
+ Vuoden 2019 hallinto
+
+
+ Dolor sit amet
+
+
+
+
+
+
+
Kiltatoimintaa järjestää ja ylläpitää kilta-aktiivit, toimikunnat ja jaokset.
+
+
+
+
+
Miksi alkaa kilta-aktiiviksi?
+
+ Näitä töitä tehdessä saa väkisinkin paljon uusia kavereita ja oppii monia palkallisessa työelämässä tarpeellisia taitoja. Eikä laajasta tuttavapiiristä ja monista kontakteista varmasti haittaa ole tulevaa työuraakaan ajatellen. Rahallista tai materiaalista hyötyä kiltatoiminnasta ei saa, eikä kukaan killan toimintaan mukaan tuleva sitä pyrikään tavoittelemaan. Mikä tärkeintä, kiltatoiminta on kivaa!
+
+
+ » Uusia ystäviä, samanhenkistä seuraa
+
+
+ » Loistava mahdollisuus kokeilla omia kykyjään
+
+
+ » Voit kokeilla ja oppia jotain sellaista, mitä et ikinä aikaisemmin ole tehnyt
+
+
+
+
Runsaasti erilaisia tehtäviä
+
+ Killassa on todella monenlaisia tehtäviä. Olitpa koodaaja, urheilija tai ammattimainen juhlija, killasta löytyy tekemistä juuri sinulle. Toimikunnissa sitoudut toimintaan vuodeksi kerrallaan. Jaostoiminta mahdollistaa kiltatoiminnan kokeilun pienemmässä mittakaavassa. Tehtäväkuvaukset lorem ipsum dolor sit amet alla. Jos ei löydy sopivaa lorem ipsum dolor sit amet, voit perustaa myös oman.
+
+
+ » Haluatko valtuustoon, hallitukseen tai toimariksi?
+
+
+ » Toimihenkilönä pääset edistämään opintoja
+
+
+ » Lorem ipsum
+
+
+
+
+
+
+
+
Sähkötekniikan korkeakoulun toimikunnat
+
+ Ylioppilaskunnalla on edustus suuressa osassa Aalto-yliopiston tiedekuntia. Elektroniikan, tietoliikenteen ja automaation tiedekunnan toimikuntiin eli hallopedeihin opiskelijavalinna EST- ja TLT-tutkinto-ohjelmien osalta tehdään osin ylioppilaskunnan edustajistossa Sähköinsinöörikillan esityksestä ja osin Sähköinsinöörikillassa.
+
+
+
+
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed rhoncus feugiat ante. Nam eget venenatis dui. Morbi purus dui, cursus at velit id, placerat scelerisque turpis. Nulla a mauris odio. Nulla at tempor mi. Maecenas et sapien eu lorem interdum luctus. Proin interdum, tortor eget tempor tristique, massa arcu suscipit ipsum, sit amet lacinia erat lorem sit amet ipsum. Praesent dictum odio auctor odio sodales pharetra. Quisque accumsan iaculis diam, a laoreet odio aliquet eu. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. In hac habitasse platea dictumst. Pellentesque at hendrerit mi. Morbi at lacus finibus, pharetra urna sed, molestie tellus. Duis fermentum sodales leo. Nullam varius, massa in convallis sagittis, mi felis lacinia ipsum, viverra rhoncus nibh ipsum vel mi. Pellentesque ornare hendrerit malesuada.
+ Suspendisse porta diam in massa suscipit congue. Nulla facilisi. Nulla egestas tempus arcu, vitae ultrices risus rhoncus ac. Ut porta orci neque, vel fermentum turpis fermentum in. Curabitur condimentum, mi in tristique pulvinar, mauris nibh bibendum neque, quis tincidunt purus eros quis dolor. Aliquam imperdiet nibh ac quam iaculis, at ullamcorper diam ultricies. Vestibulum egestas consequat justo non vehicula. Nam non egestas tellus.
+ Praesent vel auctor ligula. Phasellus faucibus vulputate erat, non fringilla sem ultrices non. In vitae elit sit amet nisl interdum ultrices nec in ligula. Ut et turpis risus. Sed mattis varius nisl, in euismod diam fringilla ac. Nunc sed eros augue. Donec sit amet quam ex. Integer luctus nulla at est rutrum, a commodo est dapibus. Maecenas sagittis scelerisque blandit. Morbi congue tortor eros, sit amet vestibulum dolor tempor vitae. In pretium tellus at velit porttitor, vitae rutrum lacus suscipit. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam bibendum ultricies metus, nec placerat urna efficitur auctor. Morbi non purus magna. Ut at ex nec nunc dictum ultricies.
+ Mauris volutpat nec sem sed malesuada. Sed eu scelerisque libero. Phasellus at mauris in ligula congue interdum et sit amet ante. Sed vestibulum, sem non congue molestie, quam massa euismod sem, non porta sem mauris vitae justo. Donec et fringilla tortor. Cras sed purus eget ante elementum mattis. Nunc elit nunc, volutpat sed congue ac, varius a ligula. Aenean sit amet laoreet dolor. Aenean finibus iaculis diam, quis lacinia nisi semper id. Phasellus eu nulla sed risus accumsan finibus. Nulla vel ante id mi vulputate ultrices. Cras finibus elementum tortor, at fringilla arcu facilisis ut. Cras vitae lectus pretium, posuere risus venenatis, congue metus. Phasellus vel dapibus felis.
+ Maecenas tincidunt orci nulla. Sed maximus tellus nec lorem dignissim aliquet. Maecenas tincidunt dolor sed est laoreet, nec suscipit augue dictum. Vivamus venenatis rutrum molestie. Vestibulum in maximus leo. Duis a euismod nulla. Aenean luctus sodales quam, ut fringilla elit bibendum in. Ut in purus sit amet libero hendrerit hendrerit ac eget nisl. In ac mauris at felis suscipit scelerisque eu eget erat. Fusce accumsan tempus mauris, porta sagittis odio venenatis ac. Integer mollis nulla in velit dignissim imperdiet. Nunc ac magna ullamcorper, pretium mauris et, semper enim. Morbi aliquet accumsan turpis id rutrum. Donec purus tellus, pellentesque non nunc ac, ornare scelerisque ex.
+
+
+
+
+
+
+
+
+
+
Jaokset—kokeile kiltatoimintaa vapaammin
+
+ Kiinnostaako kiltatoiminta, mutta vuoden kestävä sitoutuminen pelottaa? Jaokset mahdollistavat kiltatoiminnan kokeilemisen pienemmässä mittakaavassa. Jaokset toimivat varsin vapaamuotoisesti, mutta siltikin hyvässä hengessä. Mikäli Sinulla olisi hyvä idea, mitä kilta voisi jaosmaisesti toteuttaa, voit myös perustaa oman jaoksen.
+
+
+
+
+
+
+
Jäsenedut vuonna 2019
+
+
+
+
+
+
Aalto-yliopiston tarjoamat monenlaiset edut
+
+ Sen lisäksi että kilta tarjoaa jäsenilleen palveluja ja aktiviteetteja, Aalto-yliopisto tarjoaa lorem ipsum dolor sit amet.
+
+);
+
+export default SignUpPageView;
diff --git a/src/pages/StudiesPage.scss b/src/views/StudiesPage/StudiesPage.scss
similarity index 100%
rename from src/pages/StudiesPage.scss
rename to src/views/StudiesPage/StudiesPage.scss
diff --git a/src/views/StudiesPage/StudiesPageView.tsx b/src/views/StudiesPage/StudiesPageView.tsx
new file mode 100644
index 0000000..7585a8f
--- /dev/null
+++ b/src/views/StudiesPage/StudiesPageView.tsx
@@ -0,0 +1,84 @@
+import React from "react";
+import "./StudiesPage.scss";
+import PageSection from "@components/PageSection/index";
+import HeroMainSection from "@components/Hero/HeroMainSection/HeroMainSection";
+import HeroAsideSection from "@components/Hero/HeroAsideSection/HeroAsideSection";
+import HeroAsideItem from "@components/Hero/HeroAsideItem/HeroAsideItem";
+import AsideSection from "@components/AsideSection/index";
+import MainSection from "@components/MainSection/index";
+import PageLink from "@components/PageLink/index";
+import Ribbon from "@components/Ribbon/index";
+import TextAnchor from "@components/TextAnchor/index";
+
+const StudiesPageView: React.FC = () => (
+
+
+
+
Suomen parasta elektroniikan opetusta
+
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed vehicula aliquam enim, in lacinia nunc rutrum fringilla. Phasellus dui dolor, pellentesque vitae feugiat non, maximus in felis. Praesent feugiat vehicula mi, sed tincidunt enim venenatis quis. In euismod gravida ullamcorper. Phasellus a sagittis nisi, vitae blandit ipsum. Nunc rhoncus ultrices ante, id commodo dolor convallis id. Morbi ullamcorper vulputate risus id sodales.
+
+
+
+
+
+
+
+
+
+
+
+
Abeille
+
+
TODO: Tähän nostoja yhteistyöstä! Yhteistyömahdollisuuksista voi tiedustella lisää killan yrityssuhdemestarilta.
+
+
Lorem
+
Yritysbrunssi on Sähköinsinöörikillan ja bioinformaatioteknologian ainejärjestö Inkubion syksyllä järjestämä yritystapahtuma. Tapahtumassa luodaan yrityksille mahdollisuus tavata tulevaisuuden ammattilaisia maukkaan brunssin lomassa.
+
+
Ipsum
+
Sähköinsinöörikillan ensimmäisen vuoden opiskelijat saavat opiskelijahaalarinsa heti syksyn ensimmäisenä päivänä. Yrityksien on mahdollista ostaa mainostilaa haalareista ja samalla lunastaa esiintymispaikka haalareiden luovutustilaisuuteen, "Haalarigaalaan". Tilaisuus on erinomainen paikka jäädä heti uusien opiskelijoiden mieleen.
+
+
Raketteja ja mikropiirejä
+
Excursioiden tarkoituksena on tarjota opiskelijoille mahdollisuus tutustua yritysmaailmaan. Pidemmillä excursiolla hauskanpito ja teekkariperinteiden vaaliminen on tärkeä osa excursiota.
+
+
+
+
+ Kurssitarjonta
+
+
+ Liity jäseneksi
+
+
+
+
+
+
+
Hae opiskelemaan!
+
+
Lue lisää Aallon sivuilta
+
+
+
+
+
+
+
Yliopiston järjestelmiä
+
TODO: Tänne varmaan mielummin Akateemiset komiteat etc.