summaryrefslogtreecommitdiffhomepage
path: root/react-frontend/src/components/Layout.tsx
diff options
context:
space:
mode:
authorrealtradam <[email protected]>2024-06-28 17:25:36 -0400
committerrealtradam <[email protected]>2024-06-28 17:25:36 -0400
commit9eb3ab91fb653ca6d4921238e2a497427405f178 (patch)
treec44af841651266c608759972456c543a83d31c50 /react-frontend/src/components/Layout.tsx
parent429010140d13ae50ac1f64aa0762476b51b86c68 (diff)
downloadgameHolster-9eb3ab91fb653ca6d4921238e2a497427405f178.tar.gz
gameHolster-9eb3ab91fb653ca6d4921238e2a497427405f178.zip
add login
Diffstat (limited to 'react-frontend/src/components/Layout.tsx')
-rw-r--r--react-frontend/src/components/Layout.tsx22
1 files changed, 16 insertions, 6 deletions
diff --git a/react-frontend/src/components/Layout.tsx b/react-frontend/src/components/Layout.tsx
index 8b87634..8f834ef 100644
--- a/react-frontend/src/components/Layout.tsx
+++ b/react-frontend/src/components/Layout.tsx
@@ -1,4 +1,5 @@
import { Outlet } from "react-router-dom";
+import { useState } from "react";
import { IconButton, Button, ButtonGroup } from 'rsuite';
import { Icon } from '@rsuite/icons';
import { FaUser } from "react-icons/fa6";
@@ -6,19 +7,28 @@ import { FaGamepad } from "react-icons/fa";
import { GiCowboyHolster } from "react-icons/gi";
import { GrAdd } from "react-icons/gr";
-export default function Layout()
+export type userData = { userData: { name: string } };
+
+ //{ userData.name ? <div className="flex items-end gap-2 pb-2"> <div className="text-xs"> Logged in as: </div> <div>{userData.name}</div> </div> : <a href="" onClick={loginLink} className="pb-2"> Login with Github </a> }
+
+
+export default function Layout({userData} : userData)
{
+ const loginLink = () => {
+ window.open(`https://github.com/login/oauth/authorize?client_id=${import.meta.env.VITE_GITHUB_CLIENTID}`);
+ };
+
+
+ const loggedout_element = <IconButton onClick={loginLink} appearance="primary" color="green" icon={<Icon as={FaUser}/>}>Log In</IconButton>;
+ const loggedin_element = <ButtonGroup className="flex"><Button appearance="ghost" style={{width:"100%"}}>{userData.name}</Button><Button appearance="subtle" style={{paddingLeft:"1.4em", paddingRight:"1.4em"}}>Log Out</Button></ButtonGroup>;
+
return(
<>
<div className="w-screen h-screen flex border-none">
<div className="flex flex-col h-screen overflow-y-auto overflow-x-hidden w-72 bg-stone-100">
<div className="flex flex-col bg-stone-800">
<div className="m-4 mb-0 flex flex-col flex-grow">
- {/*<IconButton appearance="primary" color="green" icon={<Icon as={FaUser}/>}>Log In</IconButton>*/}
- <ButtonGroup className="flex">
- <Button appearance="ghost" style={{width:"100%"}}>Account</Button>
- <Button appearance="subtle" style={{paddingLeft:"1.4em", paddingRight:"1.4em"}}>Log Out</Button>
- </ButtonGroup>
+ { userData.name ? loggedin_element : loggedout_element }
</div>
</div>
<div className="border-green-500 p-2 mb-2 text-red-700 bg-stone-800 rounded-b-xl"><Icon as={GiCowboyHolster} style={{width:"100%", height:"100%"}}/></div>