diff --git a/web/src/components/overlay/detail/AnnotationOffsetSlider.tsx b/web/src/components/overlay/detail/AnnotationOffsetSlider.tsx
index fed620577..4fbf34ca7 100644
--- a/web/src/components/overlay/detail/AnnotationOffsetSlider.tsx
+++ b/web/src/components/overlay/detail/AnnotationOffsetSlider.tsx
@@ -9,15 +9,16 @@ import { toast } from "sonner";
import { Trans, useTranslation } from "react-i18next";
import { LuExternalLink, LuInfo, LuMinus, LuPlus } from "react-icons/lu";
import { cn } from "@/lib/utils";
+import {
+ ANNOTATION_OFFSET_MAX,
+ ANNOTATION_OFFSET_MIN,
+ ANNOTATION_OFFSET_STEP,
+} from "@/lib/const";
import { isMobile } from "react-device-detect";
import { useIsAdmin } from "@/hooks/use-is-admin";
import { useDocDomain } from "@/hooks/use-doc-domain";
import { Link } from "react-router-dom";
-const OFFSET_MIN = -2500;
-const OFFSET_MAX = 2500;
-const OFFSET_STEP = 50;
-
type Props = {
className?: string;
};
@@ -43,7 +44,10 @@ export default function AnnotationOffsetSlider({ className }: Props) {
(delta: number) => {
setAnnotationOffset((prev) => {
const next = prev + delta;
- return Math.max(OFFSET_MIN, Math.min(OFFSET_MAX, next));
+ return Math.max(
+ ANNOTATION_OFFSET_MIN,
+ Math.min(ANNOTATION_OFFSET_MAX, next),
+ );
});
},
[setAnnotationOffset],
@@ -114,17 +118,17 @@ export default function AnnotationOffsetSlider({ className }: Props) {
size="icon"
className="size-8 shrink-0"
aria-label="-50ms"
- onClick={() => stepOffset(-OFFSET_STEP)}
- disabled={annotationOffset <= OFFSET_MIN}
+ onClick={() => stepOffset(-ANNOTATION_OFFSET_STEP)}
+ disabled={annotationOffset <= ANNOTATION_OFFSET_MIN}
>
@@ -134,8 +138,8 @@ export default function AnnotationOffsetSlider({ className }: Props) {
size="icon"
className="size-8 shrink-0"
aria-label="+50ms"
- onClick={() => stepOffset(OFFSET_STEP)}
- disabled={annotationOffset >= OFFSET_MAX}
+ onClick={() => stepOffset(ANNOTATION_OFFSET_STEP)}
+ disabled={annotationOffset >= ANNOTATION_OFFSET_MAX}
>
diff --git a/web/src/components/overlay/detail/AnnotationSettingsPane.tsx b/web/src/components/overlay/detail/AnnotationSettingsPane.tsx
index 06e0d80ce..3624a0622 100644
--- a/web/src/components/overlay/detail/AnnotationSettingsPane.tsx
+++ b/web/src/components/overlay/detail/AnnotationSettingsPane.tsx
@@ -13,10 +13,11 @@ import { Slider } from "@/components/ui/slider";
import { Trans, useTranslation } from "react-i18next";
import { useDocDomain } from "@/hooks/use-doc-domain";
import { useIsAdmin } from "@/hooks/use-is-admin";
-
-const OFFSET_MIN = -2500;
-const OFFSET_MAX = 2500;
-const OFFSET_STEP = 50;
+import {
+ ANNOTATION_OFFSET_MAX,
+ ANNOTATION_OFFSET_MIN,
+ ANNOTATION_OFFSET_STEP,
+} from "@/lib/const";
type AnnotationSettingsPaneProps = {
event: Event;
@@ -49,7 +50,10 @@ export function AnnotationSettingsPane({
(delta: number) => {
setAnnotationOffset((prev) => {
const next = prev + delta;
- return Math.max(OFFSET_MIN, Math.min(OFFSET_MAX, next));
+ return Math.max(
+ ANNOTATION_OFFSET_MIN,
+ Math.min(ANNOTATION_OFFSET_MAX, next),
+ );
});
},
[setAnnotationOffset],
@@ -128,16 +132,16 @@ export function AnnotationSettingsPane({
size="icon"
className="size-8 shrink-0"
aria-label="-50ms"
- onClick={() => stepOffset(-OFFSET_STEP)}
- disabled={annotationOffset <= OFFSET_MIN}
+ onClick={() => stepOffset(-ANNOTATION_OFFSET_STEP)}
+ disabled={annotationOffset <= ANNOTATION_OFFSET_MIN}
>
@@ -147,8 +151,8 @@ export function AnnotationSettingsPane({
size="icon"
className="size-8 shrink-0"
aria-label="+50ms"
- onClick={() => stepOffset(OFFSET_STEP)}
- disabled={annotationOffset >= OFFSET_MAX}
+ onClick={() => stepOffset(ANNOTATION_OFFSET_STEP)}
+ disabled={annotationOffset >= ANNOTATION_OFFSET_MAX}
>
diff --git a/web/src/lib/const.ts b/web/src/lib/const.ts
index a11239613..78774bb66 100644
--- a/web/src/lib/const.ts
+++ b/web/src/lib/const.ts
@@ -1,6 +1,10 @@
/** ONNX embedding models that require local model downloads. GenAI providers are not in this list. */
export const JINA_EMBEDDING_MODELS = ["jinav1", "jinav2"] as const;
+export const ANNOTATION_OFFSET_MIN = -10000;
+export const ANNOTATION_OFFSET_MAX = 5000;
+export const ANNOTATION_OFFSET_STEP = 50;
+
export const supportedLanguageKeys = [
"en",
"es",