summaryrefslogtreecommitdiff
path: root/Server.Client/Pages/Component/TabPane.razor
diff options
context:
space:
mode:
authorJake Mannens <jake@asger.xyz>2026-05-22 00:52:16 +1000
committerJake Mannens <jake@asger.xyz>2026-05-23 22:22:55 +1000
commit12eaa5814ef20b0910e8d64a753378b6f6797989 (patch)
tree062cf477c29054e0f089cb80f0cd79a9f3b7ccd9 /Server.Client/Pages/Component/TabPane.razor
parent6de5d7f5364fe1d54703da6d6b7cb08ea26e939f (diff)
Initial commitwasm-initial
Diffstat (limited to 'Server.Client/Pages/Component/TabPane.razor')
-rw-r--r--Server.Client/Pages/Component/TabPane.razor29
1 files changed, 29 insertions, 0 deletions
diff --git a/Server.Client/Pages/Component/TabPane.razor b/Server.Client/Pages/Component/TabPane.razor
new file mode 100644
index 0000000..ba4a13a
--- /dev/null
+++ b/Server.Client/Pages/Component/TabPane.razor
@@ -0,0 +1,29 @@
+@implements IDisposable
+
+<link rel="stylesheet" href="@(nameof(HyperBooru)).styles.css"/>
+
+@if(Parent.ActivePane == this) {
+ @ChildContent
+}
+
+@code {
+ [CascadingParameter]
+ private TabContainer Parent { get; set; }
+
+ [Parameter]
+ public string Title { get; set; }
+
+ [Parameter]
+ public RenderFragment ChildContent { get; set; }
+
+ protected override void OnInitialized() {
+ if (Parent is null)
+ throw new ArgumentNullException(nameof(Parent), "TabPane must exist within a TabContainer");
+
+ Parent.AddPane(this);
+ }
+
+ public void Dispose() {
+ Parent.RemovePane(this);
+ }
+} \ No newline at end of file