feat(oxibadge): add timesheet review and export screen
Check, format and test / build (push) Successful in 10m16s
Check, format and test / build (push) Successful in 10m16s
Add the month-review screen shown after records/employees load: an editable per-employee timesheet table with issue/rounding detection, bulk fixes (reorder stacked punches, add lunch break, round to step), and an export flow (single employee or all) wired to a new Rust export_timesheet command. Split into focused components under review/ instead of one large file, with shared i18n keys and a new export_timesheet IPC command. Assisted-by: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -34,7 +34,86 @@
|
||||
"errors": {
|
||||
"title": "Could not reach the time clock"
|
||||
},
|
||||
"done": {
|
||||
"message": "Nothing to do here."
|
||||
"review": {
|
||||
"title": "Clock-in review",
|
||||
"day_word": "{n, plural, one {1 day} other {{n} days}}",
|
||||
"to_check": "to check",
|
||||
"to_round": "to round",
|
||||
"to_check_cap": "To check",
|
||||
"to_round_cap": "To round",
|
||||
"shift_1": "1st shift",
|
||||
"shift_2": "2nd shift",
|
||||
"issue_stacked": "{total} punches all on the {shift}",
|
||||
"issue_invalid_time": "Invalid time (use HH:MM)",
|
||||
"issue_lunch_missing": "Lunch break not punched",
|
||||
"issue_missing_out": "Missing clock-out for the {shift}",
|
||||
"issue_missing_in": "Missing clock-in for the {shift}",
|
||||
"issue_out_before_in": "Clock-out before clock-in ({shift})",
|
||||
"info_unrounded": "Times not rounded to {step} min",
|
||||
"note_empty": "No punches",
|
||||
"note_lunch_added": "Lunch break added",
|
||||
"note_shifts_fixed": "Shifts fixed",
|
||||
"note_edited": "{n, plural, one {1 time edited} other {{n} times edited}}",
|
||||
"note_rounded": "{n, plural, one {1 time rounded} other {{n} times rounded}}",
|
||||
"export_done": "Export completed: {who}",
|
||||
"everyone": "all employees",
|
||||
"only_unrounded": "{days} with unrounded times",
|
||||
"confirm_title_all": "There are {summary}",
|
||||
"confirm_title_one": "{name} has {summary}",
|
||||
"close_menu_aria": "Close menu",
|
||||
"no_records": "No punches found for this month.",
|
||||
"back_to_month": "Back to month selection",
|
||||
"export": "Export",
|
||||
"export_options_aria": "More export options",
|
||||
"all_employees": "All employees",
|
||||
"employee_count": "{n} employees",
|
||||
"all_good": "all good",
|
||||
"all_good_cap": "All good",
|
||||
"only_name": "Only {name}",
|
||||
"employees_nav_aria": "Employees",
|
||||
"search_employee": "Search employee",
|
||||
"days_to_check_aria": "{n} days to check",
|
||||
"days_to_round_aria": "{n} days to round",
|
||||
"no_problem_aria": "No problem",
|
||||
"employee_name_aria": "Employee name",
|
||||
"save_name": "Save name",
|
||||
"save": "Save",
|
||||
"cancel": "Cancel",
|
||||
"edit_name": "Edit name",
|
||||
"days_worked": "days worked",
|
||||
"total_hours": "total hours",
|
||||
"edited": "edited",
|
||||
"fix_shifts_title": "Sorts and redistributes punches that all ended up on the same shift",
|
||||
"fix_shifts": "Fix shifts ({days})",
|
||||
"fix_shifts_short": "Fix shifts",
|
||||
"add_lunch_title": "Adds the {start}–{end} break on days with only a morning clock-in and an evening clock-out",
|
||||
"add_lunch": "Add lunch break ({days})",
|
||||
"lunch_short": "Lunch",
|
||||
"round_title": "Round to the nearest time",
|
||||
"round_all": "Round to {step} min ({days})",
|
||||
"round_short": "Round",
|
||||
"day_filter_aria": "Day filter",
|
||||
"all_days": "All days",
|
||||
"col_day": "Day",
|
||||
"col_in": "In",
|
||||
"col_out": "Out",
|
||||
"col_hours": "Hours",
|
||||
"col_notes": "Notes",
|
||||
"col_in_1": "1st shift clock-in",
|
||||
"col_out_1": "1st shift clock-out",
|
||||
"col_in_2": "2nd shift clock-in",
|
||||
"col_out_2": "2nd shift clock-out",
|
||||
"cell_aria": "{label}, {col}",
|
||||
"cell_aria_stacked": "{label}, {col} ({index} of {total})",
|
||||
"fix_shifts_day_aria": "Fix the shifts for {label}",
|
||||
"add_lunch_day_aria": "Add the {start}–{end} lunch break to {label}",
|
||||
"round_day_aria": "Round the times for {label}",
|
||||
"no_rows": "No days to check for this employee.",
|
||||
"cancel_export_aria": "Cancel export",
|
||||
"export_warning_issues": "If you export now, these days will end up in the file with missing, unverified, or unrounded times. You can go back and fix them, or export anyway.",
|
||||
"export_warning_unrounded": "The times are complete, but some aren't rounded to {step} minutes. You can round them automatically before exporting, or export them as they are.",
|
||||
"back_to_review": "Back to review",
|
||||
"round_and_export": "Round and export",
|
||||
"export_anyway": "Export anyway"
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user