Carlos Valente
6178ed1e4e
Apply project ( #843 )
2024-03-22 12:52:55 +01:00
Carlos Valente
4bb836b6f2
End pause ( #832 )
...
* refactor: trigger ahead
* refactor: refresh often
* fix: handle empty rundown updates
* fix: handle falsy values
* style: avoid overlap of components
* refactor: freeze end option
2024-03-19 18:04:05 +01:00
Carlos Valente
a91a8a6358
refactor: simplify time-to-end ( #828 )
...
* refactor: simplify time-to-end
* refactor: rundown metadata
* refactor: handle overflow in UI
* refactor: show gaps between days
---------
Co-authored-by: Alex Christoffer Rasmussen <ac@omnivox.dk >
2024-03-18 17:24:11 +01:00
Carlos Valente
8b6e06150a
fix: update cache on delete-all ( #827 )
2024-03-17 19:45:34 +01:00
Carlos Valente
10d7273ec0
Skip fixes ( #805 )
...
* refactor: resolve current in time-to-end
* refactor: recalculate on skip
* Alpha tweaks (#806 )
* style: small tweaks to interface
* refactor: simplify quick add
2024-03-08 19:54:18 +01:00
Alex Christoffer Rasmussen
474f1e2177
Sheet use limited input device auth flow ( #782 )
...
* refactor: limited-input-device auth
* refactor: resolve sheet directory from setup
* refactor: extract sheet logic in backend
* refactor: simplify sheet integration
---------
Co-authored-by: cv <34649812+cpvalente@users.noreply.github.com >
Co-authored-by: Carlos Valente <carlosvalente@pm.me >
2024-02-24 11:58:50 +01:00
Carlos Valente
7ff75835ff
refactor: partial state updates ( #780 )
...
* refactor: partial state updates
* refactor: less calls to restore
* refactor: add error stack trace to log
2024-02-19 21:31:27 +01:00
Carlos Valente
1a420a1ddd
Over under ( #771 )
...
* feat: schedule offset
2024-02-16 21:04:58 +01:00
Carlos Valente
5355e45b80
refactor: UI for linking events ( #763 )
2024-02-11 15:18:04 +01:00
Carlos Valente
212e5f9e68
refactor: small type improvements ( #759 )
2024-02-03 23:17:36 +01:00
Carlos Valente
1890fc49d7
refactor: normalise data ( #756 )
...
* chore: remove legal from bundle
* refactor: create normalised dataset
* refactor: cuesheet uses flat rundown
* refactor: multi-selection
* refactor: prevent stale data on server restart
* refactor: increase ID size
* chore: instrument operation
* chore: update csv tests
* fix: resolve directory to test-db (#758 )
2024-02-03 21:43:17 +01:00
Carlos Valente
91fd275564
refactor: rundown service fetches data from data provider ( #752 )
2024-01-31 19:30:44 +01:00
Carlos Valente
7eb9ee8d03
refactor: flatten state mutations ( #750 )
2024-01-31 14:02:27 +01:00
Carlos Valente
ec8952be56
chore: organise delay and rundown utils ( #749 )
2024-01-30 21:26:37 +01:00
Carlos Valente
6a5020424b
refactor: improve typing in backend ( #748 )
2024-01-30 21:12:19 +01:00
Carlos Valente
f6557a9814
style: editor tweaks ( #736 )
...
* style: menu tweaks
* style: editor tweaks
* style: freeze
2024-01-26 14:47:27 +01:00
Carlos Valente
74e1ae609c
refactor: update timers ( #729 )
...
* refactor: remove duplication
* refactor: previous times
* refactor: event patching
2024-01-25 13:36:45 +01:00
Carlos Valente
a2950442d8
refactor: runtime service ( #715 )
...
* refactor: rename PlaybackService > RuntimeService
* refactor: stateful runtime service
* refactor: merge event loading
* refactor: roll is part of state mutation
2024-01-16 19:54:40 +01:00
Carlos Valente
7f63cde7a5
feat: multiple selection ( #703 )
...
feat: multiple event selection
---------
Co-authored-by: asharonbaltazar <asharonbaltazar@outlook.com >
Co-authored-by: Alex <ac@omnivox.dk >
2024-01-12 13:07:56 +01:00
Alex Rohleder
f965db148c
refactor: setup global timer state ( #629 )
...
* refactor: setup global timer state
---------
Co-authored-by: Carlos Valente <34649812+cpvalente@users.noreply.github.com >
Co-authored-by: Carlos Valente <carlosvalente@pm.me >
2024-01-12 13:03:58 +01: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