diff options
-rw-r--r-- | components/navbar.tsx | 2 | ||||
-rw-r--r-- | pages/index.tsx | 163 |
2 files changed, 88 insertions, 77 deletions
diff --git a/components/navbar.tsx b/components/navbar.tsx index 41db147..56d6b4b 100644 --- a/components/navbar.tsx +++ b/components/navbar.tsx @@ -40,7 +40,7 @@ export function NavBar() { <div style={NavBarItemStyle}><LogoDark/></div> <a href="/" style={NavBarItemStyle}><Home/></a> <a href="/game" style={NavBarItemStyle}><VideogameAssetIcon/></a> - <a href="/" style={NavBarItemStyle}><ExtensionIcon/></a> + { false && <a href="/" style={NavBarItemStyle}><ExtensionIcon/></a> } <a href="/search" style={NavBarItemStyle}><SearchIcon/></a> <div style={{ diff --git a/pages/index.tsx b/pages/index.tsx index 82c6371..84f08b8 100644 --- a/pages/index.tsx +++ b/pages/index.tsx @@ -41,74 +41,75 @@ var SquareSize: CSSProperties = { height: 90 } +var LoginOrRegisterBoxStyle: CSSProperties = { + verticalAlign: "top", + height: `calc(${SquareSize.height}px + 24px * 2)`, + width: "100%", + maxWidth: `calc(100% - ${SquareSize.width}px - 12px * 2 - 24px * 2)` +} + +var InnerLoginOrRegisterBoxStyle: CSSProperties = { + position: "relative", + width: "100%", + height: "100%" +} + function LoginOrRegisterBox() { - return <Vierkant style={{ verticalAlign: "top" }}> + return <div style={{ ...InnerLoginOrRegisterBoxStyle, textAlign: "center" }}> + <span style={{ + userSelect: "none", + display: "inline-block", + position: "absolute", + fontSize: 14, + left: 0, right: 0, top: 0 + }}>Log in of maak een account aan om je scores op te slaan en toegang te krijgen tot meer functies</span> <div style={{ - position: "relative", - width: 280, - height: 90, - textAlign: "center" + display: "grid", + gridGap: 24, + gridTemplateColumns: "1fr 1fr", + position: "absolute", + left: 0, right: 0, bottom: 0 }}> - <span style={{ - userSelect: "none", - display: "inline-block", - position: "absolute", - fontSize: 14, - left: 0, right: 0, top: 0 - }}>Log in of maak een account aan om je scores op te slaan en toegang te krijgen tot meer functies</span> - <div style={{ - display: "grid", - gridGap: 24, - gridTemplateColumns: "1fr 1fr", - position: "absolute", - left: 0, right: 0, bottom: 0 - }}> - <Button href="/register" text="Registreren" style={{ backgroundColor: "var(--background-alt)" }}/> - <Button href="/login" text="Inloggen"/> - </div> + <Button href="/register" text="Registreren" style={{ backgroundColor: "var(--background-alt)" }}/> + <Button href="/login" text="Inloggen"/> </div> - </Vierkant> + </div> } function AccountBox(props: { info: userInfo; }) { - return <Vierkant style={{ verticalAlign: "top" }}> + return <div style={InnerLoginOrRegisterBoxStyle}> + <div style={{ + position: "absolute", + top: 0, left: 0, + ...SquareSize + }}> + <AccountAvatar size={90} dummy/> + </div> <div style={{ - position: "relative", - width: 280, - height: 90 + position: "absolute", + top: 0, left: 102, + width: "calc(100% - 90px - 12px)", + height: "100%" }}> - <div style={{ - position: "absolute", - top: 0, left: 0, - ...SquareSize - }}> - <AccountAvatar size={90} dummy/> - </div> - <div style={{ - position: "absolute", - top: 0, left: 102, - width: 178, height: 90 - }}> - <h2 style={{ - maxWidth: 178, - fontSize: 20, - whiteSpace: "nowrap", - overflow: "hidden", - textOverflow: "ellipsis", - }}>{props.info.username}</h2> - <p style={{ marginTop: 6 }}>Score: 400</p> - <p style={{ position: "absolute", bottom: 0, left: 0 }}> - <span style={{ color: "var(--disk-b-text)" }}>0 W</span> - <span style={{ margin: "0 3px" }}>/</span> - <span style={{ color: "var(--disk-a-text)" }}>0 V</span> - <span style={{ margin: "0 3px" }}>/</span> - <span style={{ opacity: .75 }}>0 G</span> - </p> - </div> + <h2 style={{ + maxWidth: 178, + fontSize: 20, + whiteSpace: "nowrap", + overflow: "hidden", + textOverflow: "ellipsis", + }}>{props.info.username}</h2> + <p style={{ marginTop: 6 }}>Score: 400</p> + <p style={{ position: "absolute", bottom: 0, left: 0 }}> + <span style={{ color: "var(--disk-b-text)" }}>0 W</span> + <span style={{ margin: "0 3px" }}>/</span> + <span style={{ color: "var(--disk-a-text)" }}>0 V</span> + <span style={{ margin: "0 3px" }}>/</span> + <span style={{ opacity: .75 }}>0 G</span> + </p> </div> - </Vierkant> + </div> } export default class HomePage extends Component { @@ -141,26 +142,36 @@ export default class HomePage extends Component { <NavBar/> <CenteredPage width={802}> <PageTitle>4 op een rij</PageTitle> - <Vierkant href="/game"> - <VideogameAssetIcon style={GameModeIconStyle}/> - <span style={GameModeTextStyle}>Nieuw spel</span> - <div style={SquareSize}></div> - </Vierkant> - <Vierkant href="/"> - <ExtensionIcon style={GameModeIconStyle}/> - <span style={GameModeTextStyle}>Puzzels</span> - <div style={SquareSize}></div> - </Vierkant> - <Vierkant href="/"> - <Icon path={mdiRobotExcited} style={GameModeIconStyle}/> - <span style={GameModeTextStyle}>Tegen computer</span> - <div style={SquareSize}></div> - </Vierkant> - { - this.state.loggedIn ? - <AccountBox info={this.state.info}/> : - <LoginOrRegisterBox/> - } + <div> + <Vierkant href="/game"> + <VideogameAssetIcon style={GameModeIconStyle}/> + <span style={GameModeTextStyle}>Nieuw spel</span> + <div style={SquareSize}></div> + </Vierkant> + { + false && + <Vierkant href="/"> + <ExtensionIcon style={GameModeIconStyle}/> + <span style={GameModeTextStyle}>Puzzels</span> + <div style={SquareSize}></div> + </Vierkant> + } + { + false && + <Vierkant href="/"> + <Icon path={mdiRobotExcited} style={GameModeIconStyle}/> + <span style={GameModeTextStyle}>Tegen computer</span> + <div style={SquareSize}></div> + </Vierkant> + } + <Vierkant style={LoginOrRegisterBoxStyle}> + { + this.state.loggedIn ? + <AccountBox info={this.state.info}/> : + <LoginOrRegisterBox/> + } + </Vierkant> + </div> { this.state.loggedIn && <Vierkant fullwidth> |