Unify offline startup state and strengthen empty-state cards

This commit is contained in:
Meik
2026-03-05 15:06:48 +01:00
parent ad83f69037
commit 36652cb8c4
5 changed files with 45 additions and 15 deletions

View File

@@ -31,6 +31,7 @@
### Ankündigungen/Tickets ### Ankündigungen/Tickets
- Farbmarkierung in Ankündigungen sauber an Rundungen/Containergrenzen angepasst. - Farbmarkierung in Ankündigungen sauber an Rundungen/Containergrenzen angepasst.
- Read-All-Aktionen mit Tooltip versehen und auf dezenten Hover-Hintergrund im Navbar-Stil umgestellt. - Read-All-Aktionen mit Tooltip versehen und auf dezenten Hover-Hintergrund im Navbar-Stil umgestellt.
- Empty-State-Kacheln ("Keine Ankündigungen"/"Keine Tickets") in Höhe und Gewichtung vergrößert.
### Dialog "Konfiguration anzeigen" ### Dialog "Konfiguration anzeigen"
- Optisch an Haupt-GUI angeglichen und vergrößert, um abgeschnittene Inhalte zu vermeiden. - Optisch an Haupt-GUI angeglichen und vergrößert, um abgeschnittene Inhalte zu vermeiden.
@@ -45,6 +46,8 @@
- Alt+F4 minimiert in den Tray statt vollständigem Schließen. - Alt+F4 minimiert in den Tray statt vollständigem Schließen.
- `isDraggable` aus Web-Konfiguration wird korrekt berücksichtigt. - `isDraggable` aus Web-Konfiguration wird korrekt berücksichtigt.
- Mehrdeutigkeitsfehler (`Brushes`) behoben. - Mehrdeutigkeitsfehler (`Brushes`) behoben.
- Vor erfolgreichem Konfig-Ladevorgang wird die Oberfläche analog Offline-Zustand eingeschränkt (nur Info-Navigation und Info-Panel sichtbar).
- Header-Verbindungsindikator für Offline/Verbindungsaufbau im Top-Bereich neu positioniert, damit er nicht von Action-Buttons überdeckt wird.
### Lokalisierung ### Lokalisierung
- DE/EN-Ressourcen sprachlich bereinigt und vereinheitlicht. - DE/EN-Ressourcen sprachlich bereinigt und vereinheitlicht.

View File

@@ -420,18 +420,20 @@
<Image Source="{DynamicResource nav_appbar_network_server_disconnect}" <Image Source="{DynamicResource nav_appbar_network_server_disconnect}"
Tag="ICO" Tag="ICO"
x:Name="ConnProblem" x:Name="ConnProblem"
Panel.ZIndex="505"
Width="20" Width="20"
Height="20" Height="20"
Margin="0,16,54,0" Margin="0,16,88,0"
HorizontalAlignment="Right" HorizontalAlignment="Right"
VerticalAlignment="Top" VerticalAlignment="Top"
Visibility="Visible" /> Visibility="Visible" />
<Image Source="{DynamicResource nav_appbar_network_server_connecting}" <Image Source="{DynamicResource nav_appbar_network_server_connecting}"
Tag="ICO" Tag="ICO"
x:Name="Connecting" x:Name="Connecting"
Panel.ZIndex="505"
Width="20" Width="20"
Height="20" Height="20"
Margin="0,16,54,0" Margin="0,16,88,0"
HorizontalAlignment="Right" HorizontalAlignment="Right"
VerticalAlignment="Top" VerticalAlignment="Top"
Visibility="Visible"> Visibility="Visible">
@@ -531,7 +533,7 @@
<Button Tag="0" <Button Tag="0"
x:Uid="1" x:Uid="1"
x:Name="BtnAnnouncements" x:Name="BtnAnnouncements"
Visibility="Visible" Visibility="Hidden"
Style="{StaticResource FlatButtonStyle2}" Style="{StaticResource FlatButtonStyle2}"
ToolTip="{x:Static resx:Resources.mo_announcement}" ToolTip="{x:Static resx:Resources.mo_announcement}"
BorderThickness="0" BorderThickness="0"
@@ -839,7 +841,7 @@
<Button x:Name="BtnInfo" <Button x:Name="BtnInfo"
x:Uid="5" x:Uid="5"
Margin="0,0,0,0" Margin="0,0,0,0"
Visibility="Hidden" Visibility="Visible"
Style="{StaticResource FlatButtonStyle2}" Style="{StaticResource FlatButtonStyle2}"
ToolTip="{x:Static resx:Resources.mo_information}" ToolTip="{x:Static resx:Resources.mo_information}"
BorderThickness="0" BorderThickness="0"
@@ -937,12 +939,12 @@
<uctrl:Announcements x:Name="AnnouncementCtrl" <uctrl:Announcements x:Name="AnnouncementCtrl"
Canvas.Left="0" Canvas.Left="0"
Canvas.Top="10" Canvas.Top="10"
Visibility="Visible"/> Visibility="Collapsed"/>
<uctrl:ComputerInformation x:Name="ComputerInfoCtrl" <uctrl:ComputerInformation x:Name="ComputerInfoCtrl"
Canvas.Left="0" Canvas.Left="0"
Canvas.Top="10" Canvas.Top="10"
Visibility="Collapsed"/> Visibility="Visible"/>
<uctrl:Incidents x:Name="IncidentCtrl" <uctrl:Incidents x:Name="IncidentCtrl"
Canvas.Left="0" Canvas.Left="0"

View File

@@ -662,12 +662,25 @@ namespace C4IT_CustomerPanel
{ {
var TopMarginCount = 0; var TopMarginCount = 0;
const double railTopOffset = 14.5; const double railTopOffset = 14.5;
foreach (var navButton in new[] { BtnAnnouncements, BtnIncident, BtnSsp, BtnCustomLink, BtnInfo })
{
if (navButton != null)
navButton.Visibility = Visibility.Hidden;
}
if (OnlineState != enumOnlineState.Online && ActiveButton != BtnInfo)
ActivateFirstEntry = true;
foreach (var entry in MainFunctionButtons) foreach (var entry in MainFunctionButtons)
{ {
try try
{ {
var Info = entry.Value; var Info = entry.Value;
var isVisible = ConfigSettings.GetConfig().MainFunctionActivation[entry.Key]; var isVisible = OnlineState == enumOnlineState.Online
? ConfigSettings.GetConfig().MainFunctionActivation[entry.Key]
: entry.Key == enumMainFunctions.Information;
if (isVisible) if (isVisible)
{ {
Info.button.Visibility = Visibility.Visible; Info.button.Visibility = Visibility.Visible;
@@ -680,8 +693,12 @@ namespace C4IT_CustomerPanel
if (Info.button == ActiveButton) if (Info.button == ActiveButton)
ActivateFirstEntry = true; ActivateFirstEntry = true;
} }
entry.Value.MenuStrip.Enabled = true;
entry.Value.MenuStrip.Visible = ConfigSettings.GetConfig().MainFunctionActivation[entry.Key]; if (entry.Value.MenuStrip != null)
{
entry.Value.MenuStrip.Enabled = isVisible;
entry.Value.MenuStrip.Visible = isVisible;
}
} }
catch { } catch { }
} }

View File

@@ -84,14 +84,18 @@
x:FieldModifier="private" x:FieldModifier="private"
Background="Transparent" Background="Transparent"
Width="{Binding ActualWidth, ElementName=Canvas, Mode=OneWay}" Width="{Binding ActualWidth, ElementName=Canvas, Mode=OneWay}"
Height="58"> Height="86">
<Border Margin="2,0,2,0" <Border Margin="2,0,2,0"
Height="86"
BorderThickness="1" BorderThickness="1"
CornerRadius="10" CornerRadius="10"
BorderBrush="{DynamicResource cardBorderColor}" BorderBrush="{DynamicResource cardBorderColor}"
Background="{DynamicResource cardBackgroundColor}"> Background="{DynamicResource cardBackgroundColor}"
Padding="18,0,12,0">
<TextBlock Text="{x:Static resx:Resources.noannouncement}" <TextBlock Text="{x:Static resx:Resources.noannouncement}"
Margin="18,12,10,0" VerticalAlignment="Center"
FontSize="14"
FontWeight="SemiBold"
Foreground="{DynamicResource subtleTextColor}" /> Foreground="{DynamicResource subtleTextColor}" />
</Border> </Border>
</StackPanel> </StackPanel>

View File

@@ -121,16 +121,20 @@
<StackPanel x:Name="NoIncident" <StackPanel x:Name="NoIncident"
Background="Transparent" Background="Transparent"
Width="{Binding ActualWidth, ElementName=Canvas2, Mode=OneWay}" Width="{Binding ActualWidth, ElementName=Canvas2, Mode=OneWay}"
Height="58" Height="86"
Canvas.Top="56" Canvas.Top="56"
Canvas.Left="0"> Canvas.Left="0">
<Border Margin="2,0,2,0" <Border Margin="2,0,2,0"
Height="86"
BorderThickness="1" BorderThickness="1"
CornerRadius="10" CornerRadius="10"
BorderBrush="{DynamicResource cardBorderColor}" BorderBrush="{DynamicResource cardBorderColor}"
Background="{DynamicResource cardBackgroundColor}"> Background="{DynamicResource cardBackgroundColor}"
Padding="18,0,12,0">
<TextBlock Text="{x:Static resx:Resources.noincidents}" <TextBlock Text="{x:Static resx:Resources.noincidents}"
Margin="18,12,10,0" VerticalAlignment="Center"
FontSize="14"
FontWeight="SemiBold"
Foreground="{DynamicResource subtleTextColor}" /> Foreground="{DynamicResource subtleTextColor}" />
</Border> </Border>
</StackPanel> </StackPanel>