WIP
This commit is contained in:
parent
54b057886c
commit
7fc1ae0650
204 changed files with 4345 additions and 134 deletions
|
|
@ -0,0 +1,23 @@
|
|||
using Microsoft.AspNetCore.Mvc.Razor;
|
||||
|
||||
namespace PlanTempus.Application.Common
|
||||
{
|
||||
public class ComponentsViewLocationExpander : IViewLocationExpander
|
||||
{
|
||||
public void PopulateValues(ViewLocationExpanderContext context)
|
||||
{
|
||||
}
|
||||
|
||||
public IEnumerable<string> ExpandViewLocations(ViewLocationExpanderContext context, IEnumerable<string> viewLocations)
|
||||
{
|
||||
var componentLocations = new[]
|
||||
{
|
||||
"/{0}.cshtml/"
|
||||
//,
|
||||
//"/Components/{1}/"
|
||||
};
|
||||
|
||||
return componentLocations.Concat(viewLocations);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,137 @@
|
|||
using Microsoft.ApplicationInsights;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Newtonsoft.Json;
|
||||
using Newtonsoft.Json.Linq;
|
||||
|
||||
namespace PlanTempus.Application.Components
|
||||
{
|
||||
public abstract class ApiViewComponentBase : ViewComponent
|
||||
{
|
||||
private readonly HttpClient _httpClient;
|
||||
private readonly TelemetryClient _telemetry;
|
||||
|
||||
protected ApiViewComponentBase(IHttpClientFactory httpClientFactory, TelemetryClient telemetry)
|
||||
{
|
||||
_httpClient = httpClientFactory.CreateClient("ApiClient");
|
||||
_telemetry = telemetry;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Fetches data from API as JObject
|
||||
/// </summary>
|
||||
/// <param name="apiEndpoint">API endpoint path (e.g. "/api/product/get/1")</param>
|
||||
/// <returns>JObject with API result</returns>
|
||||
protected async Task<JObject> GetJObjectFromApiAsync(string apiEndpoint)
|
||||
{
|
||||
try
|
||||
{
|
||||
_telemetry.TrackEvent("ApiCall", new Dictionary<string, string>
|
||||
{
|
||||
["Endpoint"] = apiEndpoint,
|
||||
["Source"] = "GetJObjectFromApiAsync"
|
||||
});
|
||||
|
||||
// Use HttpClient to get JSON string
|
||||
var response = await _httpClient.GetAsync(apiEndpoint);
|
||||
response.EnsureSuccessStatusCode();
|
||||
|
||||
var jsonString = await response.Content.ReadAsStringAsync();
|
||||
return JObject.Parse(jsonString);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
_telemetry.TrackException(ex, new Dictionary<string, string>
|
||||
{
|
||||
["Endpoint"] = apiEndpoint,
|
||||
["Method"] = "GetJObjectFromApiAsync"
|
||||
});
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Fetches data from API as JArray
|
||||
/// </summary>
|
||||
/// <param name="apiEndpoint">API endpoint path</param>
|
||||
/// <returns>JArray with API result</returns>
|
||||
protected async Task<JArray> GetJArrayFromApiAsync(string apiEndpoint)
|
||||
{
|
||||
try
|
||||
{
|
||||
_telemetry.TrackEvent("ApiCall", new Dictionary<string, string>
|
||||
{
|
||||
["Endpoint"] = apiEndpoint,
|
||||
["Source"] = "GetJArrayFromApiAsync"
|
||||
});
|
||||
|
||||
// Use HttpClient to get JSON string
|
||||
var response = await _httpClient.GetAsync(apiEndpoint);
|
||||
response.EnsureSuccessStatusCode();
|
||||
|
||||
var jsonString = await response.Content.ReadAsStringAsync();
|
||||
return JArray.Parse(jsonString);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
_telemetry.TrackException(ex, new Dictionary<string, string>
|
||||
{
|
||||
["Endpoint"] = apiEndpoint,
|
||||
["Method"] = "GetJArrayFromApiAsync"
|
||||
});
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sends POST request to API and receives JObject response
|
||||
/// </summary>
|
||||
/// <param name="apiEndpoint">API endpoint path</param>
|
||||
/// <param name="data">Data to be sent (can be JObject or other type)</param>
|
||||
/// <returns>JObject with response data</returns>
|
||||
protected async Task<JObject> PostToApiAsync(string apiEndpoint, object data)
|
||||
{
|
||||
try
|
||||
{
|
||||
_telemetry.TrackEvent("ApiPost", new Dictionary<string, string>
|
||||
{
|
||||
["Endpoint"] = apiEndpoint
|
||||
});
|
||||
|
||||
// Convert data to JSON string
|
||||
var content = new StringContent(
|
||||
JsonConvert.SerializeObject(data),
|
||||
System.Text.Encoding.UTF8,
|
||||
"application/json");
|
||||
|
||||
var response = await _httpClient.PostAsync(apiEndpoint, content);
|
||||
response.EnsureSuccessStatusCode();
|
||||
|
||||
var jsonString = await response.Content.ReadAsStringAsync();
|
||||
return JObject.Parse(jsonString);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
_telemetry.TrackException(ex, new Dictionary<string, string>
|
||||
{
|
||||
["Endpoint"] = apiEndpoint,
|
||||
["Method"] = "PostToApiAsync"
|
||||
});
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Handles errors in a consistent way
|
||||
/// </summary>
|
||||
protected IViewComponentResult HandleError(string message = "An error occurred.")
|
||||
{
|
||||
_telemetry.TrackEvent("ComponentError", new Dictionary<string, string>
|
||||
{
|
||||
["Message"] = message,
|
||||
["Component"] = this.GetType().Name
|
||||
});
|
||||
|
||||
return Content(message);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
<nav>
|
||||
<ul>
|
||||
<li><a href="/@Model.Title">Index</a></li>
|
||||
<li>Overblik</li>
|
||||
<li>Kalender</li>
|
||||
<li>Salg</li>
|
||||
<li>Kunder</li>
|
||||
<li>Kassesystem</li>
|
||||
<li>Statistik</li>
|
||||
<li>Integrationers</li>
|
||||
</ul>
|
||||
</nav>
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
using Microsoft.ApplicationInsights;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
namespace PlanTempus.Application.Components.Navigation
|
||||
{
|
||||
public class NavigationViewComponent : ViewComponent
|
||||
{
|
||||
|
||||
public NavigationViewComponent(TelemetryClient telemetryClient)
|
||||
{
|
||||
|
||||
}
|
||||
public IViewComponentResult Invoke()
|
||||
{
|
||||
return View(new { Title = "Hej", Description = "Dette edr en beskrivdelse" });
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,43 @@
|
|||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.ApplicationInsights;
|
||||
|
||||
namespace PlanTempus.Application.Components
|
||||
{
|
||||
public class OrganizationViewComponent : ApiViewComponentBase
|
||||
{
|
||||
private readonly TelemetryClient _telemetry;
|
||||
|
||||
public OrganizationViewComponent(
|
||||
IHttpClientFactory httpClientFactory,
|
||||
TelemetryClient telemetry)
|
||||
: base(httpClientFactory, telemetry)
|
||||
{
|
||||
_telemetry = telemetry;
|
||||
}
|
||||
|
||||
public async Task<IViewComponentResult> InvokeAsync(int organizationId, bool showDetailedView = true)
|
||||
{
|
||||
_telemetry.TrackEvent($"{GetType().Name}Invoked", new Dictionary<string, string>
|
||||
{
|
||||
["OrganizationId"] = organizationId.ToString(),
|
||||
["ShowDetailedView"] = showDetailedView.ToString()
|
||||
});
|
||||
|
||||
var organization = await GetJObjectFromApiAsync($"/api/organization/get/{organizationId}");
|
||||
|
||||
if (organization == null)
|
||||
return HandleError("Organization not found");
|
||||
|
||||
ViewBag.ShowDetailedView = showDetailedView;
|
||||
|
||||
|
||||
_telemetry.TrackEvent("Viewed", new Dictionary<string, string>
|
||||
{
|
||||
["OrganizationId"] = organizationId.ToString(),
|
||||
["Name"] = organization["name"]?.ToString()
|
||||
});
|
||||
|
||||
return View(organization);
|
||||
}
|
||||
}
|
||||
}
|
||||
14
PlanTempus.DeprecatedApplication/Pages/Index.cshtml
Normal file
14
PlanTempus.DeprecatedApplication/Pages/Index.cshtml
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
@page
|
||||
@model PlanTempus.Application.Pages.IndexModel
|
||||
@{
|
||||
ViewData["Title"] = "Home page";
|
||||
}
|
||||
|
||||
|
||||
|
||||
@* <hello name="John"></hello> *@
|
||||
|
||||
<div>
|
||||
<h1>Calendar.</h1>
|
||||
<calendar></calendar>
|
||||
</div>
|
||||
24
PlanTempus.DeprecatedApplication/Pages/Index.cshtml.cs
Normal file
24
PlanTempus.DeprecatedApplication/Pages/Index.cshtml.cs
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
using Microsoft.ApplicationInsights;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.AspNetCore.Mvc.RazorPages;
|
||||
|
||||
namespace PlanTempus.Application.Pages
|
||||
{
|
||||
public class IndexModel : PageModel
|
||||
{
|
||||
private readonly TelemetryClient _telemetry;
|
||||
|
||||
public IndexModel(TelemetryClient telemetry)
|
||||
{
|
||||
_telemetry = telemetry;
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
public void OnGet()
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
27
PlanTempus.DeprecatedApplication/Pages/Shared/_Layout.cshtml
Normal file
27
PlanTempus.DeprecatedApplication/Pages/Shared/_Layout.cshtml
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>@ViewData["Title"] - PlanTempus</title>
|
||||
<link rel="stylesheet" href="~/css/site.css" asp-append-version="true" />
|
||||
<script type="module" src="/js/app.js"></script>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<swp-container>
|
||||
<aside>
|
||||
<aside-top><img src="~/images/pt-logo2.png" /></aside-top>
|
||||
|
||||
@await Component.InvokeAsync("Navigation")
|
||||
|
||||
</aside>
|
||||
<main>@RenderBody()</main>
|
||||
<top>top</top>
|
||||
<footer>footer</footer>
|
||||
</swp-container>
|
||||
|
||||
|
||||
@await RenderSectionAsync("Scripts", required: false)
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -0,0 +1,48 @@
|
|||
/* Please see documentation at https://learn.microsoft.com/aspnet/core/client-side/bundling-and-minification
|
||||
for details on configuring this project to bundle and minify static web assets. */
|
||||
|
||||
a.navbar-brand {
|
||||
white-space: normal;
|
||||
text-align: center;
|
||||
word-break: break-all;
|
||||
}
|
||||
|
||||
a {
|
||||
color: #0077cc;
|
||||
}
|
||||
|
||||
.btn-primary {
|
||||
color: #fff;
|
||||
background-color: #1b6ec2;
|
||||
border-color: #1861ac;
|
||||
}
|
||||
|
||||
.nav-pills .nav-link.active, .nav-pills .show > .nav-link {
|
||||
color: #fff;
|
||||
background-color: #1b6ec2;
|
||||
border-color: #1861ac;
|
||||
}
|
||||
|
||||
.border-top {
|
||||
border-top: 1px solid #e5e5e5;
|
||||
}
|
||||
.border-bottom {
|
||||
border-bottom: 1px solid #e5e5e5;
|
||||
}
|
||||
|
||||
.box-shadow {
|
||||
box-shadow: 0 .25rem .75rem rgba(0, 0, 0, .05);
|
||||
}
|
||||
|
||||
button.accept-policy {
|
||||
font-size: 1rem;
|
||||
line-height: inherit;
|
||||
}
|
||||
|
||||
.footer {
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
width: 100%;
|
||||
white-space: nowrap;
|
||||
line-height: 60px;
|
||||
}
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
@using PlanTempus
|
||||
@namespace PlanTempus.Pages
|
||||
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
|
||||
@addTagHelper *, Application
|
||||
3
PlanTempus.DeprecatedApplication/Pages/_ViewStart.cshtml
Normal file
3
PlanTempus.DeprecatedApplication/Pages/_ViewStart.cshtml
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
@{
|
||||
Layout = "_Layout";
|
||||
}
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk.Web">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net9.0</TargetFramework>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<None Remove="App.ts" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\Core\PlanTempus.Core.csproj" />
|
||||
<ProjectReference Include="..\Database\PlanTempus.Database.csproj" />
|
||||
<ProjectReference Include="..\PlanTempus.Components\PlanTempus.Components.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Folder Include="Views\Components\" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
15
PlanTempus.DeprecatedApplication/Program.cs
Normal file
15
PlanTempus.DeprecatedApplication/Program.cs
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
using Autofac.Extensions.DependencyInjection;
|
||||
using PlanTempus.Application;
|
||||
|
||||
var host = Host.CreateDefaultBuilder(args)
|
||||
.UseServiceProviderFactory(new AutofacServiceProviderFactory())
|
||||
.ConfigureWebHostDefaults(webHostBuilder =>
|
||||
{
|
||||
webHostBuilder
|
||||
.UseContentRoot(Directory.GetCurrentDirectory())
|
||||
.UseStartup<Startup>();
|
||||
})
|
||||
.Build();
|
||||
|
||||
host.Run();
|
||||
|
||||
|
|
@ -0,0 +1,38 @@
|
|||
{
|
||||
"$schema": "http://json.schemastore.org/launchsettings.json",
|
||||
"iisSettings": {
|
||||
"windowsAuthentication": false,
|
||||
"anonymousAuthentication": true,
|
||||
"iisExpress": {
|
||||
"applicationUrl": "http://localhost:42572",
|
||||
"sslPort": 44391
|
||||
}
|
||||
},
|
||||
"profiles": {
|
||||
"http": {
|
||||
"commandName": "Project",
|
||||
"dotnetRunMessages": true,
|
||||
"launchBrowser": true,
|
||||
"applicationUrl": "http://localhost:5016",
|
||||
"environmentVariables": {
|
||||
"ASPNETCORE_ENVIRONMENT": "Development"
|
||||
}
|
||||
},
|
||||
"https": {
|
||||
"commandName": "Project",
|
||||
"dotnetRunMessages": true,
|
||||
"launchBrowser": true,
|
||||
"applicationUrl": "https://localhost:7024;http://localhost:5016",
|
||||
"environmentVariables": {
|
||||
"ASPNETCORE_ENVIRONMENT": "Development"
|
||||
}
|
||||
},
|
||||
"IIS Express": {
|
||||
"commandName": "IISExpress",
|
||||
"launchBrowser": true,
|
||||
"environmentVariables": {
|
||||
"ASPNETCORE_ENVIRONMENT": "Development"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
83
PlanTempus.DeprecatedApplication/Startup.cs
Normal file
83
PlanTempus.DeprecatedApplication/Startup.cs
Normal file
|
|
@ -0,0 +1,83 @@
|
|||
using Autofac;
|
||||
using PlanTempus.Components.Outbox;
|
||||
using PlanTempus.Core.Configurations.JsonConfigProvider;
|
||||
using PlanTempus.Core.Configurations;
|
||||
using PlanTempus.Core.Email;
|
||||
using PlanTempus.Core.ModuleRegistry;
|
||||
using PlanTempus.Core.Outbox;
|
||||
|
||||
namespace PlanTempus.Application
|
||||
{
|
||||
public class Startup
|
||||
{
|
||||
public Startup(IWebHostEnvironment env)
|
||||
{
|
||||
var builder = new Core.Configurations.ConfigurationBuilder()
|
||||
.AddJsonFile("appconfiguration.json", optional: true, reloadOnChange: true);
|
||||
|
||||
ConfigurationRoot = builder.Build();
|
||||
}
|
||||
|
||||
public Core.Configurations.IConfigurationRoot ConfigurationRoot { get; private set; }
|
||||
|
||||
public ILifetimeScope AutofacContainer { get; private set; }
|
||||
|
||||
public void ConfigureServices(IServiceCollection services)
|
||||
{
|
||||
services.AddControllers();
|
||||
services.AddOptions();
|
||||
services.AddRazorPages();
|
||||
//services.AddApplicationInsightsTelemetry(ConfigurationRoot["ApplicationInsights:InstrumentationKey"]);
|
||||
services.AddAntiforgery(x => x.HeaderName = "X-ANTI-FORGERY-TOKEN");
|
||||
|
||||
services.Configure<Microsoft.AspNetCore.Mvc.Razor.RazorViewEngineOptions>(options =>
|
||||
{
|
||||
options.ViewLocationExpanders.Add(new Common.ComponentsViewLocationExpander());
|
||||
});
|
||||
|
||||
}
|
||||
public void ConfigureContainer(ContainerBuilder builder)
|
||||
{
|
||||
builder.RegisterModule(new Database.ModuleRegistry.DbPostgreSqlModule
|
||||
{
|
||||
ConnectionString = ConfigurationRoot.GetConnectionString("DefaultConnection")
|
||||
});
|
||||
|
||||
builder.RegisterModule(new TelemetryModule
|
||||
{
|
||||
TelemetryConfig = ConfigurationRoot.GetSection("ApplicationInsights").ToObject<TelemetryConfig>()
|
||||
});
|
||||
|
||||
builder.RegisterModule<OutboxModule>();
|
||||
builder.RegisterModule<OutboxListenerModule>();
|
||||
builder.RegisterModule(new EmailModule
|
||||
{
|
||||
PostmarkConfiguration = ConfigurationRoot.GetSection("Postmark").ToObject<PostmarkConfiguration>()
|
||||
});
|
||||
}
|
||||
|
||||
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
|
||||
{
|
||||
|
||||
if (env.IsDevelopment())
|
||||
app.UseDeveloperExceptionPage();
|
||||
else
|
||||
{
|
||||
app.UseExceptionHandler("/Error");
|
||||
// The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
|
||||
app.UseHsts();
|
||||
}
|
||||
app.UseHttpsRedirection();
|
||||
app.UseRouting();
|
||||
|
||||
app.UseStaticFiles();
|
||||
app.UseEndpoints(endpoints =>
|
||||
{
|
||||
//endpoints.MapHub<MotionHub>("/motionhub");
|
||||
endpoints.MapRazorPages();
|
||||
endpoints.MapControllers();
|
||||
});
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
8
PlanTempus.DeprecatedApplication/TypeScript/App.ts
Normal file
8
PlanTempus.DeprecatedApplication/TypeScript/App.ts
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
|
||||
export default class App {
|
||||
|
||||
constructor() {
|
||||
alert('fobbo');
|
||||
}
|
||||
}
|
||||
new App();
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
..\node_modules\.bin\esbuild app.ts --sourcemap --bundle --outfile=../wwwroot/js/app.js
|
||||
|
||||
|
||||
Create a new alias for easy access
|
||||
New-Alias -Name esbuild -Value ..\node_modules\.bin\esbuild
|
||||
|
||||
After alias, just do like this:
|
||||
esbuild app.ts --sourcemap --bundle --outfile=../wwwroot/js/app.js
|
||||
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"DetailedErrors": true,
|
||||
"Logging": {
|
||||
"LogLevel": {
|
||||
"Default": "Information",
|
||||
"Microsoft.AspNetCore": "Warning"
|
||||
}
|
||||
}
|
||||
}
|
||||
19
PlanTempus.DeprecatedApplication/appconfiguration.json
Normal file
19
PlanTempus.DeprecatedApplication/appconfiguration.json
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
{
|
||||
"ConnectionStrings": {
|
||||
"DefaultConnection": "Host=192.168.1.63;Port=5432;Database=ptmain;User Id={usr};Password={pwd};"
|
||||
},
|
||||
"ApplicationInsights": {
|
||||
"ConnectionString": "InstrumentationKey=07d2a2b9-5e8e-4924-836e-264f8438f6c5;IngestionEndpoint=https://northeurope-2.in.applicationinsights.azure.com/;LiveEndpoint=https://northeurope.livediagnostics.monitor.azure.com/;ApplicationId=56748c39-2fa3-4880-a1e2-24068e791548",
|
||||
"UseSeqLoggingTelemetryChannel": true
|
||||
},
|
||||
"SeqConfiguration": {
|
||||
"IngestionEndpoint": "http://localhost:5341",
|
||||
"ApiKey": null,
|
||||
"Environment": "MSTEST"
|
||||
},
|
||||
"Postmark": {
|
||||
"ServerToken": "3f285ee7-1d30-48fb-ab6f-a6ae92a843e7",
|
||||
"FromEmail": "janus@sevenweirdpeople.io",
|
||||
"TestToEmail": "janus@sevenweirdpeople.io"
|
||||
}
|
||||
}
|
||||
414
PlanTempus.DeprecatedApplication/package-lock.json
generated
Normal file
414
PlanTempus.DeprecatedApplication/package-lock.json
generated
Normal file
|
|
@ -0,0 +1,414 @@
|
|||
{
|
||||
"name": "asp.net",
|
||||
"version": "1.0.0",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "asp.net",
|
||||
"version": "1.0.0",
|
||||
"dependencies": {
|
||||
"esbuild": "0.24.0"
|
||||
},
|
||||
"devDependencies": {}
|
||||
},
|
||||
"node_modules/@esbuild/aix-ppc64": {
|
||||
"version": "0.24.0",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.24.0.tgz",
|
||||
"integrity": "sha512-WtKdFM7ls47zkKHFVzMz8opM7LkcsIp9amDUBIAWirg70RM71WRSjdILPsY5Uv1D42ZpUfaPILDlfactHgsRkw==",
|
||||
"cpu": [
|
||||
"ppc64"
|
||||
],
|
||||
"optional": true,
|
||||
"os": [
|
||||
"aix"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/android-arm": {
|
||||
"version": "0.24.0",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.24.0.tgz",
|
||||
"integrity": "sha512-arAtTPo76fJ/ICkXWetLCc9EwEHKaeya4vMrReVlEIUCAUncH7M4bhMQ+M9Vf+FFOZJdTNMXNBrWwW+OXWpSew==",
|
||||
"cpu": [
|
||||
"arm"
|
||||
],
|
||||
"optional": true,
|
||||
"os": [
|
||||
"android"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/android-arm64": {
|
||||
"version": "0.24.0",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.24.0.tgz",
|
||||
"integrity": "sha512-Vsm497xFM7tTIPYK9bNTYJyF/lsP590Qc1WxJdlB6ljCbdZKU9SY8i7+Iin4kyhV/KV5J2rOKsBQbB77Ab7L/w==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
"optional": true,
|
||||
"os": [
|
||||
"android"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/android-x64": {
|
||||
"version": "0.24.0",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.24.0.tgz",
|
||||
"integrity": "sha512-t8GrvnFkiIY7pa7mMgJd7p8p8qqYIz1NYiAoKc75Zyv73L3DZW++oYMSHPRarcotTKuSs6m3hTOa5CKHaS02TQ==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
"optional": true,
|
||||
"os": [
|
||||
"android"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/darwin-arm64": {
|
||||
"version": "0.24.0",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.24.0.tgz",
|
||||
"integrity": "sha512-CKyDpRbK1hXwv79soeTJNHb5EiG6ct3efd/FTPdzOWdbZZfGhpbcqIpiD0+vwmpu0wTIL97ZRPZu8vUt46nBSw==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
"optional": true,
|
||||
"os": [
|
||||
"darwin"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/darwin-x64": {
|
||||
"version": "0.24.0",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.24.0.tgz",
|
||||
"integrity": "sha512-rgtz6flkVkh58od4PwTRqxbKH9cOjaXCMZgWD905JOzjFKW+7EiUObfd/Kav+A6Gyud6WZk9w+xu6QLytdi2OA==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
"optional": true,
|
||||
"os": [
|
||||
"darwin"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/freebsd-arm64": {
|
||||
"version": "0.24.0",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.24.0.tgz",
|
||||
"integrity": "sha512-6Mtdq5nHggwfDNLAHkPlyLBpE5L6hwsuXZX8XNmHno9JuL2+bg2BX5tRkwjyfn6sKbxZTq68suOjgWqCicvPXA==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
"optional": true,
|
||||
"os": [
|
||||
"freebsd"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/freebsd-x64": {
|
||||
"version": "0.24.0",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.24.0.tgz",
|
||||
"integrity": "sha512-D3H+xh3/zphoX8ck4S2RxKR6gHlHDXXzOf6f/9dbFt/NRBDIE33+cVa49Kil4WUjxMGW0ZIYBYtaGCa2+OsQwQ==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
"optional": true,
|
||||
"os": [
|
||||
"freebsd"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/linux-arm": {
|
||||
"version": "0.24.0",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.24.0.tgz",
|
||||
"integrity": "sha512-gJKIi2IjRo5G6Glxb8d3DzYXlxdEj2NlkixPsqePSZMhLudqPhtZ4BUrpIuTjJYXxvF9njql+vRjB2oaC9XpBw==",
|
||||
"cpu": [
|
||||
"arm"
|
||||
],
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/linux-arm64": {
|
||||
"version": "0.24.0",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.24.0.tgz",
|
||||
"integrity": "sha512-TDijPXTOeE3eaMkRYpcy3LarIg13dS9wWHRdwYRnzlwlA370rNdZqbcp0WTyyV/k2zSxfko52+C7jU5F9Tfj1g==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/linux-ia32": {
|
||||
"version": "0.24.0",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.24.0.tgz",
|
||||
"integrity": "sha512-K40ip1LAcA0byL05TbCQ4yJ4swvnbzHscRmUilrmP9Am7//0UjPreh4lpYzvThT2Quw66MhjG//20mrufm40mA==",
|
||||
"cpu": [
|
||||
"ia32"
|
||||
],
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/linux-loong64": {
|
||||
"version": "0.24.0",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.24.0.tgz",
|
||||
"integrity": "sha512-0mswrYP/9ai+CU0BzBfPMZ8RVm3RGAN/lmOMgW4aFUSOQBjA31UP8Mr6DDhWSuMwj7jaWOT0p0WoZ6jeHhrD7g==",
|
||||
"cpu": [
|
||||
"loong64"
|
||||
],
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/linux-mips64el": {
|
||||
"version": "0.24.0",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.24.0.tgz",
|
||||
"integrity": "sha512-hIKvXm0/3w/5+RDtCJeXqMZGkI2s4oMUGj3/jM0QzhgIASWrGO5/RlzAzm5nNh/awHE0A19h/CvHQe6FaBNrRA==",
|
||||
"cpu": [
|
||||
"mips64el"
|
||||
],
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/linux-ppc64": {
|
||||
"version": "0.24.0",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.24.0.tgz",
|
||||
"integrity": "sha512-HcZh5BNq0aC52UoocJxaKORfFODWXZxtBaaZNuN3PUX3MoDsChsZqopzi5UupRhPHSEHotoiptqikjN/B77mYQ==",
|
||||
"cpu": [
|
||||
"ppc64"
|
||||
],
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/linux-riscv64": {
|
||||
"version": "0.24.0",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.24.0.tgz",
|
||||
"integrity": "sha512-bEh7dMn/h3QxeR2KTy1DUszQjUrIHPZKyO6aN1X4BCnhfYhuQqedHaa5MxSQA/06j3GpiIlFGSsy1c7Gf9padw==",
|
||||
"cpu": [
|
||||
"riscv64"
|
||||
],
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/linux-s390x": {
|
||||
"version": "0.24.0",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.24.0.tgz",
|
||||
"integrity": "sha512-ZcQ6+qRkw1UcZGPyrCiHHkmBaj9SiCD8Oqd556HldP+QlpUIe2Wgn3ehQGVoPOvZvtHm8HPx+bH20c9pvbkX3g==",
|
||||
"cpu": [
|
||||
"s390x"
|
||||
],
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/linux-x64": {
|
||||
"version": "0.24.0",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.24.0.tgz",
|
||||
"integrity": "sha512-vbutsFqQ+foy3wSSbmjBXXIJ6PL3scghJoM8zCL142cGaZKAdCZHyf+Bpu/MmX9zT9Q0zFBVKb36Ma5Fzfa8xA==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/netbsd-x64": {
|
||||
"version": "0.24.0",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.24.0.tgz",
|
||||
"integrity": "sha512-hjQ0R/ulkO8fCYFsG0FZoH+pWgTTDreqpqY7UnQntnaKv95uP5iW3+dChxnx7C3trQQU40S+OgWhUVwCjVFLvg==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
"optional": true,
|
||||
"os": [
|
||||
"netbsd"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/openbsd-arm64": {
|
||||
"version": "0.24.0",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.24.0.tgz",
|
||||
"integrity": "sha512-MD9uzzkPQbYehwcN583yx3Tu5M8EIoTD+tUgKF982WYL9Pf5rKy9ltgD0eUgs8pvKnmizxjXZyLt0z6DC3rRXg==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
"optional": true,
|
||||
"os": [
|
||||
"openbsd"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/openbsd-x64": {
|
||||
"version": "0.24.0",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.24.0.tgz",
|
||||
"integrity": "sha512-4ir0aY1NGUhIC1hdoCzr1+5b43mw99uNwVzhIq1OY3QcEwPDO3B7WNXBzaKY5Nsf1+N11i1eOfFcq+D/gOS15Q==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
"optional": true,
|
||||
"os": [
|
||||
"openbsd"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/sunos-x64": {
|
||||
"version": "0.24.0",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.24.0.tgz",
|
||||
"integrity": "sha512-jVzdzsbM5xrotH+W5f1s+JtUy1UWgjU0Cf4wMvffTB8m6wP5/kx0KiaLHlbJO+dMgtxKV8RQ/JvtlFcdZ1zCPA==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
"optional": true,
|
||||
"os": [
|
||||
"sunos"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/win32-arm64": {
|
||||
"version": "0.24.0",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.24.0.tgz",
|
||||
"integrity": "sha512-iKc8GAslzRpBytO2/aN3d2yb2z8XTVfNV0PjGlCxKo5SgWmNXx82I/Q3aG1tFfS+A2igVCY97TJ8tnYwpUWLCA==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
"optional": true,
|
||||
"os": [
|
||||
"win32"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/win32-ia32": {
|
||||
"version": "0.24.0",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.24.0.tgz",
|
||||
"integrity": "sha512-vQW36KZolfIudCcTnaTpmLQ24Ha1RjygBo39/aLkM2kmjkWmZGEJ5Gn9l5/7tzXA42QGIoWbICfg6KLLkIw6yw==",
|
||||
"cpu": [
|
||||
"ia32"
|
||||
],
|
||||
"optional": true,
|
||||
"os": [
|
||||
"win32"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/@esbuild/win32-x64": {
|
||||
"version": "0.24.0",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.24.0.tgz",
|
||||
"integrity": "sha512-7IAFPrjSQIJrGsK6flwg7NFmwBoSTyF3rl7If0hNUFQU4ilTsEPL6GuMuU9BfIWVVGuRnuIidkSMC+c0Otu8IA==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
"optional": true,
|
||||
"os": [
|
||||
"win32"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/esbuild": {
|
||||
"version": "0.24.0",
|
||||
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.24.0.tgz",
|
||||
"integrity": "sha512-FuLPevChGDshgSicjisSooU0cemp/sGXR841D5LHMB7mTVOmsEHcAxaH3irL53+8YDIeVNQEySh4DaYU/iuPqQ==",
|
||||
"hasInstallScript": true,
|
||||
"bin": {
|
||||
"esbuild": "bin/esbuild"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"@esbuild/aix-ppc64": "0.24.0",
|
||||
"@esbuild/android-arm": "0.24.0",
|
||||
"@esbuild/android-arm64": "0.24.0",
|
||||
"@esbuild/android-x64": "0.24.0",
|
||||
"@esbuild/darwin-arm64": "0.24.0",
|
||||
"@esbuild/darwin-x64": "0.24.0",
|
||||
"@esbuild/freebsd-arm64": "0.24.0",
|
||||
"@esbuild/freebsd-x64": "0.24.0",
|
||||
"@esbuild/linux-arm": "0.24.0",
|
||||
"@esbuild/linux-arm64": "0.24.0",
|
||||
"@esbuild/linux-ia32": "0.24.0",
|
||||
"@esbuild/linux-loong64": "0.24.0",
|
||||
"@esbuild/linux-mips64el": "0.24.0",
|
||||
"@esbuild/linux-ppc64": "0.24.0",
|
||||
"@esbuild/linux-riscv64": "0.24.0",
|
||||
"@esbuild/linux-s390x": "0.24.0",
|
||||
"@esbuild/linux-x64": "0.24.0",
|
||||
"@esbuild/netbsd-x64": "0.24.0",
|
||||
"@esbuild/openbsd-arm64": "0.24.0",
|
||||
"@esbuild/openbsd-x64": "0.24.0",
|
||||
"@esbuild/sunos-x64": "0.24.0",
|
||||
"@esbuild/win32-arm64": "0.24.0",
|
||||
"@esbuild/win32-ia32": "0.24.0",
|
||||
"@esbuild/win32-x64": "0.24.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
10
PlanTempus.DeprecatedApplication/package.json
Normal file
10
PlanTempus.DeprecatedApplication/package.json
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
{
|
||||
"version": "1.0.0",
|
||||
"name": "asp.net",
|
||||
"private": true,
|
||||
"devDependencies": {
|
||||
},
|
||||
"dependencies": {
|
||||
"esbuild": "0.24.0"
|
||||
}
|
||||
}
|
||||
171
PlanTempus.DeprecatedApplication/wwwroot/css/site.css
Normal file
171
PlanTempus.DeprecatedApplication/wwwroot/css/site.css
Normal file
|
|
@ -0,0 +1,171 @@
|
|||
:root {
|
||||
--top-height: 70px;
|
||||
--footer-height: 50px;
|
||||
--theme-aside-background-color: #233242;
|
||||
--theme-footer-background-color: #233242;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'rubik-regular';
|
||||
src: url('../fonts/rubik-regular.woff2') format('woff2');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'rubik';
|
||||
src: url('../fonts/rubik-variablefont_wght.woff2') format('woff2');
|
||||
}
|
||||
|
||||
.theme-light {
|
||||
--theme-aside-background-color: beige;
|
||||
--theme-footer-background-color: beige;
|
||||
}
|
||||
|
||||
html {
|
||||
font-size: 14px;
|
||||
font-family: rubik;
|
||||
font-weight: 100;
|
||||
}
|
||||
|
||||
html {
|
||||
display: grid;
|
||||
min-height: 100%;
|
||||
}
|
||||
|
||||
body {
|
||||
display: grid;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
body {
|
||||
overflow-x: hidden;
|
||||
margin: 0;
|
||||
color: #6a7a8c;
|
||||
background: #f2f4f5;
|
||||
position: relative
|
||||
}
|
||||
|
||||
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
|
||||
margin-top: 0;
|
||||
margin-bottom: .5rem;
|
||||
font-weight: 400;
|
||||
line-height: 1.2;
|
||||
color: var(--bs-heading-color, inherit);
|
||||
}
|
||||
|
||||
.h1, h1 {
|
||||
font-size: calc(1.35rem + 1.2vw)
|
||||
}
|
||||
|
||||
@media (min-width: 1200px) {
|
||||
.h1, h1 {
|
||||
font-size: 2.25rem
|
||||
}
|
||||
}
|
||||
|
||||
.h2, h2 {
|
||||
font-size: calc(1.3125rem + .75vw)
|
||||
}
|
||||
|
||||
@media (min-width: 1200px) {
|
||||
.h2, h2 {
|
||||
font-size: 1.875rem
|
||||
}
|
||||
}
|
||||
|
||||
.h3, h3 {
|
||||
font-size: calc(1.275rem + .3vw)
|
||||
}
|
||||
|
||||
@media (min-width: 1200px) {
|
||||
.h3, h3 {
|
||||
font-size: 1.5rem
|
||||
}
|
||||
}
|
||||
|
||||
.h4, h4 {
|
||||
font-size: 1.125rem
|
||||
}
|
||||
|
||||
.h5, h5 {
|
||||
font-size: 1rem
|
||||
}
|
||||
|
||||
.h6, h6 {
|
||||
font-size: .875rem
|
||||
}
|
||||
|
||||
swp-container {
|
||||
display: grid;
|
||||
grid-template-columns: 250px 1.3fr;
|
||||
grid-template-rows: var(--top-height) 1000px var(--footer-height);
|
||||
gap: 0px 0px;
|
||||
grid-auto-flow: row;
|
||||
grid-template-areas:
|
||||
"aside top"
|
||||
"aside main"
|
||||
"aside footer";
|
||||
}
|
||||
|
||||
aside {
|
||||
grid-area: aside;
|
||||
background-color: var(--theme-aside-background-color);
|
||||
position: sticky;
|
||||
top: 0;
|
||||
height: 100vh;
|
||||
display: grid;
|
||||
grid-template-rows: var(--top-height) auto;
|
||||
}
|
||||
|
||||
aside aside-top {
|
||||
background-color: var(--theme-background-color);
|
||||
overflow: hidden;
|
||||
justify-self: center;
|
||||
}
|
||||
|
||||
aside aside-top img {
|
||||
transform: scale(0.7);
|
||||
}
|
||||
aside nav {
|
||||
margin-top: 50px;
|
||||
}
|
||||
aside nav ul {
|
||||
|
||||
display: grid;
|
||||
margin-block-start: 0px;
|
||||
padding-inline-start: 0px;
|
||||
grid-auto-rows: 50px;
|
||||
justify-items: stretch;
|
||||
align-items: stretch;
|
||||
}
|
||||
|
||||
aside nav li {
|
||||
align-content: center;
|
||||
color: #fff;
|
||||
padding-inline: 12px 15px;
|
||||
border-left: 2px solid transparent;
|
||||
}
|
||||
|
||||
aside nav li:hover {
|
||||
background: rgba(0, 0, 0, .1);
|
||||
border-left: 2px solid #137eff;
|
||||
}
|
||||
|
||||
|
||||
main {
|
||||
grid-area: main;
|
||||
background-color: lightgray;
|
||||
}
|
||||
|
||||
top {
|
||||
grid-area: top;
|
||||
background-color: #f2f4f5;
|
||||
position: sticky;
|
||||
top: 0;
|
||||
z-index: 1;
|
||||
box-shadow: 0 2px 4px rgb(200, 200, 200, 0,15);
|
||||
}
|
||||
|
||||
footer {
|
||||
grid-area: footer;
|
||||
background-color: var(--theme-footer-background-color);
|
||||
}
|
||||
BIN
PlanTempus.DeprecatedApplication/wwwroot/favicon.ico
Normal file
BIN
PlanTempus.DeprecatedApplication/wwwroot/favicon.ico
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 5.3 KiB |
Binary file not shown.
Binary file not shown.
BIN
PlanTempus.DeprecatedApplication/wwwroot/images/logo-1.png
Normal file
BIN
PlanTempus.DeprecatedApplication/wwwroot/images/logo-1.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 18 KiB |
BIN
PlanTempus.DeprecatedApplication/wwwroot/images/pt-logo1.png
Normal file
BIN
PlanTempus.DeprecatedApplication/wwwroot/images/pt-logo1.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 22 KiB |
BIN
PlanTempus.DeprecatedApplication/wwwroot/images/pt-logo2.png
Normal file
BIN
PlanTempus.DeprecatedApplication/wwwroot/images/pt-logo2.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 7.7 KiB |
10
PlanTempus.DeprecatedApplication/wwwroot/js/app.js
Normal file
10
PlanTempus.DeprecatedApplication/wwwroot/js/app.js
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
(() => {
|
||||
// App.ts
|
||||
var App = class {
|
||||
constructor() {
|
||||
alert("fobbo");
|
||||
}
|
||||
};
|
||||
new App();
|
||||
})();
|
||||
//# sourceMappingURL=app.js.map
|
||||
7
PlanTempus.DeprecatedApplication/wwwroot/js/app.js.map
Normal file
7
PlanTempus.DeprecatedApplication/wwwroot/js/app.js.map
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"version": 3,
|
||||
"sources": ["../../TypeScript/App.ts"],
|
||||
"sourcesContent": ["\uFEFF\r\nexport default class App {\r\n\r\n constructor() {\r\n alert('fobbo');\r\n }\r\n}\r\nnew App();"],
|
||||
"mappings": ";;AACA,MAAqB,MAArB,MAAyB;AAAA,IAErB,cAAc;AACV,YAAM,OAAO;AAAA,IACjB;AAAA,EACJ;AACA,MAAI,IAAI;",
|
||||
"names": []
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue