mirror of
https://github.com/Cleanuparr/Cleanuparr.git
synced 2026-11-05 13:53:31 -05:00
changed quiet hours to 24h selects
This commit is contained in:
1 parent
fcdf7b7979
commit
9d38bbf753
3 files changed
+17
-6
No files matched your search
@@ -68,10 +68,10 @@
|
||||
hint="Pause proactive search between these times. Replacement searches keep running. Times follow the container's TZ setting."
|
||||
helpKey="seeker:quietHoursEnabled" featureId="seeker-quiet-hours" />
|
||||
@if (seekerForm.quietHoursEnabled().value()) {
|
||||
<app-input type="time" label="Quiet From" [formField]="seekerForm.quietHoursStart"
|
||||
<app-time-input label="Quiet From" [formField]="seekerForm.quietHoursStart"
|
||||
[error]="seekerForm.quietHoursStart().errors()[0]?.message"
|
||||
helpKey="seeker:quietHoursEnabled" />
|
||||
<app-input type="time" label="Quiet Until" [formField]="seekerForm.quietHoursEnd"
|
||||
<app-time-input label="Quiet Until" [formField]="seekerForm.quietHoursEnd"
|
||||
hint="A window that ends before it starts runs past midnight, for example 23:00 to 07:00."
|
||||
[error]="seekerForm.quietHoursEnd().errors()[0]?.message"
|
||||
helpKey="seeker:quietHoursEnabled" />
|
||||
|
||||
@@ -705,12 +705,23 @@ describe('SeekerComponent', () => {
|
||||
it('renders the time inputs only when quiet hours are enabled', () => {
|
||||
const { fixture, component } = setup();
|
||||
|
||||
expect(fixture.nativeElement.querySelectorAll('input[type="time"]').length).toBe(2);
|
||||
expect(fixture.nativeElement.querySelectorAll('app-time-input').length).toBe(2);
|
||||
|
||||
component.seekerForm.quietHoursEnabled().value.set(false);
|
||||
fixture.detectChanges();
|
||||
|
||||
expect(fixture.nativeElement.querySelectorAll('input[type="time"]').length).toBe(0);
|
||||
expect(fixture.nativeElement.querySelectorAll('app-time-input').length).toBe(0);
|
||||
});
|
||||
|
||||
it('shows the quiet until time as hour and minute selects', () => {
|
||||
const { fixture } = setup();
|
||||
|
||||
const until = Array.from(fixture.nativeElement.querySelectorAll('app-time-input')).find((el) =>
|
||||
(el as HTMLElement).textContent!.includes('Quiet Until'),
|
||||
) as HTMLElement;
|
||||
const shown = Array.from(until.querySelectorAll('.select-trigger__text')).map((el) => el.textContent!.trim());
|
||||
|
||||
expect(shown).toEqual(['07', '30']);
|
||||
});
|
||||
|
||||
it('marks the form invalid when quiet hours start and end match', () => {
|
||||
|
||||
@@ -4,7 +4,7 @@ import { DatePipe } from '@angular/common';
|
||||
import { PageHeaderComponent } from '@layout/page-header/page-header.component';
|
||||
import {
|
||||
CardComponent, ButtonComponent, ToggleComponent,
|
||||
SelectComponent, ChipInputComponent, NumberInputComponent, InputComponent,
|
||||
SelectComponent, ChipInputComponent, NumberInputComponent, TimeInputComponent,
|
||||
EmptyStateComponent, LoadingStateComponent, BadgeComponent,
|
||||
type SelectOption,
|
||||
} from '@ui';
|
||||
@@ -101,7 +101,7 @@ interface InstanceState {
|
||||
standalone: true,
|
||||
imports: [
|
||||
PageHeaderComponent, CardComponent, ButtonComponent,
|
||||
ToggleComponent, SelectComponent, ChipInputComponent, NumberInputComponent, InputComponent,
|
||||
ToggleComponent, SelectComponent, ChipInputComponent, NumberInputComponent, TimeInputComponent,
|
||||
EmptyStateComponent, LoadingStateComponent, BadgeComponent, DatePipe, FormField,
|
||||
],
|
||||
templateUrl: './seeker.component.html',
|
||||
|
||||
Reference in new issue
Block a user