diff --git a/app/create-location/page.tsx b/app/create-location/page.tsx index 05f6e5f..cd61819 100644 --- a/app/create-location/page.tsx +++ b/app/create-location/page.tsx @@ -312,7 +312,7 @@ export default function CreateLocationPage() { {/* Error Message */} {error && !isModalOpen && (
-
+
!

{error}

@@ -366,7 +366,7 @@ export default function CreateLocationPage() { {/* Error Message in Modal */} {error && (
-
+
!

{error}

diff --git a/app/create-project/page.tsx b/app/create-project/page.tsx index 07a6893..ae4033c 100644 --- a/app/create-project/page.tsx +++ b/app/create-project/page.tsx @@ -197,7 +197,7 @@ export default function CreateProjectPage() { {/* Error Message */} {error && !isModalOpen && (
-
+
!

{error}

@@ -251,7 +251,7 @@ export default function CreateProjectPage() { {/* Error Message in Modal */} {error && (
-
+
!

{error}

diff --git a/app/upload/page.tsx b/app/upload/page.tsx index 6c60ee0..7f40b36 100644 --- a/app/upload/page.tsx +++ b/app/upload/page.tsx @@ -23,6 +23,20 @@ import { storeVideoFile } from "@/lib/video-storage" const API_URL = process.env.NEXT_PUBLIC_API_URL const WS_URL = API_URL?.replace(/^https:\/\//, "wss://").replace(/^http:\/\//, "ws://") +const DETECTION_TYPES = [ + { value: "pothole-detection", label: "Pothole Detection" }, + { value: "sign-board-detection", label: "Signboard Detection" }, + { value: "pot-sign-detection", label: "Pothole & Signboard Detection" }, +] as const + +const DETECTION_METHODS = [ + { value: "yolo", label: "YOLO Detection Model" }, + { value: "yolo_vl", label: "YOLO with Vision-Language Model" }, + { value: "sam3", label: "OpenAI SAM 3 Segmentation Model" }, + { value: "yoloe", label: "YOLOE Open-Vocabulary Detection" }, + { value: "yoloe_trained_vl", label: "YOLOE With Vision Language Model" }, +] as const + type DetectionType = "pothole-detection" | "sign-board-detection" | "pot-sign-detection" @@ -264,15 +278,11 @@ export default function UploadPage() { - - Pothole Detection - - - Signboard Detection - - - Pothole & Signboard Detection - + {DETECTION_TYPES.map((type) => ( + + {type.label} + + ))}
@@ -308,21 +318,11 @@ export default function UploadPage() { - - YOLO Detection Model - - - YOLO with Vision-Language Model - - - OpenAI SAM 3 Segmentation Model - - - YOLOE Open-Vocabulary Detection - - - YOLOE With Vision Language Model - + {DETECTION_METHODS.map((method) => ( + + {method.label} + + ))}
diff --git a/components/sidebar-navigation.tsx b/components/sidebar-navigation.tsx index 481b2b8..2dc3013 100644 --- a/components/sidebar-navigation.tsx +++ b/components/sidebar-navigation.tsx @@ -101,7 +101,7 @@ export function SidebarNavigation() { relative w-12 h-12 rounded-md flex items-center justify-center ${isNewAnalysisActive ? 'bg-linear-to-b from-[#3895FF] to-[#86B8F1]' : 'bg-[#f0fafd]/60 border border-slate-100/50'} hover:bg-linear-to-b hover:from-[#3895FF] hover:to-[#86B8F1] hover:border-none - transition-all ease-in-out duration-200 + ease-in-out duration-200 transition-all `} > void @@ -274,21 +287,13 @@ export function UploadSection({ onDetectionComplete, onDetectionTypeChange }: Up - -
- Pothole Detection -
-
- -
- Signboard Detection -
-
- -
- Pothole & Signboard Detection -
-
+ {DETECTION_TYPES.map((type) => ( + +
+ {type.label} +
+
+ ))}
@@ -319,31 +324,13 @@ export function UploadSection({ onDetectionComplete, onDetectionTypeChange }: Up - -
- YOLO -
-
- -
- YOLO with VL -
-
- -
- SAM 3 -
-
- -
- YOLOE -
-
- -
- YOLOE Trained -
-
+ {DETECTION_METHODS.map((method) => ( + +
+ {method.label} +
+
+ ))}
@@ -352,7 +339,7 @@ export function UploadSection({ onDetectionComplete, onDetectionTypeChange }: Up {/* Error Display */} {error && (
- +

{error}

)}