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-11 01:41:01 +1000
commitf1a5597380a80395b743b2022c18251babb0e9d5 (patch)
tree16333fd076b37d146e309984289ac2c9016d870e /Pages/Component/ErrorState.razor
parent3263576943a491bcad3aff6c18c166fb1c874619 (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;
+}