This commit is contained in:
Elijah Lucian 2021-04-11 14:57:19 -07:00
parent 0185aa5eec
commit 0df8bf9445
4 changed files with 81 additions and 3 deletions

51
frontend/.vscode/react.code-snippets vendored Normal file
View File

@ -0,0 +1,51 @@
{
"New Functional Component": {
"scope": "typescriptreact",
"prefix": "fc",
"body": [
"type Props = {}",
"",
"export const $1 = (props: Props) => {",
" return <p>$2</p>",
"}"
],
"description": "React Component w/props"
},
"New Functional Route Component": {
"scope": "typescriptreact",
"prefix": "fc-routed",
"body": [
"import { RouteComponentProps } from 'react-router'",
"type Props = RouteComponentProps",
"",
"export const $1 = ({match}: Props) => {",
" return <p>$2</p>",
"}"
],
"description": "React Routed Component"
},
"New Page Component": {
"scope": "typescriptreact",
"prefix": "fc-page",
"body": [
"export const $1 = () => {",
" return <p>$2</p>",
"}"
],
"description": "React Page Component No Props"
},
"New Form Component": {
"scope": "typescriptreact",
"prefix": "fc-form",
"body": [
"import { Form, Input, Layout } from 'antd'",
"",
"export const $1 = () => {",
" const [form] = Form.useForm()",
" return <Form form={form}>$2</Form>",
"}"
],
"description": "React Page Component No Props"
}
}

View File

@ -1,8 +1,8 @@
import React from 'react' import React from 'react'
import { Avatar, Typography } from 'antd' import { Avatar, Button, Typography } from 'antd'
import { Header } from 'antd/lib/layout/layout' import { Header } from 'antd/lib/layout/layout'
import { User } from '../types' import { User } from '../types'
import { Link } from 'react-router-dom' import { Link, useHistory } from 'react-router-dom'
export type NavRoute = { export type NavRoute = {
path: string path: string
@ -17,6 +17,7 @@ type Props = {
} }
export const AppHeader = ({ user, routes }: Props) => { export const AppHeader = ({ user, routes }: Props) => {
const history = useHistory()
// Unauthed Header // Unauthed Header
if (!user) if (!user)
return ( return (
@ -34,9 +35,12 @@ export const AppHeader = ({ user, routes }: Props) => {
<Link to={route.path}>{route.label}</Link> <Link to={route.path}>{route.label}</Link>
))} ))}
</div> </div>
<div>
<Button onClick={() => history.push('/new/user')}>New User</Button>
</div>
<div className="header-right"> <div className="header-right">
<Typography.Paragraph>Welcome, {user.username}!!</Typography.Paragraph> <Typography.Paragraph>Welcome, {user.username}!!</Typography.Paragraph>
<Avatar /> <Avatar>{user.username[0]}</Avatar>
</div> </div>
</Header> </Header>
) )

View File

@ -0,0 +1,14 @@
import { Form, Input, Layout } from 'antd'
import { User } from '../../types'
export const NewUser = () => {
const [form] = Form.useForm<User>()
return (
<Form form={form}>
<Form.Item label="username" name="name">
<Input></Input>
</Form.Item>
</Form>
)
}

View File

@ -34,3 +34,12 @@
// background-color: #444; // background-color: #444;
// color: white; // color: white;
} }
.ant-avatar {
display: flex;
* {
margin: auto;
padding: 0;
}
}