Various CSS work
This commit is contained in:
parent
ef174af0e1
commit
15579acba8
52 changed files with 8001 additions and 944 deletions
|
|
@ -0,0 +1,74 @@
|
|||
@model PlanTempus.Application.Features.Employees.Components.EmployeeDetailViewViewModel
|
||||
|
||||
<swp-employee-detail-view id="employee-detail-view" data-employee="@Model.EmployeeKey">
|
||||
<!-- 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-employee-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>
|
||||
|
||||
<!-- Employee Header -->
|
||||
@await Component.InvokeAsync("EmployeeDetailHeader", Model.EmployeeKey)
|
||||
</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="hours">@Model.TabHours</swp-tab>
|
||||
<swp-tab data-tab="services">@Model.TabServices</swp-tab>
|
||||
<swp-tab data-tab="salary">@Model.TabSalary</swp-tab>
|
||||
<swp-tab data-tab="hr">@Model.TabHR</swp-tab>
|
||||
<swp-tab data-tab="stats">@Model.TabStats</swp-tab>
|
||||
</swp-tab-bar>
|
||||
</swp-sticky-header>
|
||||
|
||||
<!-- Tab Contents -->
|
||||
<swp-tab-content data-tab="general" class="active">
|
||||
<swp-page-container>
|
||||
@await Component.InvokeAsync("EmployeeDetailGeneral", Model.EmployeeKey)
|
||||
</swp-page-container>
|
||||
</swp-tab-content>
|
||||
|
||||
<swp-tab-content data-tab="hours">
|
||||
<swp-page-container>
|
||||
@await Component.InvokeAsync("EmployeeDetailHours", Model.EmployeeKey)
|
||||
</swp-page-container>
|
||||
</swp-tab-content>
|
||||
|
||||
<swp-tab-content data-tab="services">
|
||||
<swp-page-container>
|
||||
@await Component.InvokeAsync("EmployeeDetailServices", Model.EmployeeKey)
|
||||
</swp-page-container>
|
||||
</swp-tab-content>
|
||||
|
||||
<swp-tab-content data-tab="salary">
|
||||
<swp-page-container>
|
||||
@await Component.InvokeAsync("EmployeeDetailSalary", Model.EmployeeKey)
|
||||
</swp-page-container>
|
||||
</swp-tab-content>
|
||||
|
||||
<swp-tab-content data-tab="hr">
|
||||
<swp-page-container>
|
||||
@await Component.InvokeAsync("EmployeeDetailHR", Model.EmployeeKey)
|
||||
</swp-page-container>
|
||||
</swp-tab-content>
|
||||
|
||||
<swp-tab-content data-tab="stats">
|
||||
<swp-page-container>
|
||||
@await Component.InvokeAsync("EmployeeDetailStats", Model.EmployeeKey)
|
||||
</swp-page-container>
|
||||
</swp-tab-content>
|
||||
</swp-employee-detail-view>
|
||||
|
|
@ -0,0 +1,47 @@
|
|||
using Microsoft.AspNetCore.Mvc;
|
||||
using PlanTempus.Application.Features.Localization.Services;
|
||||
|
||||
namespace PlanTempus.Application.Features.Employees.Components;
|
||||
|
||||
public class EmployeeDetailViewViewComponent : ViewComponent
|
||||
{
|
||||
private readonly ILocalizationService _localization;
|
||||
|
||||
public EmployeeDetailViewViewComponent(ILocalizationService localization)
|
||||
{
|
||||
_localization = localization;
|
||||
}
|
||||
|
||||
public IViewComponentResult Invoke(string key)
|
||||
{
|
||||
var employee = EmployeeDetailCatalog.Get(key);
|
||||
|
||||
var model = new EmployeeDetailViewViewModel
|
||||
{
|
||||
EmployeeKey = employee.Key,
|
||||
BackText = _localization.Get("employees.detail.back"),
|
||||
SaveButtonText = _localization.Get("employees.detail.save"),
|
||||
TabGeneral = _localization.Get("employees.detail.tabs.general"),
|
||||
TabHours = _localization.Get("employees.detail.tabs.hours"),
|
||||
TabServices = _localization.Get("employees.detail.tabs.services"),
|
||||
TabSalary = _localization.Get("employees.detail.tabs.salary"),
|
||||
TabHR = _localization.Get("employees.detail.tabs.hr"),
|
||||
TabStats = _localization.Get("employees.detail.tabs.stats")
|
||||
};
|
||||
|
||||
return View(model);
|
||||
}
|
||||
}
|
||||
|
||||
public class EmployeeDetailViewViewModel
|
||||
{
|
||||
public required string EmployeeKey { get; init; }
|
||||
public required string BackText { get; init; }
|
||||
public required string SaveButtonText { get; init; }
|
||||
public required string TabGeneral { get; init; }
|
||||
public required string TabHours { get; init; }
|
||||
public required string TabServices { get; init; }
|
||||
public required string TabSalary { get; init; }
|
||||
public required string TabHR { get; init; }
|
||||
public required string TabStats { get; init; }
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue