Adds Online Booking configuration and preview components

Introduces comprehensive online booking feature with:
- Localization support for booking settings
- ViewComponents for booking URL, settings, company info, hours, and preview
- Responsive preview with device toggle functionality
- Integrated with settings page and translation files

Enhances application's online booking configuration interface
This commit is contained in:
Janus C. H. Knudsen 2026-01-28 20:17:54 +01:00
parent eba6bd646d
commit 435d9f11b7
17 changed files with 891 additions and 25 deletions

View file

@ -0,0 +1,42 @@
@page "/online-booking"
@model PlanTempus.Application.Features.OnlineBooking.Pages.IndexModel
@{
ViewData["Title"] = "Online Booking";
}
<swp-sticky-header>
<swp-header-content>
<swp-page-header>
<swp-page-title>
<h1 localize="onlineBooking.title">Online Booking</h1>
<p localize="onlineBooking.subtitle">Konfigurer og preview din booking-side</p>
</swp-page-title>
<swp-page-actions>
<swp-status-indicator data-active="true">
<i class="ph ph-check-circle icon"></i>
<span localize="onlineBooking.status.active">Aktiv</span>
</swp-status-indicator>
</swp-page-actions>
</swp-page-header>
</swp-header-content>
</swp-sticky-header>
<swp-page-container>
<swp-online-booking-layout>
<!-- Column 1: Settings -->
<swp-online-booking-settings>
@await Component.InvokeAsync("OnlineBookingUrl")
@await Component.InvokeAsync("OnlineBookingSettings")
@await Component.InvokeAsync("OnlineBookingCompany")
@await Component.InvokeAsync("OnlineBookingHours")
<swp-all-settings-link href="/indstillinger">
<span localize="onlineBooking.allSettings">Alle indstillinger</span>
<i class="ph ph-arrow-right"></i>
</swp-all-settings-link>
</swp-online-booking-settings>
<!-- Column 2: Preview -->
@await Component.InvokeAsync("OnlineBookingPreview")
</swp-online-booking-layout>
</swp-page-container>

View file

@ -0,0 +1,10 @@
using Microsoft.AspNetCore.Mvc.RazorPages;
namespace PlanTempus.Application.Features.OnlineBooking.Pages;
public class IndexModel : PageModel
{
public void OnGet()
{
}
}