diff --git a/app/src/data/data.ts b/app/src/data/data.ts index 990deda13..58970c39e 100644 --- a/app/src/data/data.ts +++ b/app/src/data/data.ts @@ -76,10 +76,9 @@ export function maxCharsAllowed(language: string, start: number, end: number): n /** get max length for entry translation text */ export function translationMax( - { startingTranslation, startingOriginal, timeRange }: Entry, + { startingTranslation, startingOriginal, start, end }: Entry, language: string, ) { - const [start = 0, end = 0] = timeRange || []; /** for entries with time range, i.e. captions */ if (start && end) return maxCharsAllowed(language, start, end); /** for entries without a time range, i.e. title and description */ else diff --git a/app/src/data/types.ts b/app/src/data/types.ts index 0e53d40e9..db0a2fd9f 100644 --- a/app/src/data/types.ts +++ b/app/src/data/types.ts @@ -34,30 +34,35 @@ export type _Timings = [string, number, number][]; export type _Entry = { input: string; translatedText: string; + model?: string; from_community_srt?: string; - n_reviews?: number; - start?: number; - end?: number; + n_reviews: number; + start: number; + end: number; }; /** translation entry (title/description/entry) */ export type Entry = { - /** number of reviews (upvotes/edits) */ - reviews: number; - /** upvoted state */ - upvoted: boolean; - /** starting translation state */ - startingTranslation: string; - /** translation edit state */ - currentTranslation: string; /** starting original english state */ startingOriginal: string; /** original english edit state */ currentOriginal: string; - /** timestamp range */ - timeRange?: [number, number]; + /** starting translation state */ + startingTranslation: string; + /** translation edit state */ + currentTranslation: string; + /** translation model */ + model?: string; /** old built-in youtube community translation */ legacyTranslation?: string; + /** number of reviews (upvotes/edits) */ + reviews: number; + /** upvoted state */ + upvoted: boolean; + /** start time */ + start: number; + /** end time */ + end: number; }; /** language/topic/lesson completion format */ diff --git a/app/src/pages/Edit.tsx b/app/src/pages/Edit.tsx index 5ec089405..0cb37562b 100644 --- a/app/src/pages/Edit.tsx +++ b/app/src/pages/Edit.tsx @@ -137,17 +137,6 @@ export const loader: LoaderFunction = async ({ params }) => { if (data) setAtom(captions, data.map(convert)); } - /** load caption timings */ - { - const url = `${base}/${path}/english/sentence_timings.json`; - const data = await request<_Timings>(url); - if (data) - data.forEach(([, start, end], index) => { - if (getAtom(captions)[index]) - getAtom(captions)[index]!.timeRange = [start, end]; - }); - } - /** alert about locked status */ if (getAtom(locked)) window.setTimeout(() => { diff --git a/app/src/pages/edit/Row.tsx b/app/src/pages/edit/Row.tsx index c12dc33d0..38d67aa9c 100644 --- a/app/src/pages/edit/Row.tsx +++ b/app/src/pages/edit/Row.tsx @@ -45,17 +45,16 @@ function Row({ index, entries }: Props) { /** extract entry props */ const { - reviews, - upvoted, - startingTranslation, - currentTranslation, startingOriginal, currentOriginal, - timeRange, + startingTranslation, + currentTranslation, legacyTranslation, + reviews, + upvoted, + start, + end, } = entry; - const [start = 0, end = 0] = timeRange || []; - const ref = useRef(null); /** url params */ @@ -109,7 +108,7 @@ function Row({ index, entries }: Props) { {edited ? 1 : reviews + Number(upvoted)} - {timeRange && ( + {(start && end) && (