From 0d4c9695dc4e5a2c8e7e431752c6f09f92fa9445 Mon Sep 17 00:00:00 2001 From: lonkaars Date: Fri, 8 Jan 2021 13:41:26 +0100 Subject: semi werkende checkbox --- src/components/gameSettings.tsx | 35 ++++++++++++++++++-------------- src/components/ui.tsx | 45 ++++++++++++++++++++++++++--------------- src/pages/game.tsx | 4 ++-- src/routes.tsx | 1 + 4 files changed, 52 insertions(+), 33 deletions(-) (limited to 'src') diff --git a/src/components/gameSettings.tsx b/src/components/gameSettings.tsx index 9f96c52..19eadb7 100644 --- a/src/components/gameSettings.tsx +++ b/src/components/gameSettings.tsx @@ -1,11 +1,9 @@ -// interface CurrentGameSettingsProps { -// gameID: string; -// } +import { ReactNode } from 'react'; -import { Button } from './ui'; +import { Button, Vierkant, CheckBox } from './ui'; +import { DialogBox } from './dialogBox'; import BuildRoundedIcon from '@material-ui/icons/BuildRounded'; -import {DialogBox} from './dialogBox'; export function CurrentGameSettings(/*props: CurrentGameSettingsProps*/) { return
Spelregels aanpassen
; +} + +interface GameSettingsSectionProps { + children?: ReactNode; + title: string; + state: boolean; +} +function GameSettingsSection(props: GameSettingsSectionProps) { + return +
{props.children}
+
} export function EditGameSettings() { @@ -56,16 +68,9 @@ export function EditGameSettings() { maxHeight: 500, overflowY: "scroll" }}> - Hier is een scrollende pagina in een dialoogvenster -

Lorem ipsum dolor sit amet consectetur adipisicing elit. Ab qui, quod rerum temporibus dolorem repellendus eos pariatur velit doloribus necessitatibus dignissimos blanditiis mollitia alias expedita neque earum iure modi aspernatur.

-

Lorem ipsum dolor sit amet consectetur adipisicing elit. Ab qui, quod rerum temporibus dolorem repellendus eos pariatur velit doloribus necessitatibus dignissimos blanditiis mollitia alias expedita neque earum iure modi aspernatur.

-

Lorem ipsum dolor sit amet consectetur adipisicing elit. Ab qui, quod rerum temporibus dolorem repellendus eos pariatur velit doloribus necessitatibus dignissimos blanditiis mollitia alias expedita neque earum iure modi aspernatur.

-

Lorem ipsum dolor sit amet consectetur adipisicing elit. Ab qui, quod rerum temporibus dolorem repellendus eos pariatur velit doloribus necessitatibus dignissimos blanditiis mollitia alias expedita neque earum iure modi aspernatur.

-

Lorem ipsum dolor sit amet consectetur adipisicing elit. Ab qui, quod rerum temporibus dolorem repellendus eos pariatur velit doloribus necessitatibus dignissimos blanditiis mollitia alias expedita neque earum iure modi aspernatur.

-

Lorem ipsum dolor sit amet consectetur adipisicing elit. Ab qui, quod rerum temporibus dolorem repellendus eos pariatur velit doloribus necessitatibus dignissimos blanditiis mollitia alias expedita neque earum iure modi aspernatur.

-

Lorem ipsum dolor sit amet consectetur adipisicing elit. Ab qui, quod rerum temporibus dolorem repellendus eos pariatur velit doloribus necessitatibus dignissimos blanditiis mollitia alias expedita neque earum iure modi aspernatur.

-

Lorem ipsum dolor sit amet consectetur adipisicing elit. Ab qui, quod rerum temporibus dolorem repellendus eos pariatur velit doloribus necessitatibus dignissimos blanditiis mollitia alias expedita neque earum iure modi aspernatur.

-

Lorem ipsum dolor sit amet consectetur adipisicing elit. Ab qui, quod rerum temporibus dolorem repellendus eos pariatur velit doloribus necessitatibus dignissimos blanditiis mollitia alias expedita neque earum iure modi aspernatur.

+ + + ; } diff --git a/src/components/ui.tsx b/src/components/ui.tsx index 4b4b489..a9ca479 100644 --- a/src/components/ui.tsx +++ b/src/components/ui.tsx @@ -1,17 +1,17 @@ -import { CSSProperties, ReactNode } from "react"; +import { Component, CSSProperties, ReactNode } from "react"; import SearchIcon from '@material-ui/icons/Search'; +import CheckBoxOutlineBlankIcon from '@material-ui/icons/CheckBoxOutlineBlank'; +import CheckBoxIcon from '@material-ui/icons/CheckBox'; -interface VierkantProps { +export function Vierkant(props: { href?: string; width?: string; height?: string; style?: CSSProperties; children?: ReactNode; - className?: string; -} - -export function Vierkant(props: VierkantProps) { + className?: string; }) +{ return {props.children} } -interface ButtonProps { +export function Button(props: { text?: string; children?: ReactNode; style?: CSSProperties; - onclick?: (() => void); -} - -export function Button(props: ButtonProps) { + onclick?: (() => void); }) +{ return
; } -interface SearchBarProps { - label?: string; -} - -export function SearchBar(props: SearchBarProps) { +export function Input(props: { label?: string }) { return
} +export class CheckBox extends Component<{ + state?: boolean +}> { + state = { on: this.props.state || false } + public toggle = () => this.setState({ on: !this.state.on }) + + render() { + return
+ { + this.state.on ? + : + + } +
; + } +} + + + diff --git a/src/pages/game.tsx b/src/pages/game.tsx index 18007cb..f5dfd39 100644 --- a/src/pages/game.tsx +++ b/src/pages/game.tsx @@ -5,7 +5,7 @@ import { CenteredPage } from '../components/page'; import { VoerBord } from '../components/voerBord'; import { DialogBox } from '../components/dialogBox'; import { CurrentGameSettings } from '../components/gameSettings'; -import { Button, SearchBar } from '../components/ui'; +import { Button, Input } from '../components/ui'; import { GameBar } from '../components/gameBar'; import WifiTetheringRoundedIcon from '@material-ui/icons/WifiTetheringRounded'; @@ -73,7 +73,7 @@ export default function GamePage() {

Uitnodigen via link

- +
diff --git a/src/routes.tsx b/src/routes.tsx index 5310baf..0b042d6 100644 --- a/src/routes.tsx +++ b/src/routes.tsx @@ -1,6 +1,7 @@ import { Switch, Route } from 'react-router-dom'; import './global.css'; +import './dark.css'; import HomePage from './pages/home'; import SettingsPage from './pages/settings'; -- cgit v1.2.3