import React, { ReactElement, useEffect } from 'react'; import Head from 'next/head' import DatePicker from "react-datepicker"; import "react-datepicker/dist/react-datepicker.css"; import dayjs from "dayjs"; import {useAppDispatch, useAppSelector} from "../../stores/hooks"; import {useRouter} from "next/router"; import { fetch } from '../../stores/users/usersSlice' import {saveFile} from "../../helpers/fileSaver"; import dataFormatter from '../../helpers/dataFormatter'; import ImageField from "../../components/ImageField"; import LayoutAuthenticated from "../../layouts/Authenticated"; import {getPageTitle} from "../../config"; import SectionTitleLineWithButton from "../../components/SectionTitleLineWithButton"; import SectionMain from "../../components/SectionMain"; import CardBox from "../../components/CardBox"; import BaseButton from "../../components/BaseButton"; import BaseDivider from "../../components/BaseDivider"; import {mdiChartTimelineVariant} from "@mdi/js"; import {SwitchField} from "../../components/SwitchField"; import FormField from "../../components/FormField"; const UsersView = () => { const router = useRouter() const dispatch = useAppDispatch() const { users } = useAppSelector((state) => state.users) const { id } = router.query; function removeLastCharacter(str) { console.log(str,`str`) return str.slice(0, -1); } useEffect(() => { dispatch(fetch({ id })); }, [dispatch, id]); return ( <> {getPageTitle('View users')}

First Name

{users?.firstName}

Last Name

{users?.lastName}

Phone Number

{users?.phoneNumber}

E-Mail

{users?.email}

null}} disabled />

Avatar

{users?.avatar?.length ? ( ) :

No Avatar

}

App Role

{users?.app_role?.name ?? 'No data'}

<>

Custom Permissions

{users.custom_permissions && Array.isArray(users.custom_permissions) && users.custom_permissions.map((item: any) => ( router.push(`/permissions/permissions-view/?id=${item.id}`)}> ))}
Name
{ item.name }
{!users?.custom_permissions?.length &&
No data
}
<>

Courses Instructor

{users.courses_instructor && Array.isArray(users.courses_instructor) && users.courses_instructor.map((item: any) => ( router.push(`/courses/courses-view/?id=${item.id}`)}> ))}
Title Slug Summary Category Level Price Published EstimatedDuration(hrs)
{ item.title } { item.slug } { item.summary } { item.category } { item.level } { item.price } { dataFormatter.booleanFormatter(item.published) } { item.duration }
{!users?.courses_instructor?.length &&
No data
}
<>

Enrollments Student

{users.enrollments_student && Array.isArray(users.enrollments_student) && users.enrollments_student.map((item: any) => ( router.push(`/enrollments/enrollments-view/?id=${item.id}`)}> ))}
Reference EnrolledAt Status Progress(%) ExpiresAt
{ item.reference } { dataFormatter.dateTimeFormatter(item.enrolled_at) } { item.status } { item.progress } { dataFormatter.dateTimeFormatter(item.expires_at) }
{!users?.enrollments_student?.length &&
No data
}
<>

Certificates Student

{users.certificates_student && Array.isArray(users.certificates_student) && users.certificates_student.map((item: any) => ( router.push(`/certificates/certificates-view/?id=${item.id}`)}> ))}
CertificateCode IssuedAt Grade
{ item.certificate_code } { dataFormatter.dateTimeFormatter(item.issued_at) } { item.grade }
{!users?.certificates_student?.length &&
No data
}
<>

Reviews Student

{users.reviews_student && Array.isArray(users.reviews_student) && users.reviews_student.map((item: any) => ( router.push(`/reviews/reviews-view/?id=${item.id}`)}> ))}
Title Rating Comment CreatedOn
{ item.title } { item.rating } { item.comment } { dataFormatter.dateTimeFormatter(item.created_on) }
{!users?.reviews_student?.length &&
No data
}
router.push('/users/users-list')} />
); }; UsersView.getLayout = function getLayout(page: ReactElement) { return ( {page} ) } export default UsersView;