'use client'; import { FC, ReactElement, useState } from 'react'; import { ProfileForm, ProfileSidebar, ProfileHeader } from './_components'; import { ArrowLeftOutlined } from '@ant-design/icons'; import { Button } from '@imphnen-frontend-service/ui/atoms'; import { NotificationModal, NotificationType } from './_components/modals/notification-modal'; import { ProfileProvider, useProfile } from './_components/contexts/profile-context'; import { EditProfileModal } from './_components/modals/edit-profile-modal'; export const Components: FC = (): ReactElement => { return ( ); }; const ProfileContent: FC = (): ReactElement => { const { isLoading, error } = useProfile(); const [notification, setNotification] = useState<{ isOpen: boolean; type: 'success' | 'error'; title: string; message?: string; }>({ isOpen: false, type: 'success', title: '', message: '' }); const [isEditProfileModalOpen, setIsEditProfileModalOpen] = useState(false); const showNotification = (type: NotificationType['type'], title: string, message?: string) => { setNotification({ isOpen: true, type, title, message }); }; const hideNotification = () => { setNotification(prev => ({ ...prev, isOpen: false })); }; const openEditProfileModal = () => { setIsEditProfileModalOpen(true); }; const closeEditProfileModal = () => { setIsEditProfileModalOpen(false); }; if (isLoading) { return (

Loading profile...

); } if (error) { return (

Failed to load profile

Please try again later.

); } return (

Your Profile

{}
); }; export default Components;