diff --git a/app/(marketing)/_components/site-footer.tsx b/app/(marketing)/_components/site-footer.tsx
index 88ad9d8..6ea7684 100644
--- a/app/(marketing)/_components/site-footer.tsx
+++ b/app/(marketing)/_components/site-footer.tsx
@@ -1,9 +1,8 @@
+import { AppLogo } from '@kit/shared/components/app-logo';
+import { appConfig } from '@kit/shared/config';
import { Footer } from '@kit/ui/marketing';
import { Trans } from '@kit/ui/trans';
-import { AppLogo } from '@kit/shared/components/app-logo';
-import appConfig from '@kit/shared/config/app.config';
-
export function SiteFooter() {
return (
;
diff --git a/app/doctor/_components/analysis-view.tsx b/app/doctor/_components/analysis-view.tsx
index 2d43d7f..9a369b1 100644
--- a/app/doctor/_components/analysis-view.tsx
+++ b/app/doctor/_components/analysis-view.tsx
@@ -19,7 +19,7 @@ import {
} from '@kit/doctor/schema/doctor-analysis-detail-view.schema';
import {
DoctorAnalysisFeedbackForm,
- doctorAnalysisFeedbackSchema,
+ doctorAnalysisFeedbackFormSchema,
} from '@kit/doctor/schema/doctor-analysis.schema';
import ConfirmationModal from '@kit/shared/components/confirmation-modal';
import { getFullName } from '@kit/shared/utils';
@@ -36,9 +36,11 @@ import { toast } from '@kit/ui/sonner';
import { Textarea } from '@kit/ui/textarea';
import { Trans } from '@kit/ui/trans';
-import Analysis from '~/home/(user)/(dashboard)/analysis-results/_components/analysis';
import { bmiFromMetric } from '~/lib/utils';
+import DoctorAnalysisWrapper from './doctor-analysis-wrapper';
+import DoctorJobSelect from './doctor-job-select';
+
export default function AnalysisView({
patient,
order,
@@ -54,16 +56,20 @@ export default function AnalysisView({
const { data: user } = useUser();
- const isInProgress =
+ const isInProgress = !!(
!!feedback?.status &&
feedback?.doctor_user_id &&
- feedback?.status !== 'COMPLETED';
+ feedback?.status !== 'COMPLETED'
+ );
+ const isCurrentDoctorJob =
+ !!feedback?.doctor_user_id && feedback?.doctor_user_id === user?.id;
const isReadOnly =
!isInProgress ||
(!!feedback?.doctor_user_id && feedback?.doctor_user_id !== user?.id);
const form = useForm({
- resolver: zodResolver(doctorAnalysisFeedbackSchema),
+ resolver: zodResolver(doctorAnalysisFeedbackFormSchema),
+ reValidateMode: 'onChange',
defaultValues: {
feedbackValue: feedback?.value ?? '',
userId: patient.userId,
@@ -80,35 +86,41 @@ export default function AnalysisView({
data: DoctorAnalysisFeedbackForm,
status: 'DRAFT' | 'COMPLETED',
) => {
- try {
- const feedbackPromise = giveFeedbackAction({
- ...data,
- analysisOrderId: order.analysisOrderId,
- status,
- });
+ const result = await giveFeedbackAction({
+ ...data,
+ analysisOrderId: order.analysisOrderId,
+ status,
+ });
- toast.promise(() => feedbackPromise, {
- success:
{feedback?.value ?? '-'}
- {!isReadOnly && (