Enhances service details with employees and addon sections
Adds new components for service employees and addons Introduces detailed views with selectable employees and add-ons Updates localization translations for new sections Implements time range slider functionality for availability
This commit is contained in:
parent
5e3811347c
commit
7643a6ab82
20 changed files with 830 additions and 336 deletions
|
|
@ -62,7 +62,35 @@ public static class ServiceDetailCatalog
|
|||
ShowInOnlineBookingRules = true,
|
||||
AllowEmployeeSelection = true,
|
||||
ShowPrice = true,
|
||||
ShowDuration = true
|
||||
ShowDuration = true,
|
||||
// Medarbejdere
|
||||
Employees = new()
|
||||
{
|
||||
new("emp-1", "Anna Sørensen", "AS", "Master Stylist", "master", true, "Standard"),
|
||||
new("emp-2", "Mette Jensen", "MJ", "Senior Stylist", "senior", true, "+15 min"),
|
||||
new("emp-3", "Louise Nielsen", "LN", "Senior Stylist", "senior", true, "Standard"),
|
||||
new("emp-4", "Katrine Pedersen", "KP", "Stylist", "junior", true, "+15 min"),
|
||||
new("emp-5", "Sofie Andersen", "SA", "Junior Stylist", "junior", false, "—", "Ikke certificeret")
|
||||
},
|
||||
Availability = new()
|
||||
{
|
||||
new("Mandag", true, "08:00", "18:00"),
|
||||
new("Tirsdag", true, "08:00", "18:00"),
|
||||
new("Onsdag", true, "08:00", "18:00"),
|
||||
new("Torsdag", true, "08:00", "12:00"),
|
||||
new("Fredag", true, "08:00", "18:00"),
|
||||
new("Lørdag", false, "08:00", "18:00"),
|
||||
new("Søndag", false, "08:00", "18:00")
|
||||
},
|
||||
// Tilvalg
|
||||
Addons = new()
|
||||
{
|
||||
new("addon-1", "Olaplex Behandling", "+250 kr", "+15 min", "Valgfri", true),
|
||||
new("addon-2", "Kerastase Hårkur", "+195 kr", "+10 min", "Valgfri", true),
|
||||
new("addon-3", "Styling / Curls", "+150 kr", "+20 min", "Valgfri", true),
|
||||
new("addon-4", "Hovedbundsmassage", "+75 kr", "+5 min", "Valgfri", true),
|
||||
new("addon-5", "Patch Test", "Gratis", "48t før", "Påkrævet (nye)", false, true)
|
||||
}
|
||||
},
|
||||
["service-2"] = new ServiceDetailRecord
|
||||
{
|
||||
|
|
@ -233,6 +261,13 @@ public record ServiceDetailRecord
|
|||
public bool AllowEmployeeSelection { get; init; } = true;
|
||||
public bool ShowPrice { get; init; } = true;
|
||||
public bool ShowDuration { get; init; } = true;
|
||||
|
||||
// Medarbejdere tab
|
||||
public List<ServiceEmployee> Employees { get; init; } = new();
|
||||
public List<ServiceAvailability> Availability { get; init; } = new();
|
||||
|
||||
// Tilvalg tab
|
||||
public List<ServiceAddon> Addons { get; init; } = new();
|
||||
}
|
||||
|
||||
public enum PriceMode { Simple, Matrix }
|
||||
|
|
@ -242,3 +277,28 @@ public record PriceMatrixRow(string Level, string ShortHair, string MediumHair,
|
|||
public record DurationVariant(string Name, int Minutes);
|
||||
|
||||
public record ServiceTag(string Text, string CssClass);
|
||||
|
||||
public record ServiceEmployee(
|
||||
string Id,
|
||||
string Name,
|
||||
string Initials,
|
||||
string Level,
|
||||
string LevelCssClass,
|
||||
bool Selected,
|
||||
string OverrideValue,
|
||||
string? Warning = null);
|
||||
|
||||
public record ServiceAddon(
|
||||
string Id,
|
||||
string Name,
|
||||
string Price,
|
||||
string Duration,
|
||||
string Type,
|
||||
bool Selected,
|
||||
bool Required = false);
|
||||
|
||||
public record ServiceAvailability(
|
||||
string Day,
|
||||
bool Enabled,
|
||||
string StartTime,
|
||||
string EndTime);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue