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 {