From 05e005a820f7897dd54beb68804b375d7dbfb358 Mon Sep 17 00:00:00 2001 From: Igor <114025058+igaryakqwe@users.noreply.github.com> Date: Sun, 19 Nov 2023 23:09:05 +0200 Subject: [PATCH 01/22] feature: added teachers table --- .../TeachersAdminPage.styles.ts | 1 + .../teachers-admin-page/TeachersAdminPage.tsx | 32 +++++ .../teachers-table/TeachersTable.styles.ts | 31 ++++ .../teachers-table/TeachersTable.tsx | 133 ++++++++++++++++++ .../components/teachers-table/index.ts | 1 + .../pages/admin/teachers-admin-page/index.ts | 1 + src/lib/api/teacher/TeacherAPI.ts | 4 + src/pages/admin/teachers/index.tsx | 3 +- 8 files changed, 205 insertions(+), 1 deletion(-) create mode 100644 src/components/pages/admin/teachers-admin-page/TeachersAdminPage.styles.ts create mode 100644 src/components/pages/admin/teachers-admin-page/TeachersAdminPage.tsx create mode 100644 src/components/pages/admin/teachers-admin-page/components/teachers-table/TeachersTable.styles.ts create mode 100644 src/components/pages/admin/teachers-admin-page/components/teachers-table/TeachersTable.tsx create mode 100644 src/components/pages/admin/teachers-admin-page/components/teachers-table/index.ts create mode 100644 src/components/pages/admin/teachers-admin-page/index.ts diff --git a/src/components/pages/admin/teachers-admin-page/TeachersAdminPage.styles.ts b/src/components/pages/admin/teachers-admin-page/TeachersAdminPage.styles.ts new file mode 100644 index 000000000..ea3360b29 --- /dev/null +++ b/src/components/pages/admin/teachers-admin-page/TeachersAdminPage.styles.ts @@ -0,0 +1 @@ +import { SxProps, Theme } from '@mui/material/styles'; diff --git a/src/components/pages/admin/teachers-admin-page/TeachersAdminPage.tsx b/src/components/pages/admin/teachers-admin-page/TeachersAdminPage.tsx new file mode 100644 index 000000000..1f411a9b8 --- /dev/null +++ b/src/components/pages/admin/teachers-admin-page/TeachersAdminPage.tsx @@ -0,0 +1,32 @@ +import { FC, useEffect, useState } from 'react'; +import { Box } from '@mui/material'; + +import TeachersTable from '@/components/pages/admin/teachers-admin-page/components/teachers-table'; +import teachersApi from '@/lib/api/teacher/TeacherAPI'; +import { GetTeachersResponse } from '@/lib/api/teacher/types/GetTeachersResponse'; + +import * as styles from './TeachersAdminPage.styles'; + +const TeachersAdminPage: FC = () => { + const [teachers, setTeachers] = useState(); + + useEffect(() => { + try { + const result = teachersApi.getAll(); + result.then(data => setTeachers(data)); + console.log(teachers); + } catch (error) { + console.log(error); + } + }, [teachers]); + + console.log(teachers); + + return ( + + + + ); +}; + +export default TeachersAdminPage; diff --git a/src/components/pages/admin/teachers-admin-page/components/teachers-table/TeachersTable.styles.ts b/src/components/pages/admin/teachers-admin-page/components/teachers-table/TeachersTable.styles.ts new file mode 100644 index 000000000..1b85d2d86 --- /dev/null +++ b/src/components/pages/admin/teachers-admin-page/components/teachers-table/TeachersTable.styles.ts @@ -0,0 +1,31 @@ +import { SxProps, Theme } from '@mui/material/styles'; + +export const headItem: SxProps = { + typography: 'body1Bold', + color: 'white.main', + borderBottom: '1px solid', + borderColor: 'backgroundDark.400', +}; + +export const bodyItem: SxProps = { + typography: 'body1Medium', + color: 'white.main', + borderBottom: '1px solid', + borderColor: 'backgroundDark.400', +}; + +export const tag: SxProps = { + typography: 'body1Medium', + color: 'white.main', +}; + +export const tableColumn: SxProps = { + flexDirection: 'row', + gap: '8px', + alignItems: 'center', +}; + +export const button: SxProps = { + borderRadius: '8px', + width: '157px', +}; diff --git a/src/components/pages/admin/teachers-admin-page/components/teachers-table/TeachersTable.tsx b/src/components/pages/admin/teachers-admin-page/components/teachers-table/TeachersTable.tsx new file mode 100644 index 000000000..679a031e9 --- /dev/null +++ b/src/components/pages/admin/teachers-admin-page/components/teachers-table/TeachersTable.tsx @@ -0,0 +1,133 @@ +import React, { FC } from 'react'; +import { PencilSquareIcon } from '@heroicons/react/24/solid'; +import { + Avatar, + Stack, + Table, + TableBody, + TableCell, + TableHead, + TableRow, + Typography, +} from '@mui/material'; + +import Button from '@/components/common/ui/button-mui'; +import { + ButtonSize, + ButtonVariant, +} from '@/components/common/ui/button-mui/types'; +import { TrashBucketButton } from '@/components/common/ui/icon-button-mui/variants'; +import Tag from '@/components/common/ui/tag'; +import { + TagColor, + TagSize, + TagVariant, +} from '@/components/common/ui/tag/types'; +import TeacherAPI from '@/lib/api/teacher/TeacherAPI'; +import mergeSx from '@/lib/utils/MergeSxStylesUtil'; +import { Teacher } from '@/types/teacher'; + +import * as styles from './TeachersTable.styles'; + +interface TeachersAdminSearchProps { + teachers?: Omit[]; +} + +const TeachersTable: FC = ({ teachers }) => { + const deleteTeacher = async (id: string) => { + try { + await TeacherAPI.delete(id); + } catch (e) { + console.log(e); + } + }; + + return ( + + + + Викладач + + Кафедри + Теги + + + + {teachers && + teachers.map((teacher, index) => ( + + + + + + {teacher.lastName} {teacher.firstName[0]}.{' '} + {teacher.middleName[0]}. + + + + + + + + + + + + + + + + + + +
+ ); +}; + +export default TeachersTable; diff --git a/src/components/pages/admin/teachers-admin-page/components/teachers-table/index.ts b/src/components/pages/admin/teachers-admin-page/components/teachers-table/index.ts new file mode 100644 index 000000000..e63ed331e --- /dev/null +++ b/src/components/pages/admin/teachers-admin-page/components/teachers-table/index.ts @@ -0,0 +1 @@ +export { default } from './TeachersTable'; diff --git a/src/components/pages/admin/teachers-admin-page/index.ts b/src/components/pages/admin/teachers-admin-page/index.ts new file mode 100644 index 000000000..c608c71b0 --- /dev/null +++ b/src/components/pages/admin/teachers-admin-page/index.ts @@ -0,0 +1 @@ +export { default } from './TeachersAdminPage'; diff --git a/src/lib/api/teacher/TeacherAPI.ts b/src/lib/api/teacher/TeacherAPI.ts index e08baf49f..055790de1 100644 --- a/src/lib/api/teacher/TeacherAPI.ts +++ b/src/lib/api/teacher/TeacherAPI.ts @@ -107,6 +107,10 @@ class TeacherAPI { getAuthorizationHeader(), ); } + + async delete(teacherId: string): Promise { + await client.delete(`/teachers/${teacherId}`, getAuthorizationHeader()); + } } export default new TeacherAPI(); diff --git a/src/pages/admin/teachers/index.tsx b/src/pages/admin/teachers/index.tsx index 9ad740aa0..30cb69438 100644 --- a/src/pages/admin/teachers/index.tsx +++ b/src/pages/admin/teachers/index.tsx @@ -1,11 +1,12 @@ import React from 'react'; import AdminPanelLayout from '@/components/common/layout/admin-panel-layout/AdminPanelLayout'; +import TeachersAdminPage from '@/components/pages/admin/teachers-admin-page'; const Index = () => { return ( -
+
); }; From 888374201d083e03ad22b5f72dd6a0266be23165 Mon Sep 17 00:00:00 2001 From: Igor <114025058+igaryakqwe@users.noreply.github.com> Date: Thu, 23 Nov 2023 23:49:19 +0200 Subject: [PATCH 02/22] feature: added search field --- .../TeachersAdminPage.styles.ts | 24 ++++++ .../teachers-admin-page/TeachersAdminPage.tsx | 69 +++++++++++++---- .../TeachersAdminSearch.styles.ts | 1 + .../TeachersAdminSearch.tsx | 74 +++++++++++++++++++ .../teachers-admin-search/constants/index.ts | 7 ++ .../components/teachers-admin-search/index.ts | 1 + .../teachers-admin-search/types/index.ts | 5 ++ .../teachers-table/TeachersTable.tsx | 25 ++++++- .../TeachersSkeleton.styles.ts | 28 +++++++ .../teachers-skeleton/TeachersSkeleton.tsx | 45 +++++++++++ .../components/teachers-skeleton/index.ts | 1 + .../types/GetListOfSubjectsResponse.ts | 4 +- src/lib/api/teacher/TeacherAPI.ts | 7 +- .../api/teacher/types/GetTeachersResponse.ts | 4 +- src/types/api.ts | 5 +- 15 files changed, 277 insertions(+), 23 deletions(-) create mode 100644 src/components/pages/admin/teachers-admin-page/components/teachers-admin-search/TeachersAdminSearch.styles.ts create mode 100644 src/components/pages/admin/teachers-admin-page/components/teachers-admin-search/TeachersAdminSearch.tsx create mode 100644 src/components/pages/admin/teachers-admin-page/components/teachers-admin-search/constants/index.ts create mode 100644 src/components/pages/admin/teachers-admin-page/components/teachers-admin-search/index.ts create mode 100644 src/components/pages/admin/teachers-admin-page/components/teachers-admin-search/types/index.ts create mode 100644 src/components/pages/admin/teachers-admin-page/components/teachers-table/components/teachers-skeleton/TeachersSkeleton.styles.ts create mode 100644 src/components/pages/admin/teachers-admin-page/components/teachers-table/components/teachers-skeleton/TeachersSkeleton.tsx create mode 100644 src/components/pages/admin/teachers-admin-page/components/teachers-table/components/teachers-skeleton/index.ts diff --git a/src/components/pages/admin/teachers-admin-page/TeachersAdminPage.styles.ts b/src/components/pages/admin/teachers-admin-page/TeachersAdminPage.styles.ts index ea3360b29..3da207c6b 100644 --- a/src/components/pages/admin/teachers-admin-page/TeachersAdminPage.styles.ts +++ b/src/components/pages/admin/teachers-admin-page/TeachersAdminPage.styles.ts @@ -1 +1,25 @@ import { SxProps, Theme } from '@mui/material/styles'; + +export const pagination: SxProps = { + display: 'flex', + justifyContent: 'flex-end', + alignItems: 'center', + borderBottom: 'none', + color: 'backgroundDark.600', + '& .MuiTablePagination-selectLabel': { + typography: 'body1Bold', + }, + '& .MuiTablePagination-select, & .MuiTablePagination-displayedRows': { + color: 'white.main', + typography: 'body1Medium', + }, + '& .MuiTablePagination-selectIcon': { + color: 'backgroundDark.600', + }, + '& .MuiTablePagination-actions': { + '& .Mui-disabled': { + color: 'backgroundDark.500', + }, + color: 'backgroundDark.600', + }, +}; diff --git a/src/components/pages/admin/teachers-admin-page/TeachersAdminPage.tsx b/src/components/pages/admin/teachers-admin-page/TeachersAdminPage.tsx index 1f411a9b8..851489173 100644 --- a/src/components/pages/admin/teachers-admin-page/TeachersAdminPage.tsx +++ b/src/components/pages/admin/teachers-admin-page/TeachersAdminPage.tsx @@ -1,30 +1,69 @@ -import { FC, useEffect, useState } from 'react'; -import { Box } from '@mui/material'; +import React, { FC, useState } from 'react'; +import { useQuery } from 'react-query'; +import { Box, TablePagination } from '@mui/material'; +import { isAxiosError } from 'axios'; +import TeachersAdminSearch from '@/components/pages/admin/teachers-admin-page/components/teachers-admin-search'; +import { initialValues } from '@/components/pages/admin/teachers-admin-page/components/teachers-admin-search/constants'; +import { AdminSearchFormFields } from '@/components/pages/admin/teachers-admin-page/components/teachers-admin-search/types'; import TeachersTable from '@/components/pages/admin/teachers-admin-page/components/teachers-table'; +import { useToastError } from '@/hooks/use-toast-error/useToastError'; import teachersApi from '@/lib/api/teacher/TeacherAPI'; -import { GetTeachersResponse } from '@/lib/api/teacher/types/GetTeachersResponse'; import * as styles from './TeachersAdminPage.styles'; const TeachersAdminPage: FC = () => { - const [teachers, setTeachers] = useState(); + const [count, setCount] = useState(0); + const [pageSize, setPageSize] = useState(10); + const [curPage, setCurPage] = useState(0); + const [params, setParams] = useState(initialValues); + const toast = useToastError(); + const { data, isLoading, refetch } = useQuery( + [curPage, 'teachers', pageSize], + () => teachersApi.getAll(params, pageSize, curPage), + { + keepPreviousData: true, + refetchOnWindowFocus: false, + onSuccess: data => { + setCount(data?.pagination?.totalAmount || 0); + }, + onError: error => { + if (isAxiosError(error)) { + toast.displayError(error.response?.data.message); + } + }, + }, + ); - useEffect(() => { - try { - const result = teachersApi.getAll(); - result.then(data => setTeachers(data)); - console.log(teachers); - } catch (error) { - console.log(error); - } - }, [teachers]); + const handleChange = (values: AdminSearchFormFields) => { + setParams(values); + setCurPage(0); + refetch(); + }; - console.log(teachers); + const handleRowsPerPageChange = ( + event: React.ChangeEvent, + ) => { + setPageSize(Number(event.target.value)); + setCurPage(0); + }; return ( - + + + setCurPage(page)} + onRowsPerPageChange={e => handleRowsPerPageChange(e)} + /> ); }; diff --git a/src/components/pages/admin/teachers-admin-page/components/teachers-admin-search/TeachersAdminSearch.styles.ts b/src/components/pages/admin/teachers-admin-page/components/teachers-admin-search/TeachersAdminSearch.styles.ts new file mode 100644 index 000000000..ea3360b29 --- /dev/null +++ b/src/components/pages/admin/teachers-admin-page/components/teachers-admin-search/TeachersAdminSearch.styles.ts @@ -0,0 +1 @@ +import { SxProps, Theme } from '@mui/material/styles'; diff --git a/src/components/pages/admin/teachers-admin-page/components/teachers-admin-search/TeachersAdminSearch.tsx b/src/components/pages/admin/teachers-admin-page/components/teachers-admin-search/TeachersAdminSearch.tsx new file mode 100644 index 000000000..e2f562f37 --- /dev/null +++ b/src/components/pages/admin/teachers-admin-page/components/teachers-admin-search/TeachersAdminSearch.tsx @@ -0,0 +1,74 @@ +import React, { FC, useCallback, useState } from 'react'; +import { + BarsArrowDownIcon, + BarsArrowUpIcon, +} from '@heroicons/react/24/outline'; +import { Box } from '@mui/material'; +import { Form, Formik } from 'formik'; + +import { Input, InputSize, InputType } from '@/components/common/ui/form'; +import { + IconButtonColor, + IconButtonShape, +} from '@/components/common/ui/icon-button'; +import IconButton from '@/components/common/ui/icon-button-mui'; +import { initialValues } from '@/components/pages/admin/teachers-admin-page/components/teachers-admin-search/constants'; +import { AdminSearchFormFields } from '@/components/pages/admin/teachers-admin-page/components/teachers-admin-search/types'; + +import * as styles from './TeachersAdminSearch.styles'; + +export interface TeachersAdminSearchProps { + onSubmit: (values: AdminSearchFormFields) => void; +} + +const TeachersAdminSearch: FC = ({ onSubmit }) => { + const [order, setOrder] = useState<'asc' | 'desc'>('asc'); + const handleFormSubmit = useCallback( + (values: AdminSearchFormFields) => { + onSubmit({ ...values, order }); + }, + [onSubmit, order], + ); + + const handleOrderChange = (values: AdminSearchFormFields) => { + if (values.order === 'asc') { + setOrder('desc'); + } else { + setOrder('asc'); + } + }; + + return ( + + {({ values }) => ( +
+ onSubmit(values)} + size={InputSize.LARGE} + type={InputType.SEARCH} + name="search" + placeholder="Пошук" + showRemark={false} + /> + + handleOrderChange(values)} + shape={IconButtonShape.SQUARE} + color={IconButtonColor.SECONDARY} + icon={ + values.order === 'asc' ? ( + + ) : ( + + ) + } + /> + +
+ )} +
+ ); +}; + +export default TeachersAdminSearch; diff --git a/src/components/pages/admin/teachers-admin-page/components/teachers-admin-search/constants/index.ts b/src/components/pages/admin/teachers-admin-page/components/teachers-admin-search/constants/index.ts new file mode 100644 index 000000000..f122c8392 --- /dev/null +++ b/src/components/pages/admin/teachers-admin-page/components/teachers-admin-search/constants/index.ts @@ -0,0 +1,7 @@ +import { AdminSearchFormFields } from '@/components/pages/admin/teachers-admin-page/components/teachers-admin-search/types'; + +export const initialValues: AdminSearchFormFields = { + search: '', + sort: 'lastName', + order: 'asc', +}; diff --git a/src/components/pages/admin/teachers-admin-page/components/teachers-admin-search/index.ts b/src/components/pages/admin/teachers-admin-page/components/teachers-admin-search/index.ts new file mode 100644 index 000000000..af2df7fe4 --- /dev/null +++ b/src/components/pages/admin/teachers-admin-page/components/teachers-admin-search/index.ts @@ -0,0 +1 @@ +export { default } from './TeachersAdminSearch'; diff --git a/src/components/pages/admin/teachers-admin-page/components/teachers-admin-search/types/index.ts b/src/components/pages/admin/teachers-admin-page/components/teachers-admin-search/types/index.ts new file mode 100644 index 000000000..60a03e576 --- /dev/null +++ b/src/components/pages/admin/teachers-admin-page/components/teachers-admin-search/types/index.ts @@ -0,0 +1,5 @@ +export interface AdminSearchFormFields { + search: string; + order: 'desc' | 'asc'; + sort: string; +} diff --git a/src/components/pages/admin/teachers-admin-page/components/teachers-table/TeachersTable.tsx b/src/components/pages/admin/teachers-admin-page/components/teachers-table/TeachersTable.tsx index 679a031e9..0bc8710ab 100644 --- a/src/components/pages/admin/teachers-admin-page/components/teachers-table/TeachersTable.tsx +++ b/src/components/pages/admin/teachers-admin-page/components/teachers-table/TeachersTable.tsx @@ -10,6 +10,7 @@ import { TableRow, Typography, } from '@mui/material'; +import { isAxiosError } from 'axios'; import Button from '@/components/common/ui/button-mui'; import { @@ -23,6 +24,8 @@ import { TagSize, TagVariant, } from '@/components/common/ui/tag/types'; +import TeachersSkeleton from '@/components/pages/admin/teachers-admin-page/components/teachers-table/components/teachers-skeleton'; +import { useToastError } from '@/hooks/use-toast-error/useToastError'; import TeacherAPI from '@/lib/api/teacher/TeacherAPI'; import mergeSx from '@/lib/utils/MergeSxStylesUtil'; import { Teacher } from '@/types/teacher'; @@ -31,14 +34,25 @@ import * as styles from './TeachersTable.styles'; interface TeachersAdminSearchProps { teachers?: Omit[]; + isLoading?: boolean; + count: number; } -const TeachersTable: FC = ({ teachers }) => { +const TeachersTable: FC = ({ + teachers, + isLoading, + count, +}) => { + const toast = useToastError(); + const deleteTeacher = async (id: string) => { try { await TeacherAPI.delete(id); } catch (e) { - console.log(e); + if (isAxiosError(e)) { + console.log(e.response?.data); + toast.displayError(e.response?.data.message); + } } }; @@ -53,6 +67,13 @@ const TeachersTable: FC = ({ teachers }) => { + {isLoading && ( + <> + {Array.from({ length: count }, (_, index) => ( + + ))} + + )} {teachers && teachers.map((teacher, index) => ( diff --git a/src/components/pages/admin/teachers-admin-page/components/teachers-table/components/teachers-skeleton/TeachersSkeleton.styles.ts b/src/components/pages/admin/teachers-admin-page/components/teachers-table/components/teachers-skeleton/TeachersSkeleton.styles.ts new file mode 100644 index 000000000..b06507c4d --- /dev/null +++ b/src/components/pages/admin/teachers-admin-page/components/teachers-table/components/teachers-skeleton/TeachersSkeleton.styles.ts @@ -0,0 +1,28 @@ +import { SxProps, Theme } from '@mui/material/styles'; + +export const bodyItem: SxProps = { + typography: 'body1Medium', + borderBottom: '1px solid', + borderColor: 'backgroundDark.400', +}; + +export const tag: SxProps = { + height: '35px', + width: '35px', +}; +export const longTag: SxProps = { + width: '60px', + height: '35px', +}; + +export const tableColumn: SxProps = { + flexDirection: 'row', + gap: '8px', + alignItems: 'center', +}; + +export const button: SxProps = { + borderRadius: '8px', + width: '157px', + height: '30px', +}; diff --git a/src/components/pages/admin/teachers-admin-page/components/teachers-table/components/teachers-skeleton/TeachersSkeleton.tsx b/src/components/pages/admin/teachers-admin-page/components/teachers-table/components/teachers-skeleton/TeachersSkeleton.tsx new file mode 100644 index 000000000..140c53a38 --- /dev/null +++ b/src/components/pages/admin/teachers-admin-page/components/teachers-table/components/teachers-skeleton/TeachersSkeleton.tsx @@ -0,0 +1,45 @@ +import React, { FC } from 'react'; +import { Skeleton, Stack, TableCell, TableRow } from '@mui/material'; + +import * as styles from './TeachersSkeleton.styles'; + +interface TeachersSkeletonProps { + isLoading?: boolean; +} + +const TeachersSkeleton: FC = () => { + return ( + + + + + + + + + + + + + + + + + + + + + + + + + + + + ); +}; + +export default TeachersSkeleton; diff --git a/src/components/pages/admin/teachers-admin-page/components/teachers-table/components/teachers-skeleton/index.ts b/src/components/pages/admin/teachers-admin-page/components/teachers-table/components/teachers-skeleton/index.ts new file mode 100644 index 000000000..45dff141b --- /dev/null +++ b/src/components/pages/admin/teachers-admin-page/components/teachers-table/components/teachers-skeleton/index.ts @@ -0,0 +1 @@ +export { default } from './TeachersSkeleton'; diff --git a/src/lib/api/subject/types/GetListOfSubjectsResponse.ts b/src/lib/api/subject/types/GetListOfSubjectsResponse.ts index c600c13bc..a865ec5e2 100644 --- a/src/lib/api/subject/types/GetListOfSubjectsResponse.ts +++ b/src/lib/api/subject/types/GetListOfSubjectsResponse.ts @@ -1,7 +1,7 @@ -import { Meta } from '@/types/api'; +import { Pagination } from '@/types/api'; import { Subject } from '@/types/subject'; export interface GetListOfSubjectsResponse { subjects: Subject[]; - meta?: Meta; + pagination?: Pagination; } diff --git a/src/lib/api/teacher/TeacherAPI.ts b/src/lib/api/teacher/TeacherAPI.ts index 055790de1..14e619f16 100644 --- a/src/lib/api/teacher/TeacherAPI.ts +++ b/src/lib/api/teacher/TeacherAPI.ts @@ -18,11 +18,16 @@ class TeacherAPI { return data; } - async getAll(params: Partial = {}, pageSize?: number) { + async getAll( + params: Partial = {}, + pageSize?: number, + page?: number, + ) { const { data } = await client.get('/teachers', { params: { ...params, pageSize, + page, }, }); return data; diff --git a/src/lib/api/teacher/types/GetTeachersResponse.ts b/src/lib/api/teacher/types/GetTeachersResponse.ts index 1579ced62..aebf00402 100644 --- a/src/lib/api/teacher/types/GetTeachersResponse.ts +++ b/src/lib/api/teacher/types/GetTeachersResponse.ts @@ -1,7 +1,7 @@ -import { Meta } from '@/types/api'; +import { Pagination } from '@/types/api'; import { Teacher } from '@/types/teacher'; export interface GetTeachersResponse { teachers: Omit[]; - meta?: Meta; + pagination?: Pagination; } diff --git a/src/types/api.ts b/src/types/api.ts index 7b3f6e14c..8708802ac 100644 --- a/src/types/api.ts +++ b/src/types/api.ts @@ -1,4 +1,7 @@ -export interface Meta { +export interface Pagination { + amount: number; + totalAmount: number; + totalPages: number; pageSize: number; page: number; prevPageElems: number; From 5ddbb4ef2c03d3039109e41ebf64542d6dd7aa89 Mon Sep 17 00:00:00 2001 From: delver Date: Mon, 27 Nov 2023 21:54:47 +0200 Subject: [PATCH 03/22] bugfix: fixed changing proportions of some profile pictures with page scale (#769) --- .../components/group-tab/components/table/grid.styles.ts | 1 + .../group-tab/components/table/student-table/StudentsTable.tsx | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/components/pages/account-page/components/group-tab/components/table/grid.styles.ts b/src/components/pages/account-page/components/group-tab/components/table/grid.styles.ts index 3a3496ce6..2150d481c 100644 --- a/src/components/pages/account-page/components/group-tab/components/table/grid.styles.ts +++ b/src/components/pages/account-page/components/group-tab/components/table/grid.styles.ts @@ -35,6 +35,7 @@ export const row: SxProps = { borderRadius: '50%', width: { mobile: '36px', desktop: '48px' }, height: { mobile: '36px', desktop: '48px' }, + flex: '0 0 auto', }, '& .MuiBox-root': { width: '100%', diff --git a/src/components/pages/account-page/components/group-tab/components/table/student-table/StudentsTable.tsx b/src/components/pages/account-page/components/group-tab/components/table/student-table/StudentsTable.tsx index 90371acb2..441195a40 100644 --- a/src/components/pages/account-page/components/group-tab/components/table/student-table/StudentsTable.tsx +++ b/src/components/pages/account-page/components/group-tab/components/table/student-table/StudentsTable.tsx @@ -87,7 +87,7 @@ const StudentsTable: React.FC = ({ {row.imgSrc && ( - avatar + avatar {!isMobile && ( {row.fullName} )} From 9413a4ca7ad9e8fc597a7a293f2f0b3b2da91ddd Mon Sep 17 00:00:00 2001 From: Markusplay Date: Tue, 28 Nov 2023 19:04:21 +0200 Subject: [PATCH 04/22] build please --- src/pages/_document.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/_document.tsx b/src/pages/_document.tsx index ec0655d2c..9f3132e59 100644 --- a/src/pages/_document.tsx +++ b/src/pages/_document.tsx @@ -10,11 +10,11 @@ const Document = () => ( />