Warn Days Before Due
{{ app.scheduleDetailSchedule.schedulingMetadata.warnDaysOffset != null ? app.scheduleDetailSchedule.schedulingMetadata.warnDaysOffset : '—' }}
Late Days After Due
{{ app.scheduleDetailSchedule.schedulingMetadata.lateDaysOffset != null ? app.scheduleDetailSchedule.schedulingMetadata.lateDaysOffset : '—' }}
Warn Hours Before Due
{{ app.scheduleDetailSchedule.schedulingMetadata.warnHoursOffset != null ? app.scheduleDetailSchedule.schedulingMetadata.warnHoursOffset : '—' }}
Late Hours After Due
{{ app.scheduleDetailSchedule.schedulingMetadata.lateHoursOffset != null ? app.scheduleDetailSchedule.schedulingMetadata.lateHoursOffset : '—' }}
Images
{{ image.description }}
Tasks
No tasks yet for this schedule.
Title
Status
Progress
Due Date
Due Hours
{{ task.title }}
{{ app.formatEnumValue(task.status) }}
{{ app.formatEnumValue(task.progress) }}
{{ task.dueDate }}
{{ task.dueHours }}
Edit {{ app.scheduleDetailSchedule.name }}
ActiveInactive
{{ error }}
Tasks
No tasks yet for this schedule.
Title
Status
Progress
Due Date
Due Hours
{{ task.title }}
{{ app.formatEnumValue(task.status) }}
{{ app.formatEnumValue(task.progress) }}
{{ task.dueDate }}
{{ task.dueHours }}
New Maintenance Schedule
{{ error }}
New Task
{{ error }}
ⓘ {{ app.pendingNextTaskWorkItems.length }} work item{{ app.pendingNextTaskWorkItems.length === 1 ? '' : 's' }} will be carried forward from the previous task and created when you click Create Task.
This component only has one parent. Removing it would make it a root component, which is not allowed.
Please select a new parent first — the old parent will be removed automatically.
What would you like to do with
{{ app.componentDropDraggedComponent().name }}
relative to
{{ app.componentDropTargetComponent().name }}?
That drop target is a descendant of the dragged component, so making it a parent
would create a cycle in the hierarchy. Choose Clone instead, or pick a different target.
The dragged component is already a direct child of the target. Move and Add Second Parent
are unavailable; choose Clone to create a new child instead.
This measurement item has no unit, measurement type, and/or component assigned.
Completing it will not automatically add a measurement row when the run is signed.
No images attached. Use the paperclip on the row to add one.
{{ app.lightboxCounterLabel() }}
{{ app.lightboxCurrentImage().description }}
Settings
Features
Enable or disable the pages that appear in the top navigation. Changes only take
effect when you click Save — Cancel (or closing the modal) discards them.
{{ app.settingsFeatureTogglesSaveError }}
Wildlife species shortcuts
The species buttons that appear in the Ship's Log → Wildlife section. List one species
per line; order is preserved.
Saved at {{ app.settingsWildlifeSpeciesSavedAt | date:'mediumTime' }}
{{ app.settingsWildlifeSpeciesSaveError }}
Ship's Log pill buttons
The pill buttons shown in the "Ship's Log +" home dashboard widget.
Drag a row by its handle to reorder, or untick a row to hide that
pill from the widget without losing your saved order. Tapping a
pill in the widget opens the same Universal Log Modal you'd get
from the full Ship's Log page.
Hidden
No pill buttons available. The action-tile catalog is empty — this
shouldn't happen and likely indicates a build problem.
Saved at {{ app.settingsShipLogActionTilePreferencesSavedAt | date:'mediumTime' }}
Each layout is a saved arrangement of widgets on your home dashboard. Pick which
one is active using the dots above the canvas, or add a new one with the + button
there. Rename or delete them below. This device remembers which layout you were
last on, so other devices (and other browser windows) keep their own active
layout independently.
{{ layout.widgets.length }} widgets
Active on this device
No saved layouts yet. Open the Home page to get started — a default layout will
be created automatically.