Skip to content

Commit b431db5

Browse files
committed
get pages from current branch
1 parent ffb13ae commit b431db5

File tree

17 files changed

+644
-689
lines changed

17 files changed

+644
-689
lines changed

pages/_app.tsx

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,26 @@
11
/* eslint-disable react/jsx-props-no-spreading */
2-
import React from "react";
2+
import React, { useState } from "react";
33
import type { AppContext, AppProps } from "next/app";
44
import * as Sentry from "@sentry/react";
55
import { Integrations } from "@sentry/tracing";
66
import "shaka-player/dist/controls.css";
77
import { Header } from "modules/core/components/Header";
8-
import { Global, ThemeProvider } from "@emotion/react";
8+
import { Global } from "@emotion/react";
99
import { global } from "modules/styling/global";
10-
import { lightTheme } from "modules/styling/themes";
1110
import { Body } from "modules/core/components/Body";
1211
import { getManager, ManagerContext } from "modules/state/manager";
1312
import App from "next/app";
1413
import { ModalOverlay } from "modules/modal/components/ModalOverlay";
1514
import { ScrollLock } from "modules/ui/components/ScrollLock";
16-
import { useObserver } from "mobx-react-lite";
1715
import { PopoverOverlay } from "modules/popover/components/PopoverOverlay";
1816
import { IS_SERVER } from "modules/core/constants";
1917
import { Footer } from "modules/core/components/Footer";
18+
import { enableStaticRendering, observer } from "mobx-react-lite";
19+
import { ThemeContext } from "modules/styling/components/ThemeContext";
20+
21+
// Not a React hook.
22+
// eslint-disable-next-line react-hooks/rules-of-hooks
23+
enableStaticRendering(IS_SERVER);
2024

2125
Sentry.init({
2226
dsn: "https://[email protected]/5701229",
@@ -30,15 +34,15 @@ Sentry.init({
3034

3135
export type CustomAppProps = AppProps & { serialized: any };
3236

33-
export default function CustomApp(props: CustomAppProps) {
37+
function CustomApp(props: CustomAppProps) {
3438
const { Component, pageProps, serialized } = props;
3539

36-
const manager = getManager(serialized);
37-
const locked = useObserver(() => manager.stores.modalStore.hasItems);
40+
const [manager] = useState(() => getManager(serialized));
41+
const locked = manager.stores.modalStore.hasItems;
3842

3943
return (
4044
<ManagerContext.Provider value={manager}>
41-
<ThemeProvider theme={lightTheme}>
45+
<ThemeContext>
4246
<ScrollLock locked={locked}>
4347
{(style) => (
4448
<div style={style}>
@@ -53,7 +57,7 @@ export default function CustomApp(props: CustomAppProps) {
5357
</div>
5458
)}
5559
</ScrollLock>
56-
</ThemeProvider>
60+
</ThemeContext>
5761
</ManagerContext.Provider>
5862
);
5963
}
@@ -75,7 +79,7 @@ CustomApp.getInitialProps = async (appContext: AppContext): Promise<any> => {
7579
networkStore.incomingHeaders[key] = value;
7680
}
7781

78-
networkStore.setResponseObject(res);
82+
networkStore.setHTTPObjects(res, req);
7983
}
8084

8185
if (!manager.didInit) {
@@ -90,3 +94,5 @@ CustomApp.getInitialProps = async (appContext: AppContext): Promise<any> => {
9094

9195
return { ...appProps, serialized };
9296
};
97+
98+
export default observer(CustomApp);

pages/about/index.tsx

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,17 @@
1+
import { Meta } from "modules/core/components/Meta";
12
import { Document } from "modules/ui/components/Document";
23
import { ExternalLink } from "modules/ui/components/ExternalLink";
34
import { Quote } from "modules/ui/components/Quote";
45

56
export default function About() {
67
return (
78
<Document>
9+
<Meta
10+
meta={{
11+
title: "Om",
12+
description: "Informasjon om Frikanalen og hvordan du kan bli medlem",
13+
}}
14+
/>
815
<h1>Frikanalen er sivilsamfunnets videoplatform</h1>
916
<Quote
1017
citation={{

pages/about/statutes.tsx

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,16 @@
1+
import { Meta } from "modules/core/components/Meta";
12
import { Document } from "modules/ui/components/Document";
23
import React from "react";
34

45
export default function About() {
56
return (
67
<Document>
8+
<Meta
9+
meta={{
10+
title: "Våre vedtekter",
11+
description: "Her kan du lese vedtektene for Foreningen Frikanalen",
12+
}}
13+
/>
714
<h1>Vedtekter for Foreningen Frikanalen</h1>
815

916
<p>

pages/graphics/index.tsx

Lines changed: 0 additions & 186 deletions
This file was deleted.

pages/index.tsx

Lines changed: 44 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,39 @@
11
import styled from "@emotion/styled";
2-
import { useObserver } from "mobx-react-lite";
2+
import { observer } from "mobx-react-lite";
3+
import { Meta } from "modules/core/components/Meta";
34
import { ScheduleItemBlurb } from "modules/schedule/components/ScheduleItemBlurb";
45
import { ScheduleItemSummary } from "modules/schedule/components/ScheduleItemSummary";
56
import { useStores } from "modules/state/manager";
67
import { LiveVideoPlayer } from "modules/video/components/LiveVideoPlayer";
78
import { NextPageContext } from "next";
9+
import React from "react";
10+
11+
const breakpoint = 880;
812

913
const Container = styled.div`
1014
display: flex;
15+
16+
@media (max-width: ${breakpoint}px) {
17+
flex-direction: column;
18+
}
1119
`;
1220

1321
const Main = styled.div`
1422
width: 60%;
23+
24+
@media (max-width: ${breakpoint}px) {
25+
width: 100%;
26+
}
1527
`;
1628

1729
const Sidebar = styled.div`
1830
flex: 1;
1931
margin-left: 32px;
32+
33+
@media (max-width: ${breakpoint}px) {
34+
margin-top: 32px;
35+
margin-left: 0px;
36+
}
2037
`;
2138

2239
const NowPlaying = styled(ScheduleItemBlurb)`
@@ -32,23 +49,38 @@ const Schedule = styled.div`
3249
margin-top: 16px;
3350
`;
3451

35-
export default function Index() {
52+
function Index() {
3653
const { scheduleStore } = useStores();
54+
const [now, ...later] = scheduleStore.upcoming;
3755

38-
const [now, ...later] = useObserver(() => scheduleStore.upcoming);
39-
if (!now) return null;
56+
const renderSchedule = () => {
57+
if (!now) return null;
4058

41-
return (
42-
<Container>
43-
<Main>
44-
<LiveVideoPlayer width={1280} height={720} src="https://frikanalen.no/stream/index.m3u8" />
59+
return (
60+
<>
4561
<NowPlaying item={now} />
4662
<NextTitle>Senere</NextTitle>
4763
<Schedule>
4864
{later.map((x) => (
4965
<ScheduleItemSummary key={x.data.id} item={x} />
5066
))}
5167
</Schedule>
68+
</>
69+
);
70+
};
71+
72+
return (
73+
<Container>
74+
<Meta
75+
meta={{
76+
title: "Direkte",
77+
description: "Frikanalen er sivilsamfunnets videoplatform",
78+
type: "website",
79+
}}
80+
/>
81+
<Main>
82+
<LiveVideoPlayer width={1280} height={720} src="https://frikanalen.no/stream/index.m3u8" />
83+
{renderSchedule()}
5284
</Main>
5385
<Sidebar>
5486
<h1>Velkommen til nye Frikanalen!</h1>
@@ -67,5 +99,8 @@ Index.getInitialProps = async (context: NextPageContext) => {
6799
const { scheduleStore } = context.manager.stores;
68100
await scheduleStore.fetchLatest();
69101

70-
return {};
102+
// Needs to return non empty object to silence error
103+
return { _: "" };
71104
};
105+
106+
export default observer(Index);

0 commit comments

Comments
 (0)