diff --git a/Daybreak.Core/Views/Components/FocusView/BrowserComponent.razor b/Daybreak.Core/Views/Components/FocusView/BrowserComponent.razor
new file mode 100644
index 00000000..2d93078d
--- /dev/null
+++ b/Daybreak.Core/Views/Components/FocusView/BrowserComponent.razor
@@ -0,0 +1,37 @@
+
-
@foreach (var tile in this.ViewModel.VisibleTiles)
{
-
this.isAddDropdownOpen = !this.isAddDropdownOpen;
+ private void SetMaximized(FocusViewComponent? component)
+ {
+ this.maximizedComponent = component;
+ this.StateHasChanged();
+ }
+
private async Task ToggleComponentAsync(FocusViewComponent component)
{
await this.SyncFromGridAsync();
+ if (this.maximizedComponent == component)
+ {
+ this.maximizedComponent = null;
+ }
+
this.ViewModel.ToggleTileVisibility(component);
}
@@ -181,9 +194,9 @@
OnBuildClicked="@this.ViewModel.OnBuildClicked"
OnLoadPlayerSingleBuildClicked="@this.ViewModel.OnPlayerSingleBuildClicked"
OnLoadPlayerTeamBuildClicked="@this.ViewModel.OnPlayerTeamBuildClicked" />,
- FocusViewComponent.Browser => @,
+ FocusViewComponent.Browser => @,
_ => @
};
diff --git a/Daybreak.Core/Views/FocusView.razor.css b/Daybreak.Core/Views/FocusView.razor.css
index 7bbc4e69..fb91073d 100644
--- a/Daybreak.Core/Views/FocusView.razor.css
+++ b/Daybreak.Core/Views/FocusView.razor.css
@@ -130,6 +130,22 @@
z-index: 1001;
}
+/* A maximized tile (e.g. Browser) expands to cover the whole grid area, hiding its siblings.
+ GridStack positions tiles with inline transform/width/height, so !important is required to
+ override it here. */
+.grid-stack-item.maximized {
+ position: absolute !important;
+ inset: 0 !important;
+ transform: none !important;
+ width: 100% !important;
+ height: 100% !important;
+ z-index: 1500;
+}
+
+.grid-stack.has-maximized > .grid-stack-item:not(.maximized) {
+ display: none;
+}
+
/* Per-tile remove button (top-right) to hide a component while editing. */
.tile-remove-button {
position: absolute;