diff --git a/Source/Lib/Luthetus.Ide.ClassLib/Store/PanelCase/PanelsCollection.Actions.cs b/Source/Lib/Luthetus.Ide.ClassLib/Store/PanelCase/PanelsCollection.Actions.cs index fb10838fd..eac7d4888 100644 --- a/Source/Lib/Luthetus.Ide.ClassLib/Store/PanelCase/PanelsCollection.Actions.cs +++ b/Source/Lib/Luthetus.Ide.ClassLib/Store/PanelCase/PanelsCollection.Actions.cs @@ -7,7 +7,7 @@ public partial record PanelsCollection public record RegisterPanelRecordAction(PanelRecord PanelRecord); public record DisposePanelRecordAction(PanelRecordKey PanelRecordKey); - public record RegisterPanelTabAction(PanelRecordKey PanelRecordKey, PanelTab PanelTab); + public record RegisterPanelTabAction(PanelRecordKey PanelRecordKey, PanelTab PanelTab, bool InsertAtIndexZero); public record DisposePanelTabAction(PanelRecordKey PanelRecordKey, PanelTabKey PanelTabKey); public record SetActivePanelTabAction(PanelRecordKey PanelRecordKey, PanelTabKey PanelTabKey); diff --git a/Source/Lib/Luthetus.Ide.ClassLib/Store/PanelCase/PanelsCollection.Reducer.cs b/Source/Lib/Luthetus.Ide.ClassLib/Store/PanelCase/PanelsCollection.Reducer.cs index a93d4cbea..d8b26430b 100644 --- a/Source/Lib/Luthetus.Ide.ClassLib/Store/PanelCase/PanelsCollection.Reducer.cs +++ b/Source/Lib/Luthetus.Ide.ClassLib/Store/PanelCase/PanelsCollection.Reducer.cs @@ -57,8 +57,19 @@ public static PanelsCollection ReduceRegisterPanelTabAction( if (targetedPanelRecord is null) return previousPanelsCollection; - var nextPanelTabs = targetedPanelRecord.PanelTabs.Add( - registerPanelTabAction.PanelTab); + var nextPanelTabs = targetedPanelRecord.PanelTabs; + + if (registerPanelTabAction.InsertAtIndexZero) + { + nextPanelTabs = targetedPanelRecord.PanelTabs.Insert( + 0, + registerPanelTabAction.PanelTab); + } + else + { + nextPanelTabs = targetedPanelRecord.PanelTabs.Add( + registerPanelTabAction.PanelTab); + } var nextPanelRecord = targetedPanelRecord with { diff --git a/Source/Lib/Luthetus.Ide.RazorLib/BackgroundServiceCase/BackgroundServicesDisplay.razor b/Source/Lib/Luthetus.Ide.RazorLib/BackgroundServiceCase/BackgroundServicesDisplay.razor new file mode 100644 index 000000000..c3d686481 --- /dev/null +++ b/Source/Lib/Luthetus.Ide.RazorLib/BackgroundServiceCase/BackgroundServicesDisplay.razor @@ -0,0 +1,13 @@ +
+
+ Background Tasks +
+ +
+ + + + + +
+
\ No newline at end of file diff --git a/Source/Lib/Luthetus.Ide.RazorLib/BackgroundServiceCase/BackgroundServicesPanelDisplay.razor.cs b/Source/Lib/Luthetus.Ide.RazorLib/BackgroundServiceCase/BackgroundServicesDisplay.razor.cs similarity index 94% rename from Source/Lib/Luthetus.Ide.RazorLib/BackgroundServiceCase/BackgroundServicesPanelDisplay.razor.cs rename to Source/Lib/Luthetus.Ide.RazorLib/BackgroundServiceCase/BackgroundServicesDisplay.razor.cs index cf87fc36d..3db8b8736 100644 --- a/Source/Lib/Luthetus.Ide.RazorLib/BackgroundServiceCase/BackgroundServicesPanelDisplay.razor.cs +++ b/Source/Lib/Luthetus.Ide.RazorLib/BackgroundServiceCase/BackgroundServicesDisplay.razor.cs @@ -7,7 +7,7 @@ namespace Luthetus.Ide.RazorLib.BackgroundServiceCase; -public partial class BackgroundServicesPanelDisplay : ComponentBase +public partial class BackgroundServicesDisplay : ComponentBase { [Inject] private ILuthetusCommonBackgroundTaskService LuthetusCommonBackgroundTaskService { get; set; } = null!; diff --git a/Source/Lib/Luthetus.Ide.RazorLib/BackgroundServiceCase/BackgroundServicesDisplay.razor.css b/Source/Lib/Luthetus.Ide.RazorLib/BackgroundServiceCase/BackgroundServicesDisplay.razor.css new file mode 100644 index 000000000..053a8cada --- /dev/null +++ b/Source/Lib/Luthetus.Ide.RazorLib/BackgroundServiceCase/BackgroundServicesDisplay.razor.css @@ -0,0 +1,3 @@ +.luth_ide_background-services { + height: 100%; +} diff --git a/Source/Lib/Luthetus.Ide.RazorLib/BackgroundServiceCase/BackgroundServicesPanelDisplay.razor b/Source/Lib/Luthetus.Ide.RazorLib/BackgroundServiceCase/BackgroundServicesPanelDisplay.razor deleted file mode 100644 index 912b8e0bb..000000000 --- a/Source/Lib/Luthetus.Ide.RazorLib/BackgroundServiceCase/BackgroundServicesPanelDisplay.razor +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/Source/Lib/Luthetus.Ide.RazorLib/LuthetusIdeInitializer.razor.cs b/Source/Lib/Luthetus.Ide.RazorLib/LuthetusIdeInitializer.razor.cs index 04799460a..10f9b08e9 100644 --- a/Source/Lib/Luthetus.Ide.RazorLib/LuthetusIdeInitializer.razor.cs +++ b/Source/Lib/Luthetus.Ide.RazorLib/LuthetusIdeInitializer.razor.cs @@ -112,7 +112,8 @@ private void InitializeLeftPanelTabs() Dispatcher.Dispatch(new PanelsCollection.RegisterPanelTabAction( leftPanel.PanelRecordKey, - solutionExplorerPanelTab)); + solutionExplorerPanelTab, + false)); var folderExplorerPanelTab = new PanelTab( PanelTabKey.NewPanelTabKey(), @@ -124,7 +125,8 @@ private void InitializeLeftPanelTabs() Dispatcher.Dispatch(new PanelsCollection.RegisterPanelTabAction( leftPanel.PanelRecordKey, - folderExplorerPanelTab)); + folderExplorerPanelTab, + false)); Dispatcher.Dispatch(new PanelsCollection.SetActivePanelTabAction( leftPanel.PanelRecordKey, @@ -139,25 +141,27 @@ private void InitializeRightPanelTabs() PanelTabKey.NewPanelTabKey(), rightPanel.ElementDimensions, new(), - typeof(NotificationHistoryDisplay), + typeof(NotificationsDisplay), typeof(IconFolder), "Notifications"); Dispatcher.Dispatch(new PanelsCollection.RegisterPanelTabAction( rightPanel.PanelRecordKey, - notificationsPanelTab)); + notificationsPanelTab, + false)); var backgroundServicesPanelTab = new PanelTab( PanelTabKey.NewPanelTabKey(), rightPanel.ElementDimensions, new(), - typeof(BackgroundServicesPanelDisplay), + typeof(BackgroundServicesDisplay), typeof(IconFolder), "Background Tasks"); Dispatcher.Dispatch(new PanelsCollection.RegisterPanelTabAction( rightPanel.PanelRecordKey, - backgroundServicesPanelTab)); + backgroundServicesPanelTab, + false)); } private void InitializeBottomPanelTabs() @@ -174,7 +178,8 @@ private void InitializeBottomPanelTabs() Dispatcher.Dispatch(new PanelsCollection.RegisterPanelTabAction( bottomPanel.PanelRecordKey, - terminalPanelTab)); + terminalPanelTab, + false)); var nuGetPanelTab = new PanelTab( PanelTabKey.NewPanelTabKey(), @@ -186,7 +191,8 @@ private void InitializeBottomPanelTabs() Dispatcher.Dispatch(new PanelsCollection.RegisterPanelTabAction( bottomPanel.PanelRecordKey, - nuGetPanelTab)); + nuGetPanelTab, + false)); Dispatcher.Dispatch(new PanelsCollection.SetActivePanelTabAction( bottomPanel.PanelRecordKey, diff --git a/Source/Lib/Luthetus.Ide.RazorLib/Notification/NotificationHistoryDisplay.razor b/Source/Lib/Luthetus.Ide.RazorLib/Notification/NotificationHistoryDisplay.razor deleted file mode 100644 index ecd0103ef..000000000 --- a/Source/Lib/Luthetus.Ide.RazorLib/Notification/NotificationHistoryDisplay.razor +++ /dev/null @@ -1,5 +0,0 @@ -

NotificationHistoryDisplay

- -@code { - -} \ No newline at end of file diff --git a/Source/Lib/Luthetus.Ide.RazorLib/Notification/NotificationsDisplay.razor b/Source/Lib/Luthetus.Ide.RazorLib/Notification/NotificationsDisplay.razor new file mode 100644 index 000000000..b1d746a26 --- /dev/null +++ b/Source/Lib/Luthetus.Ide.RazorLib/Notification/NotificationsDisplay.razor @@ -0,0 +1,9 @@ +
+
+ Notifications +
+ +
+ #TODO: Body +
+
\ No newline at end of file diff --git a/Source/Lib/Luthetus.Ide.RazorLib/Notification/NotificationHistoryDisplay.razor.cs b/Source/Lib/Luthetus.Ide.RazorLib/Notification/NotificationsDisplay.razor.cs similarity index 59% rename from Source/Lib/Luthetus.Ide.RazorLib/Notification/NotificationHistoryDisplay.razor.cs rename to Source/Lib/Luthetus.Ide.RazorLib/Notification/NotificationsDisplay.razor.cs index 27f7c61d7..9b6b5d02b 100644 --- a/Source/Lib/Luthetus.Ide.RazorLib/Notification/NotificationHistoryDisplay.razor.cs +++ b/Source/Lib/Luthetus.Ide.RazorLib/Notification/NotificationsDisplay.razor.cs @@ -2,7 +2,7 @@ namespace Luthetus.Ide.RazorLib.Notification; -public partial class NotificationHistoryDisplay : ComponentBase +public partial class NotificationsDisplay : ComponentBase { } \ No newline at end of file diff --git a/Source/Lib/Luthetus.Ide.RazorLib/Notification/NotificationsDisplay.razor.css b/Source/Lib/Luthetus.Ide.RazorLib/Notification/NotificationsDisplay.razor.css new file mode 100644 index 000000000..116fe70a3 --- /dev/null +++ b/Source/Lib/Luthetus.Ide.RazorLib/Notification/NotificationsDisplay.razor.css @@ -0,0 +1,3 @@ +.luth_ide_folder-notifications { + height: 100%; +} \ No newline at end of file diff --git a/Source/Lib/Luthetus.Ide.RazorLib/Panel/PanelDisplay.razor.cs b/Source/Lib/Luthetus.Ide.RazorLib/Panel/PanelDisplay.razor.cs index b85f2e776..b40064f59 100644 --- a/Source/Lib/Luthetus.Ide.RazorLib/Panel/PanelDisplay.razor.cs +++ b/Source/Lib/Luthetus.Ide.RazorLib/Panel/PanelDisplay.razor.cs @@ -142,7 +142,8 @@ private Task TopDropzoneOnMouseUp(MouseEventArgs mouseEventArgs) Dispatcher.Dispatch(new PanelsCollection.RegisterPanelTabAction( panelRecord.PanelRecordKey, - panelDragEventArgs.Value.TagDragTarget)); + panelDragEventArgs.Value.TagDragTarget, + true)); } return Task.CompletedTask; @@ -168,7 +169,8 @@ private Task BottomDropzoneOnMouseUp(MouseEventArgs mouseEventArgs) Dispatcher.Dispatch(new PanelsCollection.RegisterPanelTabAction( panelRecord.PanelRecordKey, - panelDragEventArgs.Value.TagDragTarget)); + panelDragEventArgs.Value.TagDragTarget, + false)); } return Task.CompletedTask; diff --git a/Source/Lib/Luthetus.Ide.RazorLib/Panel/PanelTabDisplay.razor b/Source/Lib/Luthetus.Ide.RazorLib/Panel/PanelTabDisplay.razor index 0e59628a7..d7eaa015e 100644 --- a/Source/Lib/Luthetus.Ide.RazorLib/Panel/PanelTabDisplay.razor +++ b/Source/Lib/Luthetus.Ide.RazorLib/Panel/PanelTabDisplay.razor @@ -9,6 +9,15 @@ @PanelTab.DisplayName + @* + + @if (PanelsCollectionWrap.Value.PanelDragEventArgs is not null) {
- } + } *@ @if (PanelTab.IsBeingDragged) diff --git a/Source/Lib/Luthetus.Ide.RazorLib/Panel/PanelTabDisplay.razor.cs b/Source/Lib/Luthetus.Ide.RazorLib/Panel/PanelTabDisplay.razor.cs index b429d0f52..fb4cf47d6 100644 --- a/Source/Lib/Luthetus.Ide.RazorLib/Panel/PanelTabDisplay.razor.cs +++ b/Source/Lib/Luthetus.Ide.RazorLib/Panel/PanelTabDisplay.razor.cs @@ -127,7 +127,8 @@ private Task TopDropzoneOnMouseUp(MouseEventArgs mouseEventArgs) Dispatcher.Dispatch(new PanelsCollection.RegisterPanelTabAction( PanelRecord.PanelRecordKey, - panelDragEventArgs.Value.TagDragTarget)); + panelDragEventArgs.Value.TagDragTarget, + false)); } return Task.CompletedTask; @@ -145,7 +146,8 @@ private Task BottomDropzoneOnMouseUp(MouseEventArgs mouseEventArgs) Dispatcher.Dispatch(new PanelsCollection.RegisterPanelTabAction( PanelRecord.PanelRecordKey, - panelDragEventArgs.Value.TagDragTarget)); + panelDragEventArgs.Value.TagDragTarget, + false)); } return Task.CompletedTask; diff --git a/Source/Lib/Luthetus.Ide.RazorLib/wwwroot/luthetusIde.css b/Source/Lib/Luthetus.Ide.RazorLib/wwwroot/luthetusIde.css index 1429423bf..3d004020f 100644 --- a/Source/Lib/Luthetus.Ide.RazorLib/wwwroot/luthetusIde.css +++ b/Source/Lib/Luthetus.Ide.RazorLib/wwwroot/luthetusIde.css @@ -31,7 +31,7 @@ input[type="checkbox"]{ } .luth_ide_footer { - background-color: var(--luth_ide_footer-background-color); + background-color: var(--luth_ide_body-background-color); } .luth_ide_section-title { @@ -310,6 +310,7 @@ button.luth_ide_input-file-address-hierarchy-entry { .luth_ide_panel-tabs { position: relative; + background-color: var(--luth_ide_footer-background-color); } .luth_ide_panel-tab { @@ -326,20 +327,21 @@ button.luth_ide_input-file-address-hierarchy-entry { position: absolute; left: 0; z-index: 100; + background-color: var(--luth_primary-hover-background-color); + opacity: 0.6; } -.luth_ide_panel-tab-dropzone:hover { - background-color: orange; -} + .luth_ide_panel-tab-dropzone:hover { + background-color: var(--luth_button-hover-background-color); + box-shadow: 0 0 2px var(--luth_primary-overlay-box-shadow-color); + } .luth_ide_panel-tab-dropzone-top { top: 0; - background-color: aqua; } .luth_ide_panel-tab-dropzone-bottom { top: 50%; - background-color: mediumpurple; } .luth_ide_panel-tab-drag-display {