Add facilities, contracts, orders, value lists, audit log, and desktop app modules
Extends omsorgCore with full CRUD for Facility/Contract/Order plus configurable value lists and an audit trail, and wires the omsorgapp frontend up to the new facilities, settings, and audit-log modules; includes a sidebar active-nav-item highlight. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
ee74ed65f5
commit
e9e96a57dc
+161
-1
@@ -169,6 +169,17 @@ button {
|
||||
transform: translateY(-1px);
|
||||
}
|
||||
|
||||
.menu-button.active {
|
||||
background:
|
||||
linear-gradient(
|
||||
135deg,
|
||||
rgba(104, 210, 223, 0.22),
|
||||
rgba(104, 210, 223, 0.08)
|
||||
);
|
||||
border: 1px solid var(--omsorg-border-active);
|
||||
box-shadow: 0 6px 20px rgba(0, 0, 0, 0.12);
|
||||
}
|
||||
|
||||
.header {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
@@ -1167,7 +1178,30 @@ button.omsorg-button--danger {
|
||||
.employee-tab-content p {
|
||||
color: var(--omsorg-text-secondary);
|
||||
line-height: 1.6;
|
||||
}/* ==========================================================
|
||||
}
|
||||
|
||||
.facility-contacts-list {
|
||||
display: grid;
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
.facility-contact-row {
|
||||
display: flex;
|
||||
align-items: flex-start;
|
||||
justify-content: space-between;
|
||||
gap: 16px;
|
||||
|
||||
padding: 12px 14px;
|
||||
|
||||
border: 1px solid var(--omsorg-border);
|
||||
border-radius: 12px;
|
||||
}
|
||||
|
||||
.facility-contact-row p {
|
||||
margin: 4px 0 0;
|
||||
color: var(--omsorg-text-secondary);
|
||||
}
|
||||
/* ==========================================================
|
||||
EMPLOYEE TAB CONTENT
|
||||
========================================================== */
|
||||
|
||||
@@ -1605,3 +1639,129 @@ button.omsorg-button--danger {
|
||||
font-family: inherit;
|
||||
resize: vertical;
|
||||
}
|
||||
|
||||
.audit-log-details {
|
||||
font-family: monospace;
|
||||
font-size: 0.8rem;
|
||||
color: var(--omsorg-text-muted);
|
||||
margin: 6px 0 0;
|
||||
word-break: break-word;
|
||||
white-space: pre-wrap;
|
||||
}
|
||||
|
||||
.settings-tabs {
|
||||
display: flex;
|
||||
gap: 8px;
|
||||
margin-bottom: 16px;
|
||||
border-bottom: 1px solid var(--omsorg-border);
|
||||
}
|
||||
|
||||
.settings-tab {
|
||||
background: none;
|
||||
border: none;
|
||||
padding: 10px 4px;
|
||||
margin-bottom: -1px;
|
||||
color: var(--omsorg-text-muted);
|
||||
cursor: pointer;
|
||||
border-bottom: 2px solid transparent;
|
||||
}
|
||||
|
||||
.settings-tab--active {
|
||||
color: var(--omsorg-text-primary);
|
||||
border-bottom-color: var(--omsorg-primary, currentColor);
|
||||
}
|
||||
|
||||
.settings-panel-heading {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
gap: 24px;
|
||||
margin-bottom: 16px;
|
||||
}
|
||||
|
||||
.settings-panel-heading h4 {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.settings-roles-layout {
|
||||
display: flex;
|
||||
gap: 24px;
|
||||
align-items: flex-start;
|
||||
}
|
||||
|
||||
.settings-roles-list {
|
||||
flex: 0 0 220px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 12px;
|
||||
}
|
||||
|
||||
.settings-roles-list ul {
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 6px;
|
||||
}
|
||||
|
||||
.settings-role-item {
|
||||
width: 100%;
|
||||
text-align: left;
|
||||
padding: 8px 12px;
|
||||
border: 1px solid var(--omsorg-border);
|
||||
border-radius: 10px;
|
||||
background: rgba(255, 255, 255, 0.03);
|
||||
color: var(--omsorg-text-primary);
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.settings-role-item--active {
|
||||
border-color: var(--omsorg-primary, currentColor);
|
||||
}
|
||||
|
||||
.settings-new-role-form {
|
||||
display: flex;
|
||||
gap: 8px;
|
||||
}
|
||||
|
||||
.settings-roles-detail {
|
||||
flex: 1;
|
||||
min-width: 0;
|
||||
}
|
||||
|
||||
.settings-permission-matrix-scroll {
|
||||
overflow-x: auto;
|
||||
}
|
||||
|
||||
.settings-permission-matrix table {
|
||||
border-collapse: collapse;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.settings-permission-matrix th,
|
||||
.settings-permission-matrix td {
|
||||
padding: 8px 10px;
|
||||
text-align: center;
|
||||
border-bottom: 1px solid var(--omsorg-border);
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.settings-permission-matrix td:first-child,
|
||||
.settings-permission-matrix th:first-child {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.settings-permission-matrix-actions {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 12px;
|
||||
margin-top: 16px;
|
||||
}
|
||||
|
||||
.settings-new-override-form {
|
||||
display: flex;
|
||||
gap: 8px;
|
||||
margin-top: 16px;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user