feat: implement BackButton component for consistent navigation

- Added BackButton component to standardize back navigation across pages.
- Integrated BackButton into various pages, replacing custom back buttons for consistency.
- Updated PageHeader to accept backTo prop for displaying BackButton when navigating from subpages.
- Created useGoBack hook to handle navigation logic, determining whether to go back in history or redirect to a fallback page.
- Added tests for BackButton and its integration with PageHeader to ensure expected behavior.
This commit is contained in:
hamed
2026-07-29 20:26:51 +03:30
parent e6267080b2
commit e0e8fbd1e4
31 changed files with 224 additions and 82 deletions
+3
View File
@@ -35,6 +35,7 @@ import ImageCropModal from '../components/ImageCropModal';
import { ScheduleSection } from '../components/schedule/ScheduleSection';
import type { AddressData } from '../components/schedule/ScheduleSection';
import { latinDigitsField } from '../lib/forms';
import BackButton from '../components/ui/BackButton';
import { toggleSpecialtyChild, toggleSpecialtyRoot, removeSpecialtyEntry } from '../lib/specialtySelection';
// Fix leaflet default marker icons
@@ -1378,6 +1379,8 @@ export default function DoctorDetailPage({ isOwnProfile = false }: { isOwnProfil
return (
<div className="animate-slide-up space-y-5">
<BackButton fallback={isOwnProfile ? '/admin/dashboard' : '/admin/doctors'} />
{/* Breadcrumb */}
<div className="flex items-center gap-2 text-sm text-[var(--text-2)]">
{isOwnProfile ? (