@T("HR-/Finance-Cockpit Sessions", "HR/Finance cockpit sessions")
@@ -77,6 +91,11 @@ else
_sessions = [];
}
+ private void SetWalkingFigure(bool value)
+ {
+ LandingSettings.SetShowWalkingLabFigure(value);
+ }
+
private static string FormatDate(DateTimeOffset value)
=> value.ToString("dd.MM.yyyy HH:mm:ss");
diff --git a/TrafagSalesExporter/Components/Pages/Dashboard.razor b/TrafagSalesExporter/Components/Pages/Dashboard.razor
index e7fd4c7..9687920 100644
--- a/TrafagSalesExporter/Components/Pages/Dashboard.razor
+++ b/TrafagSalesExporter/Components/Pages/Dashboard.razor
@@ -1,6 +1,7 @@
@page "/"
@using TrafagSalesExporter.Services
@inject IUiTextService UiText
+@inject ILandingPageSettingsService LandingSettings
@T("Trafag Cockpit", "Trafag Cockpit")
@@ -30,6 +31,21 @@
@T("Willkommen im Trafag Analyse Dashboard", "Welcome to the Trafag Analytical Dashboard")
+ @if (LandingSettings.ShowWalkingLabFigure)
+ {
+
+ }
@@ -63,6 +79,114 @@
letter-spacing: 0;
}
+ .walking-stage {
+ width: min(360px, 70vw);
+ height: 96px;
+ position: relative;
+ overflow: hidden;
+ background: #fff;
+ border-bottom: 2px solid #050505;
+ }
+
+ .walking-person {
+ position: absolute;
+ left: 0;
+ bottom: 4px;
+ width: 48px;
+ height: 82px;
+ animation: lab-walk-path 7s linear infinite;
+ }
+
+ .walking-person span {
+ position: absolute;
+ display: block;
+ background: #050505;
+ }
+
+ .walking-person .head {
+ left: 15px;
+ top: 0;
+ width: 18px;
+ height: 18px;
+ border: 3px solid #050505;
+ border-radius: 50%;
+ background: #fff;
+ }
+
+ .walking-person .body {
+ left: 22px;
+ top: 22px;
+ width: 4px;
+ height: 34px;
+ }
+
+ .walking-person .coat {
+ top: 25px;
+ width: 17px;
+ height: 36px;
+ border: 3px solid #050505;
+ background: #fff;
+ }
+
+ .walking-person .coat-left {
+ left: 8px;
+ transform: skewY(10deg);
+ border-right: 0;
+ }
+
+ .walking-person .coat-right {
+ left: 23px;
+ transform: skewY(-10deg);
+ border-left: 0;
+ }
+
+ .walking-person .arm,
+ .walking-person .leg {
+ width: 4px;
+ border-radius: 4px;
+ transform-origin: 50% 0;
+ }
+
+ .walking-person .arm {
+ top: 28px;
+ height: 28px;
+ animation: limb-swing 0.72s ease-in-out infinite alternate;
+ }
+
+ .walking-person .arm-left {
+ left: 13px;
+ }
+
+ .walking-person .arm-right {
+ left: 31px;
+ animation-direction: alternate-reverse;
+ }
+
+ .walking-person .leg {
+ top: 56px;
+ height: 28px;
+ animation: limb-swing 0.72s ease-in-out infinite alternate-reverse;
+ }
+
+ .walking-person .leg-left {
+ left: 20px;
+ }
+
+ .walking-person .leg-right {
+ left: 27px;
+ animation-direction: alternate;
+ }
+
+ @@keyframes lab-walk-path {
+ 0% { transform: translateX(-54px); }
+ 100% { transform: translateX(calc(min(360px, 70vw) + 54px)); }
+ }
+
+ @@keyframes limb-swing {
+ 0% { transform: rotate(-24deg); }
+ 100% { transform: rotate(24deg); }
+ }
+
.gauge-outer,
.gauge-inner,
.gauge-tick,
diff --git a/TrafagSalesExporter/Components/Routes.razor b/TrafagSalesExporter/Components/Routes.razor
index 4bec2d4..792e12e 100644
--- a/TrafagSalesExporter/Components/Routes.razor
+++ b/TrafagSalesExporter/Components/Routes.razor
@@ -50,7 +50,6 @@
"transformations" or
"finance-rules" or
"settings" or
- "admin/sessions" or
"logs" or
"source-viewer";
}
diff --git a/TrafagSalesExporter/Program.cs b/TrafagSalesExporter/Program.cs
index 87e4bc0..c1595c5 100644
--- a/TrafagSalesExporter/Program.cs
+++ b/TrafagSalesExporter/Program.cs
@@ -49,6 +49,7 @@ builder.Services.Configure