Carlos Valente
aebf949883
refactor: create transaction system and apply to adding entry ( #1620 )
...
* refactor: create transaction system and apply to adding entry
* refactor: migrate edit mutations to transaction
* refactor: migrate delete mutation to transaction
* refactor: migrate reorder mutation to transaction
* refactor: migrate apply delay to transaction
* refactor: migrate swapEvents to transaction
* refactor: migrate clone to transaction
* refactor: migrate group/ungroup transactions
* refactor: simplify mutations
* refactor: migrate getters
* chore: add tests to processRundown()
2025-06-09 14:12:58 +02:00
Carlos Valente
421183fe55
refactor: improve reorder logic
2025-06-09 14:12:58 +02:00
Carlos Valente
0b719c485f
refactor: refetch targets is enum
2025-06-09 14:12:57 +02:00
Carlos Valente
17deeddb87
refactor: small ux improvements
...
- rename dissolve > ungroup
- prevent ondrag when clicking
- add untitled as block title fallback
- move block action to context menu
2025-06-09 14:12:57 +02:00
Carlos Valente
2f26f20db5
feat: duplicate groups
2025-06-09 14:12:56 +02:00
Carlos Valente
11e0215530
feat: create group from entry selection
2025-06-09 14:12:56 +02:00
Carlos Valente
c7b2f0e89c
refactor: type cleanup and test improvements
2025-06-09 14:12:56 +02:00
Carlos Valente
a1505606cf
feat: allow dissolving a block
2025-06-09 14:12:56 +02:00
Carlos Valente
e287215179
refactor: improve return of reorder
2025-06-09 14:12:56 +02:00
Carlos Valente
72c4ad789a
refactor: extract rundown parsing
...
refactor: implement groups in editor
2025-06-09 14:12:54 +02:00
Carlos Valente
3754c374c3
refactor: maintain flat orders
2025-06-09 14:12:54 +02:00
Carlos Valente
dd6d74121c
refactor: implement operations on nested events
2025-06-09 14:12:54 +02:00
Carlos Valente
82dc1bc56b
chore: improve convention entry <> event
2025-06-09 14:12:54 +02:00
Carlos Valente
5c6b06a0d4
refactor: improve project loading
2025-06-09 14:12:53 +02:00
Carlos Valente
abd9b127db
refactor: restructure model to contain an object of rundowns
2025-06-09 14:12:51 +02:00
cv
b136e2856a
refactor: simplify logic
2025-04-15 21:25:33 +02:00
Alex Christoffer Rasmussen
b6507c27a6
Report ( #1469 )
...
* create report service
* write report from runtimeState
* use in UI
* clear report
* update types
* clear all from settings menu
* rearence rightclik menu
* refactor styling
* also report roll events
* ontime/under time is same colour
* refactor reporter
* add target to ontime-refetch
* remove menu
* fectch only on message from server
* memo useGetEventReport
* refactor
* use staleTime
* dont add to menu yet
* implement review
* clear all from menu
* fix merge
* start end show
* combine test for the go button text and action
* add report to menu
* extract csv utility
* report management
* unneeded async
* small refacort of triggerReportEntry
---------
Co-authored-by: Carlos Valente <carlosvalente@pm.me >
2025-02-23 17:02:09 +01:00
Carlos Valente
ec823e0095
refactor: improve cuesheet composition
...
refactor: simplify placing events in rundown
m
2024-12-20 09:03:02 +01:00
Carlos Valente
29e682ee06
refactor: remove frozen implementation
2024-11-30 22:31:18 +01:00
Carlos Valente
3a7c2b8a55
refactor: refetch on load
2024-11-12 21:46:31 +01:00
Carlos Valente
0abaf7724d
refactor: refetch on change
2024-09-01 17:18:48 +02:00
Carlos Valente
d3620b52f4
refactor: only broadcast public
2024-08-11 18:18:53 +02:00
Carlos Valente
da11ef64c2
refactor: roll mode
...
* chore: escalate stack trace to console
* refactor: event finding in roll
* docs: initial roll specification
* refactor: call to roll
* refactor: normalise index
* refactor: roll into next event
* refactor: hot reload on waiting to roll
* refactor: wait to roll next
2024-08-04 21:34:01 +02:00
Alex Christoffer Rasmussen
158ef05ff0
add relevantBlock function ( #1100 )
...
* feat: current block
* pass full rundown to functions and use filter utils
2024-07-23 12:22:47 +02:00
jwetzell
e6e00c0d4a
add freeze feature to rundown ( #1106 )
...
* add frozen flag to runtime store
* add middleware for when frozen
* prevent rundown editing when frozen
* add endpoint to router to set frozen state
* add frozen property to rundown placeholder in client
2024-07-19 14:14:59 +02:00
Carlos Valente
e6c3322321
feat: add list of changes to refetch
2024-07-11 11:03:07 +02:00
Carlos Valente
a09aa922bb
refactor: delete several events
2024-05-26 21:36:49 +02:00
Carlos Valente
55d1aca9b6
V3 ( #657 )
...
* refactor: cleanup routes
* style: smaller base font
* chore: upgrade dependencies
* chore: lock node version to electron
* refactor: pass HTTP to integration controller (#652 )
* refactor: deprecate onair control
* refactor: remove playback router
* Several project files user folder (#617 )
* chore: automated screenshots (#667 )
* feat: app settings (#658 )
* refactor: remove deprecated event data (#674 )
* Studio clock (#663 )
---------
Co-authored-by: Carlos Valente <carlosvalente@pm.me >
* Feat: reorder events with alt+ctrl + arrow up/down (#645 )
* Warning and danger per event (#677 )
---------
Co-authored-by: Fabian Posenau <fabian@fphome.de >
* refactor: stabilise actionHandler (#683 )
Co-authored-by: Fabian Posenau <fabian@fphome.de >
* improvement: hide seconds (#675 )
* wip: overview (#688 )
* fix: focus cursor (#695 )
* refactor: update lower third (#665 )
* Refactor/time formatting (#696 )
---------
Co-authored-by: Carlos Valente <34649812+cpvalente@users.noreply.github.com >
Co-authored-by: Carlos Valente <carlosvalente@pm.me >
* feat: multiple selection (#703 )
---------
Co-authored-by: asharonbaltazar <asharonbaltazar@outlook.com >
Co-authored-by: Alex <ac@omnivox.dk >
* fix: test - go to `Edit mode` befor tying to click `Event options` button (#708 )
* refactor: runtime service (#715 )
* fix: issue with loosing cursor position on message (#719 )
* remove info panel (#721 )
* Event editor continue (#722 )
* update API - part (#709 )
---------
Co-authored-by: Carlos Valente <34649812+cpvalente@users.noreply.github.com >
Co-authored-by: Carlos Valente <carlosvalente@pm.me >
* refactor: update timers (#729 )
* feat: many timers (#706 )
---------
Co-authored-by: arc-alex <ac@omnivox.dk >
* refactor: excel cleanup (#734 )
* refactor: allow import of blocks and skip import (#735 )
* Project manager (#697 )
* refactor: UI for linking events (#763 )
* upgraded pipeline actions (#777 )
* Over under (#771 )
* custom fields (#744 )
---------
Co-authored-by: Carlos Valente <carlosvalente@pm.me >
* Sheets settings (#774 )
---------
Co-authored-by: arc-alex <ac@omnivox.dk >
* style: tweaks to lower thirds (#785 )
* refactor: delays account for gaps (#784 )
* refactor: partial state updates (#780 )
* feat: generate crash report (#787 )
* Sheet use limited input device auth flow (#782 )
---------
Co-authored-by: cv <34649812+cpvalente@users.noreply.github.com >
Co-authored-by: Carlos Valente <carlosvalente@pm.me >
* Custom fields views (#789 )
* refactor: deprecate presenter and subtitle (#795 )
* refactor: organise API around resources (#798 )
---------
Co-authored-by: Bianca Procopio <biancahprocopio@gmail.com >
* Time to end (#804 )
* Skip fixes (#805 )
* fix: onair derives from playback
* Param nav (#822 )
---------
Co-authored-by: Alex Christoffer Rasmussen <ac@omnivox.dk >
* refactor: download files from interface (#831 )
* Quick options (#814 )
* End pause (#832 )
* chore: bump node version in docker (#834 )
* refactor: follow in run mode (#840 )
* fix: uncaught error in http integration (#837 )
* Apply project (#843 )
Co-authored-by: Matteo Gheza <matteo.gheza07@gmail.com >
Co-authored-by: Ary <arylmoraesn@gmail.com >
Co-authored-by: Alex Christoffer Rasmussen <ac@omnivox.dk >
Co-authored-by: Fabian Posenau <19673098+kellhogs@users.noreply.github.com >
Co-authored-by: Fabian Posenau <fabian@fphome.de >
Co-authored-by: Alex Rohleder <alexrohleder96@gmail.com >
Co-authored-by: asharonbaltazar <asharonbaltazar@outlook.com >
Co-authored-by: Bianca Procopio <biancahprocopio@gmail.com >
Co-authored-by: Fabian Posenau <fabianpos99+github@gmail.com >
2024-04-13 10:06:46 +02:00
Carlos Valente
1ca3b9c134
refactor: better errors ( #590 )
...
* refactor: improve error messages from server
2023-11-14 21:54:56 +01:00
Carlos Valente
45fe669f0a
feat: excel import ( #527 )
...
* refactor: simplify excel import
* chore: add external deepmerge utility
* chore: create import map utilities
* chore: increase size limits on uploads
* style: small presentation tweaks
* feat: resolve times on excel import, refs #508
2023-11-11 14:28:43 +01:00
Carlos Valente
9708f0bfc6
refactor: pass events instead of derived data to titles ( #493 )
...
* refactor: pass events instead of derived data to titles
2023-09-14 22:30:23 +02:00
Carlos Valente
93fb48ea1c
feat: operator view ( #440 )
...
* feat: operator view
* chore: smoke test operator
* refactor: small improvements from deepsource
---------
Co-authored-by: arihanv <arihanvaranasi@gmail.com >
Co-authored-by: arihanv <63890951+arihanv@users.noreply.github.com >
2023-09-11 21:03:11 +02:00
Carlos Valente
e5fdf27f6c
fix: apply delay ( #494 )
...
* fix: bug with applying delays
* fix: show delay data only in production screens
* chore: cover delay with feature test
* refactor: simplify type assertion
2023-08-23 22:31:15 +02:00
Carlos Valente
657cc22b44
feat: event cue ( #473 )
...
* feat: parse cue
* refactor: get delay from backend
* feat: add cue to UI
* refactor: remove deprecated delay logic
* refactor: extract studio clock specific logic
* refactor: extract utilities
* refactor: fix issue with missing key
* style: prevent cue overflow
* style: prevent whitespace wrap
* feat: add support for cues in integrations
2023-08-17 21:43:11 +02:00
asharonbaltazar
51c31adaf1
Swap Event Data ( #446 )
...
* use zustand store in `ContextMenuContext`
* add `withDivider` prop to context menu `Option`
* add `isDisabled` prop to `Option`
* create `eventIdSwapping` store
* create swapping context menu options
* fix `key` in ContextMenu
* address `tanstack-eslint` errors
* create initial `requestEventSwap` event
* create initial `swapEvents` action
* use `swapEvents` in `EventBlock`
* move from `emitError` to `logAxiosError`
* remove extra curly brace from Copy ID
* add `clearEventId` func
* finalize context menu swapping logic
* write optimistic swapping logic
* remove unused import and type out handler in `rundownController`
* create `rundownSwapValidator`
* move index increase to `EventBlock`
* move swapping logic from `id` to `index`
* create `swapEvents` endpoint
* move `useEventIdSwapping` hook into its own file
* revert to using event `id`
* logic now uses indexes to swap events
* add `todo` to `swapEvents`
* revert index increment
* create `swapOntimeEvents` and export in `index.ts`
* use `swapOntimeEvents` in frontend & server
* update import path
* remove extra `setCached`
2023-08-15 16:04:53 -04:00
Carlos Valente
f3610059ef
fix paused ( #486 )
...
* fix: prevent timer continue on paused count up
* refactor: throw if not found on delete
2023-08-12 11:24:35 +02:00
Carlos Valente
023aac4ead
fix: midnight roll ( #484 )
...
* refactor: extract utilities and types
* refactor: extract and simplify progress bar logic
* refactor: duration validation handles midnight
* fix: prevent stale event loader
* refactor: consider next event in timer invalidation
* refactor: reload changes on changed roll target
* refactor: timer load accounts for midnight
* fix: issues with midnight on roll
* refactor: prevent stale secondary event
2023-08-12 10:42:43 +02:00
Carlos Valente
3603b836f6
refactor: cuesheet v2 ( #435 )
...
* refactor: typescript migration
* chore: remove prop-types package
* refactor: file structure
* refactor: migrate ontime table to tanstack table 8
* refactor: rundown controller uses service as data source
* refactor: convert to typescript
* feat: caching store
* refactor: add delay values to rundown
* feat: toggle past visibility
* chore: update tests
* refactor: add extra fields to CSV
* style: show skipped events
* chore: add route to navigation menu
* style: allow jumping to bottom
* chore: add tests
2023-07-22 09:32:40 +02:00