@@ -28,10 +28,10 @@ import {
2828 template : `
2929 <div class="h-full w-full">
3030 <div
31- class="flex w-full flex-col overflow-hidden rounded-xl border border-base-300 bg-base-100 "
31+ class="border-base-300 bg-base-100 flex w-full flex-col overflow-hidden rounded-xl border"
3232 >
3333 <div
34- class="gradient relative flex items-center space-x-2 border-l-8 border-base-content px-4 py-3 text-xl font-medium"
34+ class="gradient border-base-content relative flex items-center space-x-2 border-l-8 px-4 py-3 text-xl font-medium"
3535 >
3636 <icon>info</icon>
3737 <div>
@@ -55,7 +55,7 @@ import {
5555 />
5656 </mat-form-field>
5757 <div
58- class="flex flex-col space-y-2 sm:flex-row sm:space-x-2 sm:space-y-0 "
58+ class="flex flex-col space-y-2 sm:flex-row sm:space-y-0 sm:space-x-2 "
5959 >
6060 <div class="relative flex-1">
6161 <label for="date" class="uppercase">{{
@@ -82,6 +82,7 @@ import {
8282 form().patchValue({ date: $event })
8383 "
8484 [ngModelOptions]="{ standalone: true }"
85+ [range]="bookable_hours()"
8586 [disabled]="form_value().all_day"
8687 />
8788 </div>
@@ -97,6 +98,7 @@ import {
9798 [step]="duration_step()"
9899 [custom_options]="custom_duration_options()"
99100 [use_24hr]="use_24hr()"
101+ [end_time]="bookable_hours()?.end"
100102 [timezone]="timezone"
101103 formControlName="duration"
102104 [disabled]="form_value().all_day"
@@ -124,7 +126,7 @@ import {
124126 }
125127 </div>
126128 <div
127- class="gradient relative flex items-center space-x-2 border-l-8 border-base-content px-4 py-3 text-xl font-medium"
129+ class="gradient border-base-content relative flex items-center space-x-2 border-l-8 px-4 py-3 text-xl font-medium"
128130 >
129131 <icon>info</icon>
130132 <div>
@@ -147,7 +149,7 @@ import {
147149 </div>
148150 </div>
149151 @if (!(capacity !== 1 && capacity !== -1)) {
150- <icon class="absolute right -0 top -0">task_alt</icon>
152+ <icon class="absolute top -0 right -0">task_alt</icon>
151153 }
152154 </button>
153155 <button
@@ -164,7 +166,7 @@ import {
164166 </div>
165167 </div>
166168 @if (capacity === 3) {
167- <icon class="absolute right -0 top -0">task_alt</icon>
169+ <icon class="absolute top -0 right -0">task_alt</icon>
168170 }
169171 </button>
170172 <button
@@ -181,7 +183,7 @@ import {
181183 </div>
182184 </div>
183185 @if (capacity === 5) {
184- <icon class="absolute right -0 top -0">task_alt</icon>
186+ <icon class="absolute top -0 right -0">task_alt</icon>
185187 }
186188 </button>
187189 <button
@@ -201,14 +203,14 @@ import {
201203 </div>
202204 </div>
203205 @if (capacity === 9) {
204- <icon class="absolute right -0 top -0">task_alt</icon>
206+ <icon class="absolute top -0 right -0">task_alt</icon>
205207 }
206208 </button>
207209 </div>
208210 </div>
209211 <div class="min-h-4 sm:min-h-[calc(100vh-44.25rem)]"></div>
210212 <div
211- class="sticky bottom-0 z-20 flex justify-between rounded-t-xl border-x border-t border-base-300 bg-base-100 p-3"
213+ class="border-base-300 bg-base-100 sticky bottom-0 z-20 flex justify-between rounded-t-xl border-x border-t p-3"
212214 >
213215 <div></div>
214216 <button btn matRipple (click)="searchRooms()">
@@ -279,6 +281,10 @@ export class MeetingFlowDetailsComponent {
279281 [ ] ,
280282 ) ;
281283
284+ public readonly bookable_hours = settingSignal <
285+ { start : number ; end : number } | undefined
286+ > ( 'events.bookable_hours' , undefined ) ;
287+
282288 public get timezone ( ) {
283289 return this . _settings . get ( 'app.events.use_building_timezone' )
284290 ? this . _org . building . timezone
0 commit comments