summaryrefslogtreecommitdiff
path: root/Pages/Component/ErrorState.razor
diff options
context:
space:
mode:
authorJake Mannens <jake@asger.xyz>2026-06-04 13:59:07 +1000
committerJake Mannens <jake@asger.xyz>2026-06-17 02:42:52 +1000
commit360d73cba274cdf7e075871cf30afb4981475397 (patch)
treea883e241e3cabc0824a7539c72f8dc6c38cfba3c /Pages/Component/ErrorState.razor
parente38037e598ce84f699195cd9f2f09ffe6e637182 (diff)
Added Razor components for loadable remote content
Diffstat (limited to 'Pages/Component/ErrorState.razor')
-rw-r--r--Pages/Component/ErrorState.razor23
1 files changed, 23 insertions, 0 deletions
diff --git a/Pages/Component/ErrorState.razor b/Pages/Component/ErrorState.razor
new file mode 100644
index 0000000..92baac6
--- /dev/null
+++ b/Pages/Component/ErrorState.razor
@@ -0,0 +1,23 @@
+@implements IDisposable
+@typeparam T
+
+@if(Parent.ComponentState == ComponentState.Error) {
+ @ChildContent
+}
+
+@code {
+ [Parameter]
+ public RenderFragment? ChildContent { get; set; }
+
+ [CascadingParameter]
+ public LoadableContent<T> Parent { get; set; }
+
+ protected override void OnInitialized() =>
+ Parent.OnStateChanged += OnStateChanged;
+
+ public void OnStateChanged(object? sender, EventArgs e) =>
+ InvokeAsync(StateHasChanged);
+
+ public void Dispose() =>
+ Parent.OnStateChanged -= OnStateChanged;
+}