From 8fbe0ca5e257d18b9cbcd5a8efeb663518d83000 Mon Sep 17 00:00:00 2001 From: Aarni Halinen Date: Wed, 8 Jul 2020 15:16:51 +0300 Subject: [PATCH] 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": [