` trailer),
+push, and open a PR toward `stable`. Watch CI to green (`angular-unit-test`, build, dotnet shards,
+playwright). Note: this change is display-only and does not touch the Excel export, so the export
+parity playwright test is unaffected. Fix any genuine failures; treat unrelated flaky playwright
+shards as flaky (re-run).
+
+---
+
+## Self-Review
+
+- **Spec coverage:** duration format (Task 1) ✓; full vs no-decimal rows — pause/worked/paid-out/flex full (Task 2 Steps 4–7), planned break/plan-hours no-decimal (Task 2 Steps 1–3) ✓; negative red (Task 2 Step 7) ✓; times stay HH:mm (untouched) ✓; all icons outlined (Task 3) ✓; decimal same colour (no special styling — inherits row colour) ✓; translatable labels da+en exact, others fallback (Task 4) ✓; both parts from same value (formatter uses one `totalMinutes`) ✓.
+- **Placeholder scan:** none — every step has concrete code/commands.
+- **Type/name consistency:** `formatDuration(hours, withDecimal=true)` signature is identical across Task 1 (definition) and all Task 2 call sites; `.red-text` and `material-symbols-outlined` match existing usages in the file.
+- **Cross-repo note:** SCSS intentionally untouched to keep this a single plugin-repo PR; icon weight relies on the default Material Symbols Outlined rendering (matches "outlined"; if the user later wants it thinner, that's a follow-up, possibly in the core `eform-angular-frontend` SCSS repo).
diff --git a/docs/superpowers/specs/2026-06-09-planning-day-cell-presentation-design.md b/docs/superpowers/specs/2026-06-09-planning-day-cell-presentation-design.md
new file mode 100644
index 00000000..67643471
--- /dev/null
+++ b/docs/superpowers/specs/2026-06-09-planning-day-cell-presentation-design.md
@@ -0,0 +1,164 @@
+# Design: Planning day-cell presentation (duration formatting + thin icons)
+
+**Date:** 2026-06-09
+**Plugin:** eform-angular-timeplanning-plugin (Angular frontend)
+**Dev mode:** Base dev mode — edit in the `eform-angular-frontend` host-app mirror, then
+`devgetchanges.sh` back to the source repo. SCSS is centralized in `eform-angular-frontend`.
+**Mockup:** `docs/superpowers/mockups/2026-06-09-planning-day-cell-mockup.html`
+
+## Summary
+
+Re-style the presentation of a single day cell in the planning view
+(`/plugins/time-planning-pn/planning`) to match a target mockup. This is a
+**presentation-only** change: all existing rows are kept, the cell colouring logic is
+unchanged, and no data/model changes are made. Two things change:
+
+1. Every **duration value** renders as `X t Y min (Z.ZZ timer)` (Danish: `t`=hours,
+ `min`=minutes, `timer`=hours), instead of bare decimals (`9.00`) or `HH:mm`.
+ The **planned** pause/break and planned plan-hours render as `X t Y min` **without**
+ the `(Z.ZZ timer)` decimal part.
+2. The cell icons switch to the thin **Material Symbols Outlined** style to match the
+ image.
+
+Time-of-day stamps (actual start/stop, planned start/end) **stay `HH:mm`** — no seconds.
+
+## Target & current state
+
+The cell is the existing `#dayColumnTemplate` in
+`eform-client/src/app/plugins/modules/time-planning-pn/components/plannings/time-plannings-table/time-plannings-table.component.html`
+(~lines 139–335), driven by `time-plannings-table.component.ts` and styled by the global
+`eform-client/src/scss/styles.scss` (`.green-background`, `.plan-container`, `.neutral-icon`, …).
+
+Current rows (all KEPT): planned shift(s), actual shift stamps, pause total, worked/net
+hours, paid-out flex, flex balance, comments, and absence icons in the right column.
+
+## Decisions (from brainstorming)
+
+| # | Decision |
+|---|----------|
+| 1 | **Keep all rows.** Presentation only; cell colour logic (`getCellClass`) unchanged. |
+| 2 | **Times stay `HH:mm`** (no seconds) for both actual stamps and planned ranges. |
+| 3 | **Duration format** = `X t Y min (Z.ZZ timer)`: hours part always shown (`0 t 3 min`), decimal hours to **2 places** with the word `timer`. |
+| 4 | **Both parts derive from the same underlying value**, so they are always internally consistent. (The sample image's parts disagree numerically — that is unrelated dummy data and is **not** replicated.) |
+| 5 | **Full format** (`X t Y min (Z.ZZ timer)`) applies to: **actual pause total, worked/net hours, flex balance, paid-out flex.** |
+| 6 | **`X t Y min` only** (no decimal) applies to: **planned pause/break, planned plan-hours.** |
+| 7 | **Negative** values render `-X t Y min (-Z.ZZ timer)` and are coloured **red**. |
+| 8 | **Icons** switch to **Material Symbols Outlined**, thin weight (matches the image). |
+| 9 | The decimal part renders in the **same colour** as the rest of the row (not greyed). |
+| 10 | Labels `t` / `min` / `timer` are **translatable** (ngx-translate, per-locale dicts). |
+
+## Format specification
+
+A single pure formatter converts a **decimal-hours** value into the display string.
+
+```
+formatHoursDuration(hours, withDecimal):
+ negative = hours < 0
+ abs = |hours|
+ h = floor(abs)
+ m = round((abs - h) * 60)
+ if m == 60: m = 0; h = h + 1 # rounding carry
+ sign = negative ? "-" : ""
+ base = `${sign}${h} ${t} ${m} ${min}` # e.g. "-0 t 32 min"
+ if withDecimal:
+ dec = `(${sign}${abs.toFixed(2)} ${timer})` # e.g. "(-0.53 timer)"
+ return `${base} ${dec}`
+ return base
+```
+
+- `t`, `min`, `timer` come from `translateService.instant('t' | 'min' | 'timer')`.
+- **Pause** is stored in minutes (`pauseMinutes`) and **planned break** in minutes
+ (`plannedBreakOfShiftN`); callers convert to hours (`minutes / 60`) before formatting,
+ so both parts stay consistent (3 min → `0 t 3 min (0.05 timer)`).
+- Worked hours = `nettoHoursOverrideActive ? nettoHoursOverride : actualHours`.
+- Flex balance = `sumFlexEnd`; paid-out flex = `paidOutFlex` (parse to number).
+
+### Worked examples (for tests)
+| Input (hours) | withDecimal | Output |
+|---|---|---|
+| `3/60` (pause 3 min) | yes | `0 t 3 min (0.05 timer)` |
+| `7.58` | yes | `7 t 35 min (7.58 timer)` |
+| `2.0` | yes | `2 t 0 min (2.00 timer)` |
+| `-0.53` | yes | `-0 t 32 min (-0.53 timer)` |
+| `30/60` (planned break) | no | `0 t 30 min` |
+| `0` | yes | `0 t 0 min (0.00 timer)` |
+| `0.999` | yes | `1 t 0 min (1.00 timer)` (rounding carry) |
+
+## Architecture & files
+
+Small, focused change across four units. No new components.
+
+**1. `time-plannings-table.component.ts`** — add formatter method(s) beside the existing
+`convertHoursToTime*` converters (the established convention is component methods, not a
+pipe — there is no `pipes/` dir in the module):
+- `formatHoursDuration(hours: number, withDecimal: boolean): string` (the spec above).
+- Thin convenience wrappers if helpful: `formatDurationFull(hours)` and
+ `formatDurationShort(hours)`.
+- A predicate the template already can use: a value `< 0` triggers the red class.
+
+**2. `time-plannings-table.component.html`** (`#dayColumnTemplate`) — bindings only:
+- Actual **pause** row → `formatDurationFull(pauseMinutes / 60)`.
+- **Worked/net** row → `formatDurationFull(actualHours)` / override branch
+ `formatDurationFull(nettoHoursOverride)`.
+- **Paid-out flex** row → `formatDurationFull(+paidOutFlex)`.
+- **Flex balance** row → `formatDurationFull(sumFlexEnd)`, plus `[class.red-text]="sumFlexEnd < 0"`.
+- **Planned break** (within planned rows) → `formatDurationShort(plannedBreakOfShiftN / 60)`.
+- **Plan-hours-only** variant → `formatDurationShort(planHours)`.
+- Time ranges unchanged (`formatStamp` / `getStopTimeDisplayWithSeconds`, planned
+ `convertMinutesToTime` for start/end).
+- Add `fontSet="material-symbols-outlined"` to the cell's icons: `calendar_month`,
+ `login`, `logout`, `pause`, `schedule`, `payments`, `swap_vert` (and `warning`, `face`,
+ `gite`, and the absence icons, for a consistent thin look). Keep the `neutral-icon` class.
+
+**3. `eform-client/src/scss/styles.scss`** (central) — minimal:
+- Ensure Material Symbols Outlined renders at the same size as the current icons
+ (the existing `.neutral-icon` is `font-size:20px; font-weight:200`; Material Symbols is a
+ variable font so weight 200 already gives the thin look). Add
+ `font-variation-settings: 'FILL' 0, 'wght' 300, 'opsz' 20;` to `.neutral-icon` (or a
+ scoped class) if needed so the outlined glyphs match the mockup weight.
+- Reuse existing `.red-text` for negative durations — likely no new rule needed.
+
+**4. i18n** — add `t`, `min`, `timer` keys to every locale dict under
+`eform-client/src/app/plugins/modules/time-planning-pn/i18n/*.ts`:
+- `da.ts`: `t: 't'`, `min: 'min'`, `timer: 'timer'`.
+- `enUS.ts`: `t: 'h'`, `min: 'min'`, `timer: 'hrs'` (English wording — confirm at review).
+- Other locales: sensible equivalents (fall back to the da/en wording where unsure;
+ flag low-confidence ones).
+
+## Data flow
+
+Unchanged. The cell still binds `row.planningPrDayModels[col.field]` (`PlanningPrDayModel`).
+All values needed (`pauseMinutes`, `actualHours`, `nettoHoursOverride[Active]`, `sumFlexEnd`,
+`paidOutFlex`, `plannedBreakOfShift1..5`, `planHours`) already exist on the model. Only the
+**rendering** of these values changes.
+
+## Edge cases
+
+- **Rounding carry**: `m == 60` after rounding carries into the hour (see formatter).
+- **Negative zero**: `-0.00` must show as `0 t 0 min (0.00 timer)` (not `-0…`); guard
+ `hours === 0` (and the existing `normalizeFlex` `-0.00`→`0.00` behaviour informs this).
+- **Paid-out flex** is a string on the model → parse with `parseFloat` (handle `,`/`.` and
+ empty → 0), mirroring existing handling.
+- **`useOneMinuteIntervals`** does not affect this change — times remain `HH:mm` regardless.
+
+## Testing
+
+- **Unit test (primary)** — a Jasmine/Karma spec for `formatHoursDuration` covering every
+ row of the "Worked examples" table, including the negative, zero, planned-short (no
+ decimal), and rounding-carry cases. (CI already runs `angular-unit-test`.)
+- **Visual check** — run the planning view in the app and confirm a completed day matches
+ the mockup (icons thin/outlined, durations formatted, times still HH:mm, negative flex
+ red).
+- No change to e2e parity/export tests (this is display-only and does not touch exports).
+
+## Out of scope
+
+- No change to which rows appear, cell colour logic, the workday dialog, or any export.
+- No seconds in any timestamp.
+- No new pipe or component; no model/back-end change.
+
+## Resolved (post-review)
+
+- English wording confirmed: `t: 'h'`, `min: 'min'`, `timer: 'hrs'`.
+- **All** cell icons switch to Material Symbols Outlined (duration/shift icons AND
+ `warning` / `face` / `gite` / the absence icons) for a consistent thin look.
diff --git a/eform-client/playwright/e2e/plugins/time-planning-pn/b/dashboard-assert.spec.ts b/eform-client/playwright/e2e/plugins/time-planning-pn/b/dashboard-assert.spec.ts
index be5a8498..a13320d0 100644
--- a/eform-client/playwright/e2e/plugins/time-planning-pn/b/dashboard-assert.spec.ts
+++ b/eform-client/playwright/e2e/plugins/time-planning-pn/b/dashboard-assert.spec.ts
@@ -168,63 +168,63 @@ const updatePlanHoursFutureWeek = [
];
const planTexts = [
- { date: lastWeekDates[0], text: '07:30-15:30', plannedHours: '8:00', flexBalanceToDate: 'swap_vert89.45', calculatedHours: '8', plannedStartOfShift1: '07:30', plannedEndOfShift1: '15:30', plannedBreakOfShift1: '', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
- { date: lastWeekDates[1], text: '7:45-16:00/1', plannedHours: '8:00', flexBalanceToDate: 'swap_vert82.20', calculatedHours: '7.25', plannedStartOfShift1: '07:45', plannedEndOfShift1: '16:00', plannedBreakOfShift1: '01:00', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
- { date: lastWeekDates[2], text: '7:15-16:00/1;17-20/0,5', plannedHours: '8:00', flexBalanceToDate: 'swap_vert71.95', calculatedHours: '10.25', plannedStartOfShift1: '07:15', plannedEndOfShift1: '16:00', plannedBreakOfShift1: '01:00', plannedStartOfShift2: '17:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:30' },
- { date: lastWeekDates[3], text: '6-12/½;18:00-20:00/0.5', plannedHours: '8:00', flexBalanceToDate: 'swap_vert64.95', calculatedHours: '7', plannedStartOfShift1: '06:00', plannedEndOfShift1: '12:00', plannedBreakOfShift1: '00:30', plannedStartOfShift2: '18:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:30' },
- { date: lastWeekDates[4], text: '06:00-12:00/¾;18:00-20:00/0.5', plannedHours: '8:00', flexBalanceToDate: 'swap_vert58.20', calculatedHours: '6.75', plannedStartOfShift1: '06:00', plannedEndOfShift1: '12:00', plannedBreakOfShift1: '00:45', plannedStartOfShift2: '18:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:30' },
- { date: lastWeekDates[5], text: '6-12/¾;18-20/¾', plannedHours: '8:00', flexBalanceToDate: 'swap_vert51.70', calculatedHours: '6.5', plannedStartOfShift1: '06:00', plannedEndOfShift1: '12:00', plannedBreakOfShift1: '00:45', plannedStartOfShift2: '18:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:45' },
- { date: lastWeekDates[6], text: '6-14/½', plannedHours: '8:00', flexBalanceToDate: 'swap_vert44.20', calculatedHours: '7.5', plannedStartOfShift1: '06:00', plannedEndOfShift1: '14:00', plannedBreakOfShift1: '00:30', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
+ { date: lastWeekDates[0], text: '07:30-15:30', plannedHours: '8 t 0 min', flexBalanceToDate: '(89.45 timer)', calculatedHours: '8', plannedStartOfShift1: '07:30', plannedEndOfShift1: '15:30', plannedBreakOfShift1: '', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
+ { date: lastWeekDates[1], text: '7:45-16:00/1', plannedHours: '8 t 0 min', flexBalanceToDate: '(82.20 timer)', calculatedHours: '7.25', plannedStartOfShift1: '07:45', plannedEndOfShift1: '16:00', plannedBreakOfShift1: '01:00', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
+ { date: lastWeekDates[2], text: '7:15-16:00/1;17-20/0,5', plannedHours: '8 t 0 min', flexBalanceToDate: '(71.95 timer)', calculatedHours: '10.25', plannedStartOfShift1: '07:15', plannedEndOfShift1: '16:00', plannedBreakOfShift1: '01:00', plannedStartOfShift2: '17:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:30' },
+ { date: lastWeekDates[3], text: '6-12/½;18:00-20:00/0.5', plannedHours: '8 t 0 min', flexBalanceToDate: '(64.95 timer)', calculatedHours: '7', plannedStartOfShift1: '06:00', plannedEndOfShift1: '12:00', plannedBreakOfShift1: '00:30', plannedStartOfShift2: '18:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:30' },
+ { date: lastWeekDates[4], text: '06:00-12:00/¾;18:00-20:00/0.5', plannedHours: '8 t 0 min', flexBalanceToDate: '(58.20 timer)', calculatedHours: '6.75', plannedStartOfShift1: '06:00', plannedEndOfShift1: '12:00', plannedBreakOfShift1: '00:45', plannedStartOfShift2: '18:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:30' },
+ { date: lastWeekDates[5], text: '6-12/¾;18-20/¾', plannedHours: '8 t 0 min', flexBalanceToDate: '(51.70 timer)', calculatedHours: '6.5', plannedStartOfShift1: '06:00', plannedEndOfShift1: '12:00', plannedBreakOfShift1: '00:45', plannedStartOfShift2: '18:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:45' },
+ { date: lastWeekDates[6], text: '6-14/½', plannedHours: '8 t 0 min', flexBalanceToDate: '(44.20 timer)', calculatedHours: '7.5', plannedStartOfShift1: '06:00', plannedEndOfShift1: '14:00', plannedBreakOfShift1: '00:30', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
];
const updatePlanTexts = [
- { date: lastWeekDates[0], text: '07:30-15:30', plannedHours: '1', flexBalanceToDate: 'swap_vert89.45', calculatedHours: '8', plannedStartOfShift1: '07:30', plannedEndOfShift1: '15:30', plannedBreakOfShift1: '', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
- { date: lastWeekDates[1], text: '7:45-16:00/1', plannedHours: '2', flexBalanceToDate: 'swap_vert82.20', calculatedHours: '7.25', plannedStartOfShift1: '07:45', plannedEndOfShift1: '16:00', plannedBreakOfShift1: '01:00', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
- { date: lastWeekDates[2], text: '7:15-16:00/1;17-20/0,5', plannedHours: '3', flexBalanceToDate: 'swap_vert71.95', calculatedHours: '10.25', plannedStartOfShift1: '07:15', plannedEndOfShift1: '16:00', plannedBreakOfShift1: '01:00', plannedStartOfShift2: '17:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:30' },
- { date: lastWeekDates[3], text: '6-12/½;18:00-20:00/0.5', plannedHours: '4', flexBalanceToDate: 'swap_vert64.95', calculatedHours: '7', plannedStartOfShift1: '06:00', plannedEndOfShift1: '12:00', plannedBreakOfShift1: '00:30', plannedStartOfShift2: '18:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:30' },
- { date: lastWeekDates[4], text: '06:00-12:00/¾;18:00-20:00/0.5', plannedHours: '5', flexBalanceToDate: 'swap_vert58.20', calculatedHours: '6.75', plannedStartOfShift1: '06:00', plannedEndOfShift1: '12:00', plannedBreakOfShift1: '00:45', plannedStartOfShift2: '18:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:30' },
- { date: lastWeekDates[5], text: '6-12/¾;18-20/¾', plannedHours: '6', flexBalanceToDate: 'swap_vert51.70', calculatedHours: '6.5', plannedStartOfShift1: '06:00', plannedEndOfShift1: '12:00', plannedBreakOfShift1: '00:45', plannedStartOfShift2: '18:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:45' },
- { date: lastWeekDates[6], text: '6-14/½', plannedHours: '7', flexBalanceToDate: 'swap_vert44.20', calculatedHours: '7.5', plannedStartOfShift1: '06:00', plannedEndOfShift1: '14:00', plannedBreakOfShift1: '00:30', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
+ { date: lastWeekDates[0], text: '07:30-15:30', plannedHours: '1', flexBalanceToDate: '(89.45 timer)', calculatedHours: '8', plannedStartOfShift1: '07:30', plannedEndOfShift1: '15:30', plannedBreakOfShift1: '', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
+ { date: lastWeekDates[1], text: '7:45-16:00/1', plannedHours: '2', flexBalanceToDate: '(82.20 timer)', calculatedHours: '7.25', plannedStartOfShift1: '07:45', plannedEndOfShift1: '16:00', plannedBreakOfShift1: '01:00', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
+ { date: lastWeekDates[2], text: '7:15-16:00/1;17-20/0,5', plannedHours: '3', flexBalanceToDate: '(71.95 timer)', calculatedHours: '10.25', plannedStartOfShift1: '07:15', plannedEndOfShift1: '16:00', plannedBreakOfShift1: '01:00', plannedStartOfShift2: '17:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:30' },
+ { date: lastWeekDates[3], text: '6-12/½;18:00-20:00/0.5', plannedHours: '4', flexBalanceToDate: '(64.95 timer)', calculatedHours: '7', plannedStartOfShift1: '06:00', plannedEndOfShift1: '12:00', plannedBreakOfShift1: '00:30', plannedStartOfShift2: '18:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:30' },
+ { date: lastWeekDates[4], text: '06:00-12:00/¾;18:00-20:00/0.5', plannedHours: '5', flexBalanceToDate: '(58.20 timer)', calculatedHours: '6.75', plannedStartOfShift1: '06:00', plannedEndOfShift1: '12:00', plannedBreakOfShift1: '00:45', plannedStartOfShift2: '18:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:30' },
+ { date: lastWeekDates[5], text: '6-12/¾;18-20/¾', plannedHours: '6', flexBalanceToDate: '(51.70 timer)', calculatedHours: '6.5', plannedStartOfShift1: '06:00', plannedEndOfShift1: '12:00', plannedBreakOfShift1: '00:45', plannedStartOfShift2: '18:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:45' },
+ { date: lastWeekDates[6], text: '6-14/½', plannedHours: '7', flexBalanceToDate: '(44.20 timer)', calculatedHours: '7.5', plannedStartOfShift1: '06:00', plannedEndOfShift1: '14:00', plannedBreakOfShift1: '00:30', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
];
const planTextsNextWeek = [
- { date: nextWeekDates[0], text: '07:30-15:30', firstShift: '07:30 - 15:30 / 00:00', plannedHours: '8:00', flexBalanceToDate: 'swap_vert33:27', calculatedHours: '8', plannedStartOfShift1: '07:30', plannedEndOfShift1: '15:30', plannedBreakOfShift1: '', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
- { date: nextWeekDates[1], text: '7:45-16:00/1', firstShift: '07:45 - 16:00 / 01:00', plannedHours: '8:00', flexBalanceToDate: 'swap_vert25:27', calculatedHours: '7.25', plannedStartOfShift1: '07:45', plannedEndOfShift1: '16:00', plannedBreakOfShift1: '01:00', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
- { date: nextWeekDates[2], text: '7:15-16:00/1;17-20/0,5', firstShift: '07:15 - 16:00 / 01:00', secondShift: '17:00 - 20:00 / 00:30', plannedHours: '8:00', flexBalanceToDate: 'swap_vert17:27', calculatedHours: '10.25', plannedStartOfShift1: '07:15', plannedEndOfShift1: '16:00', plannedBreakOfShift1: '01:00', plannedStartOfShift2: '17:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:30' },
- { date: nextWeekDates[3], text: '6-12/½;18:00-20:00/0.5', firstShift: '06:00 - 12:00 / 00:30', secondShift: '18:00 - 20:00 / 00:30', plannedHours: '8:00', flexBalanceToDate: 'swap_vert9:27', calculatedHours: '7', plannedStartOfShift1: '06:00', plannedEndOfShift1: '12:00', plannedBreakOfShift1: '00:30', plannedStartOfShift2: '18:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:30' },
- { date: nextWeekDates[4], text: '06:00-12:00/¾;18:00-20:00/0.5', firstShift: '06:00 - 12:00 / 00:45', secondShift: '18:00 - 20:00 / 00:30', plannedHours: '8:00', flexBalanceToDate: 'swap_vert1:27', calculatedHours: '6.75', plannedStartOfShift1: '06:00', plannedEndOfShift1: '12:00', plannedBreakOfShift1: '00:45', plannedStartOfShift2: '18:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:30' },
- { date: nextWeekDates[5], text: '6-12/¾;18-20/¾', firstShift: '06:00 - 12:00 / 00:45', secondShift: '18:00 - 20:00 / 00:45', plannedHours: '8:00', flexBalanceToDate: 'swap_vert-6:33', calculatedHours: '6.5', plannedStartOfShift1: '06:00', plannedEndOfShift1: '12:00', plannedBreakOfShift1: '00:45', plannedStartOfShift2: '18:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:45' },
- { date: lastWeekDates[6], text: '6-14/½', firstShift: '06:00 - 14:00 / 00:30', plannedHours: '8:00', flexBalanceToDate: 'swap_vert-14:33', calculatedHours: '7.5', plannedStartOfShift1: '06:00', plannedEndOfShift1: '14:00', plannedBreakOfShift1: '00:30', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
+ { date: nextWeekDates[0], text: '07:30-15:30', firstShift: '07:30 - 15:30 / 0 t 0 min', plannedHours: '8 t 0 min', flexBalanceToDate: 'swap_vert33:27', calculatedHours: '8', plannedStartOfShift1: '07:30', plannedEndOfShift1: '15:30', plannedBreakOfShift1: '', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
+ { date: nextWeekDates[1], text: '7:45-16:00/1', firstShift: '07:45 - 16:00 / 1 t 0 min', plannedHours: '8 t 0 min', flexBalanceToDate: 'swap_vert25:27', calculatedHours: '7.25', plannedStartOfShift1: '07:45', plannedEndOfShift1: '16:00', plannedBreakOfShift1: '01:00', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
+ { date: nextWeekDates[2], text: '7:15-16:00/1;17-20/0,5', firstShift: '07:15 - 16:00 / 1 t 0 min', secondShift: '17:00 - 20:00 / 0 t 30 min', plannedHours: '8 t 0 min', flexBalanceToDate: 'swap_vert17:27', calculatedHours: '10.25', plannedStartOfShift1: '07:15', plannedEndOfShift1: '16:00', plannedBreakOfShift1: '01:00', plannedStartOfShift2: '17:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:30' },
+ { date: nextWeekDates[3], text: '6-12/½;18:00-20:00/0.5', firstShift: '06:00 - 12:00 / 0 t 30 min', secondShift: '18:00 - 20:00 / 0 t 30 min', plannedHours: '8 t 0 min', flexBalanceToDate: 'swap_vert9:27', calculatedHours: '7', plannedStartOfShift1: '06:00', plannedEndOfShift1: '12:00', plannedBreakOfShift1: '00:30', plannedStartOfShift2: '18:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:30' },
+ { date: nextWeekDates[4], text: '06:00-12:00/¾;18:00-20:00/0.5', firstShift: '06:00 - 12:00 / 0 t 45 min', secondShift: '18:00 - 20:00 / 0 t 30 min', plannedHours: '8 t 0 min', flexBalanceToDate: 'swap_vert1:27', calculatedHours: '6.75', plannedStartOfShift1: '06:00', plannedEndOfShift1: '12:00', plannedBreakOfShift1: '00:45', plannedStartOfShift2: '18:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:30' },
+ { date: nextWeekDates[5], text: '6-12/¾;18-20/¾', firstShift: '06:00 - 12:00 / 0 t 45 min', secondShift: '18:00 - 20:00 / 0 t 45 min', plannedHours: '8 t 0 min', flexBalanceToDate: 'swap_vert-6:33', calculatedHours: '6.5', plannedStartOfShift1: '06:00', plannedEndOfShift1: '12:00', plannedBreakOfShift1: '00:45', plannedStartOfShift2: '18:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:45' },
+ { date: lastWeekDates[6], text: '6-14/½', firstShift: '06:00 - 14:00 / 0 t 30 min', plannedHours: '8 t 0 min', flexBalanceToDate: 'swap_vert-14:33', calculatedHours: '7.5', plannedStartOfShift1: '06:00', plannedEndOfShift1: '14:00', plannedBreakOfShift1: '00:30', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
];
const updatePlanTextsNextWeek = [
- { date: nextWeekDates[0], text: '07:30-15:30', firstShift: '07:30 - 15:30 / 00:00', plannedHours: '8:00', flexBalanceToDate: 'swap_vert33:27', calculatedHours: '8', plannedStartOfShift1: '07:30', plannedEndOfShift1: '15:30', plannedBreakOfShift1: '', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
- { date: nextWeekDates[1], text: '7:45-16:00/1', firstShift: '07:45 - 16:00 / 01:00', plannedHours: '8:00', flexBalanceToDate: 'swap_vert25:27', calculatedHours: '7.25', plannedStartOfShift1: '07:45', plannedEndOfShift1: '16:00', plannedBreakOfShift1: '01:00', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
- { date: nextWeekDates[2], text: '7:15-16:00/1;17-20/0,5', firstShift: '07:15 - 16:00 / 01:00', secondShift: '17:00 - 20:00 / 00:30', plannedHours: '8:00', flexBalanceToDate: 'swap_vert17:27', calculatedHours: '10.25', plannedStartOfShift1: '07:15', plannedEndOfShift1: '16:00', plannedBreakOfShift1: '01:00', plannedStartOfShift2: '17:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:30' },
- { date: nextWeekDates[3], text: '6-12/½;18:00-20:00/0.5', firstShift: '06:00 - 12:00 / 00:30', secondShift: '18:00 - 20:00 / 00:30', plannedHours: '8:00', flexBalanceToDate: 'swap_vert9:27', calculatedHours: '7', plannedStartOfShift1: '06:00', plannedEndOfShift1: '12:00', plannedBreakOfShift1: '00:30', plannedStartOfShift2: '18:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:30' },
- { date: nextWeekDates[4], text: '06:00-12:00/¾;18:00-20:00/0.5', firstShift: '06:00 - 12:00 / 00:45', secondShift: '18:00 - 20:00 / 00:30', plannedHours: '8:00', flexBalanceToDate: 'swap_vert1:27', calculatedHours: '7', plannedStartOfShift1: '06:00', plannedEndOfShift1: '12:00', plannedBreakOfShift1: '00:45', plannedStartOfShift2: '18:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:30' },
- { date: nextWeekDates[5], text: '6-12/¾;18-20/¾', firstShift: '06:00 - 12:00 / 00:45', secondShift: '18:00 - 20:00 / 00:45', plannedHours: '8:00', flexBalanceToDate: 'swap_vert-6:33', calculatedHours: '6.5', plannedStartOfShift1: '06:00', plannedEndOfShift1: '12:00', plannedBreakOfShift1: '00:45', plannedStartOfShift2: '18:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:45' },
- { date: lastWeekDates[6], text: '6-14/½', firstShift: '06:00 - 14:00 / 00:30', plannedHours: '8:00', flexBalanceToDate: 'swap_vert-14:33', calculatedHours: '7.5', plannedStartOfShift1: '06:00', plannedEndOfShift1: '14:00', plannedBreakOfShift1: '00:30', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
+ { date: nextWeekDates[0], text: '07:30-15:30', firstShift: '07:30 - 15:30 / 0 t 0 min', plannedHours: '8 t 0 min', flexBalanceToDate: 'swap_vert33:27', calculatedHours: '8', plannedStartOfShift1: '07:30', plannedEndOfShift1: '15:30', plannedBreakOfShift1: '', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
+ { date: nextWeekDates[1], text: '7:45-16:00/1', firstShift: '07:45 - 16:00 / 1 t 0 min', plannedHours: '8 t 0 min', flexBalanceToDate: 'swap_vert25:27', calculatedHours: '7.25', plannedStartOfShift1: '07:45', plannedEndOfShift1: '16:00', plannedBreakOfShift1: '01:00', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
+ { date: nextWeekDates[2], text: '7:15-16:00/1;17-20/0,5', firstShift: '07:15 - 16:00 / 1 t 0 min', secondShift: '17:00 - 20:00 / 0 t 30 min', plannedHours: '8 t 0 min', flexBalanceToDate: 'swap_vert17:27', calculatedHours: '10.25', plannedStartOfShift1: '07:15', plannedEndOfShift1: '16:00', plannedBreakOfShift1: '01:00', plannedStartOfShift2: '17:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:30' },
+ { date: nextWeekDates[3], text: '6-12/½;18:00-20:00/0.5', firstShift: '06:00 - 12:00 / 0 t 30 min', secondShift: '18:00 - 20:00 / 0 t 30 min', plannedHours: '8 t 0 min', flexBalanceToDate: 'swap_vert9:27', calculatedHours: '7', plannedStartOfShift1: '06:00', plannedEndOfShift1: '12:00', plannedBreakOfShift1: '00:30', plannedStartOfShift2: '18:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:30' },
+ { date: nextWeekDates[4], text: '06:00-12:00/¾;18:00-20:00/0.5', firstShift: '06:00 - 12:00 / 0 t 45 min', secondShift: '18:00 - 20:00 / 0 t 30 min', plannedHours: '8 t 0 min', flexBalanceToDate: 'swap_vert1:27', calculatedHours: '7', plannedStartOfShift1: '06:00', plannedEndOfShift1: '12:00', plannedBreakOfShift1: '00:45', plannedStartOfShift2: '18:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:30' },
+ { date: nextWeekDates[5], text: '6-12/¾;18-20/¾', firstShift: '06:00 - 12:00 / 0 t 45 min', secondShift: '18:00 - 20:00 / 0 t 45 min', plannedHours: '8 t 0 min', flexBalanceToDate: 'swap_vert-6:33', calculatedHours: '6.5', plannedStartOfShift1: '06:00', plannedEndOfShift1: '12:00', plannedBreakOfShift1: '00:45', plannedStartOfShift2: '18:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:45' },
+ { date: lastWeekDates[6], text: '6-14/½', firstShift: '06:00 - 14:00 / 0 t 30 min', plannedHours: '8 t 0 min', flexBalanceToDate: 'swap_vert-14:33', calculatedHours: '7.5', plannedStartOfShift1: '06:00', plannedEndOfShift1: '14:00', plannedBreakOfShift1: '00:30', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
];
const planTextsFutureWeek = [
- { date: futureWeekDates[0], text: '07:30-15:30;foobar', firstShift: '07:30 - 15:30 / 00:00', plannedHours: '8:00', flexBalanceToDate: 'swap_vert-22:33', calculatedHours: '8', plannedStartOfShift1: '07:30', plannedEndOfShift1: '15:30', plannedBreakOfShift1: '', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
- { date: futureWeekDates[1], text: '7:45-16/0.75', firstShift: '07:45 - 16:00 / 00:45', plannedHours: '8:00', flexBalanceToDate: 'swap_vert-30:33', calculatedHours: '7.5', plannedStartOfShift1: '07:45', plannedEndOfShift1: '16:00', plannedBreakOfShift1: '00:45', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
- { date: futureWeekDates[2], text: 'foo bar', plannedHours: '16:00', flexBalanceToDate: 'swap_vert-46:33', calculatedHours: '16', plannedStartOfShift1: '', plannedEndOfShift1: '', plannedBreakOfShift1: '', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
- { date: futureWeekDates[3], text: '6-12;18:00-20:00', firstShift: '06:00 - 12:00 / 00:00', secondShift: '18:00 - 20:00 / 00:00', plannedHours: '8:00', flexBalanceToDate: 'swap_vert-54:33', calculatedHours: '8', plannedStartOfShift1: '06:00', plannedEndOfShift1: '12:00', plannedBreakOfShift1: '', plannedStartOfShift2: '18:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '' },
- { date: futureWeekDates[4], text: ' ', plannedHours: '8:00', flexBalanceToDate: 'swap_vert-62:33', calculatedHours: '8', plannedStartOfShift1: '', plannedEndOfShift1: '', plannedBreakOfShift1: '', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
- { date: futureWeekDates[5], text: '6-12/¾;18-20/¾', firstShift: '06:00 - 12:00 / 00:45', secondShift: '18:00 - 20:00 / 00:45', plannedHours: '8:00', flexBalanceToDate: 'swap_vert-70:33', calculatedHours: '6.5', plannedStartOfShift1: '06:00', plannedEndOfShift1: '12:00', plannedBreakOfShift1: '00:45', plannedStartOfShift2: '18:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:45' },
- { date: futureWeekDates[6], text: '6-14/½', firstShift: '06:00 - 14:00 / 00:30', plannedHours: '8:00', flexBalanceToDate: 'swap_vert-78:33', calculatedHours: '7.5', plannedStartOfShift1: '06:00', plannedEndOfShift1: '14:00', plannedBreakOfShift1: '00:30', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
+ { date: futureWeekDates[0], text: '07:30-15:30;foobar', firstShift: '07:30 - 15:30 / 0 t 0 min', plannedHours: '8 t 0 min', flexBalanceToDate: 'swap_vert-22:33', calculatedHours: '8', plannedStartOfShift1: '07:30', plannedEndOfShift1: '15:30', plannedBreakOfShift1: '', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
+ { date: futureWeekDates[1], text: '7:45-16/0.75', firstShift: '07:45 - 16:00 / 0 t 45 min', plannedHours: '8 t 0 min', flexBalanceToDate: 'swap_vert-30:33', calculatedHours: '7.5', plannedStartOfShift1: '07:45', plannedEndOfShift1: '16:00', plannedBreakOfShift1: '00:45', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
+ { date: futureWeekDates[2], text: 'foo bar', plannedHours: '16 t 0 min', flexBalanceToDate: 'swap_vert-46:33', calculatedHours: '16', plannedStartOfShift1: '', plannedEndOfShift1: '', plannedBreakOfShift1: '', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
+ { date: futureWeekDates[3], text: '6-12;18:00-20:00', firstShift: '06:00 - 12:00 / 0 t 0 min', secondShift: '18:00 - 20:00 / 0 t 0 min', plannedHours: '8 t 0 min', flexBalanceToDate: 'swap_vert-54:33', calculatedHours: '8', plannedStartOfShift1: '06:00', plannedEndOfShift1: '12:00', plannedBreakOfShift1: '', plannedStartOfShift2: '18:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '' },
+ { date: futureWeekDates[4], text: ' ', plannedHours: '8 t 0 min', flexBalanceToDate: 'swap_vert-62:33', calculatedHours: '8', plannedStartOfShift1: '', plannedEndOfShift1: '', plannedBreakOfShift1: '', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
+ { date: futureWeekDates[5], text: '6-12/¾;18-20/¾', firstShift: '06:00 - 12:00 / 0 t 45 min', secondShift: '18:00 - 20:00 / 0 t 45 min', plannedHours: '8 t 0 min', flexBalanceToDate: 'swap_vert-70:33', calculatedHours: '6.5', plannedStartOfShift1: '06:00', plannedEndOfShift1: '12:00', plannedBreakOfShift1: '00:45', plannedStartOfShift2: '18:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:45' },
+ { date: futureWeekDates[6], text: '6-14/½', firstShift: '06:00 - 14:00 / 0 t 30 min', plannedHours: '8 t 0 min', flexBalanceToDate: 'swap_vert-78:33', calculatedHours: '7.5', plannedStartOfShift1: '06:00', plannedEndOfShift1: '14:00', plannedBreakOfShift1: '00:30', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
];
const updatePlanTextsFutureWeek = [
- { date: futureWeekDates[0], text: '07:30-15:30;foobar', firstShift: '07:30 - 15:30 / 00:00', plannedHours: '8:00', flexBalanceToDate: 'swap_vert-22:33', calculatedHours: '8', plannedStartOfShift1: '07:30', plannedEndOfShift1: '15:30', plannedBreakOfShift1: '', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
- { date: futureWeekDates[1], text: '7:45-16/0.75', firstShift: '07:45 - 16:00 / 00:45', plannedHours: '8:00', flexBalanceToDate: 'swap_vert-30:33', calculatedHours: '7.5', plannedStartOfShift1: '07:45', plannedEndOfShift1: '16:00', plannedBreakOfShift1: '00:45', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
+ { date: futureWeekDates[0], text: '07:30-15:30;foobar', firstShift: '07:30 - 15:30 / 0 t 0 min', plannedHours: '8 t 0 min', flexBalanceToDate: 'swap_vert-22:33', calculatedHours: '8', plannedStartOfShift1: '07:30', plannedEndOfShift1: '15:30', plannedBreakOfShift1: '', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
+ { date: futureWeekDates[1], text: '7:45-16/0.75', firstShift: '07:45 - 16:00 / 0 t 45 min', plannedHours: '8 t 0 min', flexBalanceToDate: 'swap_vert-30:33', calculatedHours: '7.5', plannedStartOfShift1: '07:45', plannedEndOfShift1: '16:00', plannedBreakOfShift1: '00:45', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
{ date: futureWeekDates[2], text: 'foo bar', plannedHours: '', flexBalanceToDate: 'swap_vert-46:33', calculatedHours: '0', plannedStartOfShift1: '', plannedEndOfShift1: '', plannedBreakOfShift1: '', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
- { date: futureWeekDates[3], text: '6-12;18:00-20:00', firstShift: '06:00 - 12:00 / 00:00', secondShift: '18:00 - 20:00 / 00:00', plannedHours: '8:00', flexBalanceToDate: 'swap_vert-54:33', calculatedHours: '8', plannedStartOfShift1: '06:00', plannedEndOfShift1: '12:00', plannedBreakOfShift1: '', plannedStartOfShift2: '18:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '' },
- { date: futureWeekDates[4], text: ' ', plannedHours: '12:00', flexBalanceToDate: 'swap_vert-62:33', calculatedHours: '12', plannedStartOfShift1: '', plannedEndOfShift1: '', plannedBreakOfShift1: '', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
- { date: futureWeekDates[5], text: '6-12/¾;18-20/¾', firstShift: '06:00 - 12:00 / 00:45', secondShift: '18:00 - 20:00 / 00:45', plannedHours: '8:00', flexBalanceToDate: 'swap_vert-70:33', calculatedHours: '6.5', plannedStartOfShift1: '06:00', plannedEndOfShift1: '12:00', plannedBreakOfShift1: '00:45', plannedStartOfShift2: '18:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:45' },
- { date: futureWeekDates[6], text: '6-14/½', firstShift: '06:00 - 14:00 / 00:30', plannedHours: '8:00', flexBalanceToDate: 'swap_vert-78:33', calculatedHours: '7.5', plannedStartOfShift1: '06:00', plannedEndOfShift1: '14:00', plannedBreakOfShift1: '00:30', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
+ { date: futureWeekDates[3], text: '6-12;18:00-20:00', firstShift: '06:00 - 12:00 / 0 t 0 min', secondShift: '18:00 - 20:00 / 0 t 0 min', plannedHours: '8 t 0 min', flexBalanceToDate: 'swap_vert-54:33', calculatedHours: '8', plannedStartOfShift1: '06:00', plannedEndOfShift1: '12:00', plannedBreakOfShift1: '', plannedStartOfShift2: '18:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '' },
+ { date: futureWeekDates[4], text: ' ', plannedHours: '12 t 0 min', flexBalanceToDate: 'swap_vert-62:33', calculatedHours: '12', plannedStartOfShift1: '', plannedEndOfShift1: '', plannedBreakOfShift1: '', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
+ { date: futureWeekDates[5], text: '6-12/¾;18-20/¾', firstShift: '06:00 - 12:00 / 0 t 45 min', secondShift: '18:00 - 20:00 / 0 t 45 min', plannedHours: '8 t 0 min', flexBalanceToDate: 'swap_vert-70:33', calculatedHours: '6.5', plannedStartOfShift1: '06:00', plannedEndOfShift1: '12:00', plannedBreakOfShift1: '00:45', plannedStartOfShift2: '18:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:45' },
+ { date: futureWeekDates[6], text: '6-14/½', firstShift: '06:00 - 14:00 / 0 t 30 min', plannedHours: '8 t 0 min', flexBalanceToDate: 'swap_vert-78:33', calculatedHours: '7.5', plannedStartOfShift1: '06:00', plannedEndOfShift1: '14:00', plannedBreakOfShift1: '00:30', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
];
async function waitForSpinner(page: import('@playwright/test').Page) {
diff --git a/eform-client/playwright/e2e/plugins/time-planning-pn/b/dashboard-edit-a.spec.ts b/eform-client/playwright/e2e/plugins/time-planning-pn/b/dashboard-edit-a.spec.ts
index 9dc43c0c..3399b551 100644
--- a/eform-client/playwright/e2e/plugins/time-planning-pn/b/dashboard-edit-a.spec.ts
+++ b/eform-client/playwright/e2e/plugins/time-planning-pn/b/dashboard-edit-a.spec.ts
@@ -118,73 +118,73 @@ const planHours = [
];
const planTexts = [
- { date: lastWeekDates[0], text: '07:30-15:30', plannedHours: '8:00', flexBalanceToDate: 'swap_vert89:27', calculatedHours: '8', plannedStartOfShift1: '07:30', plannedEndOfShift1: '15:30', plannedBreakOfShift1: '00:00', plannedStartOfShift2: '00:00', plannedEndOfShift2: '00:00', plannedBreakOfShift2: '00:00' },
- { date: lastWeekDates[1], text: '7:45-16:00/1', plannedHours: '8:00', flexBalanceToDate: 'swap_vert81:27', calculatedHours: '8', plannedStartOfShift1: '07:45', plannedEndOfShift1: '16:00', plannedBreakOfShift1: '01:00', plannedStartOfShift2: '00:00', plannedEndOfShift2: '00:00', plannedBreakOfShift2: '00:00' },
- { date: lastWeekDates[2], text: '7:15-16:00/1;17-20/0,5', plannedHours: '8:00', flexBalanceToDate: 'swap_vert73:27', calculatedHours: '8', plannedStartOfShift1: '07:15', plannedEndOfShift1: '16:00', plannedBreakOfShift1: '01:00', plannedStartOfShift2: '17:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:30' },
- { date: lastWeekDates[3], text: '6-12/½;18:00-20:00/0.5', plannedHours: '8:00', flexBalanceToDate: 'swap_vert65:27', calculatedHours: '8', plannedStartOfShift1: '06:00', plannedEndOfShift1: '12:00', plannedBreakOfShift1: '00:30', plannedStartOfShift2: '18:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:30' },
- { date: lastWeekDates[4], text: '06:00-12:00/¾;18:00-20:00/0.5', plannedHours: '8:00', flexBalanceToDate: 'swap_vert57:27', calculatedHours: '8', plannedStartOfShift1: '06:00', plannedEndOfShift1: '12:00', plannedBreakOfShift1: '00:45', plannedStartOfShift2: '18:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:30' },
- { date: lastWeekDates[5], text: '6-12/¾;18-20/¾', plannedHours: '8:00', flexBalanceToDate: 'swap_vert49:27', calculatedHours: '8', plannedStartOfShift1: '06:00', plannedEndOfShift1: '12:00', plannedBreakOfShift1: '00:45', plannedStartOfShift2: '18:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:45' },
- { date: lastWeekDates[6], text: '6-14/½', plannedHours: '8:00', flexBalanceToDate: 'swap_vert41:27', calculatedHours: '8', plannedStartOfShift1: '06:00', plannedEndOfShift1: '14:00', plannedBreakOfShift1: '00:30', plannedStartOfShift2: '00:00', plannedEndOfShift2: '00:00', plannedBreakOfShift2: '00:00' },
+ { date: lastWeekDates[0], text: '07:30-15:30', plannedHours: '8 t 0 min', flexBalanceToDate: 'swap_vert89:27', calculatedHours: '8', plannedStartOfShift1: '07:30', plannedEndOfShift1: '15:30', plannedBreakOfShift1: '00:00', plannedStartOfShift2: '00:00', plannedEndOfShift2: '00:00', plannedBreakOfShift2: '00:00' },
+ { date: lastWeekDates[1], text: '7:45-16:00/1', plannedHours: '8 t 0 min', flexBalanceToDate: 'swap_vert81:27', calculatedHours: '8', plannedStartOfShift1: '07:45', plannedEndOfShift1: '16:00', plannedBreakOfShift1: '01:00', plannedStartOfShift2: '00:00', plannedEndOfShift2: '00:00', plannedBreakOfShift2: '00:00' },
+ { date: lastWeekDates[2], text: '7:15-16:00/1;17-20/0,5', plannedHours: '8 t 0 min', flexBalanceToDate: 'swap_vert73:27', calculatedHours: '8', plannedStartOfShift1: '07:15', plannedEndOfShift1: '16:00', plannedBreakOfShift1: '01:00', plannedStartOfShift2: '17:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:30' },
+ { date: lastWeekDates[3], text: '6-12/½;18:00-20:00/0.5', plannedHours: '8 t 0 min', flexBalanceToDate: 'swap_vert65:27', calculatedHours: '8', plannedStartOfShift1: '06:00', plannedEndOfShift1: '12:00', plannedBreakOfShift1: '00:30', plannedStartOfShift2: '18:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:30' },
+ { date: lastWeekDates[4], text: '06:00-12:00/¾;18:00-20:00/0.5', plannedHours: '8 t 0 min', flexBalanceToDate: 'swap_vert57:27', calculatedHours: '8', plannedStartOfShift1: '06:00', plannedEndOfShift1: '12:00', plannedBreakOfShift1: '00:45', plannedStartOfShift2: '18:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:30' },
+ { date: lastWeekDates[5], text: '6-12/¾;18-20/¾', plannedHours: '8 t 0 min', flexBalanceToDate: 'swap_vert49:27', calculatedHours: '8', plannedStartOfShift1: '06:00', plannedEndOfShift1: '12:00', plannedBreakOfShift1: '00:45', plannedStartOfShift2: '18:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:45' },
+ { date: lastWeekDates[6], text: '6-14/½', plannedHours: '8 t 0 min', flexBalanceToDate: 'swap_vert41:27', calculatedHours: '8', plannedStartOfShift1: '06:00', plannedEndOfShift1: '14:00', plannedBreakOfShift1: '00:30', plannedStartOfShift2: '00:00', plannedEndOfShift2: '00:00', plannedBreakOfShift2: '00:00' },
];
const updatePlanTexts = [
- { date: lastWeekDates[0], text: '07:30-15:30', plannedHours: '1:00', flexBalanceToDate: 'swap_vert89.45', flexToDate: '97.45', flexIncludingToday: '89.45', nettoHours: '0.00', todaysFlex: '-8.00', paidOutFlex: 0, calculatedHours: '8', plannedStartOfShift1: '07:30', plannedEndOfShift1: '15:30', plannedBreakOfShift1: '', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
- { date: lastWeekDates[1], text: '7:45-16:00/1', plannedHours: '2:00', flexBalanceToDate: 'swap_vert82.20', flexToDate: '89.45', flexIncludingToday: '82.20', nettoHours: '0.00', todaysFlex: '-7.25', paidOutFlex: 0, calculatedHours: '7.25', plannedStartOfShift1: '07:45', plannedEndOfShift1: '16:00', plannedBreakOfShift1: '01:00', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
- { date: lastWeekDates[2], text: '7:15-16:00/1;17-20/0,5', plannedHours: '3:00', flexBalanceToDate: 'swap_vert71.95', flexToDate: '82.20', flexIncludingToday: '71.95', nettoHours: '0.00', todaysFlex: '-10.25', paidOutFlex: 0, calculatedHours: '10.25', plannedStartOfShift1: '07:15', plannedEndOfShift1: '16:00', plannedBreakOfShift1: '01:00', plannedStartOfShift2: '17:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:30' },
- { date: lastWeekDates[3], text: '6-12/½;18:00-20:00/0.5', plannedHours: '', flexBalanceToDate: 'swap_vert64.95', flexToDate: '71.95', flexIncludingToday: '64.95', nettoHours: '0.00', todaysFlex: '-7.00', paidOutFlex: 0, calculatedHours: '7', plannedStartOfShift1: '06:00', plannedEndOfShift1: '12:00', plannedBreakOfShift1: '00:30', plannedStartOfShift2: '18:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:30' },
- { date: lastWeekDates[4], text: '06:00-12:00/¾;18:00-20:00/0.5', plannedHours: '4:00', flexBalanceToDate: 'swap_vert58.20', flexToDate: '64.95', flexIncludingToday: '58.20', nettoHours: '0.00', todaysFlex: '-6.75', paidOutFlex: 0, calculatedHours: '6.75', plannedStartOfShift1: '06:00', plannedEndOfShift1: '12:00', plannedBreakOfShift1: '00:45', plannedStartOfShift2: '18:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:30' },
- { date: lastWeekDates[5], text: '6-12/¾;18-20/¾', plannedHours: '5:00', flexBalanceToDate: 'swap_vert51.70', flexToDate: '58.20', flexIncludingToday: '51.70', nettoHours: '0.00', todaysFlex: '-6.50', paidOutFlex: 0, calculatedHours: '6.5', plannedStartOfShift1: '06:00', plannedEndOfShift1: '12:00', plannedBreakOfShift1: '00:45', plannedStartOfShift2: '18:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:45' },
- { date: lastWeekDates[6], text: '6-14/½', plannedHours: '6:00', flexBalanceToDate: 'swap_vert44.20', flexToDate: '51.70', flexIncludingToday: '44.20', nettoHours: '0.00', todaysFlex: '-7.50', paidOutFlex: 0, calculatedHours: '7.5', plannedStartOfShift1: '06:00', plannedEndOfShift1: '14:00', plannedBreakOfShift1: '00:30', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
+ { date: lastWeekDates[0], text: '07:30-15:30', plannedHours: '1 t 0 min', flexBalanceToDate: '(89.45 timer)', flexToDate: '97.45', flexIncludingToday: '89.45', nettoHours: '0.00', todaysFlex: '-8.00', paidOutFlex: 0, calculatedHours: '8', plannedStartOfShift1: '07:30', plannedEndOfShift1: '15:30', plannedBreakOfShift1: '', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
+ { date: lastWeekDates[1], text: '7:45-16:00/1', plannedHours: '2 t 0 min', flexBalanceToDate: '(82.20 timer)', flexToDate: '89.45', flexIncludingToday: '82.20', nettoHours: '0.00', todaysFlex: '-7.25', paidOutFlex: 0, calculatedHours: '7.25', plannedStartOfShift1: '07:45', plannedEndOfShift1: '16:00', plannedBreakOfShift1: '01:00', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
+ { date: lastWeekDates[2], text: '7:15-16:00/1;17-20/0,5', plannedHours: '3 t 0 min', flexBalanceToDate: '(71.95 timer)', flexToDate: '82.20', flexIncludingToday: '71.95', nettoHours: '0.00', todaysFlex: '-10.25', paidOutFlex: 0, calculatedHours: '10.25', plannedStartOfShift1: '07:15', plannedEndOfShift1: '16:00', plannedBreakOfShift1: '01:00', plannedStartOfShift2: '17:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:30' },
+ { date: lastWeekDates[3], text: '6-12/½;18:00-20:00/0.5', plannedHours: '', flexBalanceToDate: '(64.95 timer)', flexToDate: '71.95', flexIncludingToday: '64.95', nettoHours: '0.00', todaysFlex: '-7.00', paidOutFlex: 0, calculatedHours: '7', plannedStartOfShift1: '06:00', plannedEndOfShift1: '12:00', plannedBreakOfShift1: '00:30', plannedStartOfShift2: '18:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:30' },
+ { date: lastWeekDates[4], text: '06:00-12:00/¾;18:00-20:00/0.5', plannedHours: '4 t 0 min', flexBalanceToDate: '(58.20 timer)', flexToDate: '64.95', flexIncludingToday: '58.20', nettoHours: '0.00', todaysFlex: '-6.75', paidOutFlex: 0, calculatedHours: '6.75', plannedStartOfShift1: '06:00', plannedEndOfShift1: '12:00', plannedBreakOfShift1: '00:45', plannedStartOfShift2: '18:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:30' },
+ { date: lastWeekDates[5], text: '6-12/¾;18-20/¾', plannedHours: '5 t 0 min', flexBalanceToDate: '(51.70 timer)', flexToDate: '58.20', flexIncludingToday: '51.70', nettoHours: '0.00', todaysFlex: '-6.50', paidOutFlex: 0, calculatedHours: '6.5', plannedStartOfShift1: '06:00', plannedEndOfShift1: '12:00', plannedBreakOfShift1: '00:45', plannedStartOfShift2: '18:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:45' },
+ { date: lastWeekDates[6], text: '6-14/½', plannedHours: '6 t 0 min', flexBalanceToDate: '(44.20 timer)', flexToDate: '51.70', flexIncludingToday: '44.20', nettoHours: '0.00', todaysFlex: '-7.50', paidOutFlex: 0, calculatedHours: '7.5', plannedStartOfShift1: '06:00', plannedEndOfShift1: '14:00', plannedBreakOfShift1: '00:30', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
];
const secondUpdatePlanTexts = [
- { date: nextWeekDates[0], text: '07:30-15:30', firstShift: 'calendar_month 07:30 - 15:30 / 00:00', plannedHours: '8:00', flexBalanceToDate: 'swap_vert89.45', flexToDate: '97.45', flexIncludingToday: '89.45', nettoHours: '0.00', todaysFlex: '-8.00', paidOutFlex: 0, calculatedHours: '8', plannedStartOfShift1: '07:30', plannedEndOfShift1: '15:30', plannedBreakOfShift1: '00:00', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
- { date: nextWeekDates[1], text: '7:45-16:00/1', firstShift: 'calendar_month 07:50 - 16:00 / 01:00', plannedHours: '8:00', flexBalanceToDate: 'swap_vert82.28', flexToDate: '89.45', flexIncludingToday: '82.28', nettoHours: '0.00', todaysFlex: '-7.17', paidOutFlex: 0, calculatedHours: '7.166666666666667', plannedStartOfShift1: '07:50', plannedEndOfShift1: '16:00', plannedBreakOfShift1: '01:00', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
- { date: nextWeekDates[2], text: '7:15-16:00/1;17-20/0,5', firstShift: 'calendar_month 07:15 - 16:00 / 01:00', secondShift: 'calendar_month 17:00 - 20:00 / 00:30', plannedHours: '8:00', flexBalanceToDate: 'swap_vert72.03', flexToDate: '82.28', flexIncludingToday: '72.03', nettoHours: '0.00', todaysFlex: '-10.25', paidOutFlex: 0, calculatedHours: '10.25', plannedStartOfShift1: '07:15', plannedEndOfShift1: '16:00', plannedBreakOfShift1: '01:00', plannedStartOfShift2: '17:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:30' },
- { date: nextWeekDates[3], text: '6-12/½;18:00-20:00/0.5', firstShift: 'calendar_month 06:00 - 12:00 / 00:30', secondShift: 'calendar_month 18:00 - 20:00 / 00:30', plannedHours: '8:00', flexBalanceToDate: 'swap_vert65.03', flexToDate: '72.03', flexIncludingToday: '65.03', nettoHours: '0.00', todaysFlex: '-7.00', paidOutFlex: 0, calculatedHours: '7', plannedStartOfShift1: '06:00', plannedEndOfShift1: '12:00', plannedBreakOfShift1: '00:30', plannedStartOfShift2: '18:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:30' },
- { date: nextWeekDates[4], text: '06:00-12:00/¾;18:00-20:00/0.5', firstShift: 'calendar_month 06:00 - 12:00 / 00:50', secondShift: 'calendar_month 18:00 - 20:00 / 00:30', plannedHours: '8:00', flexBalanceToDate: 'swap_vert58.36', flexToDate: '65.03', flexIncludingToday: '58.36', nettoHours: '0.00', todaysFlex: '-6.67', paidOutFlex: 0, calculatedHours: '6.666666666666667', plannedStartOfShift1: '06:00', plannedEndOfShift1: '12:00', plannedBreakOfShift1: '00:50', plannedStartOfShift2: '18:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:30' },
- { date: nextWeekDates[5], text: '6-12/¾;18-20/¾', firstShift: 'calendar_month 06:00 - 12:00 / 00:50', secondShift: 'calendar_month 18:00 - 20:00 / 00:50', plannedHours: '8:00', flexBalanceToDate: 'swap_vert52.03', flexToDate: '58.36', flexIncludingToday: '52.03', nettoHours: '0.00', todaysFlex: '-6.33', paidOutFlex: 0, calculatedHours: '6.333333333333333', plannedStartOfShift1: '06:00', plannedEndOfShift1: '12:00', plannedBreakOfShift1: '00:50', plannedStartOfShift2: '18:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:50' },
- { date: lastWeekDates[6], text: '6-14/½', firstShift: 'calendar_month 06:00 - 14:00 / 00:30', plannedHours: '8:00', flexBalanceToDate: 'swap_vert44.53', flexToDate: '52.03', flexIncludingToday: '44.53', nettoHours: '0.00', todaysFlex: '-7.50', paidOutFlex: 0, calculatedHours: '7.5', plannedStartOfShift1: '06:00', plannedEndOfShift1: '14:00', plannedBreakOfShift1: '00:30', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
+ { date: nextWeekDates[0], text: '07:30-15:30', firstShift: 'calendar_month 07:30 - 15:30 / 0 t 0 min', plannedHours: '8 t 0 min', flexBalanceToDate: '(89.45 timer)', flexToDate: '97.45', flexIncludingToday: '89.45', nettoHours: '0.00', todaysFlex: '-8.00', paidOutFlex: 0, calculatedHours: '8', plannedStartOfShift1: '07:30', plannedEndOfShift1: '15:30', plannedBreakOfShift1: '00:00', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
+ { date: nextWeekDates[1], text: '7:45-16:00/1', firstShift: 'calendar_month 07:50 - 16:00 / 1 t 0 min', plannedHours: '8 t 0 min', flexBalanceToDate: '(82.28 timer)', flexToDate: '89.45', flexIncludingToday: '82.28', nettoHours: '0.00', todaysFlex: '-7.17', paidOutFlex: 0, calculatedHours: '7.166666666666667', plannedStartOfShift1: '07:50', plannedEndOfShift1: '16:00', plannedBreakOfShift1: '01:00', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
+ { date: nextWeekDates[2], text: '7:15-16:00/1;17-20/0,5', firstShift: 'calendar_month 07:15 - 16:00 / 1 t 0 min', secondShift: 'calendar_month 17:00 - 20:00 / 0 t 30 min', plannedHours: '8 t 0 min', flexBalanceToDate: '(72.03 timer)', flexToDate: '82.28', flexIncludingToday: '72.03', nettoHours: '0.00', todaysFlex: '-10.25', paidOutFlex: 0, calculatedHours: '10.25', plannedStartOfShift1: '07:15', plannedEndOfShift1: '16:00', plannedBreakOfShift1: '01:00', plannedStartOfShift2: '17:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:30' },
+ { date: nextWeekDates[3], text: '6-12/½;18:00-20:00/0.5', firstShift: 'calendar_month 06:00 - 12:00 / 0 t 30 min', secondShift: 'calendar_month 18:00 - 20:00 / 0 t 30 min', plannedHours: '8 t 0 min', flexBalanceToDate: '(65.03 timer)', flexToDate: '72.03', flexIncludingToday: '65.03', nettoHours: '0.00', todaysFlex: '-7.00', paidOutFlex: 0, calculatedHours: '7', plannedStartOfShift1: '06:00', plannedEndOfShift1: '12:00', plannedBreakOfShift1: '00:30', plannedStartOfShift2: '18:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:30' },
+ { date: nextWeekDates[4], text: '06:00-12:00/¾;18:00-20:00/0.5', firstShift: 'calendar_month 06:00 - 12:00 / 0 t 50 min', secondShift: 'calendar_month 18:00 - 20:00 / 0 t 30 min', plannedHours: '8 t 0 min', flexBalanceToDate: '(58.36 timer)', flexToDate: '65.03', flexIncludingToday: '58.36', nettoHours: '0.00', todaysFlex: '-6.67', paidOutFlex: 0, calculatedHours: '6.666666666666667', plannedStartOfShift1: '06:00', plannedEndOfShift1: '12:00', plannedBreakOfShift1: '00:50', plannedStartOfShift2: '18:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:30' },
+ { date: nextWeekDates[5], text: '6-12/¾;18-20/¾', firstShift: 'calendar_month 06:00 - 12:00 / 0 t 50 min', secondShift: 'calendar_month 18:00 - 20:00 / 0 t 50 min', plannedHours: '8 t 0 min', flexBalanceToDate: '(52.03 timer)', flexToDate: '58.36', flexIncludingToday: '52.03', nettoHours: '0.00', todaysFlex: '-6.33', paidOutFlex: 0, calculatedHours: '6.333333333333333', plannedStartOfShift1: '06:00', plannedEndOfShift1: '12:00', plannedBreakOfShift1: '00:50', plannedStartOfShift2: '18:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:50' },
+ { date: lastWeekDates[6], text: '6-14/½', firstShift: 'calendar_month 06:00 - 14:00 / 0 t 30 min', plannedHours: '8 t 0 min', flexBalanceToDate: '(44.53 timer)', flexToDate: '52.03', flexIncludingToday: '44.53', nettoHours: '0.00', todaysFlex: '-7.50', paidOutFlex: 0, calculatedHours: '7.5', plannedStartOfShift1: '06:00', plannedEndOfShift1: '14:00', plannedBreakOfShift1: '00:30', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
];
const planTextsNextWeek = [
- { date: nextWeekDates[0], text: '07:30-15:30', firstShift: '07:30 - 15:30 / 00:00', plannedHours: '8:00', flexBalanceToDate: 'swap_vert33:27', calculatedHours: '8', plannedStartOfShift1: '07:30', plannedEndOfShift1: '15:30', plannedBreakOfShift1: '00:00', plannedStartOfShift2: '00:00', plannedEndOfShift2: '00:00', plannedBreakOfShift2: '00:00' },
- { date: nextWeekDates[1], text: '7:45-16:00/1', firstShift: '07:45 - 16:00 / 01:00', plannedHours: '8:00', flexBalanceToDate: 'swap_vert25:27', calculatedHours: '7.25', plannedStartOfShift1: '07:45', plannedEndOfShift1: '16:00', plannedBreakOfShift1: '01:00', plannedStartOfShift2: '00:00', plannedEndOfShift2: '00:00', plannedBreakOfShift2: '00:00' },
- { date: nextWeekDates[2], text: '7:15-16:00/1;17-20/0,5', firstShift: '07:15 - 16:00 / 01:00', secondShift: '17:00 - 20:00 / 00:30', plannedHours: '8:00', flexBalanceToDate: 'swap_vert17:27', calculatedHours: '10.25', plannedStartOfShift1: '07:15', plannedEndOfShift1: '16:00', plannedBreakOfShift1: '01:00', plannedStartOfShift2: '17:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:30' },
- { date: nextWeekDates[3], text: '6-12/½;18:00-20:00/0.5', firstShift: '06:00 - 12:00 / 00:30', secondShift: '18:00 - 20:00 / 00:30', plannedHours: '8:00', flexBalanceToDate: 'swap_vert9:27', calculatedHours: '7', plannedStartOfShift1: '06:00', plannedEndOfShift1: '12:00', plannedBreakOfShift1: '00:30', plannedStartOfShift2: '18:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:30' },
- { date: nextWeekDates[4], text: '06:00-12:00/¾;18:00-20:00/0.5', firstShift: '06:00 - 12:00 / 00:45', secondShift: '18:00 - 20:00 / 00:30', plannedHours: '8:00', flexBalanceToDate: 'swap_vert1:27', calculatedHours: '7', plannedStartOfShift1: '06:00', plannedEndOfShift1: '12:00', plannedBreakOfShift1: '00:45', plannedStartOfShift2: '18:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:30' },
- { date: nextWeekDates[5], text: '6-12/¾;18-20/¾', firstShift: '06:00 - 12:00 / 00:45', secondShift: '18:00 - 20:00 / 00:45', plannedHours: '8:00', flexBalanceToDate: 'swap_vert-6:33', calculatedHours: '6.5', plannedStartOfShift1: '06:00', plannedEndOfShift1: '12:00', plannedBreakOfShift1: '00:45', plannedStartOfShift2: '18:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:45' },
- { date: lastWeekDates[6], text: '6-14/½', firstShift: '06:00 - 14:00 / 00:30', plannedHours: '8:00', flexBalanceToDate: 'swap_vert-14:33', calculatedHours: '7.5', plannedStartOfShift1: '06:00', plannedEndOfShift1: '14:00', plannedBreakOfShift1: '00:30', plannedStartOfShift2: '00:00', plannedEndOfShift2: '00:00', plannedBreakOfShift2: '00:00' },
+ { date: nextWeekDates[0], text: '07:30-15:30', firstShift: '07:30 - 15:30 / 0 t 0 min', plannedHours: '8 t 0 min', flexBalanceToDate: 'swap_vert33:27', calculatedHours: '8', plannedStartOfShift1: '07:30', plannedEndOfShift1: '15:30', plannedBreakOfShift1: '00:00', plannedStartOfShift2: '00:00', plannedEndOfShift2: '00:00', plannedBreakOfShift2: '00:00' },
+ { date: nextWeekDates[1], text: '7:45-16:00/1', firstShift: '07:45 - 16:00 / 1 t 0 min', plannedHours: '8 t 0 min', flexBalanceToDate: 'swap_vert25:27', calculatedHours: '7.25', plannedStartOfShift1: '07:45', plannedEndOfShift1: '16:00', plannedBreakOfShift1: '01:00', plannedStartOfShift2: '00:00', plannedEndOfShift2: '00:00', plannedBreakOfShift2: '00:00' },
+ { date: nextWeekDates[2], text: '7:15-16:00/1;17-20/0,5', firstShift: '07:15 - 16:00 / 1 t 0 min', secondShift: '17:00 - 20:00 / 0 t 30 min', plannedHours: '8 t 0 min', flexBalanceToDate: 'swap_vert17:27', calculatedHours: '10.25', plannedStartOfShift1: '07:15', plannedEndOfShift1: '16:00', plannedBreakOfShift1: '01:00', plannedStartOfShift2: '17:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:30' },
+ { date: nextWeekDates[3], text: '6-12/½;18:00-20:00/0.5', firstShift: '06:00 - 12:00 / 0 t 30 min', secondShift: '18:00 - 20:00 / 0 t 30 min', plannedHours: '8 t 0 min', flexBalanceToDate: 'swap_vert9:27', calculatedHours: '7', plannedStartOfShift1: '06:00', plannedEndOfShift1: '12:00', plannedBreakOfShift1: '00:30', plannedStartOfShift2: '18:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:30' },
+ { date: nextWeekDates[4], text: '06:00-12:00/¾;18:00-20:00/0.5', firstShift: '06:00 - 12:00 / 0 t 45 min', secondShift: '18:00 - 20:00 / 0 t 30 min', plannedHours: '8 t 0 min', flexBalanceToDate: 'swap_vert1:27', calculatedHours: '7', plannedStartOfShift1: '06:00', plannedEndOfShift1: '12:00', plannedBreakOfShift1: '00:45', plannedStartOfShift2: '18:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:30' },
+ { date: nextWeekDates[5], text: '6-12/¾;18-20/¾', firstShift: '06:00 - 12:00 / 0 t 45 min', secondShift: '18:00 - 20:00 / 0 t 45 min', plannedHours: '8 t 0 min', flexBalanceToDate: 'swap_vert-6:33', calculatedHours: '6.5', plannedStartOfShift1: '06:00', plannedEndOfShift1: '12:00', plannedBreakOfShift1: '00:45', plannedStartOfShift2: '18:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:45' },
+ { date: lastWeekDates[6], text: '6-14/½', firstShift: '06:00 - 14:00 / 0 t 30 min', plannedHours: '8 t 0 min', flexBalanceToDate: 'swap_vert-14:33', calculatedHours: '7.5', plannedStartOfShift1: '06:00', plannedEndOfShift1: '14:00', plannedBreakOfShift1: '00:30', plannedStartOfShift2: '00:00', plannedEndOfShift2: '00:00', plannedBreakOfShift2: '00:00' },
];
const updatePlanTextsNextWeek = [
- { date: nextWeekDates[0], text: '07:30-15:30', firstShift: '07:30 - 15:30 / 00:00', plannedHours: '8:00', flexBalanceToDate: 'swap_vert33:27', calculatedHours: '8', plannedStartOfShift1: '07:30', plannedEndOfShift1: '15:30', plannedBreakOfShift1: '00:00', plannedStartOfShift2: '00:00', plannedEndOfShift2: '00:00', plannedBreakOfShift2: '00:00' },
- { date: nextWeekDates[1], text: '7:45-16:00/1', firstShift: '07:45 - 16:00 / 01:00', plannedHours: '8:00', flexBalanceToDate: 'swap_vert25:27', calculatedHours: '7.25', plannedStartOfShift1: '07:45', plannedEndOfShift1: '16:00', plannedBreakOfShift1: '01:00', plannedStartOfShift2: '00:00', plannedEndOfShift2: '00:00', plannedBreakOfShift2: '00:00' },
- { date: nextWeekDates[2], text: '7:15-16:00/1;17-20/0,5', firstShift: '07:15 - 16:00 / 01:00', secondShift: '17:00 - 20:00 / 00:30', plannedHours: '8:00', flexBalanceToDate: 'swap_vert17:27', calculatedHours: '10.25', plannedStartOfShift1: '07:15', plannedEndOfShift1: '16:00', plannedBreakOfShift1: '01:00', plannedStartOfShift2: '17:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:30' },
- { date: nextWeekDates[3], text: '6-12/½;18:00-20:00/0.5', firstShift: '06:00 - 12:00 / 00:30', secondShift: '18:00 - 20:00 / 00:30', plannedHours: '8:00', flexBalanceToDate: 'swap_vert9:27', calculatedHours: '7', plannedStartOfShift1: '06:00', plannedEndOfShift1: '12:00', plannedBreakOfShift1: '00:30', plannedStartOfShift2: '18:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:30' },
- { date: nextWeekDates[4], text: '06:00-12:00/¾;18:00-20:00/0.5', firstShift: '06:00 - 12:00 / 00:45', secondShift: '18:00 - 20:00 / 00:30', plannedHours: '8:00', flexBalanceToDate: 'swap_vert1:27', calculatedHours: '7', plannedStartOfShift1: '06:00', plannedEndOfShift1: '12:00', plannedBreakOfShift1: '00:45', plannedStartOfShift2: '18:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:30' },
- { date: nextWeekDates[5], text: '6-12/¾;18-20/¾', firstShift: '06:00 - 12:00 / 00:45', secondShift: '18:00 - 20:00 / 00:45', plannedHours: '8:00', flexBalanceToDate: 'swap_vert-6:33', calculatedHours: '6.5', plannedStartOfShift1: '06:00', plannedEndOfShift1: '12:00', plannedBreakOfShift1: '00:45', plannedStartOfShift2: '18:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:45' },
- { date: lastWeekDates[6], text: '6-14/½', firstShift: '06:00 - 14:00 / 00:30', plannedHours: '8:00', flexBalanceToDate: 'swap_vert-14:33', calculatedHours: '7.5', plannedStartOfShift1: '06:00', plannedEndOfShift1: '14:00', plannedBreakOfShift1: '00:30', plannedStartOfShift2: '00:00', plannedEndOfShift2: '00:00', plannedBreakOfShift2: '00:00' },
+ { date: nextWeekDates[0], text: '07:30-15:30', firstShift: '07:30 - 15:30 / 0 t 0 min', plannedHours: '8 t 0 min', flexBalanceToDate: 'swap_vert33:27', calculatedHours: '8', plannedStartOfShift1: '07:30', plannedEndOfShift1: '15:30', plannedBreakOfShift1: '00:00', plannedStartOfShift2: '00:00', plannedEndOfShift2: '00:00', plannedBreakOfShift2: '00:00' },
+ { date: nextWeekDates[1], text: '7:45-16:00/1', firstShift: '07:45 - 16:00 / 1 t 0 min', plannedHours: '8 t 0 min', flexBalanceToDate: 'swap_vert25:27', calculatedHours: '7.25', plannedStartOfShift1: '07:45', plannedEndOfShift1: '16:00', plannedBreakOfShift1: '01:00', plannedStartOfShift2: '00:00', plannedEndOfShift2: '00:00', plannedBreakOfShift2: '00:00' },
+ { date: nextWeekDates[2], text: '7:15-16:00/1;17-20/0,5', firstShift: '07:15 - 16:00 / 1 t 0 min', secondShift: '17:00 - 20:00 / 0 t 30 min', plannedHours: '8 t 0 min', flexBalanceToDate: 'swap_vert17:27', calculatedHours: '10.25', plannedStartOfShift1: '07:15', plannedEndOfShift1: '16:00', plannedBreakOfShift1: '01:00', plannedStartOfShift2: '17:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:30' },
+ { date: nextWeekDates[3], text: '6-12/½;18:00-20:00/0.5', firstShift: '06:00 - 12:00 / 0 t 30 min', secondShift: '18:00 - 20:00 / 0 t 30 min', plannedHours: '8 t 0 min', flexBalanceToDate: 'swap_vert9:27', calculatedHours: '7', plannedStartOfShift1: '06:00', plannedEndOfShift1: '12:00', plannedBreakOfShift1: '00:30', plannedStartOfShift2: '18:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:30' },
+ { date: nextWeekDates[4], text: '06:00-12:00/¾;18:00-20:00/0.5', firstShift: '06:00 - 12:00 / 0 t 45 min', secondShift: '18:00 - 20:00 / 0 t 30 min', plannedHours: '8 t 0 min', flexBalanceToDate: 'swap_vert1:27', calculatedHours: '7', plannedStartOfShift1: '06:00', plannedEndOfShift1: '12:00', plannedBreakOfShift1: '00:45', plannedStartOfShift2: '18:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:30' },
+ { date: nextWeekDates[5], text: '6-12/¾;18-20/¾', firstShift: '06:00 - 12:00 / 0 t 45 min', secondShift: '18:00 - 20:00 / 0 t 45 min', plannedHours: '8 t 0 min', flexBalanceToDate: 'swap_vert-6:33', calculatedHours: '6.5', plannedStartOfShift1: '06:00', plannedEndOfShift1: '12:00', plannedBreakOfShift1: '00:45', plannedStartOfShift2: '18:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:45' },
+ { date: lastWeekDates[6], text: '6-14/½', firstShift: '06:00 - 14:00 / 0 t 30 min', plannedHours: '8 t 0 min', flexBalanceToDate: 'swap_vert-14:33', calculatedHours: '7.5', plannedStartOfShift1: '06:00', plannedEndOfShift1: '14:00', plannedBreakOfShift1: '00:30', plannedStartOfShift2: '00:00', plannedEndOfShift2: '00:00', plannedBreakOfShift2: '00:00' },
];
const planTextsFutureWeek = [
- { date: futureWeekDates[0], text: '07:30-15:30;foobar', firstShift: '07:30 - 15:30 / 00:00', plannedHours: '8:00', flexBalanceToDate: 'swap_vert-22:33', calculatedHours: '8', plannedStartOfShift1: '07:30', plannedEndOfShift1: '15:30', plannedBreakOfShift1: '00:00', plannedStartOfShift2: '00:00', plannedEndOfShift2: '00:00', plannedBreakOfShift2: '00:00' },
- { date: futureWeekDates[1], text: '7:45-16/0.75', firstShift: '07:45 - 16:00 / 00:45', plannedHours: '8:00', flexBalanceToDate: 'swap_vert-30:33', calculatedHours: '7.5', plannedStartOfShift1: '07:45', plannedEndOfShift1: '16:00', plannedBreakOfShift1: '00:45', plannedStartOfShift2: '00:00', plannedEndOfShift2: '00:00', plannedBreakOfShift2: '00:00' },
- { date: futureWeekDates[2], text: 'foo bar', plannedHours: '16:00', flexBalanceToDate: 'swap_vert-46:33', calculatedHours: '16', plannedStartOfShift1: '00:00', plannedEndOfShift1: '00:00', plannedBreakOfShift1: '00:00', plannedStartOfShift2: '00:00', plannedEndOfShift2: '00:00', plannedBreakOfShift2: '00:00' },
- { date: futureWeekDates[3], text: '6-12;18:00-20:00', firstShift: '06:00 - 12:00 / 00:00', secondShift: '18:00 - 20:00 / 00:00', plannedHours: '8:00', flexBalanceToDate: 'swap_vert-54:33', calculatedHours: '8', plannedStartOfShift1: '06:00', plannedEndOfShift1: '12:00', plannedBreakOfShift1: '00:00', plannedStartOfShift2: '18:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:00' },
- { date: futureWeekDates[4], text: ' ', plannedHours: '8:00', flexBalanceToDate: 'swap_vert-62:33', calculatedHours: '8', plannedStartOfShift1: '00:00', plannedEndOfShift1: '00:00', plannedBreakOfShift1: '00:00', plannedStartOfShift2: '00:00', plannedEndOfShift2: '00:00', plannedBreakOfShift2: '00:00' },
- { date: futureWeekDates[5], text: '6-12/¾;18-20/¾', firstShift: '06:00 - 12:00 / 00:45', secondShift: '18:00 - 20:00 / 00:45', plannedHours: '8:00', flexBalanceToDate: 'swap_vert-70:33', calculatedHours: '6.5', plannedStartOfShift1: '06:00', plannedEndOfShift1: '12:00', plannedBreakOfShift1: '00:45', plannedStartOfShift2: '18:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:45' },
- { date: futureWeekDates[6], text: '6-14/½', firstShift: '06:00 - 14:00 / 00:30', plannedHours: '8:00', flexBalanceToDate: 'swap_vert-78:33', calculatedHours: '7.5', plannedStartOfShift1: '06:00', plannedEndOfShift1: '14:00', plannedBreakOfShift1: '00:30', plannedStartOfShift2: '00:00', plannedEndOfShift2: '00:00', plannedBreakOfShift2: '00:00' },
+ { date: futureWeekDates[0], text: '07:30-15:30;foobar', firstShift: '07:30 - 15:30 / 0 t 0 min', plannedHours: '8 t 0 min', flexBalanceToDate: 'swap_vert-22:33', calculatedHours: '8', plannedStartOfShift1: '07:30', plannedEndOfShift1: '15:30', plannedBreakOfShift1: '00:00', plannedStartOfShift2: '00:00', plannedEndOfShift2: '00:00', plannedBreakOfShift2: '00:00' },
+ { date: futureWeekDates[1], text: '7:45-16/0.75', firstShift: '07:45 - 16:00 / 0 t 45 min', plannedHours: '8 t 0 min', flexBalanceToDate: 'swap_vert-30:33', calculatedHours: '7.5', plannedStartOfShift1: '07:45', plannedEndOfShift1: '16:00', plannedBreakOfShift1: '00:45', plannedStartOfShift2: '00:00', plannedEndOfShift2: '00:00', plannedBreakOfShift2: '00:00' },
+ { date: futureWeekDates[2], text: 'foo bar', plannedHours: '16 t 0 min', flexBalanceToDate: 'swap_vert-46:33', calculatedHours: '16', plannedStartOfShift1: '00:00', plannedEndOfShift1: '00:00', plannedBreakOfShift1: '00:00', plannedStartOfShift2: '00:00', plannedEndOfShift2: '00:00', plannedBreakOfShift2: '00:00' },
+ { date: futureWeekDates[3], text: '6-12;18:00-20:00', firstShift: '06:00 - 12:00 / 0 t 0 min', secondShift: '18:00 - 20:00 / 0 t 0 min', plannedHours: '8 t 0 min', flexBalanceToDate: 'swap_vert-54:33', calculatedHours: '8', plannedStartOfShift1: '06:00', plannedEndOfShift1: '12:00', plannedBreakOfShift1: '00:00', plannedStartOfShift2: '18:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:00' },
+ { date: futureWeekDates[4], text: ' ', plannedHours: '8 t 0 min', flexBalanceToDate: 'swap_vert-62:33', calculatedHours: '8', plannedStartOfShift1: '00:00', plannedEndOfShift1: '00:00', plannedBreakOfShift1: '00:00', plannedStartOfShift2: '00:00', plannedEndOfShift2: '00:00', plannedBreakOfShift2: '00:00' },
+ { date: futureWeekDates[5], text: '6-12/¾;18-20/¾', firstShift: '06:00 - 12:00 / 0 t 45 min', secondShift: '18:00 - 20:00 / 0 t 45 min', plannedHours: '8 t 0 min', flexBalanceToDate: 'swap_vert-70:33', calculatedHours: '6.5', plannedStartOfShift1: '06:00', plannedEndOfShift1: '12:00', plannedBreakOfShift1: '00:45', plannedStartOfShift2: '18:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:45' },
+ { date: futureWeekDates[6], text: '6-14/½', firstShift: '06:00 - 14:00 / 0 t 30 min', plannedHours: '8 t 0 min', flexBalanceToDate: 'swap_vert-78:33', calculatedHours: '7.5', plannedStartOfShift1: '06:00', plannedEndOfShift1: '14:00', plannedBreakOfShift1: '00:30', plannedStartOfShift2: '00:00', plannedEndOfShift2: '00:00', plannedBreakOfShift2: '00:00' },
];
const updatePlanTextsFutureWeek = [
- { date: futureWeekDates[0], text: '07:30-15:30;foobar', firstShift: '07:30 - 15:30 / 00:00', plannedHours: '8:00', flexBalanceToDate: 'swap_vert-22:33', calculatedHours: '8', plannedStartOfShift1: '07:30', plannedEndOfShift1: '15:30', plannedBreakOfShift1: '00:00', plannedStartOfShift2: '00:00', plannedEndOfShift2: '00:00', plannedBreakOfShift2: '00:00' },
- { date: futureWeekDates[1], text: '7:45-16/0.75', firstShift: '07:45 - 16:00 / 00:45', plannedHours: '8:00', flexBalanceToDate: 'swap_vert-30:33', calculatedHours: '7.5', plannedStartOfShift1: '07:45', plannedEndOfShift1: '16:00', plannedBreakOfShift1: '00:45', plannedStartOfShift2: '00:00', plannedEndOfShift2: '00:00', plannedBreakOfShift2: '00:00' },
+ { date: futureWeekDates[0], text: '07:30-15:30;foobar', firstShift: '07:30 - 15:30 / 0 t 0 min', plannedHours: '8 t 0 min', flexBalanceToDate: 'swap_vert-22:33', calculatedHours: '8', plannedStartOfShift1: '07:30', plannedEndOfShift1: '15:30', plannedBreakOfShift1: '00:00', plannedStartOfShift2: '00:00', plannedEndOfShift2: '00:00', plannedBreakOfShift2: '00:00' },
+ { date: futureWeekDates[1], text: '7:45-16/0.75', firstShift: '07:45 - 16:00 / 0 t 45 min', plannedHours: '8 t 0 min', flexBalanceToDate: 'swap_vert-30:33', calculatedHours: '7.5', plannedStartOfShift1: '07:45', plannedEndOfShift1: '16:00', plannedBreakOfShift1: '00:45', plannedStartOfShift2: '00:00', plannedEndOfShift2: '00:00', plannedBreakOfShift2: '00:00' },
{ date: futureWeekDates[2], text: 'foo bar', plannedHours: '', flexBalanceToDate: 'swap_vert-46:33', calculatedHours: '0', plannedStartOfShift1: '00:00', plannedEndOfShift1: '00:00', plannedBreakOfShift1: '00:00', plannedStartOfShift2: '00:00', plannedEndOfShift2: '00:00', plannedBreakOfShift2: '00:00' },
- { date: futureWeekDates[3], text: '6-12;18:00-20:00', firstShift: '06:00 - 12:00 / 00:00', secondShift: '18:00 - 20:00 / 00:00', plannedHours: '8:00', flexBalanceToDate: 'swap_vert-54:33', calculatedHours: '8', plannedStartOfShift1: '06:00', plannedEndOfShift1: '12:00', plannedBreakOfShift1: '00:00', plannedStartOfShift2: '18:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:00' },
- { date: futureWeekDates[4], text: ' ', plannedHours: '12:00', flexBalanceToDate: 'swap_vert-62:33', calculatedHours: '12', plannedStartOfShift1: '00:00', plannedEndOfShift1: '00:00', plannedBreakOfShift1: '00:00', plannedStartOfShift2: '00:00', plannedEndOfShift2: '00:00', plannedBreakOfShift2: '00:00' },
- { date: futureWeekDates[5], text: '6-12/¾;18-20/¾', firstShift: '06:00 - 12:00 / 00:45', secondShift: '18:00 - 20:00 / 00:45', plannedHours: '8:00', flexBalanceToDate: 'swap_vert-70:33', calculatedHours: '6.5', plannedStartOfShift1: '06:00', plannedEndOfShift1: '12:00', plannedBreakOfShift1: '00:45', plannedStartOfShift2: '18:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:45' },
- { date: futureWeekDates[6], text: '6-14/½', firstShift: '06:00 - 14:00 / 00:30', plannedHours: '8:00', flexBalanceToDate: 'swap_vert-78:33', calculatedHours: '7.5', plannedStartOfShift1: '06:00', plannedEndOfShift1: '14:00', plannedBreakOfShift1: '00:30', plannedStartOfShift2: '00:00', plannedEndOfShift2: '00:00', plannedBreakOfShift2: '00:00' },
+ { date: futureWeekDates[3], text: '6-12;18:00-20:00', firstShift: '06:00 - 12:00 / 0 t 0 min', secondShift: '18:00 - 20:00 / 0 t 0 min', plannedHours: '8 t 0 min', flexBalanceToDate: 'swap_vert-54:33', calculatedHours: '8', plannedStartOfShift1: '06:00', plannedEndOfShift1: '12:00', plannedBreakOfShift1: '00:00', plannedStartOfShift2: '18:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:00' },
+ { date: futureWeekDates[4], text: ' ', plannedHours: '12 t 0 min', flexBalanceToDate: 'swap_vert-62:33', calculatedHours: '12', plannedStartOfShift1: '00:00', plannedEndOfShift1: '00:00', plannedBreakOfShift1: '00:00', plannedStartOfShift2: '00:00', plannedEndOfShift2: '00:00', plannedBreakOfShift2: '00:00' },
+ { date: futureWeekDates[5], text: '6-12/¾;18-20/¾', firstShift: '06:00 - 12:00 / 0 t 45 min', secondShift: '18:00 - 20:00 / 0 t 45 min', plannedHours: '8 t 0 min', flexBalanceToDate: 'swap_vert-70:33', calculatedHours: '6.5', plannedStartOfShift1: '06:00', plannedEndOfShift1: '12:00', plannedBreakOfShift1: '00:45', plannedStartOfShift2: '18:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:45' },
+ { date: futureWeekDates[6], text: '6-14/½', firstShift: '06:00 - 14:00 / 0 t 30 min', plannedHours: '8 t 0 min', flexBalanceToDate: 'swap_vert-78:33', calculatedHours: '7.5', plannedStartOfShift1: '06:00', plannedEndOfShift1: '14:00', plannedBreakOfShift1: '00:30', plannedStartOfShift2: '00:00', plannedEndOfShift2: '00:00', plannedBreakOfShift2: '00:00' },
];
async function waitForSpinner(page: import('@playwright/test').Page) {
diff --git a/eform-client/playwright/e2e/plugins/time-planning-pn/b/dashboard-edit-b.spec.ts b/eform-client/playwright/e2e/plugins/time-planning-pn/b/dashboard-edit-b.spec.ts
index 6fc0fd28..a70632b1 100644
--- a/eform-client/playwright/e2e/plugins/time-planning-pn/b/dashboard-edit-b.spec.ts
+++ b/eform-client/playwright/e2e/plugins/time-planning-pn/b/dashboard-edit-b.spec.ts
@@ -104,23 +104,23 @@ const filtersFutureWeek = [
];
const secondUpdatePlanTexts = [
- { date: nextWeekDates[0], text: '07:30-15:30', firstShift: '07:30 - 15:30 / 00:00', plannedHours: '8:00', flexBalanceToDate: 'swap_vert89:27', flexToDate: '97:27', flexIncludingToday: '89:27', nettoHours: '', todaysFlex: '-8:00', paidOutFlex: 0, calculatedHours: '8', plannedStartOfShift1: '07:30', plannedEndOfShift1: '15:30', plannedBreakOfShift1: '', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
- { date: nextWeekDates[1], text: '7:45-16:00/1', firstShift: '07:50 - 16:00 / 01:00', plannedHours: '8:00', flexBalanceToDate: 'swap_vert82:17', flexToDate: '89:27', flexIncludingToday: '82:17', nettoHours: '', todaysFlex: '-7:10', paidOutFlex: 0, calculatedHours: '7.166666666666667', plannedStartOfShift1: '07:50', plannedEndOfShift1: '16:00', plannedBreakOfShift1: '01:00', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
- { date: nextWeekDates[2], text: '7:15-16:00/1;17-20/0,5', firstShift: '07:15 - 16:00 / 01:00', secondShift: '17:00 - 20:00 / 00:30', plannedHours: '8:00', flexBalanceToDate: 'swap_vert72:02', flexToDate: '82:17', flexIncludingToday: '72:02', nettoHours: '', todaysFlex: '-10:15', paidOutFlex: 0, calculatedHours: '10.25', plannedStartOfShift1: '07:15', plannedEndOfShift1: '16:00', plannedBreakOfShift1: '01:00', plannedStartOfShift2: '17:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:30' },
- { date: nextWeekDates[3], text: '6-12/½;18:00-20:00/0.5', firstShift: '06:00 - 12:00 / 00:30', secondShift: '18:00 - 20:00 / 00:30', plannedHours: '8:00', flexBalanceToDate: 'swap_vert65:02', flexToDate: '72:02', flexIncludingToday: '65:02', nettoHours: '', todaysFlex: '-7:00', paidOutFlex: 0, calculatedHours: '7', plannedStartOfShift1: '06:00', plannedEndOfShift1: '12:00', plannedBreakOfShift1: '00:30', plannedStartOfShift2: '18:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:30' },
- { date: nextWeekDates[4], text: '06:00-12:00/¾;18:00-20:00/0.5', firstShift: '06:00 - 12:00 / 00:50', secondShift: '18:00 - 20:00 / 00:30', plannedHours: '8:00', flexBalanceToDate: 'swap_vert58:22', flexToDate: '65:02', flexIncludingToday: '58:22', nettoHours: '', todaysFlex: '-6:40', paidOutFlex: 0, calculatedHours: '6.666666666666667', plannedStartOfShift1: '06:00', plannedEndOfShift1: '12:00', plannedBreakOfShift1: '00:50', plannedStartOfShift2: '18:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:30' },
- { date: nextWeekDates[5], text: '6-12/¾;18-20/¾', firstShift: '06:00 - 12:00 / 00:50', secondShift: '18:00 - 20:00 / 00:50', plannedHours: '8:00', flexBalanceToDate: 'swap_vert52:02', flexToDate: '58:22', flexIncludingToday: '52:02', nettoHours: '', todaysFlex: '-6:20', paidOutFlex: 0, calculatedHours: '6.333333333333333', plannedStartOfShift1: '06:00', plannedEndOfShift1: '12:00', plannedBreakOfShift1: '00:50', plannedStartOfShift2: '18:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:50' },
- { date: lastWeekDates[6], text: '6-14/½', firstShift: '06:00 - 14:00 / 00:30', plannedHours: '8:00', flexBalanceToDate: 'swap_vert44:32', flexToDate: '52:02', flexIncludingToday: '44:32', nettoHours: '', todaysFlex: '-7:30', paidOutFlex: 0, calculatedHours: '7.5', plannedStartOfShift1: '06:00', plannedEndOfShift1: '14:00', plannedBreakOfShift1: '00:30', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
+ { date: nextWeekDates[0], text: '07:30-15:30', firstShift: '07:30 - 15:30 / 0 t 0 min', plannedHours: '8 t 0 min', flexBalanceToDate: 'swap_vert89:27', flexToDate: '97:27', flexIncludingToday: '89:27', nettoHours: '', todaysFlex: '-8:00', paidOutFlex: 0, calculatedHours: '8', plannedStartOfShift1: '07:30', plannedEndOfShift1: '15:30', plannedBreakOfShift1: '', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
+ { date: nextWeekDates[1], text: '7:45-16:00/1', firstShift: '07:50 - 16:00 / 1 t 0 min', plannedHours: '8 t 0 min', flexBalanceToDate: 'swap_vert82:17', flexToDate: '89:27', flexIncludingToday: '82:17', nettoHours: '', todaysFlex: '-7:10', paidOutFlex: 0, calculatedHours: '7.166666666666667', plannedStartOfShift1: '07:50', plannedEndOfShift1: '16:00', plannedBreakOfShift1: '01:00', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
+ { date: nextWeekDates[2], text: '7:15-16:00/1;17-20/0,5', firstShift: '07:15 - 16:00 / 1 t 0 min', secondShift: '17:00 - 20:00 / 0 t 30 min', plannedHours: '8 t 0 min', flexBalanceToDate: 'swap_vert72:02', flexToDate: '82:17', flexIncludingToday: '72:02', nettoHours: '', todaysFlex: '-10:15', paidOutFlex: 0, calculatedHours: '10.25', plannedStartOfShift1: '07:15', plannedEndOfShift1: '16:00', plannedBreakOfShift1: '01:00', plannedStartOfShift2: '17:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:30' },
+ { date: nextWeekDates[3], text: '6-12/½;18:00-20:00/0.5', firstShift: '06:00 - 12:00 / 0 t 30 min', secondShift: '18:00 - 20:00 / 0 t 30 min', plannedHours: '8 t 0 min', flexBalanceToDate: 'swap_vert65:02', flexToDate: '72:02', flexIncludingToday: '65:02', nettoHours: '', todaysFlex: '-7:00', paidOutFlex: 0, calculatedHours: '7', plannedStartOfShift1: '06:00', plannedEndOfShift1: '12:00', plannedBreakOfShift1: '00:30', plannedStartOfShift2: '18:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:30' },
+ { date: nextWeekDates[4], text: '06:00-12:00/¾;18:00-20:00/0.5', firstShift: '06:00 - 12:00 / 0 t 50 min', secondShift: '18:00 - 20:00 / 0 t 30 min', plannedHours: '8 t 0 min', flexBalanceToDate: 'swap_vert58:22', flexToDate: '65:02', flexIncludingToday: '58:22', nettoHours: '', todaysFlex: '-6:40', paidOutFlex: 0, calculatedHours: '6.666666666666667', plannedStartOfShift1: '06:00', plannedEndOfShift1: '12:00', plannedBreakOfShift1: '00:50', plannedStartOfShift2: '18:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:30' },
+ { date: nextWeekDates[5], text: '6-12/¾;18-20/¾', firstShift: '06:00 - 12:00 / 0 t 50 min', secondShift: '18:00 - 20:00 / 0 t 50 min', plannedHours: '8 t 0 min', flexBalanceToDate: 'swap_vert52:02', flexToDate: '58:22', flexIncludingToday: '52:02', nettoHours: '', todaysFlex: '-6:20', paidOutFlex: 0, calculatedHours: '6.333333333333333', plannedStartOfShift1: '06:00', plannedEndOfShift1: '12:00', plannedBreakOfShift1: '00:50', plannedStartOfShift2: '18:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:50' },
+ { date: lastWeekDates[6], text: '6-14/½', firstShift: '06:00 - 14:00 / 0 t 30 min', plannedHours: '8 t 0 min', flexBalanceToDate: 'swap_vert44:32', flexToDate: '52:02', flexIncludingToday: '44:32', nettoHours: '', todaysFlex: '-7:30', paidOutFlex: 0, calculatedHours: '7.5', plannedStartOfShift1: '06:00', plannedEndOfShift1: '14:00', plannedBreakOfShift1: '00:30', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
];
const secondUpdateActualTexts = [
- { date: nextWeekDates[0], start1StartedAt: '07:30', stop1StoppedAt: '15:30', pause1Id: '00:25', start2StartedAt: '', stop2StoppedAt: '', pause2Id: '', plannedHours: '8:00', flexBalanceToDate: 'swap_vert97.03', flexToDate: '97.45', flexIncludingToday: '97.03', nettoHours: '7.58', todaysFlex: '-0.42', paidOutFlex: 0, calculatedHours: '8' },
- { date: nextWeekDates[1], start1StartedAt: '07:50', stop1StoppedAt: '16:00', pause1Id: '01:00', start2StartedAt: '', stop2StoppedAt: '', pause2Id: '', plannedHours: '8:00', flexBalanceToDate: 'swap_vert97.03', flexToDate: '97.03', flexIncludingToday: '97.03', nettoHours: '7.17', todaysFlex: '0.00', paidOutFlex: 0, calculatedHours: '7.166666666666667' },
- { date: nextWeekDates[2], start1StartedAt: '07:15', stop1StoppedAt: '16:00', pause1Id: '01:00', start2StartedAt: '17:00', stop2StoppedAt: '20:00', pause2Id: '00:30', plannedHours: '8:00', flexBalanceToDate: 'swap_vert97.03', flexToDate: '97.03', flexIncludingToday: '97.03', nettoHours: '10.25', todaysFlex: '0.00', paidOutFlex: 0, calculatedHours: '10.25' },
- { date: nextWeekDates[3], start1StartedAt: '06:00', stop1StoppedAt: '12:00', pause1Id: '00:30', start2StartedAt: '18:00', stop2StoppedAt: '20:00', pause2Id: '00:30', plannedHours: '8:00', flexBalanceToDate: 'swap_vert97.03', flexToDate: '97.03', flexIncludingToday: '97.03', nettoHours: '7.00', todaysFlex: '0.00', paidOutFlex: 0, calculatedHours: '7' },
- { date: nextWeekDates[4], start1StartedAt: '06:00', stop1StoppedAt: '12:00', pause1Id: '01:50', start2StartedAt: '18:00', stop2StoppedAt: '20:00', pause2Id: '01:50', plannedHours: '8.0', flexBalanceToDate: 'swap_vert94.70', flexToDate: '97.03', flexIncludingToday: '94.70', nettoHours: '4.33', todaysFlex: '-2.33', paidOutFlex: 0, calculatedHours: '6.666666666666667' },
- { date: nextWeekDates[5], start1StartedAt: '', stop1StoppedAt: '', pause1Id: '', start2StartedAt: '', stop2StoppedAt: '', pause2Id: '', plannedHours: '', flexBalanceToDate: 'swap_vert88.36', flexToDate: '94.70', flexIncludingToday: '88.36', nettoHours: '0.00', todaysFlex: '-6.33', paidOutFlex: 0, calculatedHours: '6.333333333333333' },
- { date: lastWeekDates[6], start1StartedAt: '06:00', stop1StoppedAt: '14:00', pause1Id: '00:30', start2StartedAt: '', stop2StoppedAt: '', pause2Id: '', plannedHours: '8:00', flexBalanceToDate: 'swap_vert88.36', flexToDate: '88.36', flexIncludingToday: '88.36', nettoHours: '7.50', todaysFlex: '0.00', paidOutFlex: 0, calculatedHours: '7.5' }
+ { date: nextWeekDates[0], start1StartedAt: '07:30', stop1StoppedAt: '15:30', pause1Id: '00:25', start2StartedAt: '', stop2StoppedAt: '', pause2Id: '', plannedHours: '8 t 0 min', flexBalanceToDate: '(97.03 timer)', flexToDate: '97.45', flexIncludingToday: '97.03', nettoHours: '7.58', todaysFlex: '-0.42', paidOutFlex: 0, calculatedHours: '8' },
+ { date: nextWeekDates[1], start1StartedAt: '07:50', stop1StoppedAt: '16:00', pause1Id: '01:00', start2StartedAt: '', stop2StoppedAt: '', pause2Id: '', plannedHours: '8 t 0 min', flexBalanceToDate: '(97.03 timer)', flexToDate: '97.03', flexIncludingToday: '97.03', nettoHours: '7.17', todaysFlex: '0.00', paidOutFlex: 0, calculatedHours: '7.166666666666667' },
+ { date: nextWeekDates[2], start1StartedAt: '07:15', stop1StoppedAt: '16:00', pause1Id: '01:00', start2StartedAt: '17:00', stop2StoppedAt: '20:00', pause2Id: '00:30', plannedHours: '8 t 0 min', flexBalanceToDate: '(97.03 timer)', flexToDate: '97.03', flexIncludingToday: '97.03', nettoHours: '10.25', todaysFlex: '0.00', paidOutFlex: 0, calculatedHours: '10.25' },
+ { date: nextWeekDates[3], start1StartedAt: '06:00', stop1StoppedAt: '12:00', pause1Id: '00:30', start2StartedAt: '18:00', stop2StoppedAt: '20:00', pause2Id: '00:30', plannedHours: '8 t 0 min', flexBalanceToDate: '(97.03 timer)', flexToDate: '97.03', flexIncludingToday: '97.03', nettoHours: '7.00', todaysFlex: '0.00', paidOutFlex: 0, calculatedHours: '7' },
+ { date: nextWeekDates[4], start1StartedAt: '06:00', stop1StoppedAt: '12:00', pause1Id: '01:50', start2StartedAt: '18:00', stop2StoppedAt: '20:00', pause2Id: '01:50', plannedHours: '8.0', flexBalanceToDate: '(94.70 timer)', flexToDate: '97.03', flexIncludingToday: '94.70', nettoHours: '4.33', todaysFlex: '-2.33', paidOutFlex: 0, calculatedHours: '6.666666666666667' },
+ { date: nextWeekDates[5], start1StartedAt: '', stop1StoppedAt: '', pause1Id: '', start2StartedAt: '', stop2StoppedAt: '', pause2Id: '', plannedHours: '', flexBalanceToDate: '(88.36 timer)', flexToDate: '94.70', flexIncludingToday: '88.36', nettoHours: '0.00', todaysFlex: '-6.33', paidOutFlex: 0, calculatedHours: '6.333333333333333' },
+ { date: lastWeekDates[6], start1StartedAt: '06:00', stop1StoppedAt: '14:00', pause1Id: '00:30', start2StartedAt: '', stop2StoppedAt: '', pause2Id: '', plannedHours: '8 t 0 min', flexBalanceToDate: '(88.36 timer)', flexToDate: '88.36', flexIncludingToday: '88.36', nettoHours: '7.50', todaysFlex: '0.00', paidOutFlex: 0, calculatedHours: '7.5' }
];
async function waitForSpinner(page: import('@playwright/test').Page) {
diff --git a/eform-client/playwright/e2e/plugins/time-planning-pn/c/dashboard-edit-a.spec.ts b/eform-client/playwright/e2e/plugins/time-planning-pn/c/dashboard-edit-a.spec.ts
index bf2a3022..0a27a557 100644
--- a/eform-client/playwright/e2e/plugins/time-planning-pn/c/dashboard-edit-a.spec.ts
+++ b/eform-client/playwright/e2e/plugins/time-planning-pn/c/dashboard-edit-a.spec.ts
@@ -170,63 +170,63 @@ const updatePlanHoursFutureWeek = [
];
const planTexts = [
- { date: lastWeekDates[0], text: '07:30-15:30', plannedHours: '8:00', flexBalanceToDate: 'Flex saldo til dato: 89:27', calculatedHours: '8', plannedStartOfShift1: '00:00', plannedEndOfShift1: '00:00', plannedBreakOfShift1: '00:00', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
- { date: lastWeekDates[1], text: '7:45-16:00/1', plannedHours: '8:00', flexBalanceToDate: 'Flex saldo til dato: 81:27', calculatedHours: '8', plannedStartOfShift1: '00:00', plannedEndOfShift1: '00:00', plannedBreakOfShift1: '00:00', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
- { date: lastWeekDates[2], text: '7:15-16:00/1;17-20/0,5', plannedHours: '8:00', flexBalanceToDate: 'Flex saldo til dato: 73:27', calculatedHours: '8', plannedStartOfShift1: '00:00', plannedEndOfShift1: '00:00', plannedBreakOfShift1: '00:00', plannedStartOfShift2: '00:00', plannedEndOfShift2: '00:00', plannedBreakOfShift2: '00:00' },
- { date: lastWeekDates[3], text: '6-12/½;18:00-20:00/0.5', plannedHours: '8:00', flexBalanceToDate: 'Flex saldo til dato: 65:27', calculatedHours: '8', plannedStartOfShift1: '00:00', plannedEndOfShift1: '00:00', plannedBreakOfShift1: '00:00', plannedStartOfShift2: '00:00', plannedEndOfShift2: '00:00', plannedBreakOfShift2: '00:00' },
- { date: lastWeekDates[4], text: '06:00-12:00/¾;18:00-20:00/0.5', plannedHours: '8:00', flexBalanceToDate: 'Flex saldo til dato: 57:27', calculatedHours: '8', plannedStartOfShift1: '00:00', plannedEndOfShift1: '00:00', plannedBreakOfShift1: '00:00', plannedStartOfShift2: '00:00', plannedEndOfShift2: '00:00', plannedBreakOfShift2: '00:00' },
- { date: lastWeekDates[5], text: '6-12/¾;18-20/¾', plannedHours: '8:00', flexBalanceToDate: 'Flex saldo til dato: 49:27', calculatedHours: '8', plannedStartOfShift1: '00:00', plannedEndOfShift1: '00:00', plannedBreakOfShift1: '00:00', plannedStartOfShift2: '00:00', plannedEndOfShift2: '00:00', plannedBreakOfShift2: '00:00' },
- { date: lastWeekDates[6], text: '6-14/½', plannedHours: '8:00', flexBalanceToDate: 'Flex saldo til dato: 41:27', calculatedHours: '8', plannedStartOfShift1: '00:00', plannedEndOfShift1: '00:00', plannedBreakOfShift1: '00:00', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
+ { date: lastWeekDates[0], text: '07:30-15:30', plannedHours: '8 t 0 min', flexBalanceToDate: 'Flex saldo til dato: 89:27', calculatedHours: '8', plannedStartOfShift1: '00:00', plannedEndOfShift1: '00:00', plannedBreakOfShift1: '00:00', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
+ { date: lastWeekDates[1], text: '7:45-16:00/1', plannedHours: '8 t 0 min', flexBalanceToDate: 'Flex saldo til dato: 81:27', calculatedHours: '8', plannedStartOfShift1: '00:00', plannedEndOfShift1: '00:00', plannedBreakOfShift1: '00:00', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
+ { date: lastWeekDates[2], text: '7:15-16:00/1;17-20/0,5', plannedHours: '8 t 0 min', flexBalanceToDate: 'Flex saldo til dato: 73:27', calculatedHours: '8', plannedStartOfShift1: '00:00', plannedEndOfShift1: '00:00', plannedBreakOfShift1: '00:00', plannedStartOfShift2: '00:00', plannedEndOfShift2: '00:00', plannedBreakOfShift2: '00:00' },
+ { date: lastWeekDates[3], text: '6-12/½;18:00-20:00/0.5', plannedHours: '8 t 0 min', flexBalanceToDate: 'Flex saldo til dato: 65:27', calculatedHours: '8', plannedStartOfShift1: '00:00', plannedEndOfShift1: '00:00', plannedBreakOfShift1: '00:00', plannedStartOfShift2: '00:00', plannedEndOfShift2: '00:00', plannedBreakOfShift2: '00:00' },
+ { date: lastWeekDates[4], text: '06:00-12:00/¾;18:00-20:00/0.5', plannedHours: '8 t 0 min', flexBalanceToDate: 'Flex saldo til dato: 57:27', calculatedHours: '8', plannedStartOfShift1: '00:00', plannedEndOfShift1: '00:00', plannedBreakOfShift1: '00:00', plannedStartOfShift2: '00:00', plannedEndOfShift2: '00:00', plannedBreakOfShift2: '00:00' },
+ { date: lastWeekDates[5], text: '6-12/¾;18-20/¾', plannedHours: '8 t 0 min', flexBalanceToDate: 'Flex saldo til dato: 49:27', calculatedHours: '8', plannedStartOfShift1: '00:00', plannedEndOfShift1: '00:00', plannedBreakOfShift1: '00:00', plannedStartOfShift2: '00:00', plannedEndOfShift2: '00:00', plannedBreakOfShift2: '00:00' },
+ { date: lastWeekDates[6], text: '6-14/½', plannedHours: '8 t 0 min', flexBalanceToDate: 'Flex saldo til dato: 41:27', calculatedHours: '8', plannedStartOfShift1: '00:00', plannedEndOfShift1: '00:00', plannedBreakOfShift1: '00:00', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
];
const updatePlanTexts = [
- { date: lastWeekDates[0], text: '07:30-15:30', plannedHours: '1:00', flexBalanceToDate: 'Flex saldo til dato: 96:27', calculatedHours: '1', plannedStartOfShift1: '00:00', plannedEndOfShift1: '00:00', plannedBreakOfShift1: '00:00', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
- { date: lastWeekDates[1], text: '7:45-16:00/1', plannedHours: '2:00', flexBalanceToDate: 'Flex saldo til dato: 94:27', calculatedHours: '2', plannedStartOfShift1: '00:00', plannedEndOfShift1: '00:00', plannedBreakOfShift1: '00:00', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
- { date: lastWeekDates[2], text: '7:15-16:00/1;17-20/0,5', plannedHours: '3:00', flexBalanceToDate: 'Flex saldo til dato: 91:27', calculatedHours: '3', plannedStartOfShift1: '00:00', plannedEndOfShift1: '00:00', plannedBreakOfShift1: '00:00', plannedStartOfShift2: '00:00', plannedEndOfShift2: '00:00', plannedBreakOfShift2: '00:00' },
+ { date: lastWeekDates[0], text: '07:30-15:30', plannedHours: '1 t 0 min', flexBalanceToDate: 'Flex saldo til dato: 96:27', calculatedHours: '1', plannedStartOfShift1: '00:00', plannedEndOfShift1: '00:00', plannedBreakOfShift1: '00:00', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
+ { date: lastWeekDates[1], text: '7:45-16:00/1', plannedHours: '2 t 0 min', flexBalanceToDate: 'Flex saldo til dato: 94:27', calculatedHours: '2', plannedStartOfShift1: '00:00', plannedEndOfShift1: '00:00', plannedBreakOfShift1: '00:00', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
+ { date: lastWeekDates[2], text: '7:15-16:00/1;17-20/0,5', plannedHours: '3 t 0 min', flexBalanceToDate: 'Flex saldo til dato: 91:27', calculatedHours: '3', plannedStartOfShift1: '00:00', plannedEndOfShift1: '00:00', plannedBreakOfShift1: '00:00', plannedStartOfShift2: '00:00', plannedEndOfShift2: '00:00', plannedBreakOfShift2: '00:00' },
{ date: lastWeekDates[3], text: '6-12/½;18:00-20:00/0.5', plannedHours: '', flexBalanceToDate: '', calculatedHours: '0', plannedStartOfShift1: '00:00', plannedEndOfShift1: '00:00', plannedBreakOfShift1: '00:00', plannedStartOfShift2: '00:00', plannedEndOfShift2: '00:00', plannedBreakOfShift2: '00:00' },
- { date: lastWeekDates[4], text: '06:00-12:00/¾;18:00-20:00/0.5', plannedHours: '4:00', flexBalanceToDate: 'Flex saldo til dato: 87:27', calculatedHours: '4', plannedStartOfShift1: '00:00', plannedEndOfShift1: '00:00', plannedBreakOfShift1: '00:00', plannedStartOfShift2: '00:00', plannedEndOfShift2: '00:00', plannedBreakOfShift2: '00:00' },
- { date: lastWeekDates[5], text: '6-12/¾;18-20/¾', plannedHours: '5:00', flexBalanceToDate: 'Flex saldo til dato: 82:27', calculatedHours: '5', plannedStartOfShift1: '00:00', plannedEndOfShift1: '00:00', plannedBreakOfShift1: '00:00', plannedStartOfShift2: '00:00', plannedEndOfShift2: '00:00', plannedBreakOfShift2: '00:00' },
- { date: lastWeekDates[6], text: '6-14/½', plannedHours: '6:00', flexBalanceToDate: 'Flex saldo til dato: 76:27', calculatedHours: '6', plannedStartOfShift1: '00:00', plannedEndOfShift1: '00:00', plannedBreakOfShift1: '00:00', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
+ { date: lastWeekDates[4], text: '06:00-12:00/¾;18:00-20:00/0.5', plannedHours: '4 t 0 min', flexBalanceToDate: 'Flex saldo til dato: 87:27', calculatedHours: '4', plannedStartOfShift1: '00:00', plannedEndOfShift1: '00:00', plannedBreakOfShift1: '00:00', plannedStartOfShift2: '00:00', plannedEndOfShift2: '00:00', plannedBreakOfShift2: '00:00' },
+ { date: lastWeekDates[5], text: '6-12/¾;18-20/¾', plannedHours: '5 t 0 min', flexBalanceToDate: 'Flex saldo til dato: 82:27', calculatedHours: '5', plannedStartOfShift1: '00:00', plannedEndOfShift1: '00:00', plannedBreakOfShift1: '00:00', plannedStartOfShift2: '00:00', plannedEndOfShift2: '00:00', plannedBreakOfShift2: '00:00' },
+ { date: lastWeekDates[6], text: '6-14/½', plannedHours: '6 t 0 min', flexBalanceToDate: 'Flex saldo til dato: 76:27', calculatedHours: '6', plannedStartOfShift1: '00:00', plannedEndOfShift1: '00:00', plannedBreakOfShift1: '00:00', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
];
const planTextsNextWeek = [
- { date: nextWeekDates[0], text: '07:30-15:30', firstShift: '07:30 - 15:30 / 00:00', plannedHours: '8:00', flexBalanceToDate: 'Flex saldo til dato: 33:27', calculatedHours: '8', plannedStartOfShift1: '07:30', plannedEndOfShift1: '15:30', plannedBreakOfShift1: '00:00', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
- { date: nextWeekDates[1], text: '7:45-16:00/1', firstShift: '07:45 - 16:00 / 01:00', plannedHours: '8:00', flexBalanceToDate: 'Flex saldo til dato: 25:27', calculatedHours: '7.25', plannedStartOfShift1: '07:45', plannedEndOfShift1: '16:00', plannedBreakOfShift1: '01:00', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
- { date: nextWeekDates[2], text: '7:15-16:00/1;17-20/0,5', firstShift: '07:15 - 16:00 / 01:00', secondShift: '17:00 - 20:00 / 00:30', plannedHours: '8:00', flexBalanceToDate: 'Flex saldo til dato: 17:27', calculatedHours: '10.25', plannedStartOfShift1: '07:15', plannedEndOfShift1: '16:00', plannedBreakOfShift1: '01:00', plannedStartOfShift2: '17:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:30' },
- { date: nextWeekDates[3], text: '6-12/½;18:00-20:00/0.5', firstShift: '06:00 - 12:00 / 00:30', secondShift: '18:00 - 20:00 / 00:30', plannedHours: '8:00', flexBalanceToDate: 'Flex saldo til dato: 9:27', calculatedHours: '7', plannedStartOfShift1: '06:00', plannedEndOfShift1: '12:00', plannedBreakOfShift1: '00:30', plannedStartOfShift2: '18:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:30' },
- { date: nextWeekDates[4], text: '06:00-12:00/¾;18:00-20:00/0.5', firstShift: '06:00 - 12:00 / 00:45', secondShift: '18:00 - 20:00 / 00:30', plannedHours: '8:00', flexBalanceToDate: 'Flex saldo til dato: 1:27', calculatedHours: '7', plannedStartOfShift1: '06:00', plannedEndOfShift1: '12:00', plannedBreakOfShift1: '00:45', plannedStartOfShift2: '18:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:30' },
- { date: nextWeekDates[5], text: '6-12/¾;18-20/¾', firstShift: '06:00 - 12:00 / 00:45', secondShift: '18:00 - 20:00 / 00:45', plannedHours: '8:00', flexBalanceToDate: 'Flex saldo til dato: -6:33', calculatedHours: '6.5', plannedStartOfShift1: '06:00', plannedEndOfShift1: '12:00', plannedBreakOfShift1: '00:45', plannedStartOfShift2: '18:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:45' },
- { date: lastWeekDates[6], text: '6-14/½', firstShift: '06:00 - 14:00 / 00:30', plannedHours: '8:00', flexBalanceToDate: 'Flex saldo til dato: -14:33', calculatedHours: '7.5', plannedStartOfShift1: '06:00', plannedEndOfShift1: '14:00', plannedBreakOfShift1: '00:30', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
+ { date: nextWeekDates[0], text: '07:30-15:30', firstShift: '07:30 - 15:30 / 0 t 0 min', plannedHours: '8 t 0 min', flexBalanceToDate: 'Flex saldo til dato: 33:27', calculatedHours: '8', plannedStartOfShift1: '07:30', plannedEndOfShift1: '15:30', plannedBreakOfShift1: '00:00', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
+ { date: nextWeekDates[1], text: '7:45-16:00/1', firstShift: '07:45 - 16:00 / 1 t 0 min', plannedHours: '8 t 0 min', flexBalanceToDate: 'Flex saldo til dato: 25:27', calculatedHours: '7.25', plannedStartOfShift1: '07:45', plannedEndOfShift1: '16:00', plannedBreakOfShift1: '01:00', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
+ { date: nextWeekDates[2], text: '7:15-16:00/1;17-20/0,5', firstShift: '07:15 - 16:00 / 1 t 0 min', secondShift: '17:00 - 20:00 / 0 t 30 min', plannedHours: '8 t 0 min', flexBalanceToDate: 'Flex saldo til dato: 17:27', calculatedHours: '10.25', plannedStartOfShift1: '07:15', plannedEndOfShift1: '16:00', plannedBreakOfShift1: '01:00', plannedStartOfShift2: '17:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:30' },
+ { date: nextWeekDates[3], text: '6-12/½;18:00-20:00/0.5', firstShift: '06:00 - 12:00 / 0 t 30 min', secondShift: '18:00 - 20:00 / 0 t 30 min', plannedHours: '8 t 0 min', flexBalanceToDate: 'Flex saldo til dato: 9:27', calculatedHours: '7', plannedStartOfShift1: '06:00', plannedEndOfShift1: '12:00', plannedBreakOfShift1: '00:30', plannedStartOfShift2: '18:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:30' },
+ { date: nextWeekDates[4], text: '06:00-12:00/¾;18:00-20:00/0.5', firstShift: '06:00 - 12:00 / 0 t 45 min', secondShift: '18:00 - 20:00 / 0 t 30 min', plannedHours: '8 t 0 min', flexBalanceToDate: 'Flex saldo til dato: 1:27', calculatedHours: '7', plannedStartOfShift1: '06:00', plannedEndOfShift1: '12:00', plannedBreakOfShift1: '00:45', plannedStartOfShift2: '18:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:30' },
+ { date: nextWeekDates[5], text: '6-12/¾;18-20/¾', firstShift: '06:00 - 12:00 / 0 t 45 min', secondShift: '18:00 - 20:00 / 0 t 45 min', plannedHours: '8 t 0 min', flexBalanceToDate: 'Flex saldo til dato: -6:33', calculatedHours: '6.5', plannedStartOfShift1: '06:00', plannedEndOfShift1: '12:00', plannedBreakOfShift1: '00:45', plannedStartOfShift2: '18:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:45' },
+ { date: lastWeekDates[6], text: '6-14/½', firstShift: '06:00 - 14:00 / 0 t 30 min', plannedHours: '8 t 0 min', flexBalanceToDate: 'Flex saldo til dato: -14:33', calculatedHours: '7.5', plannedStartOfShift1: '06:00', plannedEndOfShift1: '14:00', plannedBreakOfShift1: '00:30', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
];
const updatePlanTextsNextWeek = [
- { date: nextWeekDates[0], text: '07:30-15:30', firstShift: '07:30 - 15:30 / 00:00', plannedHours: '8:00', flexBalanceToDate: 'Flex saldo til dato: 33:27', calculatedHours: '8', plannedStartOfShift1: '07:30', plannedEndOfShift1: '15:30', plannedBreakOfShift1: '00:00', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
- { date: nextWeekDates[1], text: '7:45-16:00/1', firstShift: '07:45 - 16:00 / 01:00', plannedHours: '8:00', flexBalanceToDate: 'Flex saldo til dato: 25:27', calculatedHours: '7.25', plannedStartOfShift1: '07:45', plannedEndOfShift1: '16:00', plannedBreakOfShift1: '01:00', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
- { date: nextWeekDates[2], text: '7:15-16:00/1;17-20/0,5', firstShift: '07:15 - 16:00 / 01:00', secondShift: '17:00 - 20:00 / 00:30', plannedHours: '8:00', flexBalanceToDate: 'Flex saldo til dato: 17:27', calculatedHours: '10.25', plannedStartOfShift1: '07:15', plannedEndOfShift1: '16:00', plannedBreakOfShift1: '01:00', plannedStartOfShift2: '17:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:30' },
- { date: nextWeekDates[3], text: '6-12/½;18:00-20:00/0.5', firstShift: '06:00 - 12:00 / 00:30', secondShift: '18:00 - 20:00 / 00:30', plannedHours: '8:00', flexBalanceToDate: 'Flex saldo til dato: 9:27', calculatedHours: '7', plannedStartOfShift1: '06:00', plannedEndOfShift1: '12:00', plannedBreakOfShift1: '00:30', plannedStartOfShift2: '18:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:30' },
- { date: nextWeekDates[4], text: '06:00-12:00/¾;18:00-20:00/0.5', firstShift: '06:00 - 12:00 / 00:45', secondShift: '18:00 - 20:00 / 00:30', plannedHours: '8:00', flexBalanceToDate: 'Flex saldo til dato: 1:27', calculatedHours: '7', plannedStartOfShift1: '06:00', plannedEndOfShift1: '12:00', plannedBreakOfShift1: '00:45', plannedStartOfShift2: '18:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:30' },
- { date: nextWeekDates[5], text: '6-12/¾;18-20/¾', firstShift: '06:00 - 12:00 / 00:45', secondShift: '18:00 - 20:00 / 00:45', plannedHours: '8:00', flexBalanceToDate: 'Flex saldo til dato: -6:33', calculatedHours: '6.5', plannedStartOfShift1: '06:00', plannedEndOfShift1: '12:00', plannedBreakOfShift1: '00:45', plannedStartOfShift2: '18:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:45' },
- { date: lastWeekDates[6], text: '6-14/½', firstShift: '06:00 - 14:00 / 00:30', plannedHours: '8:00', flexBalanceToDate: 'Flex saldo til dato: -14:33', calculatedHours: '7.5', plannedStartOfShift1: '06:00', plannedEndOfShift1: '14:00', plannedBreakOfShift1: '00:30', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
+ { date: nextWeekDates[0], text: '07:30-15:30', firstShift: '07:30 - 15:30 / 0 t 0 min', plannedHours: '8 t 0 min', flexBalanceToDate: 'Flex saldo til dato: 33:27', calculatedHours: '8', plannedStartOfShift1: '07:30', plannedEndOfShift1: '15:30', plannedBreakOfShift1: '00:00', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
+ { date: nextWeekDates[1], text: '7:45-16:00/1', firstShift: '07:45 - 16:00 / 1 t 0 min', plannedHours: '8 t 0 min', flexBalanceToDate: 'Flex saldo til dato: 25:27', calculatedHours: '7.25', plannedStartOfShift1: '07:45', plannedEndOfShift1: '16:00', plannedBreakOfShift1: '01:00', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
+ { date: nextWeekDates[2], text: '7:15-16:00/1;17-20/0,5', firstShift: '07:15 - 16:00 / 1 t 0 min', secondShift: '17:00 - 20:00 / 0 t 30 min', plannedHours: '8 t 0 min', flexBalanceToDate: 'Flex saldo til dato: 17:27', calculatedHours: '10.25', plannedStartOfShift1: '07:15', plannedEndOfShift1: '16:00', plannedBreakOfShift1: '01:00', plannedStartOfShift2: '17:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:30' },
+ { date: nextWeekDates[3], text: '6-12/½;18:00-20:00/0.5', firstShift: '06:00 - 12:00 / 0 t 30 min', secondShift: '18:00 - 20:00 / 0 t 30 min', plannedHours: '8 t 0 min', flexBalanceToDate: 'Flex saldo til dato: 9:27', calculatedHours: '7', plannedStartOfShift1: '06:00', plannedEndOfShift1: '12:00', plannedBreakOfShift1: '00:30', plannedStartOfShift2: '18:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:30' },
+ { date: nextWeekDates[4], text: '06:00-12:00/¾;18:00-20:00/0.5', firstShift: '06:00 - 12:00 / 0 t 45 min', secondShift: '18:00 - 20:00 / 0 t 30 min', plannedHours: '8 t 0 min', flexBalanceToDate: 'Flex saldo til dato: 1:27', calculatedHours: '7', plannedStartOfShift1: '06:00', plannedEndOfShift1: '12:00', plannedBreakOfShift1: '00:45', plannedStartOfShift2: '18:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:30' },
+ { date: nextWeekDates[5], text: '6-12/¾;18-20/¾', firstShift: '06:00 - 12:00 / 0 t 45 min', secondShift: '18:00 - 20:00 / 0 t 45 min', plannedHours: '8 t 0 min', flexBalanceToDate: 'Flex saldo til dato: -6:33', calculatedHours: '6.5', plannedStartOfShift1: '06:00', plannedEndOfShift1: '12:00', plannedBreakOfShift1: '00:45', plannedStartOfShift2: '18:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:45' },
+ { date: lastWeekDates[6], text: '6-14/½', firstShift: '06:00 - 14:00 / 0 t 30 min', plannedHours: '8 t 0 min', flexBalanceToDate: 'Flex saldo til dato: -14:33', calculatedHours: '7.5', plannedStartOfShift1: '06:00', plannedEndOfShift1: '14:00', plannedBreakOfShift1: '00:30', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
];
const planTextsFutureWeek = [
- { date: futureWeekDates[0], text: '07:30-15:30;foobar', firstShift: '07:30 - 15:30 / 00:00', plannedHours: '8:00', flexBalanceToDate: 'Flex saldo til dato: -22:33', calculatedHours: '8', plannedStartOfShift1: '07:30', plannedEndOfShift1: '15:30', plannedBreakOfShift1: '00:00', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
- { date: futureWeekDates[1], text: '7:45-16/0.75', firstShift: '07:45 - 16:00 / 00:45', plannedHours: '8:00', flexBalanceToDate: 'Flex saldo til dato: -30:33', calculatedHours: '7.5', plannedStartOfShift1: '07:45', plannedEndOfShift1: '16:00', plannedBreakOfShift1: '00:45', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
- { date: futureWeekDates[2], text: 'foo bar', plannedHours: '16:00', flexBalanceToDate: 'Flex saldo til dato: -46:33', calculatedHours: '16', plannedStartOfShift1: '', plannedEndOfShift1: '', plannedBreakOfShift1: '', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
- { date: futureWeekDates[3], text: '6-12;18:00-20:00', firstShift: '06:00 - 12:00 / 00:00', secondShift: '18:00 - 20:00 / 00:00', plannedHours: '8:00', flexBalanceToDate: 'Flex saldo til dato: -54:33', calculatedHours: '8', plannedStartOfShift1: '06:00', plannedEndOfShift1: '12:00', plannedBreakOfShift1: '00:00', plannedStartOfShift2: '18:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:00' },
- { date: futureWeekDates[4], text: ' ', plannedHours: '8:00', flexBalanceToDate: 'Flex saldo til dato: -62:33', calculatedHours: '8', plannedStartOfShift1: '', plannedEndOfShift1: '', plannedBreakOfShift1: '', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
- { date: futureWeekDates[5], text: '6-12/¾;18-20/¾', firstShift: '06:00 - 12:00 / 00:45', secondShift: '18:00 - 20:00 / 00:45', plannedHours: '8:00', flexBalanceToDate: 'Flex saldo til dato: -70:33', calculatedHours: '6.5', plannedStartOfShift1: '06:00', plannedEndOfShift1: '12:00', plannedBreakOfShift1: '00:45', plannedStartOfShift2: '18:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:45' },
- { date: futureWeekDates[6], text: '6-14/½', firstShift: '06:00 - 14:00 / 00:30', plannedHours: '8:00', flexBalanceToDate: 'Flex saldo til dato: -78:33', calculatedHours: '7.5', plannedStartOfShift1: '06:00', plannedEndOfShift1: '14:00', plannedBreakOfShift1: '00:30', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
+ { date: futureWeekDates[0], text: '07:30-15:30;foobar', firstShift: '07:30 - 15:30 / 0 t 0 min', plannedHours: '8 t 0 min', flexBalanceToDate: 'Flex saldo til dato: -22:33', calculatedHours: '8', plannedStartOfShift1: '07:30', plannedEndOfShift1: '15:30', plannedBreakOfShift1: '00:00', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
+ { date: futureWeekDates[1], text: '7:45-16/0.75', firstShift: '07:45 - 16:00 / 0 t 45 min', plannedHours: '8 t 0 min', flexBalanceToDate: 'Flex saldo til dato: -30:33', calculatedHours: '7.5', plannedStartOfShift1: '07:45', plannedEndOfShift1: '16:00', plannedBreakOfShift1: '00:45', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
+ { date: futureWeekDates[2], text: 'foo bar', plannedHours: '16 t 0 min', flexBalanceToDate: 'Flex saldo til dato: -46:33', calculatedHours: '16', plannedStartOfShift1: '', plannedEndOfShift1: '', plannedBreakOfShift1: '', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
+ { date: futureWeekDates[3], text: '6-12;18:00-20:00', firstShift: '06:00 - 12:00 / 0 t 0 min', secondShift: '18:00 - 20:00 / 0 t 0 min', plannedHours: '8 t 0 min', flexBalanceToDate: 'Flex saldo til dato: -54:33', calculatedHours: '8', plannedStartOfShift1: '06:00', plannedEndOfShift1: '12:00', plannedBreakOfShift1: '00:00', plannedStartOfShift2: '18:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:00' },
+ { date: futureWeekDates[4], text: ' ', plannedHours: '8 t 0 min', flexBalanceToDate: 'Flex saldo til dato: -62:33', calculatedHours: '8', plannedStartOfShift1: '', plannedEndOfShift1: '', plannedBreakOfShift1: '', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
+ { date: futureWeekDates[5], text: '6-12/¾;18-20/¾', firstShift: '06:00 - 12:00 / 0 t 45 min', secondShift: '18:00 - 20:00 / 0 t 45 min', plannedHours: '8 t 0 min', flexBalanceToDate: 'Flex saldo til dato: -70:33', calculatedHours: '6.5', plannedStartOfShift1: '06:00', plannedEndOfShift1: '12:00', plannedBreakOfShift1: '00:45', plannedStartOfShift2: '18:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:45' },
+ { date: futureWeekDates[6], text: '6-14/½', firstShift: '06:00 - 14:00 / 0 t 30 min', plannedHours: '8 t 0 min', flexBalanceToDate: 'Flex saldo til dato: -78:33', calculatedHours: '7.5', plannedStartOfShift1: '06:00', plannedEndOfShift1: '14:00', plannedBreakOfShift1: '00:30', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
];
const updatePlanTextsFutureWeek = [
- { date: futureWeekDates[0], text: '07:30-15:30;foobar', firstShift: '07:30 - 15:30 / 00:00', plannedHours: '8:00', flexBalanceToDate: 'Flex saldo til dato: -22:33', calculatedHours: '8', plannedStartOfShift1: '07:30', plannedEndOfShift1: '15:30', plannedBreakOfShift1: '00:00', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
- { date: futureWeekDates[1], text: '7:45-16/0.75', firstShift: '07:45 - 16:00 / 00:45', plannedHours: '8:00', flexBalanceToDate: 'Flex saldo til dato: -30:33', calculatedHours: '7.5', plannedStartOfShift1: '07:45', plannedEndOfShift1: '16:00', plannedBreakOfShift1: '00:45', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
+ { date: futureWeekDates[0], text: '07:30-15:30;foobar', firstShift: '07:30 - 15:30 / 0 t 0 min', plannedHours: '8 t 0 min', flexBalanceToDate: 'Flex saldo til dato: -22:33', calculatedHours: '8', plannedStartOfShift1: '07:30', plannedEndOfShift1: '15:30', plannedBreakOfShift1: '00:00', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
+ { date: futureWeekDates[1], text: '7:45-16/0.75', firstShift: '07:45 - 16:00 / 0 t 45 min', plannedHours: '8 t 0 min', flexBalanceToDate: 'Flex saldo til dato: -30:33', calculatedHours: '7.5', plannedStartOfShift1: '07:45', plannedEndOfShift1: '16:00', plannedBreakOfShift1: '00:45', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
{ date: futureWeekDates[2], text: 'foo bar', plannedHours: '', flexBalanceToDate: 'Flex saldo til dato: -46:33', calculatedHours: '0', plannedStartOfShift1: '', plannedEndOfShift1: '', plannedBreakOfShift1: '', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
- { date: futureWeekDates[3], text: '6-12;18:00-20:00', firstShift: '06:00 - 12:00 / 00:00', secondShift: '18:00 - 20:00 / 00:00', plannedHours: '8:00', flexBalanceToDate: 'Flex saldo til dato: -54:33', calculatedHours: '8', plannedStartOfShift1: '06:00', plannedEndOfShift1: '12:00', plannedBreakOfShift1: '00:00', plannedStartOfShift2: '18:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:00' },
- { date: futureWeekDates[4], text: ' ', plannedHours: '12:00', flexBalanceToDate: 'Flex saldo til dato: -62:33', calculatedHours: '12', plannedStartOfShift1: '', plannedEndOfShift1: '', plannedBreakOfShift1: '', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
- { date: futureWeekDates[5], text: '6-12/¾;18-20/¾', firstShift: '06:00 - 12:00 / 00:45', secondShift: '18:00 - 20:00 / 00:45', plannedHours: '8:00', flexBalanceToDate: 'Flex saldo til dato: -70:33', calculatedHours: '6.5', plannedStartOfShift1: '06:00', plannedEndOfShift1: '12:00', plannedBreakOfShift1: '00:45', plannedStartOfShift2: '18:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:45' },
- { date: futureWeekDates[6], text: '6-14/½', firstShift: '06:00 - 14:00 / 00:30', plannedHours: '8:00', flexBalanceToDate: 'Flex saldo til dato: -78:33', calculatedHours: '7.5', plannedStartOfShift1: '06:00', plannedEndOfShift1: '14:00', plannedBreakOfShift1: '00:30', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
+ { date: futureWeekDates[3], text: '6-12;18:00-20:00', firstShift: '06:00 - 12:00 / 0 t 0 min', secondShift: '18:00 - 20:00 / 0 t 0 min', plannedHours: '8 t 0 min', flexBalanceToDate: 'Flex saldo til dato: -54:33', calculatedHours: '8', plannedStartOfShift1: '06:00', plannedEndOfShift1: '12:00', plannedBreakOfShift1: '00:00', plannedStartOfShift2: '18:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:00' },
+ { date: futureWeekDates[4], text: ' ', plannedHours: '12 t 0 min', flexBalanceToDate: 'Flex saldo til dato: -62:33', calculatedHours: '12', plannedStartOfShift1: '', plannedEndOfShift1: '', plannedBreakOfShift1: '', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
+ { date: futureWeekDates[5], text: '6-12/¾;18-20/¾', firstShift: '06:00 - 12:00 / 0 t 45 min', secondShift: '18:00 - 20:00 / 0 t 45 min', plannedHours: '8 t 0 min', flexBalanceToDate: 'Flex saldo til dato: -70:33', calculatedHours: '6.5', plannedStartOfShift1: '06:00', plannedEndOfShift1: '12:00', plannedBreakOfShift1: '00:45', plannedStartOfShift2: '18:00', plannedEndOfShift2: '20:00', plannedBreakOfShift2: '00:45' },
+ { date: futureWeekDates[6], text: '6-14/½', firstShift: '06:00 - 14:00 / 0 t 30 min', plannedHours: '8 t 0 min', flexBalanceToDate: 'Flex saldo til dato: -78:33', calculatedHours: '7.5', plannedStartOfShift1: '06:00', plannedEndOfShift1: '14:00', plannedBreakOfShift1: '00:30', plannedStartOfShift2: '', plannedEndOfShift2: '', plannedBreakOfShift2: '' },
];
diff --git a/eform-client/src/app/plugins/modules/time-planning-pn/components/plannings/time-plannings-table/time-plannings-table.component.html b/eform-client/src/app/plugins/modules/time-planning-pn/components/plannings/time-plannings-table/time-plannings-table.component.html
index f6cf3d9d..458dc848 100644
--- a/eform-client/src/app/plugins/modules/time-planning-pn/components/plannings/time-plannings-table/time-plannings-table.component.html
+++ b/eform-client/src/app/plugins/modules/time-planning-pn/components/plannings/time-plannings-table/time-plannings-table.component.html
@@ -143,125 +143,125 @@
- calendar_month
+ calendar_month
{{ convertMinutesToTime(row.planningPrDayModels[col.field]?.plannedStartOfShift1) }} -
{{ convertMinutesToTime(row.planningPrDayModels[col.field]?.plannedEndOfShift1) }} /
- {{ convertMinutesToTime(row.planningPrDayModels[col.field]?.plannedBreakOfShift1) }}
+ {{ formatDuration(row.planningPrDayModels[col.field]?.plannedBreakOfShift1 / 60, false) }}
- calendar_month
+ calendar_month
{{ convertMinutesToTime(row.planningPrDayModels[col.field]?.plannedStartOfShift1) }} -
{{ convertMinutesToTime(row.planningPrDayModels[col.field]?.plannedEndOfShift1) }} /
- {{ convertMinutesToTime(row.planningPrDayModels[col.field]?.plannedBreakOfShift1) }}
+ {{ formatDuration(row.planningPrDayModels[col.field]?.plannedBreakOfShift1 / 60, false) }}
- calendar_month
+ calendar_month
- {{ convertHoursToTime(row.planningPrDayModels[col.field]?.planHours) }}
+ {{ formatDuration(row.planningPrDayModels[col.field]?.planHours, false) }}
- login {{ formatStamp(row, row.planningPrDayModels[col.field]?.start1StartedAt) }}
+ login {{ formatStamp(row, row.planningPrDayModels[col.field]?.start1StartedAt) }}
-
- {{ getStopTimeDisplayWithSeconds(row, row.planningPrDayModels[col.field]?.start1StartedAt, row.planningPrDayModels[col.field]?.stop1StoppedAt) }} logout
+ {{ getStopTimeDisplayWithSeconds(row, row.planningPrDayModels[col.field]?.start1StartedAt, row.planningPrDayModels[col.field]?.stop1StoppedAt) }} logout
-
- warning
+ warning
- calendar_month
+ calendar_month
{{ convertMinutesToTime(row.planningPrDayModels[col.field]?.plannedStartOfShift2) }} -
{{ convertMinutesToTime(row.planningPrDayModels[col.field]?.plannedEndOfShift2) }} /
- {{ convertMinutesToTime(row.planningPrDayModels[col.field]?.plannedBreakOfShift2) }}
+ {{ formatDuration(row.planningPrDayModels[col.field]?.plannedBreakOfShift2 / 60, false) }}
- login {{ formatStamp(row, row.planningPrDayModels[col.field]?.start2StartedAt) }}
+ login {{ formatStamp(row, row.planningPrDayModels[col.field]?.start2StartedAt) }}
-
- {{ getStopTimeDisplayWithSeconds(row, row.planningPrDayModels[col.field]?.start2StartedAt, row.planningPrDayModels[col.field]?.stop2StoppedAt) }} logout
+ {{ getStopTimeDisplayWithSeconds(row, row.planningPrDayModels[col.field]?.start2StartedAt, row.planningPrDayModels[col.field]?.stop2StoppedAt) }} logout
-
- warning
+ warning
- calendar_month
+ calendar_month
{{ convertMinutesToTime(row.planningPrDayModels[col.field]?.plannedStartOfShift3) }} -
{{ convertMinutesToTime(row.planningPrDayModels[col.field]?.plannedEndOfShift3) }} /
- {{ convertMinutesToTime(row.planningPrDayModels[col.field]?.plannedBreakOfShift3) }}
+ {{ formatDuration(row.planningPrDayModels[col.field]?.plannedBreakOfShift3 / 60, false) }}
- login {{ formatStamp(row, row.planningPrDayModels[col.field]?.start3StartedAt) }}
+ login {{ formatStamp(row, row.planningPrDayModels[col.field]?.start3StartedAt) }}
-
- {{ getStopTimeDisplayWithSeconds(row, row.planningPrDayModels[col.field]?.start3StartedAt, row.planningPrDayModels[col.field]?.stop3StoppedAt) }} logout
+ {{ getStopTimeDisplayWithSeconds(row, row.planningPrDayModels[col.field]?.start3StartedAt, row.planningPrDayModels[col.field]?.stop3StoppedAt) }} logout
-
- warning
+ warning
- calendar_month
+ calendar_month
{{ convertMinutesToTime(row.planningPrDayModels[col.field]?.plannedStartOfShift4) }} -
{{ convertMinutesToTime(row.planningPrDayModels[col.field]?.plannedEndOfShift4) }} /
- {{ convertMinutesToTime(row.planningPrDayModels[col.field]?.plannedBreakOfShift4) }}
+ {{ formatDuration(row.planningPrDayModels[col.field]?.plannedBreakOfShift4 / 60, false) }}
- login {{ formatStamp(row, row.planningPrDayModels[col.field]?.start4StartedAt) }}
+ login {{ formatStamp(row, row.planningPrDayModels[col.field]?.start4StartedAt) }}
-
- {{ getStopTimeDisplayWithSeconds(row, row.planningPrDayModels[col.field]?.start4StartedAt, row.planningPrDayModels[col.field]?.stop4StoppedAt) }} logout
+ {{ getStopTimeDisplayWithSeconds(row, row.planningPrDayModels[col.field]?.start4StartedAt, row.planningPrDayModels[col.field]?.stop4StoppedAt) }} logout
-
- warning
+ warning
- calendar_month
+ calendar_month
{{ convertMinutesToTime(row.planningPrDayModels[col.field]?.plannedStartOfShift5) }} -
{{ convertMinutesToTime(row.planningPrDayModels[col.field]?.plannedEndOfShift5) }} /
- {{ convertMinutesToTime(row.planningPrDayModels[col.field]?.plannedBreakOfShift5) }}
+ {{ formatDuration(row.planningPrDayModels[col.field]?.plannedBreakOfShift5 / 60, false) }}
- login {{ formatStamp(row, row.planningPrDayModels[col.field]?.start5StartedAt) }}
+ login {{ formatStamp(row, row.planningPrDayModels[col.field]?.start5StartedAt) }}
-
- {{ getStopTimeDisplayWithSeconds(row, row.planningPrDayModels[col.field]?.start5StartedAt, row.planningPrDayModels[col.field]?.stop5StoppedAt) }} logout
+ {{ getStopTimeDisplayWithSeconds(row, row.planningPrDayModels[col.field]?.start5StartedAt, row.planningPrDayModels[col.field]?.stop5StoppedAt) }} logout
-
- warning
+ warning
- pause{{ convertMinutesToTime(row.planningPrDayModels[col.field]?.pauseMinutes) }}
+ pause{{ formatDuration(row.planningPrDayModels[col.field]?.pauseMinutes / 60) }}
@@ -270,14 +270,14 @@
- schedule{{ row.planningPrDayModels[col.field]?.actualHours.toFixed(2) }}
+ schedule{{ formatDuration(row.planningPrDayModels[col.field]?.actualHours) }}
- schedule{{ row.planningPrDayModels[col.field]?.nettoHoursOverride.toFixed(2) }}
+ schedule{{ formatDuration(row.planningPrDayModels[col.field]?.nettoHoursOverride) }}
@@ -286,7 +286,7 @@
- payments{{ row.planningPrDayModels[col.field]?.paidOutFlex }}
+ payments{{ formatDuration(row.planningPrDayModels[col.field]?.paidOutFlex) }}
@@ -294,19 +294,19 @@
- swap_vert{{ normalizeFlex(row.planningPrDayModels[col.field]?.sumFlexEnd) }}
+ swap_vert{{ formatDuration(row.planningPrDayModels[col.field]?.sumFlexEnd) }}
@@ -321,15 +321,15 @@
- flight
- pregnant_woman
- sick
- event_busy
- school
- event_busy
- outdoor_grill
+ flight
+ pregnant_woman
+ sick
+ event_busy
+ school
+ event_busy
+ outdoor_grill
clock_arrow_down
- luggage
+ luggage
diff --git a/eform-client/src/app/plugins/modules/time-planning-pn/components/plannings/time-plannings-table/time-plannings-table.component.spec.ts b/eform-client/src/app/plugins/modules/time-planning-pn/components/plannings/time-plannings-table/time-plannings-table.component.spec.ts
index 36ddcf41..973bb118 100644
--- a/eform-client/src/app/plugins/modules/time-planning-pn/components/plannings/time-plannings-table/time-plannings-table.component.spec.ts
+++ b/eform-client/src/app/plugins/modules/time-planning-pn/components/plannings/time-plannings-table/time-plannings-table.component.spec.ts
@@ -467,6 +467,48 @@ describe('TimePlanningsTableComponent', () => {
});
});
+ describe('formatDuration', () => {
+ beforeEach(() => {
+ jest
+ .spyOn(component['translateService'], 'instant')
+ .mockImplementation((key: string) => key);
+ });
+
+ it('formats a sub-hour duration with decimal', () => {
+ expect(component.formatDuration(3 / 60)).toBe('0 t 3 min (0.05 timer)');
+ });
+ it('formats hours + minutes with decimal', () => {
+ expect(component.formatDuration(7.58)).toBe('7 t 35 min (7.58 timer)');
+ });
+ it('shows a whole-hour value with zero minutes', () => {
+ expect(component.formatDuration(2)).toBe('2 t 0 min (2.00 timer)');
+ });
+ it('formats a negative duration with a leading minus on both parts', () => {
+ expect(component.formatDuration(-0.53)).toBe('-0 t 32 min (-0.53 timer)');
+ });
+ it('omits the decimal part when withDecimal is false', () => {
+ expect(component.formatDuration(30 / 60, false)).toBe('0 t 30 min');
+ });
+ it('renders zero as a non-negative zero', () => {
+ expect(component.formatDuration(0)).toBe('0 t 0 min (0.00 timer)');
+ expect(component.formatDuration(-0.0001)).toBe('0 t 0 min (0.00 timer)');
+ });
+ it('carries rounding into the hour', () => {
+ expect(component.formatDuration(0.999)).toBe('1 t 0 min (1.00 timer)');
+ });
+ it('parses a numeric string (paid-out flex) and handles comma decimals', () => {
+ expect(component.formatDuration('2,00')).toBe('2 t 0 min (2.00 timer)');
+ });
+ it('treats null/NaN as zero', () => {
+ expect(component.formatDuration(null as any)).toBe('0 t 0 min (0.00 timer)');
+ });
+ it('derives the decimal from the true value, not the rounded minutes', () => {
+ // 58.36 h -> minutes round to 58 t 22 min, but the decimal must stay 58.36
+ // (deriving it from rounded minutes would wrongly yield 58.37).
+ expect(component.formatDuration(58.36)).toBe('58 t 22 min (58.36 timer)');
+ });
+ });
+
// Dormant helper — production display no longer uses seconds.
describe('convertHoursToTimeWithSeconds', () => {
it('formats whole-hour values with seconds suffix', () => {
diff --git a/eform-client/src/app/plugins/modules/time-planning-pn/components/plannings/time-plannings-table/time-plannings-table.component.ts b/eform-client/src/app/plugins/modules/time-planning-pn/components/plannings/time-plannings-table/time-plannings-table.component.ts
index 1a41f9c1..c4630d2c 100644
--- a/eform-client/src/app/plugins/modules/time-planning-pn/components/plannings/time-plannings-table/time-plannings-table.component.ts
+++ b/eform-client/src/app/plugins/modules/time-planning-pn/components/plannings/time-plannings-table/time-plannings-table.component.ts
@@ -445,6 +445,40 @@ export class TimePlanningsTableComponent implements OnInit, OnChanges, AfterView
return `${this.padZero(hrs)}:${this.padZero(mins)}`;
}
+ /**
+ * Formats a decimal-hours value as "X t Y min (Z.ZZ timer)".
+ * The "X t Y min" part is the hours:minutes breakdown (minutes rounded);
+ * the "(Z.ZZ timer)" part is the true decimal-hours value rounded to 2 places
+ * (so it matches the stored value, e.g. 58.36 -> "58 t 22 min (58.36 timer)").
+ * When withDecimal is false the "(Z.ZZ timer)" part is omitted (used for
+ * planned pause/break and planned plan-hours).
+ * Accepts a number or a numeric string (paid-out flex may use a comma decimal).
+ */
+ formatDuration(hours: number | string | null | undefined, withDecimal: boolean = true): string {
+ const parsed = typeof hours === 'string'
+ ? parseFloat(hours.replace(',', '.'))
+ : hours;
+ const safe = (parsed === null || parsed === undefined || isNaN(parsed as number))
+ ? 0
+ : Number(parsed);
+
+ const totalMinutes = Math.round(Math.abs(safe) * 60);
+ const negative = safe < 0 && totalMinutes > 0;
+ const hrs = Math.floor(totalMinutes / 60);
+ const mins = totalMinutes % 60;
+ const sign = negative ? '-' : '';
+
+ const t = this.translateService.instant('t');
+ const min = this.translateService.instant('min');
+ const base = `${sign}${hrs} ${t} ${mins} ${min}`;
+ if (!withDecimal) {
+ return base;
+ }
+ const timer = this.translateService.instant('timer');
+ const decimal = Math.abs(safe).toFixed(2);
+ return `${base} (${sign}${decimal} ${timer})`;
+ }
+
/**
* Phase 4 second-precision sibling of {@link convertHoursToTime}. Adds a
* :SS tail for callers that want seconds-level display when the
diff --git a/eform-client/src/app/plugins/modules/time-planning-pn/i18n/bgBG.ts b/eform-client/src/app/plugins/modules/time-planning-pn/i18n/bgBG.ts
index 3e106dcd..8fdb72e0 100644
--- a/eform-client/src/app/plugins/modules/time-planning-pn/i18n/bgBG.ts
+++ b/eform-client/src/app/plugins/modules/time-planning-pn/i18n/bgBG.ts
@@ -387,4 +387,7 @@ export const bgBG = {
'Date': 'Date',
'No requests found': 'No requests found',
'Error loading request history': 'Error loading request history',
+ t: 'h',
+ min: 'min',
+ timer: 'hrs',
};
diff --git a/eform-client/src/app/plugins/modules/time-planning-pn/i18n/csCZ.ts b/eform-client/src/app/plugins/modules/time-planning-pn/i18n/csCZ.ts
index f344a1e5..e47c2a1e 100644
--- a/eform-client/src/app/plugins/modules/time-planning-pn/i18n/csCZ.ts
+++ b/eform-client/src/app/plugins/modules/time-planning-pn/i18n/csCZ.ts
@@ -387,4 +387,7 @@ export const csCZ = {
'Date': 'Date',
'No requests found': 'No requests found',
'Error loading request history': 'Error loading request history',
+ t: 'h',
+ min: 'min',
+ timer: 'hrs',
};
diff --git a/eform-client/src/app/plugins/modules/time-planning-pn/i18n/da.ts b/eform-client/src/app/plugins/modules/time-planning-pn/i18n/da.ts
index 927d60ce..9720fafd 100644
--- a/eform-client/src/app/plugins/modules/time-planning-pn/i18n/da.ts
+++ b/eform-client/src/app/plugins/modules/time-planning-pn/i18n/da.ts
@@ -392,4 +392,7 @@ export const da = {
'Details': 'Detaljer',
'No requests found': 'Ingen anmodninger fundet',
'Error loading request history': 'Fejl ved indlæsning af anmodningshistorik',
+ t: 't',
+ min: 'min',
+ timer: 'timer',
};
diff --git a/eform-client/src/app/plugins/modules/time-planning-pn/i18n/deDE.ts b/eform-client/src/app/plugins/modules/time-planning-pn/i18n/deDE.ts
index 3c77cef9..cf947bef 100644
--- a/eform-client/src/app/plugins/modules/time-planning-pn/i18n/deDE.ts
+++ b/eform-client/src/app/plugins/modules/time-planning-pn/i18n/deDE.ts
@@ -390,4 +390,7 @@ export const deDE = {
'Details': 'Details',
'No requests found': 'Keine Anfragen gefunden',
'Error loading request history': 'Fehler beim Laden der Antragshistorie',
+ t: 'h',
+ min: 'min',
+ timer: 'hrs',
};
diff --git a/eform-client/src/app/plugins/modules/time-planning-pn/i18n/elGR.ts b/eform-client/src/app/plugins/modules/time-planning-pn/i18n/elGR.ts
index c0877ad2..c0c6111f 100644
--- a/eform-client/src/app/plugins/modules/time-planning-pn/i18n/elGR.ts
+++ b/eform-client/src/app/plugins/modules/time-planning-pn/i18n/elGR.ts
@@ -387,4 +387,7 @@ export const elGR = {
'Date': 'Date',
'No requests found': 'No requests found',
'Error loading request history': 'Error loading request history',
+ t: 'h',
+ min: 'min',
+ timer: 'hrs',
};
diff --git a/eform-client/src/app/plugins/modules/time-planning-pn/i18n/enUS.ts b/eform-client/src/app/plugins/modules/time-planning-pn/i18n/enUS.ts
index 488f59c0..e47b29b3 100644
--- a/eform-client/src/app/plugins/modules/time-planning-pn/i18n/enUS.ts
+++ b/eform-client/src/app/plugins/modules/time-planning-pn/i18n/enUS.ts
@@ -392,4 +392,7 @@ export const enUS = {
'Details': 'Details',
'No requests found': 'No requests found',
'Error loading request history': 'Error loading request history',
+ t: 'h',
+ min: 'min',
+ timer: 'hrs',
};
diff --git a/eform-client/src/app/plugins/modules/time-planning-pn/i18n/esES.ts b/eform-client/src/app/plugins/modules/time-planning-pn/i18n/esES.ts
index f29355ac..bdfee6ba 100644
--- a/eform-client/src/app/plugins/modules/time-planning-pn/i18n/esES.ts
+++ b/eform-client/src/app/plugins/modules/time-planning-pn/i18n/esES.ts
@@ -387,4 +387,7 @@ export const esES = {
'Date': 'Date',
'No requests found': 'No requests found',
'Error loading request history': 'Error loading request history',
+ t: 'h',
+ min: 'min',
+ timer: 'hrs',
};
diff --git a/eform-client/src/app/plugins/modules/time-planning-pn/i18n/etET.ts b/eform-client/src/app/plugins/modules/time-planning-pn/i18n/etET.ts
index e15739bb..5147e220 100644
--- a/eform-client/src/app/plugins/modules/time-planning-pn/i18n/etET.ts
+++ b/eform-client/src/app/plugins/modules/time-planning-pn/i18n/etET.ts
@@ -387,4 +387,7 @@ export const etET = {
'Date': 'Date',
'No requests found': 'No requests found',
'Error loading request history': 'Error loading request history',
+ t: 'h',
+ min: 'min',
+ timer: 'hrs',
};
diff --git a/eform-client/src/app/plugins/modules/time-planning-pn/i18n/fiFI.ts b/eform-client/src/app/plugins/modules/time-planning-pn/i18n/fiFI.ts
index 0638a662..3997049e 100644
--- a/eform-client/src/app/plugins/modules/time-planning-pn/i18n/fiFI.ts
+++ b/eform-client/src/app/plugins/modules/time-planning-pn/i18n/fiFI.ts
@@ -387,4 +387,7 @@ export const fiFI = {
'Date': 'Date',
'No requests found': 'No requests found',
'Error loading request history': 'Error loading request history',
+ t: 'h',
+ min: 'min',
+ timer: 'hrs',
};
diff --git a/eform-client/src/app/plugins/modules/time-planning-pn/i18n/frFR.ts b/eform-client/src/app/plugins/modules/time-planning-pn/i18n/frFR.ts
index ce2b2777..83f8d8ea 100644
--- a/eform-client/src/app/plugins/modules/time-planning-pn/i18n/frFR.ts
+++ b/eform-client/src/app/plugins/modules/time-planning-pn/i18n/frFR.ts
@@ -387,4 +387,7 @@ export const frFR = {
'Date': 'Date',
'No requests found': 'No requests found',
'Error loading request history': 'Error loading request history',
+ t: 'h',
+ min: 'min',
+ timer: 'hrs',
};
diff --git a/eform-client/src/app/plugins/modules/time-planning-pn/i18n/hrHR.ts b/eform-client/src/app/plugins/modules/time-planning-pn/i18n/hrHR.ts
index e0a79a6b..2e81b802 100644
--- a/eform-client/src/app/plugins/modules/time-planning-pn/i18n/hrHR.ts
+++ b/eform-client/src/app/plugins/modules/time-planning-pn/i18n/hrHR.ts
@@ -387,4 +387,7 @@ export const hrHR = {
'Date': 'Date',
'No requests found': 'No requests found',
'Error loading request history': 'Error loading request history',
+ t: 'h',
+ min: 'min',
+ timer: 'hrs',
};
diff --git a/eform-client/src/app/plugins/modules/time-planning-pn/i18n/huHU.ts b/eform-client/src/app/plugins/modules/time-planning-pn/i18n/huHU.ts
index ed5ff220..a121d650 100644
--- a/eform-client/src/app/plugins/modules/time-planning-pn/i18n/huHU.ts
+++ b/eform-client/src/app/plugins/modules/time-planning-pn/i18n/huHU.ts
@@ -387,4 +387,7 @@ export const huHU = {
'Date': 'Date',
'No requests found': 'No requests found',
'Error loading request history': 'Error loading request history',
+ t: 'h',
+ min: 'min',
+ timer: 'hrs',
};
diff --git a/eform-client/src/app/plugins/modules/time-planning-pn/i18n/isIS.ts b/eform-client/src/app/plugins/modules/time-planning-pn/i18n/isIS.ts
index db1ee2df..ba750b7f 100644
--- a/eform-client/src/app/plugins/modules/time-planning-pn/i18n/isIS.ts
+++ b/eform-client/src/app/plugins/modules/time-planning-pn/i18n/isIS.ts
@@ -387,4 +387,7 @@ export const isIS = {
'Date': 'Date',
'No requests found': 'No requests found',
'Error loading request history': 'Error loading request history',
+ t: 'h',
+ min: 'min',
+ timer: 'hrs',
};
diff --git a/eform-client/src/app/plugins/modules/time-planning-pn/i18n/itIT.ts b/eform-client/src/app/plugins/modules/time-planning-pn/i18n/itIT.ts
index ac6922ce..41fc8963 100644
--- a/eform-client/src/app/plugins/modules/time-planning-pn/i18n/itIT.ts
+++ b/eform-client/src/app/plugins/modules/time-planning-pn/i18n/itIT.ts
@@ -387,4 +387,7 @@ export const itIT = {
'Date': 'Date',
'No requests found': 'No requests found',
'Error loading request history': 'Error loading request history',
+ t: 'h',
+ min: 'min',
+ timer: 'hrs',
};
diff --git a/eform-client/src/app/plugins/modules/time-planning-pn/i18n/ltLT.ts b/eform-client/src/app/plugins/modules/time-planning-pn/i18n/ltLT.ts
index ec2be9ff..36fd29a0 100644
--- a/eform-client/src/app/plugins/modules/time-planning-pn/i18n/ltLT.ts
+++ b/eform-client/src/app/plugins/modules/time-planning-pn/i18n/ltLT.ts
@@ -387,4 +387,7 @@ export const ltLT = {
'Date': 'Date',
'No requests found': 'No requests found',
'Error loading request history': 'Error loading request history',
+ t: 'h',
+ min: 'min',
+ timer: 'hrs',
};
diff --git a/eform-client/src/app/plugins/modules/time-planning-pn/i18n/lvLV.ts b/eform-client/src/app/plugins/modules/time-planning-pn/i18n/lvLV.ts
index 10b8062f..45ebe540 100644
--- a/eform-client/src/app/plugins/modules/time-planning-pn/i18n/lvLV.ts
+++ b/eform-client/src/app/plugins/modules/time-planning-pn/i18n/lvLV.ts
@@ -387,4 +387,7 @@ export const lvLV = {
'Date': 'Date',
'No requests found': 'No requests found',
'Error loading request history': 'Error loading request history',
+ t: 'h',
+ min: 'min',
+ timer: 'hrs',
};
diff --git a/eform-client/src/app/plugins/modules/time-planning-pn/i18n/nlNL.ts b/eform-client/src/app/plugins/modules/time-planning-pn/i18n/nlNL.ts
index 30c03384..d899f944 100644
--- a/eform-client/src/app/plugins/modules/time-planning-pn/i18n/nlNL.ts
+++ b/eform-client/src/app/plugins/modules/time-planning-pn/i18n/nlNL.ts
@@ -387,4 +387,7 @@ export const nlNL = {
'Date': 'Date',
'No requests found': 'No requests found',
'Error loading request history': 'Error loading request history',
+ t: 'h',
+ min: 'min',
+ timer: 'hrs',
};
diff --git a/eform-client/src/app/plugins/modules/time-planning-pn/i18n/noNO.ts b/eform-client/src/app/plugins/modules/time-planning-pn/i18n/noNO.ts
index 140739d8..f9e5ebb8 100644
--- a/eform-client/src/app/plugins/modules/time-planning-pn/i18n/noNO.ts
+++ b/eform-client/src/app/plugins/modules/time-planning-pn/i18n/noNO.ts
@@ -387,4 +387,7 @@ export const noNO = {
'Date': 'Date',
'No requests found': 'No requests found',
'Error loading request history': 'Error loading request history',
+ t: 'h',
+ min: 'min',
+ timer: 'hrs',
};
diff --git a/eform-client/src/app/plugins/modules/time-planning-pn/i18n/plPL.ts b/eform-client/src/app/plugins/modules/time-planning-pn/i18n/plPL.ts
index 2e489ecb..43884665 100644
--- a/eform-client/src/app/plugins/modules/time-planning-pn/i18n/plPL.ts
+++ b/eform-client/src/app/plugins/modules/time-planning-pn/i18n/plPL.ts
@@ -387,4 +387,7 @@ export const plPL = {
'Date': 'Date',
'No requests found': 'No requests found',
'Error loading request history': 'Error loading request history',
+ t: 'h',
+ min: 'min',
+ timer: 'hrs',
};
diff --git a/eform-client/src/app/plugins/modules/time-planning-pn/i18n/ptBR.ts b/eform-client/src/app/plugins/modules/time-planning-pn/i18n/ptBR.ts
index 087498c6..020f5ee4 100644
--- a/eform-client/src/app/plugins/modules/time-planning-pn/i18n/ptBR.ts
+++ b/eform-client/src/app/plugins/modules/time-planning-pn/i18n/ptBR.ts
@@ -387,4 +387,7 @@ export const ptBR = {
'Date': 'Date',
'No requests found': 'No requests found',
'Error loading request history': 'Error loading request history',
+ t: 'h',
+ min: 'min',
+ timer: 'hrs',
};
diff --git a/eform-client/src/app/plugins/modules/time-planning-pn/i18n/ptPT.ts b/eform-client/src/app/plugins/modules/time-planning-pn/i18n/ptPT.ts
index 8dbae417..c44afb50 100644
--- a/eform-client/src/app/plugins/modules/time-planning-pn/i18n/ptPT.ts
+++ b/eform-client/src/app/plugins/modules/time-planning-pn/i18n/ptPT.ts
@@ -387,4 +387,7 @@ export const ptPT = {
'Date': 'Date',
'No requests found': 'No requests found',
'Error loading request history': 'Error loading request history',
+ t: 'h',
+ min: 'min',
+ timer: 'hrs',
};
diff --git a/eform-client/src/app/plugins/modules/time-planning-pn/i18n/roRO.ts b/eform-client/src/app/plugins/modules/time-planning-pn/i18n/roRO.ts
index 0a5caefb..7f9118ce 100644
--- a/eform-client/src/app/plugins/modules/time-planning-pn/i18n/roRO.ts
+++ b/eform-client/src/app/plugins/modules/time-planning-pn/i18n/roRO.ts
@@ -387,4 +387,7 @@ export const roRO = {
'Date': 'Date',
'No requests found': 'No requests found',
'Error loading request history': 'Error loading request history',
+ t: 'h',
+ min: 'min',
+ timer: 'hrs',
};
diff --git a/eform-client/src/app/plugins/modules/time-planning-pn/i18n/skSK.ts b/eform-client/src/app/plugins/modules/time-planning-pn/i18n/skSK.ts
index a8ec7415..4ea828c6 100644
--- a/eform-client/src/app/plugins/modules/time-planning-pn/i18n/skSK.ts
+++ b/eform-client/src/app/plugins/modules/time-planning-pn/i18n/skSK.ts
@@ -387,4 +387,7 @@ export const skSK = {
'Date': 'Date',
'No requests found': 'No requests found',
'Error loading request history': 'Error loading request history',
+ t: 'h',
+ min: 'min',
+ timer: 'hrs',
};
diff --git a/eform-client/src/app/plugins/modules/time-planning-pn/i18n/slSL.ts b/eform-client/src/app/plugins/modules/time-planning-pn/i18n/slSL.ts
index cf0ce5ee..25020589 100644
--- a/eform-client/src/app/plugins/modules/time-planning-pn/i18n/slSL.ts
+++ b/eform-client/src/app/plugins/modules/time-planning-pn/i18n/slSL.ts
@@ -387,4 +387,7 @@ export const slSL = {
'Date': 'Date',
'No requests found': 'No requests found',
'Error loading request history': 'Error loading request history',
+ t: 'h',
+ min: 'min',
+ timer: 'hrs',
};
diff --git a/eform-client/src/app/plugins/modules/time-planning-pn/i18n/svSE.ts b/eform-client/src/app/plugins/modules/time-planning-pn/i18n/svSE.ts
index 853b2ba1..b1450370 100644
--- a/eform-client/src/app/plugins/modules/time-planning-pn/i18n/svSE.ts
+++ b/eform-client/src/app/plugins/modules/time-planning-pn/i18n/svSE.ts
@@ -387,4 +387,7 @@ export const svSE = {
'Date': 'Date',
'No requests found': 'No requests found',
'Error loading request history': 'Error loading request history',
+ t: 'h',
+ min: 'min',
+ timer: 'hrs',
};
diff --git a/eform-client/src/app/plugins/modules/time-planning-pn/i18n/ukUA.ts b/eform-client/src/app/plugins/modules/time-planning-pn/i18n/ukUA.ts
index 9fed0465..eb7b4d4e 100644
--- a/eform-client/src/app/plugins/modules/time-planning-pn/i18n/ukUA.ts
+++ b/eform-client/src/app/plugins/modules/time-planning-pn/i18n/ukUA.ts
@@ -387,4 +387,7 @@ export const ukUA = {
'Date': 'Date',
'No requests found': 'No requests found',
'Error loading request history': 'Error loading request history',
+ t: 'h',
+ min: 'min',
+ timer: 'hrs',
};