GhiVideo 소스 복제 — v4 작업 시작 기준

기존 GhiVideo 저장소 HEAD의 트래킹 소스 362개 파일을 복제.
(node_modules·storage·빌드 산출물·대용량 미디어는 .gitignore 규칙대로 제외)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-09 14:32:51 +09:00
co-authored by Claude Fable 5
commit d38b842e8d
362 changed files with 46358 additions and 0 deletions
+25
View File
@@ -0,0 +1,25 @@
import { create } from 'zustand';
import type { Annotation } from '@abcvideo/shared';
interface AnnotationStore {
annotations: Annotation[];
setAnnotations: (a: Annotation[]) => void;
addAnnotation: (a: Annotation) => void;
updateAnnotation: (id: string, a: Partial<Annotation>) => void;
removeAnnotation: (id: string) => void;
}
export const useAnnotationStore = create<AnnotationStore>((set) => ({
annotations: [],
setAnnotations: (annotations) => set({ annotations }),
addAnnotation: (annotation) =>
set((s) => ({
annotations: [...s.annotations, annotation].sort((a, b) => a.timeStart - b.timeStart),
})),
updateAnnotation: (id, update) =>
set((s) => ({
annotations: s.annotations.map((a) => (a.id === id ? { ...a, ...update } : a)),
})),
removeAnnotation: (id) =>
set((s) => ({ annotations: s.annotations.filter((a) => a.id !== id) })),
}));