Reactive-Resume/client/components/build/LeftSidebar/sections/Basics.tsx

94 lines
2.9 KiB
TypeScript
Raw Normal View History

2022-03-02 16:44:11 +00:00
import { PhotoFilter } from '@mui/icons-material';
import { Button, Divider, Popover } from '@mui/material';
import { useTranslation } from 'next-i18next';
import { useState } from 'react';
import Heading from '@/components/shared/Heading';
import ResumeInput from '@/components/shared/ResumeInput';
import PhotoFilters from './PhotoFilters';
import PhotoUpload from './PhotoUpload';
const Basics = () => {
const { t } = useTranslation();
const [anchorEl, setAnchorEl] = useState<HTMLButtonElement | null>(null);
const handleClick = (event: React.MouseEvent<HTMLButtonElement>) => {
setAnchorEl(event.currentTarget);
};
const handleClose = () => {
setAnchorEl(null);
};
return (
<>
2022-04-08 08:33:06 +00:00
<Heading path="sections.basics" name={t<string>('builder.leftSidebar.sections.basics.heading')} />
2022-03-02 16:44:11 +00:00
<div className="grid grid-cols-1 gap-4 sm:grid-cols-2">
<div className="grid items-center gap-4 sm:col-span-2 sm:grid-cols-3">
<div className="mx-auto">
<PhotoUpload />
</div>
2022-03-02 16:44:11 +00:00
<div className="grid gap-2 w-full sm:col-span-2">
2022-04-08 08:33:06 +00:00
<ResumeInput label={t<string>('builder.leftSidebar.sections.basics.name.label')} path="basics.name" />
2022-03-02 16:44:11 +00:00
<Button variant="outlined" startIcon={<PhotoFilter />} onClick={handleClick}>
2022-04-08 08:33:06 +00:00
{t<string>('builder.leftSidebar.sections.basics.actions.photo-filters')}
2022-03-02 16:44:11 +00:00
</Button>
<Popover
open={Boolean(anchorEl)}
anchorEl={anchorEl}
onClose={handleClose}
anchorOrigin={{
vertical: 'bottom',
horizontal: 'center',
}}
transformOrigin={{
vertical: 'top',
horizontal: 'center',
}}
>
<PhotoFilters />
</Popover>
</div>
</div>
2022-04-30 10:58:17 +00:00
<ResumeInput
type="date"
label={t<string>('builder.leftSidebar.sections.basics.birthdate.label')}
path="basics.birthdate"
className="sm:col-span-2"
/>
2022-04-08 08:33:06 +00:00
<ResumeInput
label={t<string>('builder.common.form.email.label')}
path="basics.email"
className="sm:col-span-2"
/>
<ResumeInput label={t<string>('builder.common.form.phone.label')} path="basics.phone" />
<ResumeInput label={t<string>('builder.common.form.url.label')} path="basics.website" />
2022-03-02 16:44:11 +00:00
<Divider className="sm:col-span-2" />
<ResumeInput
2022-04-08 08:33:06 +00:00
label={t<string>('builder.leftSidebar.sections.basics.headline.label')}
2022-03-02 16:44:11 +00:00
path="basics.headline"
className="sm:col-span-2"
/>
<ResumeInput
type="textarea"
2022-04-08 08:33:06 +00:00
label={t<string>('builder.common.form.summary.label')}
2022-03-02 16:44:11 +00:00
path="basics.summary"
className="sm:col-span-2"
markdownSupported
/>
</div>
</>
);
};
export default Basics;