diff --git a/src/components/PageLayout/Authentication/Authentication.tsx b/src/components/PageLayout/Authentication/Authentication.tsx index e03d30de..97e72320 100644 --- a/src/components/PageLayout/Authentication/Authentication.tsx +++ b/src/components/PageLayout/Authentication/Authentication.tsx @@ -37,6 +37,7 @@ export const Authentication: FC = () => { } else { return (
+ Profil logout()}>Odhlásiť
) diff --git a/src/components/Profile/ProfileDetail.module.scss b/src/components/Profile/ProfileDetail.module.scss new file mode 100644 index 00000000..defc1ea7 --- /dev/null +++ b/src/components/Profile/ProfileDetail.module.scss @@ -0,0 +1,6 @@ +.label { + font-weight: bold; + text-transform: uppercase; + font-style: italic; + padding-right: .5rem; +} diff --git a/src/components/Profile/ProfileDetail.module.scss.d.ts b/src/components/Profile/ProfileDetail.module.scss.d.ts new file mode 100644 index 00000000..214131f0 --- /dev/null +++ b/src/components/Profile/ProfileDetail.module.scss.d.ts @@ -0,0 +1,9 @@ +export type Styles = { + label: string +} + +export type ClassNames = keyof Styles + +declare const styles: Styles + +export default styles diff --git a/src/components/Profile/ProfileDetail.tsx b/src/components/Profile/ProfileDetail.tsx new file mode 100644 index 00000000..31cf4547 --- /dev/null +++ b/src/components/Profile/ProfileDetail.tsx @@ -0,0 +1,46 @@ +import {Stack, Typography} from '@mui/material' +import {useQuery} from '@tanstack/react-query' +import axios from 'axios' +import {FC} from 'react' + +import {Profile} from '@/types/api/personal' +import {AuthContainer} from '@/utils/AuthContainer' + +import styles from './ProfileDetail.module.scss' + +type ProfileLineInput = { + label: string + value?: string +} + +const ProfileLine: FC = ({label, value}) => { + return ( + // font-size: 30px podla designu + + {label} + {value} + + ) +} + +export const ProfileDetail: FC = () => { + const {isAuthed} = AuthContainer.useContainer() + + const {data} = useQuery({ + queryKey: ['personal', 'profiles', 'myprofile'], + queryFn: () => axios.get(`/api/personal/profiles/myprofile`), + enabled: isAuthed, + }) + const profile = data?.data + + return ( + + + + + + + + + ) +} diff --git a/src/pages/malynar/profil/index.tsx b/src/pages/malynar/profil/index.tsx new file mode 100644 index 00000000..7caea213 --- /dev/null +++ b/src/pages/malynar/profil/index.tsx @@ -0,0 +1,9 @@ +import {NextPage} from 'next' + +import Page from '../../strom/profil/index' + +const Vysledky: NextPage = () => { + return +} + +export default Vysledky diff --git a/src/pages/matik/profil/index.tsx b/src/pages/matik/profil/index.tsx new file mode 100644 index 00000000..7caea213 --- /dev/null +++ b/src/pages/matik/profil/index.tsx @@ -0,0 +1,9 @@ +import {NextPage} from 'next' + +import Page from '../../strom/profil/index' + +const Vysledky: NextPage = () => { + return +} + +export default Vysledky diff --git a/src/pages/strom/profil/index.tsx b/src/pages/strom/profil/index.tsx new file mode 100644 index 00000000..96b9940f --- /dev/null +++ b/src/pages/strom/profil/index.tsx @@ -0,0 +1,12 @@ +import {NextPage} from 'next' + +import {PageLayout} from '@/components/PageLayout/PageLayout' +import {ProfileDetail} from '@/components/Profile/ProfileDetail' + +const Profil: NextPage = () => ( + + + +) + +export default Profil diff --git a/src/types/api/personal.ts b/src/types/api/personal.ts index 88b7944e..7d6adc2a 100644 --- a/src/types/api/personal.ts +++ b/src/types/api/personal.ts @@ -63,12 +63,14 @@ export interface Profile { id: number first_name: string last_name: string + email: string nickname: string | null school: SchoolProfile phone: string | null parent_phone: string | null gdpr: boolean grade: number + grade_name: string is_student: boolean has_school: boolean school_id: number