Skip to content

Commit e637132

Browse files
committed
feat: add back navigation buttons to detail, edit, and add screens
Improves UX by providing consistent back navigation across all pages.
1 parent cef4ab1 commit e637132

9 files changed

Lines changed: 40 additions & 8 deletions

File tree

src/renderer/src/routes/doctors/add-doctor.tsx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import { useBreadcrumbs } from '@renderer/contexts/BreadcrumbContext'
55
import { useKeyboardEvent } from '@renderer/hooks/useKeyboardEvent'
66
import { queries } from '@renderer/lib/queries'
77
import { useQueryClient } from '@tanstack/react-query'
8-
import { Save, UserPlus, UserCog, Briefcase, Award, Lightbulb } from 'lucide-react'
8+
import { ArrowLeft, Save, UserPlus, UserCog, Briefcase, Award, Lightbulb } from 'lucide-react'
99
import { useEffect, useRef } from 'react'
1010
import { useNavigate } from 'react-router-dom'
1111
import { DoctorModel } from 'src/shared/models/DoctorModel'
@@ -37,6 +37,9 @@ export const AddNewDoctor = () => {
3737
{/* Header Section */}
3838
<div className="flex items-center justify-between mb-6 animate-fade-in-up">
3939
<div className="flex items-center gap-3">
40+
<Button variant="ghost" size="icon" onClick={() => navigate(-1)}>
41+
<ArrowLeft className="h-4 w-4" />
42+
</Button>
4043
<div className="h-12 w-12 rounded-xl bg-violet-500/10 flex items-center justify-center">
4144
<UserPlus className="h-6 w-6 text-violet-500" />
4245
</div>

src/renderer/src/routes/doctors/edit-doctor.tsx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import { useKeyboardEvent } from '@renderer/hooks/useKeyboardEvent'
66
import { queries } from '@renderer/lib/queries'
77
import { cn } from '@renderer/lib/utils'
88
import { useQuery, useQueryClient } from '@tanstack/react-query'
9-
import { Save, UserCog, Briefcase, Award, Calendar, Eye } from 'lucide-react'
9+
import { ArrowLeft, Save, UserCog, Briefcase, Award, Calendar, Eye } from 'lucide-react'
1010
import { useEffect, useRef } from 'react'
1111
import { useNavigate, useParams } from 'react-router-dom'
1212
import { DoctorModel } from 'src/shared/models/DoctorModel'
@@ -44,6 +44,9 @@ export const EditDoctor = () => {
4444
{/* Header Section */}
4545
<div className="flex items-center justify-between mb-6 animate-fade-in-up">
4646
<div className="flex items-center gap-3">
47+
<Button variant="ghost" size="icon" onClick={() => navigate(-1)}>
48+
<ArrowLeft className="h-4 w-4" />
49+
</Button>
4750
<div className="h-12 w-12 rounded-xl bg-violet-500/10 flex items-center justify-center">
4851
<UserCog className="h-6 w-6 text-violet-500" />
4952
</div>

src/renderer/src/routes/doctors/view-doctor.tsx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import { Button } from '@renderer/components/ui/button'
22
import { useBreadcrumbs } from '@renderer/contexts/BreadcrumbContext'
33
import { QueryClient, queryOptions, useQuery, useSuspenseQuery } from '@tanstack/react-query'
44
import {
5+
ArrowLeft,
56
EditIcon,
67
MoreHorizontal,
78
Search,
@@ -419,6 +420,9 @@ export const ViewDoctor = () => {
419420
{/* Header Section */}
420421
<div className="flex items-center justify-between mb-6 animate-fade-in-up">
421422
<div className="flex items-center gap-3">
423+
<Button variant="ghost" size="icon" onClick={() => navigate(-1)}>
424+
<ArrowLeft className="h-4 w-4" />
425+
</Button>
422426
<div className="h-12 w-12 rounded-xl bg-violet-500/10 flex items-center justify-center">
423427
<UserCog className="h-6 w-6 text-violet-500" />
424428
</div>

src/renderer/src/routes/patients/add-new-patient.tsx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { Button } from '@renderer/components/ui/button'
33
import { Card, CardContent, CardHeader, CardTitle } from '@renderer/components/ui/card'
44
import { useBreadcrumbs } from '@renderer/contexts/BreadcrumbContext'
55
import { useKeyboardEvent } from '@renderer/hooks/useKeyboardEvent'
6-
import { Save, UserPlus, Hash, Cake, Building2, Lightbulb } from 'lucide-react'
6+
import { ArrowLeft, Save, UserPlus, Hash, Cake, Building2, Lightbulb } from 'lucide-react'
77
import { useEffect, useRef } from 'react'
88
import { toast } from '@renderer/components/ui/sonner'
99
import { useNavigate } from 'react-router-dom'
@@ -36,6 +36,9 @@ export const AddNewPatient = () => {
3636
{/* Header Section */}
3737
<div className="flex items-center justify-between mb-6 animate-fade-in-up">
3838
<div className="flex items-center gap-3">
39+
<Button variant="ghost" size="icon" onClick={() => navigate(-1)}>
40+
<ArrowLeft className="h-4 w-4" />
41+
</Button>
3942
<div className="h-12 w-12 rounded-xl bg-emerald-500/10 flex items-center justify-center">
4043
<UserPlus className="h-6 w-6 text-emerald-500" />
4144
</div>

src/renderer/src/routes/patients/edit-patient.tsx

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@ import { queries } from '@renderer/lib/queries'
77
import { cn } from '@renderer/lib/utils'
88
import { queryOptions, useQuery, useQueryClient } from '@tanstack/react-query'
99
import { format } from 'date-fns'
10-
import { Save, UserCog, Hash, Cake, User, Building2, Calendar, Eye } from 'lucide-react'
10+
import { ArrowLeft, Save, UserCog, Hash, Cake, User, Building2, Calendar, Eye } from 'lucide-react'
1111
import { useEffect, useRef } from 'react'
1212
import { toast } from '@renderer/components/ui/sonner'
13-
import { Link, useParams } from 'react-router-dom'
13+
import { Link, useNavigate, useParams } from 'react-router-dom'
1414
import { Patient } from 'src/shared/types/db'
1515
import womenIcon from '../../../../../resources/woman.png?asset'
1616
import manIcon from '../../../../../resources/man.png?asset'
@@ -22,6 +22,7 @@ export const getPatientByIdQuery = (id: number) =>
2222

2323
export const EditPatient = () => {
2424
const { id } = useParams()
25+
const navigate = useNavigate()
2526
const ref = useRef<NewPatientFormRef>(null)
2627
const queryClient = useQueryClient()
2728
const { setBreadcrumbs } = useBreadcrumbs()
@@ -51,6 +52,9 @@ export const EditPatient = () => {
5152
{/* Header Section */}
5253
<div className="flex items-center justify-between mb-6 animate-fade-in-up">
5354
<div className="flex items-center gap-3">
55+
<Button variant="ghost" size="icon" onClick={() => navigate(-1)}>
56+
<ArrowLeft className="h-4 w-4" />
57+
</Button>
5458
<div className="h-12 w-12 rounded-xl bg-emerald-500/10 flex items-center justify-center">
5559
<UserCog className="h-6 w-6 text-emerald-500" />
5660
</div>

src/renderer/src/routes/patients/view-patient.tsx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import { Button } from '@renderer/components/ui/button'
22
import { useBreadcrumbs } from '@renderer/contexts/BreadcrumbContext'
33
import { QueryClient, queryOptions, useQuery, useSuspenseQuery } from '@tanstack/react-query'
44
import {
5+
ArrowLeft,
56
EditIcon,
67
MoreHorizontal,
78
PlusSquare,
@@ -558,6 +559,9 @@ export const ViewPatient = () => {
558559
{/* Header Section */}
559560
<div className="flex items-center justify-between mb-6 animate-fade-in-up">
560561
<div className="flex items-center gap-3">
562+
<Button variant="ghost" size="icon" onClick={() => navigate(-1)}>
563+
<ArrowLeft className="h-4 w-4" />
564+
</Button>
561565
<div className="h-12 w-12 rounded-xl bg-emerald-500/10 flex items-center justify-center">
562566
<User className="h-6 w-6 text-emerald-500" />
563567
</div>

src/renderer/src/routes/surgeries/add-surgery.tsx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { Button } from '@renderer/components/ui/button'
22
import { useBreadcrumbs } from '@renderer/contexts/BreadcrumbContext'
33
import { useQuery, useQueryClient } from '@tanstack/react-query'
4-
import { Save, Stethoscope } from 'lucide-react'
4+
import { ArrowLeft, Save, Stethoscope } from 'lucide-react'
55
import { useEffect, useMemo, useRef } from 'react'
66
import { Link, useNavigate, useParams } from 'react-router-dom'
77
import { getPatientByIdQuery } from '../patients/edit-patient'
@@ -45,6 +45,9 @@ export const AddNewSurgery = () => {
4545
{/* Header Section */}
4646
<div className="flex items-center justify-between mb-6">
4747
<div className="flex items-center gap-3">
48+
<Button variant="ghost" size="icon" onClick={() => navigate(-1)}>
49+
<ArrowLeft className="h-4 w-4" />
50+
</Button>
4851
<div className="h-12 w-12 rounded-xl bg-emerald-500/10 flex items-center justify-center">
4952
<Stethoscope className="h-6 w-6 text-emerald-500" />
5053
</div>

src/renderer/src/routes/surgeries/edit-surgery.tsx

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
import { Button } from '@renderer/components/ui/button'
22
import { useBreadcrumbs } from '@renderer/contexts/BreadcrumbContext'
33
import { useQuery, useQueryClient } from '@tanstack/react-query'
4-
import { Save, Stethoscope } from 'lucide-react'
4+
import { ArrowLeft, Save, Stethoscope } from 'lucide-react'
55
import { useEffect, useMemo, useRef } from 'react'
6-
import { Link, useParams } from 'react-router-dom'
6+
import { Link, useNavigate, useParams } from 'react-router-dom'
77
import { getPatientByIdQuery } from '../patients/edit-patient'
88
import {
99
AddOrEditSurgery,
@@ -15,6 +15,7 @@ import { useKeyboardEvent } from '@renderer/hooks/useKeyboardEvent'
1515
const getSurgeryByIdQuery = (id: number) => queries.surgeries.get(id)
1616

1717
export const EditSurgery = () => {
18+
const navigate = useNavigate()
1819
const queryClient = useQueryClient()
1920
const formRef = useRef<AddOrEditSurgeryRef>(null)
2021
const { patientId, surgeryId } = useParams()
@@ -54,6 +55,9 @@ export const EditSurgery = () => {
5455
{/* Header Section */}
5556
<div className="flex items-center justify-between mb-6">
5657
<div className="flex items-center gap-3">
58+
<Button variant="ghost" size="icon" onClick={() => navigate(-1)}>
59+
<ArrowLeft className="h-4 w-4" />
60+
</Button>
5761
<div className="h-12 w-12 rounded-xl bg-emerald-500/10 flex items-center justify-center">
5862
<Stethoscope className="h-6 w-6 text-emerald-500" />
5963
</div>

src/renderer/src/routes/surgeries/view-surgery.tsx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import { Button } from '@renderer/components/ui/button'
22
import { useBreadcrumbs } from '@renderer/contexts/BreadcrumbContext'
33
import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query'
44
import {
5+
ArrowLeft,
56
Edit,
67
PlusIcon,
78
Printer,
@@ -282,6 +283,9 @@ export const ViewSurgery = () => {
282283
{/* Header Section */}
283284
<div className="flex items-center justify-between mb-6">
284285
<div className="flex items-center gap-3">
286+
<Button variant="ghost" size="icon" onClick={() => navigate(-1)}>
287+
<ArrowLeft className="h-4 w-4" />
288+
</Button>
285289
<div className="h-12 w-12 rounded-xl bg-emerald-500/10 flex items-center justify-center">
286290
<Stethoscope className="h-6 w-6 text-emerald-500" />
287291
</div>

0 commit comments

Comments
 (0)