diff --git a/web/app/src/assets/base.css b/web/app/src/assets/base.css index c642e174..d054fa4a 100644 --- a/web/app/src/assets/base.css +++ b/web/app/src/assets/base.css @@ -348,17 +348,18 @@ fieldset { border-radius: var(--border-radius); } -input[type="text"] { +input[type="text"], +input[type="time"] { appearance: none; background-color: var(--color-background); border-radius: var(--border-radius); border: var(--border-width) solid var(--border-color); box-sizing: border-box; display: block; - padding: var(--spacer-sm); - width: 100%; outline: none; - transition: border-color var(--transition-speed) ease-in-out + padding: var(--spacer-sm); + transition: border-color var(--transition-speed) ease-in-out; + width: 100%; } input[type="text"]:focus { @@ -369,6 +370,17 @@ input[type="text"].is-invalid { border-color: var(--color-danger); } +input[type="time"] { + height: 37px; +} + +.input-help-text { + display: inline-block; + color: var(--color-text-muted); + font-size: var(--font-size-sm); + margin: var(--spacer-xs); +} + select { background-color: var(--color-button-background); border-radius: var(--border-radius); @@ -379,7 +391,7 @@ select { padding: var(--spacer-xs) var(--spacer-sm); } -button, .btn { +button, input[type='button'], .btn { align-items: center; background-color: var(--color-button-background); border-radius: var(--border-radius); @@ -411,6 +423,7 @@ button, .btn { } button[disabled], +input[type='button'][disabled], .btn[disabled] { background-color: transparent; border-color: var(--color-button-background); @@ -420,6 +433,7 @@ button[disabled], } button:hover:not([disabled]), +input[type='button']:hover:not([disabled]), .btn:hover:not([disabled]) { transition: all 100ms; color: white; @@ -443,6 +457,17 @@ button:focus, color: var(--color-accent-text); } +.btn-secondary { + background-color: transparent; + color: var(--color-text-muted); + border-color: var(--color-text-muted); +} + +.btn-secondary:hover { + border-color: var(--color-text); + color: var(--color-text); +} + .btn-bar .btn.dangerous { background-color: #7c4d41; color: #e4c5c0; diff --git a/web/app/src/components/workers/WorkerDetails.vue b/web/app/src/components/workers/WorkerDetails.vue index 22d3420d..2e27c490 100644 --- a/web/app/src/components/workers/WorkerDetails.vue +++ b/web/app/src/components/workers/WorkerDetails.vue @@ -34,26 +34,71 @@ -

Sleep Schedule

- - -
-
Use Schedule
-
-
+
+

Sleep Schedule

+
+
+ -
Days of Week
-
-
{{ workerSleepScheduleFormatted.days_of_week }}
+ + + +
+
-
Start Time
-
-
{{ workerSleepScheduleFormatted.start_time }}
+

Adjust at which time of the day (and on which days) this worker should go to sleep.

+
+
+ + + + Write the days name using their first two letters, separated by spaces. + (e.g. mo tu we th fr) + +
+
+ + +
+
+ + +
+
-
End Time
-
-
{{ workerSleepScheduleFormatted.end_time }}
-
+
+
Status
+
+ enabled + disabled +
+
Days of Week
+
+ {{ workerSleepScheduleFormatted.days_of_week }} +
+
Start Time
+
+ {{ workerSleepScheduleFormatted.start_time }} +
+
End Time
+
+ {{ workerSleepScheduleFormatted.end_time }} +
+
+
@@ -148,6 +193,10 @@ export default { this.setWorkerSleepSchedule(`Updated schedule for worker ${this.workerData.name}`); this.isScheduleEditing = false; }, + cancelEditWorkerSleepSchedule() { + this.fetchWorkerSleepSchedule(); + this.isScheduleEditing = false; + }, defaultWorkerSleepSchedule() { return new WorkerSleepSchedule(false, '', '', '') // Default values in OpenAPI }, @@ -156,6 +205,46 @@ export default {