Add grid auto-build functionality with profile management and preview capabilities
ci / build-backend (push) Successful in 2m40s
ci / build-frontend (push) Successful in 1m14s
ci / tests (push) Successful in 2m45s
ci / sonar (push) Successful in 7m4s

Implemented new API endpoints and frontend components for grid auto-building based on predefined profiles. Added functionality to list grid profiles, preview generated grids, and generate grids with specified parameters. Enhanced the TemplateEndpoints and related services to support these features, improving the user experience for channel scheduling. Localization updates were made to accommodate new features in both English and Russian.
This commit is contained in:
Leonid Pershin
2026-07-27 08:08:56 +03:00
parent 6fe6404e61
commit bef029b858
33 changed files with 2623 additions and 44 deletions
+26
View File
@@ -318,6 +318,11 @@ export const en = {
processingShort: 'Processing',
average: 'Average processing time (recent)',
averageShort: 'Avg time',
eta: 'Estimated time until the queue drains: work left at the average rate, divided by the number of parallel transcodes',
etaShort: 'Left',
etaSoon: 'under a minute',
hoursShort: 'h',
minutesShort: 'min',
},
},
gallery: {
@@ -423,6 +428,27 @@ export const en = {
newLayerName: 'New layer',
addSlotHere: 'Add slot',
newSlot: 'New slot',
/** Grid auto-build by profile: plan preview and creation. */
generate: {
action: 'Build grid',
title: 'Grid auto-build',
hint: 'A profile sets the rhythm of the day: block length, what airs in prime time and what fills the night. Groups are picked from the existing ones by rating, content type and how many units they hold.',
modes: {
FillGaps: 'Fill gaps',
Rebuild: 'Rebuild the week',
},
modeHints: {
FillGaps: 'Existing slots are left alone — only uncovered time is filled.',
Rebuild:
'All template slots are removed; the weekend is built as a separate layer on top.',
},
summary: 'Slots to create: {{slots}} — that is {{percent}}% of the free week.',
willRemove: 'Slots to remove: {{count}}.',
fallback: 'The fallback group will be "{{name}}" — it covers pauses between slots.',
nothing: 'Nothing to create: there is no free time in the grid.',
create: 'Build',
done: 'Created {{created}} slots, removed {{removed}}.',
},
editSlot: 'Slot',
slotTitle: 'Block title',
slotStart: 'Start',