fix: popravi vidljivost checkboxa u dark modu
Dodaj prilagođeni stil checkboxa kako bi odabrano i neodabrano stanje bilo jasno vidljivo u dark temi, te primijeni novu klasu na checkboxe u modalima slanja emaila. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
@@ -701,6 +701,7 @@ export default function WorkOrderDetailModal({ open, workOrder, onClose, onSubmi
|
||||
<label className="mt-3 flex items-center gap-2 text-sm text-text-main">
|
||||
<input
|
||||
type="checkbox"
|
||||
className="erp-checkbox"
|
||||
checked={form.has_travel_order}
|
||||
onChange={(event) => {
|
||||
const checked = event.currentTarget.checked;
|
||||
@@ -911,6 +912,7 @@ export default function WorkOrderDetailModal({ open, workOrder, onClose, onSubmi
|
||||
<label className="flex items-center gap-2 text-xs text-text-muted">
|
||||
<input
|
||||
type="checkbox"
|
||||
className="erp-checkbox"
|
||||
checked={sendToAllTeamMembers}
|
||||
onChange={(event) => setSendToAllTeamMembers(event.currentTarget.checked)}
|
||||
/>
|
||||
@@ -957,6 +959,7 @@ export default function WorkOrderDetailModal({ open, workOrder, onClose, onSubmi
|
||||
<label className="flex items-center gap-2">
|
||||
<input
|
||||
type="checkbox"
|
||||
className="erp-checkbox"
|
||||
checked={emailPayload.includeWorkOrderPdf}
|
||||
onChange={(event) => setEmailPayload({ ...emailPayload, includeWorkOrderPdf: event.currentTarget.checked })}
|
||||
/>
|
||||
@@ -965,6 +968,7 @@ export default function WorkOrderDetailModal({ open, workOrder, onClose, onSubmi
|
||||
<label className="flex items-center gap-2">
|
||||
<input
|
||||
type="checkbox"
|
||||
className="erp-checkbox"
|
||||
checked={emailPayload.includeServiceRecordsPdf}
|
||||
onChange={(event) => setEmailPayload({ ...emailPayload, includeServiceRecordsPdf: event.currentTarget.checked })}
|
||||
/>
|
||||
@@ -973,6 +977,7 @@ export default function WorkOrderDetailModal({ open, workOrder, onClose, onSubmi
|
||||
<label className="flex items-center gap-2">
|
||||
<input
|
||||
type="checkbox"
|
||||
className="erp-checkbox"
|
||||
checked={emailPayload.includeInvoicesPdf}
|
||||
onChange={(event) => setEmailPayload({ ...emailPayload, includeInvoicesPdf: event.currentTarget.checked })}
|
||||
/>
|
||||
@@ -981,6 +986,7 @@ export default function WorkOrderDetailModal({ open, workOrder, onClose, onSubmi
|
||||
<label className="flex items-center gap-2">
|
||||
<input
|
||||
type="checkbox"
|
||||
className="erp-checkbox"
|
||||
checked={emailPayload.includeImages}
|
||||
onChange={(event) => setEmailPayload({ ...emailPayload, includeImages: event.currentTarget.checked })}
|
||||
/>
|
||||
@@ -989,6 +995,7 @@ export default function WorkOrderDetailModal({ open, workOrder, onClose, onSubmi
|
||||
<label className="flex items-center gap-2 sm:col-span-2">
|
||||
<input
|
||||
type="checkbox"
|
||||
className="erp-checkbox"
|
||||
checked={emailPayload.includeMonthlyTasks}
|
||||
onChange={(event) => setEmailPayload({ ...emailPayload, includeMonthlyTasks: event.currentTarget.checked })}
|
||||
/>
|
||||
|
||||
@@ -472,6 +472,7 @@ export default function ServiceRecordDetailModal({
|
||||
<label className="flex items-center gap-2 text-xs text-text-muted">
|
||||
<input
|
||||
type="checkbox"
|
||||
className="erp-checkbox"
|
||||
checked={sendToAllTeamMembers}
|
||||
onChange={(event) => setSendToAllTeamMembers(event.currentTarget.checked)}
|
||||
/>
|
||||
|
||||
@@ -71,4 +71,46 @@ body.modal-open #main-content {
|
||||
@keyframes fade-in-page {
|
||||
from { opacity: 0; }
|
||||
to { opacity: 1; }
|
||||
}
|
||||
|
||||
/* Checkbox readability across light/dark themes */
|
||||
input[type="checkbox"].erp-checkbox {
|
||||
appearance: none;
|
||||
width: 1rem;
|
||||
height: 1rem;
|
||||
border: 1px solid var(--app-border-hairline);
|
||||
border-radius: 0.25rem;
|
||||
background: var(--app-canvas-base);
|
||||
display: inline-grid;
|
||||
place-content: center;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
input[type="checkbox"].erp-checkbox::before {
|
||||
content: "";
|
||||
width: 0.55rem;
|
||||
height: 0.55rem;
|
||||
transform: scale(0);
|
||||
transition: transform 120ms ease-in-out;
|
||||
clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0, 43% 62%);
|
||||
box-shadow: inset 1em 1em #ffffff;
|
||||
}
|
||||
|
||||
input[type="checkbox"].erp-checkbox:checked {
|
||||
background: var(--app-brand-primary);
|
||||
border-color: var(--app-brand-primary);
|
||||
}
|
||||
|
||||
input[type="checkbox"].erp-checkbox:checked::before {
|
||||
transform: scale(1);
|
||||
}
|
||||
|
||||
input[type="checkbox"].erp-checkbox:disabled {
|
||||
opacity: 0.65;
|
||||
cursor: not-allowed;
|
||||
}
|
||||
|
||||
input[type="checkbox"].erp-checkbox:focus-visible {
|
||||
outline: 2px solid var(--app-brand-primary);
|
||||
outline-offset: 2px;
|
||||
}
|
||||
Reference in New Issue
Block a user