Tech stack stub page and changing project to be just one Web Assembly project for now

This commit is contained in:
2026-05-27 11:25:04 -04:00
parent 8a20cfec4f
commit dd74f9b69f
140 changed files with 64156 additions and 97 deletions
@@ -0,0 +1,26 @@
@using WebAssembly.Components.Dialog
@implements IDisposable;
@inject IMyDialogService MyDialogService
<ConfirmationDialogComponent></ConfirmationDialogComponent>
@code {
protected override void OnInitialized()
{
base.OnInitialized();
MyDialogService.Subscribe(OnUpdate);
}
void IDisposable.Dispose()
{
MyDialogService.Unsubscribe(OnUpdate);
}
void OnUpdate()
{
StateHasChanged();
}
}
+26
View File
@@ -0,0 +1,26 @@
@using WebAssembly.Components.Dialog
@implements IDisposable;
@inject IMyDialogService MyDialogService
<TechStackDialogComponent></TechStackDialogComponent>
@code {
protected override void OnInitialized()
{
base.OnInitialized();
MyDialogService.Subscribe(OnUpdate);
}
void IDisposable.Dispose()
{
MyDialogService.Unsubscribe(OnUpdate);
}
void OnUpdate()
{
StateHasChanged();
}
}
+63
View File
@@ -0,0 +1,63 @@
@using System.Timers
@using WebAssembly.Components.Feedback
@using WebAssembly.Data
@implements IDisposable;
@inject IToastService ToastService
@if (ToastService.HasToasts())
{
<div class="toastsContainer">
@foreach (var toast in Toasts)
{
<ToastComponent Toast="toast"/>
}
</div>
}
<style>
.toastsContainer {
position: fixed;
top: 64px;
right: 64px;
display: flex;
flex-direction: column;
gap: 5px;
}
</style>
@code {
private List<ToastModel> Toasts => ToastService.GetToasts();
private Timer _ageTimer = null!;
protected override void OnInitialized()
{
base.OnInitialized();
ToastService.Subscribe(OnUpdate);
_ageTimer = new Timer(10);
_ageTimer.Elapsed += OnAge!;
_ageTimer.Enabled = true;
}
void IDisposable.Dispose()
{
ToastService.Unsubscribe(OnUpdate);
}
void OnAge(object? sender, ElapsedEventArgs elapsedEventArgs)
{
ToastService.AgeToasts();
_ageTimer.Enabled = true;
}
void OnUpdate()
{
StateHasChanged();
}
}