UI-Verbesserungen: Rechnungsmenü entfernt, TS zu Trockenstellerprobe, Auffällig statt ⚠, Erregerkacheln bereinigt, Layout-Abstände optimiert
This commit is contained in:
@@ -13,7 +13,6 @@ import SearchPage from "./pages/SearchPage";
|
|||||||
import SearchFarmerPage from "./pages/SearchFarmerPage";
|
import SearchFarmerPage from "./pages/SearchFarmerPage";
|
||||||
import SearchCalendarPage from "./pages/SearchCalendarPage";
|
import SearchCalendarPage from "./pages/SearchCalendarPage";
|
||||||
import UserManagementPage from "./pages/UserManagementPage";
|
import UserManagementPage from "./pages/UserManagementPage";
|
||||||
import InvoiceTemplatePage from "./pages/InvoiceTemplatePage";
|
|
||||||
import ReportTemplatePage from "./pages/ReportTemplatePage";
|
import ReportTemplatePage from "./pages/ReportTemplatePage";
|
||||||
|
|
||||||
function ProtectedRoutes() {
|
function ProtectedRoutes() {
|
||||||
@@ -37,7 +36,6 @@ function ProtectedRoutes() {
|
|||||||
<Route path="/samples/:sampleId/anamnesis" element={<AnamnesisPage />} />
|
<Route path="/samples/:sampleId/anamnesis" element={<AnamnesisPage />} />
|
||||||
<Route path="/samples/:sampleId/antibiogram" element={<AntibiogramPage />} />
|
<Route path="/samples/:sampleId/antibiogram" element={<AntibiogramPage />} />
|
||||||
<Route path="/samples/:sampleId/therapy" element={<TherapyPage />} />
|
<Route path="/samples/:sampleId/therapy" element={<TherapyPage />} />
|
||||||
<Route path="/invoice-template" element={<InvoiceTemplatePage />} />
|
|
||||||
<Route path="/report-template" element={<ReportTemplatePage />} />
|
<Route path="/report-template" element={<ReportTemplatePage />} />
|
||||||
<Route path="/admin" element={<Navigate to={isAdmin ? "/admin/landwirte" : "/admin/benutzer"} replace />} />
|
<Route path="/admin" element={<Navigate to={isAdmin ? "/admin/landwirte" : "/admin/benutzer"} replace />} />
|
||||||
<Route path="/admin/benutzer" element={<UserManagementPage />} />
|
<Route path="/admin/benutzer" element={<UserManagementPage />} />
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ const PAGE_TITLES: Record<string, string> = {
|
|||||||
"/home": "Startseite",
|
"/home": "Startseite",
|
||||||
"/samples/new": "Neuanlage einer Probe",
|
"/samples/new": "Neuanlage einer Probe",
|
||||||
"/portal": "MUH-Portal",
|
"/portal": "MUH-Portal",
|
||||||
"/invoice-template": "Rechnung",
|
|
||||||
"/report-template": "Bericht",
|
"/report-template": "Bericht",
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -84,9 +83,6 @@ export default function AppShell() {
|
|||||||
<div className="nav-subgroup">
|
<div className="nav-subgroup">
|
||||||
<div className="nav-subgroup__label">Vorlagen</div>
|
<div className="nav-subgroup__label">Vorlagen</div>
|
||||||
<div className="nav-subnav nav-subnav--nested">
|
<div className="nav-subnav nav-subnav--nested">
|
||||||
<NavLink to="/invoice-template" className={({ isActive }) => `nav-sublink ${isActive ? "is-active" : ""}`}>
|
|
||||||
Rechnung
|
|
||||||
</NavLink>
|
|
||||||
<NavLink to="/report-template" className={({ isActive }) => `nav-sublink ${isActive ? "is-active" : ""}`}>
|
<NavLink to="/report-template" className={({ isActive }) => `nav-sublink ${isActive ? "is-active" : ""}`}>
|
||||||
Bericht
|
Bericht
|
||||||
</NavLink>
|
</NavLink>
|
||||||
|
|||||||
@@ -287,7 +287,7 @@ export default function AdministrationPage() {
|
|||||||
<option value="SYSTEMIC_ANTIBIOTIC">systemisch Antibiotika</option>
|
<option value="SYSTEMIC_ANTIBIOTIC">systemisch Antibiotika</option>
|
||||||
<option value="SYSTEMIC_PAIN">systemisch Schmerzmittel</option>
|
<option value="SYSTEMIC_PAIN">systemisch Schmerzmittel</option>
|
||||||
<option value="DRY_SEALER">Versiegler</option>
|
<option value="DRY_SEALER">Versiegler</option>
|
||||||
<option value="DRY_ANTIBIOTIC">TS Antibiotika</option>
|
<option value="DRY_ANTIBIOTIC">Trockenstellerprobe Antibiotika</option>
|
||||||
</select>
|
</select>
|
||||||
</td>
|
</td>
|
||||||
) : null}
|
) : null}
|
||||||
|
|||||||
@@ -153,7 +153,7 @@ export default function AnamnesisPage() {
|
|||||||
onClick={() => setActiveQuarter(quarter.quarterKey)}
|
onClick={() => setActiveQuarter(quarter.quarterKey)}
|
||||||
>
|
>
|
||||||
{quarter.label}
|
{quarter.label}
|
||||||
{quarter.flagged ? " ⚠" : ""}
|
{quarter.flagged ? " Auffällig" : ""}
|
||||||
</button>
|
</button>
|
||||||
))}
|
))}
|
||||||
</div>
|
</div>
|
||||||
@@ -186,12 +186,11 @@ export default function AnamnesisPage() {
|
|||||||
disabled={!sample.anamnesisEditable}
|
disabled={!sample.anamnesisEditable}
|
||||||
>
|
>
|
||||||
<strong>{pathogen.name}</strong>
|
<strong>{pathogen.name}</strong>
|
||||||
<small>{pathogen.code ?? pathogen.kind}</small>
|
|
||||||
</button>
|
</button>
|
||||||
))}
|
))}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<label className="field field--required">
|
<label className="field field--required field--spaced">
|
||||||
<span>Erreger manuell eingeben</span>
|
<span>Erreger manuell eingeben</span>
|
||||||
<input
|
<input
|
||||||
className={showValidation && !quarterHasPathogen(visibleQuarter.quarterKey) ? "is-invalid" : ""}
|
className={showValidation && !quarterHasPathogen(visibleQuarter.quarterKey) ? "is-invalid" : ""}
|
||||||
@@ -219,10 +218,10 @@ export default function AnamnesisPage() {
|
|||||||
/>
|
/>
|
||||||
</label>
|
</label>
|
||||||
|
|
||||||
<div className="info-panel">
|
<div className="info-panel info-panel--spaced">
|
||||||
<strong>Hinweis</strong>
|
<strong>Hinweis</strong>
|
||||||
<p>
|
<p>
|
||||||
Kein Wachstum oder verunreinigte Proben werden spaeter automatisch vom
|
Kein Wachstum oder verunreinigte Proben werden später automatisch vom
|
||||||
Antibiogramm ausgeschlossen.
|
Antibiogramm ausgeschlossen.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -100,7 +100,7 @@ export default function LoginPage() {
|
|||||||
<p className="eyebrow">MUH-App</p>
|
<p className="eyebrow">MUH-App</p>
|
||||||
<h1>Moderne Steuerung fuer Milchproben und Therapien.</h1>
|
<h1>Moderne Steuerung fuer Milchproben und Therapien.</h1>
|
||||||
<p className="hero-text">
|
<p className="hero-text">
|
||||||
Fokus auf klare Arbeitsablaeufe, schnelle Probenbearbeitung und ein Portal
|
Fokus auf klare Arbeitsabläufe, schnelle Probenbearbeitung und ein Portal
|
||||||
fuer Verwaltung, Berichtsdruck und Versandstatus.
|
fuer Verwaltung, Berichtsdruck und Versandstatus.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -127,7 +127,7 @@ export default function SampleRegistrationPage() {
|
|||||||
<h3>Probe {sampleNumber ?? "..."}</h3>
|
<h3>Probe {sampleNumber ?? "..."}</h3>
|
||||||
<p className="muted-text">
|
<p className="muted-text">
|
||||||
Die Probenummer wird fortlaufend vergeben. Trockensteller lassen sich ueber den
|
Die Probenummer wird fortlaufend vergeben. Trockensteller lassen sich ueber den
|
||||||
Schalter TS markieren.
|
Schalter Trockenstellerprobe markieren.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -198,7 +198,7 @@ export default function SampleRegistrationPage() {
|
|||||||
onClick={() => setSampleKind("DRY_OFF")}
|
onClick={() => setSampleKind("DRY_OFF")}
|
||||||
disabled={!editable}
|
disabled={!editable}
|
||||||
>
|
>
|
||||||
TS
|
Trockenstellerprobe
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -251,7 +251,7 @@ export default function SampleRegistrationPage() {
|
|||||||
disabled={!editable}
|
disabled={!editable}
|
||||||
>
|
>
|
||||||
<span>{quarter.label}</span>
|
<span>{quarter.label}</span>
|
||||||
<strong>{flaggedQuarters.includes(quarter.key) ? "⚠" : "OK"}</strong>
|
<strong>{flaggedQuarters.includes(quarter.key) ? "Auffällig" : "OK"}</strong>
|
||||||
</button>
|
</button>
|
||||||
))}
|
))}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -312,6 +312,7 @@ a {
|
|||||||
.portal-grid {
|
.portal-grid {
|
||||||
display: grid;
|
display: grid;
|
||||||
gap: 20px;
|
gap: 20px;
|
||||||
|
align-items: stretch;
|
||||||
}
|
}
|
||||||
|
|
||||||
.metrics-grid {
|
.metrics-grid {
|
||||||
@@ -383,6 +384,10 @@ a {
|
|||||||
grid-column: 1 / -1;
|
grid-column: 1 / -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.field--spaced {
|
||||||
|
margin-top: 28px;
|
||||||
|
}
|
||||||
|
|
||||||
.field span {
|
.field span {
|
||||||
font-size: 0.9rem;
|
font-size: 0.9rem;
|
||||||
color: var(--muted);
|
color: var(--muted);
|
||||||
@@ -664,6 +669,10 @@ a {
|
|||||||
color: var(--muted);
|
color: var(--muted);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.info-panel--spaced {
|
||||||
|
margin-top: 28px;
|
||||||
|
}
|
||||||
|
|
||||||
.alert {
|
.alert {
|
||||||
border: 1px solid transparent;
|
border: 1px solid transparent;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user