Files
ApplianceRepair/Components/Pages/admin/EditPages.razor

144 lines
7.1 KiB
Plaintext
Raw Normal View History

2026-04-22 20:09:26 -05:00
@page "/admin/editpages"
@rendermode InteractiveServer
<div class="admin-wrapper">
<div class="container">
<header class="admin-header">
<h1>Page Content Management</h1>
<p>Update your business details and home page content below.</p>
</header>
@if (HomePageModel == null)
{
<div class="loading-state">
<div class="spinner"></div>
<p>Loading your settings...</p>
</div>
}
else
{
<div class="admin-wrapper">
<div class="container">
<header class="admin-header">
<div class="tab-container">
2026-04-25 13:14:08 -05:00
<button class="tab-btn @(CurrentTab == AdminTab.Home ? "active" : "")"
@onclick="() => CurrentTab = AdminTab.Home">
2026-04-22 20:09:26 -05:00
Home Page
</button>
</div>
2026-04-25 13:14:08 -05:00
<div class="tab-container">
<button class="tab-btn @(CurrentTab == AdminTab.BusinessInfo ? "active" : "")"
@onclick="() => CurrentTab = AdminTab.BusinessInfo">
Business Info
</button>
</div>
2026-04-22 20:09:26 -05:00
</header>
2026-04-25 13:14:08 -05:00
@if (CurrentTab == AdminTab.Home)
2026-04-22 20:09:26 -05:00
{
2026-04-25 13:14:08 -05:00
<EditForm FormName="HomePageForm" Model="HomePageModel" OnValidSubmit="SaveHomePageModel" On class="admin-form">
2026-04-22 20:09:26 -05:00
<DataAnnotationsValidator />
<div class="form-section text-center">
<h3><i class="icon">🏠</i> Hero Section</h3>
<div class="input-group">
<label>Main Headline</label>
<InputText @bind-Value="HomePageModel.HeaderLine1" class="form-input" />
</div>
<div class="input-group">
<label>Highlighted Text (Green)</label>
<InputText @bind-Value="HomePageModel.HeaderLine2" class="form-input" />
</div>
<div class="input-group">
<label>Description Text</label>
<InputTextArea @bind-Value="HomePageModel.HeaderText" class="form-input" rows="3" />
</div>
</div>
<div class="form-section text-center">
<h3><i class="icon">🛠️</i> Services</h3>
<div class="cards-grid">
@foreach (var card in HomePageModel.ServicesCards)
{
<div class="content-card">
<div class="input-group">
<label>Header</label>
<InputTextArea @bind-Value="card.Header" class="form-input" />
</div>
<div class="input-group">
<label>Text</label>
<InputTextArea @bind-Value="card.Text" class="form-input" />
</div>
</div>
}
</div>
<button type="button" class="btn btn-save" @onclick="AddServiceCard">Add Service Card</button>
</div>
<div class="form-section text-center">
<h3><i class="icon">🛡️</i> Trust</h3>
<div class="cards-grid">
@foreach (var card in HomePageModel.TrustCards)
{
<div class="content-card">
<div class="input-group">
<label>Header</label>
<InputTextArea @bind-Value="card.Header" class="form-input" />
</div>
<div class="input-group">
<label>Text</label>
<InputTextArea @bind-Value="card.Text" class="form-input" />
</div>
</div>
}
</div>
<button type="button" class="btn btn-save" @onclick="AddTrustCard">Add Trust Card</button>
</div>
<div class="admin-footer">
<button type="submit" class="btn btn-save">Save</button>
<button type="button" class="btn btn-revert" @onclick="RevertHomePageModel">Revert</button>
</div>
</EditForm>
}
2026-04-25 13:14:08 -05:00
else if (CurrentTab == AdminTab.BusinessInfo)
2026-04-22 20:09:26 -05:00
{
2026-04-25 13:14:08 -05:00
<EditForm FormName="BusinessInfoForm" Model="BusinessInfo" OnValidSubmit="SaveBusinessInfo" On class="admin-form">
<DataAnnotationsValidator />
<div class="form-section text-center">
<h3><i class="icon">🏠</i> Business Info</h3>
<div class="input-group">
<label>Business Name</label>
<InputText @bind-Value="BusinessInfo.Name" class="form-input" />
</div>
<div class="input-group">
<label>Phone Number</label>
<InputText @bind-Value="BusinessInfo.PhoneNumber" class="form-input" />
</div>
<div class="input-group">
<label>Support Email</label>
<InputText @bind-Value="BusinessInfo.SupportEmail" class="form-input" />
</div>
</div>
<div class="admin-footer">
<button type="submit" class="btn btn-save">Save</button>
<button type="button" class="btn btn-revert" @onclick="RevertBusinessInfo">Revert</button>
</div>
</EditForm>
2026-04-22 20:09:26 -05:00
}
</div>
</div>
}
</div>
</div>