diff options
Diffstat (limited to 'src/components')
| -rw-r--r-- | src/components/gameBar.tsx | 88 | ||||
| -rw-r--r-- | src/components/page.tsx | 6 | ||||
| -rw-r--r-- | src/components/ui.tsx | 3 | 
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 { |