2026-01-16 22:03:22 +01:00
|
|
|
@model PlanTempus.Application.Features.Services.Components.ServiceDetailViewViewModel
|
|
|
|
|
|
|
|
|
|
<swp-service-detail-view id="service-detail-view" data-service="@Model.ServiceKey">
|
|
|
|
|
<!-- Sticky Header (generic from page.css) -->
|
|
|
|
|
<swp-sticky-header>
|
|
|
|
|
<swp-header-content>
|
|
|
|
|
<!-- Page Header with Back Button -->
|
|
|
|
|
<swp-page-header>
|
|
|
|
|
<swp-page-title>
|
|
|
|
|
<swp-back-link data-service-back>
|
|
|
|
|
<i class="ph ph-arrow-left"></i>
|
|
|
|
|
@Model.BackText
|
|
|
|
|
</swp-back-link>
|
|
|
|
|
</swp-page-title>
|
|
|
|
|
<swp-page-actions>
|
|
|
|
|
<swp-btn class="primary">
|
|
|
|
|
<i class="ph ph-floppy-disk"></i>
|
|
|
|
|
@Model.SaveButtonText
|
|
|
|
|
</swp-btn>
|
|
|
|
|
</swp-page-actions>
|
|
|
|
|
</swp-page-header>
|
|
|
|
|
|
|
|
|
|
<!-- Service Header -->
|
|
|
|
|
@await Component.InvokeAsync("ServiceDetailHeader", Model.ServiceKey)
|
|
|
|
|
</swp-header-content>
|
|
|
|
|
|
|
|
|
|
<!-- Tabs (outside header-content, inside sticky-header) -->
|
|
|
|
|
<swp-tab-bar>
|
|
|
|
|
<swp-tab class="active" data-tab="general">@Model.TabGeneral</swp-tab>
|
|
|
|
|
<swp-tab data-tab="prices">@Model.TabPrices</swp-tab>
|
|
|
|
|
<swp-tab data-tab="duration">@Model.TabDuration</swp-tab>
|
|
|
|
|
<swp-tab data-tab="employees">@Model.TabEmployees</swp-tab>
|
|
|
|
|
<swp-tab data-tab="addons">@Model.TabAddons</swp-tab>
|
|
|
|
|
<swp-tab data-tab="rules">@Model.TabRules</swp-tab>
|
|
|
|
|
</swp-tab-bar>
|
|
|
|
|
</swp-sticky-header>
|
|
|
|
|
|
|
|
|
|
<!-- Tab Contents -->
|
|
|
|
|
<swp-tab-content data-tab="general" class="active">
|
|
|
|
|
<swp-page-container>
|
|
|
|
|
@await Component.InvokeAsync("ServiceDetailGeneral", Model.ServiceKey)
|
|
|
|
|
</swp-page-container>
|
|
|
|
|
</swp-tab-content>
|
|
|
|
|
|
|
|
|
|
<swp-tab-content data-tab="prices">
|
|
|
|
|
<swp-page-container>
|
2026-01-17 01:21:00 +01:00
|
|
|
@await Component.InvokeAsync("ServiceDetailPrices", Model.ServiceKey)
|
2026-01-16 22:03:22 +01:00
|
|
|
</swp-page-container>
|
|
|
|
|
</swp-tab-content>
|
|
|
|
|
|
|
|
|
|
<swp-tab-content data-tab="duration">
|
|
|
|
|
<swp-page-container>
|
2026-01-17 01:21:00 +01:00
|
|
|
@await Component.InvokeAsync("ServiceDetailDuration", Model.ServiceKey)
|
2026-01-16 22:03:22 +01:00
|
|
|
</swp-page-container>
|
|
|
|
|
</swp-tab-content>
|
|
|
|
|
|
|
|
|
|
<swp-tab-content data-tab="employees">
|
|
|
|
|
<swp-page-container>
|
2026-01-17 15:36:15 +01:00
|
|
|
@await Component.InvokeAsync("ServiceDetailEmployees", Model.ServiceKey)
|
2026-01-16 22:03:22 +01:00
|
|
|
</swp-page-container>
|
|
|
|
|
</swp-tab-content>
|
|
|
|
|
|
|
|
|
|
<swp-tab-content data-tab="addons">
|
|
|
|
|
<swp-page-container>
|
2026-01-17 15:36:15 +01:00
|
|
|
@await Component.InvokeAsync("ServiceDetailAddons", Model.ServiceKey)
|
2026-01-16 22:03:22 +01:00
|
|
|
</swp-page-container>
|
|
|
|
|
</swp-tab-content>
|
|
|
|
|
|
|
|
|
|
<swp-tab-content data-tab="rules">
|
|
|
|
|
<swp-page-container>
|
2026-01-17 01:21:00 +01:00
|
|
|
@await Component.InvokeAsync("ServiceDetailRules", Model.ServiceKey)
|
2026-01-16 22:03:22 +01:00
|
|
|
</swp-page-container>
|
|
|
|
|
</swp-tab-content>
|
|
|
|
|
</swp-service-detail-view>
|