aboutsummaryrefslogtreecommitdiff
path: root/src/components
diff options
context:
space:
mode:
Diffstat (limited to 'src/components')
-rw-r--r--src/components/gameBar.tsx88
-rw-r--r--src/components/page.tsx6
-rw-r--r--src/components/ui.tsx3
3 files changed, 94 insertions, 3 deletions
diff --git a/src/components/gameBar.tsx b/src/components/gameBar.tsx
new file mode 100644
index 0000000..53eda88
--- /dev/null
+++ b/src/components/gameBar.tsx
@@ -0,0 +1,88 @@
+import { CSSProperties, ReactNode } from 'react';
+import { Vierkant } from './ui';
+
+import SettingsRoundedIcon from '@material-ui/icons/SettingsRounded';
+import ExitToAppRoundedIcon from '@material-ui/icons/ExitToAppRounded';
+import NavigateNextRoundedIcon from '@material-ui/icons/NavigateNextRounded';
+import NavigateBeforeRoundedIcon from '@material-ui/icons/NavigateBeforeRounded';
+
+interface GameBarModuleProps {
+ children?: ReactNode;
+}
+
+function GameBarModule(props: GameBarModuleProps) {
+ return <Vierkant style={{
+ backgroundColor: "var(--background-alt)",
+ padding: 12,
+ borderRadius: 6,
+ margin: 0,
+ verticalAlign: "top"
+ }}>{props.children}</Vierkant>
+}
+
+var GameBarSpacer = () => <div style={{ width: 8, display: "inline-block" }}></div>;
+
+var GameBarAlignStyle: CSSProperties = {
+ display: "inline-block"
+}
+
+export function GameBar() {
+ return <Vierkant className="gameBar" style={{
+ padding: 8,
+ width: "calc(100% - 12px)"
+ }}>
+ <div style={{ gridAutoColumns: "auto" }}>
+ <div style={{ ...GameBarAlignStyle, float: "left" }}>
+ <div style={{
+ width: 32, height: 32,
+ margin: 8,
+ backgroundColor: "var(--disk-b)",
+ borderRadius: 16,
+ display: "inline-block"
+ }}/>
+ <h2 style={{
+ fontSize: 20,
+ margin: 12,
+ verticalAlign: "top",
+ display: "inline-block"
+ }}>Tegenstander</h2>
+ </div>
+ <div style={{
+ ...GameBarAlignStyle,
+ position: "absolute",
+ top: "50%", left: "50%",
+ transform: "translate(-50%, -50%)"
+ }}>
+ <span style={{
+ color: "var(--text)",
+ fontSize: 20,
+ opacity: .75
+ }}>0-0</span>
+ </div>
+ <div style={{ ...GameBarAlignStyle, float: "right" }}>
+ <GameBarModule>
+ <SettingsRoundedIcon/>
+ </GameBarModule>
+ <GameBarSpacer/>
+ <GameBarModule>
+ <span style={{
+ margin: "0 4px",
+ fontSize: 20
+ }}>00:00</span>
+ </GameBarModule>
+ <GameBarSpacer/>
+ <GameBarModule>
+ <ExitToAppRoundedIcon/>
+ </GameBarModule>
+ <GameBarSpacer/>
+ <GameBarModule>
+ <NavigateBeforeRoundedIcon/>
+ </GameBarModule>
+ <GameBarSpacer/>
+ <GameBarModule>
+ <NavigateNextRoundedIcon/>
+ </GameBarModule>
+ </div>
+ </div>
+ </Vierkant>;
+}
diff --git a/src/components/page.tsx b/src/components/page.tsx
index 73981c2..37634a3 100644
--- a/src/components/page.tsx
+++ b/src/components/page.tsx
@@ -1,8 +1,9 @@
-import { Component, ReactNode } from 'react';
+import { Component, CSSProperties, ReactNode } from 'react';
interface CenteredPageProps {
width?: number;
children?: ReactNode;
+ style?: CSSProperties;
}
export function CenteredPage (props: CenteredPageProps) {
@@ -12,7 +13,8 @@ export function CenteredPage (props: CenteredPageProps) {
}}>
<div className="CenteredPageInner" style={{
margin: "0 6px",
- lineHeight: 0
+ lineHeight: 0,
+ ...props.style
}}>{props.children}</div>
</div>;
}
diff --git a/src/components/ui.tsx b/src/components/ui.tsx
index 27d98cd..4b4b489 100644
--- a/src/components/ui.tsx
+++ b/src/components/ui.tsx
@@ -8,6 +8,7 @@ interface VierkantProps {
height?: string;
style?: CSSProperties;
children?: ReactNode;
+ className?: string;
}
export function Vierkant(props: VierkantProps) {
@@ -23,7 +24,7 @@ export function Vierkant(props: VierkantProps) {
width: props.width ? props.width : undefined,
height: props.height ? props.height : undefined,
...props.style
- }} href={props.href}>{props.children}</a>
+ }} href={props.href} className={props.className}>{props.children}</a>
}
interface ButtonProps {