145 lines
7.9 KiB
Python
145 lines
7.9 KiB
Python
"""Page-scoped palette and compact typography for the approved appointment list."""
|
|
|
|
from string import Template
|
|
|
|
from .reception_style import body_family, heading_family
|
|
|
|
|
|
def appointments_stylesheet() -> str:
|
|
return Template(_QSS).substitute(body=body_family(), heading=heading_family())
|
|
|
|
|
|
_QSS = """
|
|
#AppointmentsPage { background: #F3F7FD; color: #273244; }
|
|
#AppointmentsPage QLabel, #AppointmentsPage QPushButton,
|
|
#AppointmentsPage QLineEdit, #AppointmentsPage QComboBox,
|
|
#AppointmentsPage QTabBar, #AppointmentsPage QTableWidget {
|
|
font-family: "$body"; font-size: 14px; font-weight: 400; color: #273244;
|
|
}
|
|
#AppointmentsPage QWidget#PageHeader QLabel[role="pageTitle"] {
|
|
font-family: "$heading"; font-size: 20px; font-weight: 600; color: #202C3F;
|
|
}
|
|
#AppointmentsPage QWidget#PageHeader QLabel[role="muted"],
|
|
#AppointmentsPage QWidget#PageHeader QLabel[role="breadcrumb"],
|
|
#AppointmentsPage QWidget#PageHeader QLabel[role="breadcrumbSeparator"],
|
|
#AppointmentsPage QWidget#PageHeader QLabel[role="breadcrumbCurrent"] {
|
|
color: #5D6B80; font-size: 13px; font-weight: 400;
|
|
}
|
|
#AppointmentsPage QFrame#AppointmentFilterPanel,
|
|
#AppointmentsPage QFrame#AppointmentMainCard {
|
|
background: #FFFFFF; border: 1px solid #DBE5F2; border-radius: 8px;
|
|
}
|
|
#AppointmentsPage QPushButton {
|
|
min-height: 30px; padding: 0 12px; border: 1px solid #DBE5F2;
|
|
border-radius: 6px; background: #FFFFFF;
|
|
}
|
|
#AppointmentsPage QPushButton:hover { color: #1555B6; background: #F2F7FF; border-color: #B6CDEE; }
|
|
#AppointmentsPage QPushButton:pressed { background: #DCEAFF; }
|
|
#AppointmentsPage QPushButton:focus { border-color: #75A5F0; }
|
|
#AppointmentsPage QPushButton[variant="primary"] {
|
|
background: #1769E8; color: #FFFFFF; border-color: #1769E8;
|
|
}
|
|
#AppointmentsPage QPushButton[variant="primary"]:hover { background: #155BCC; }
|
|
#AppointmentsPage QPushButton[variant="primary"]:pressed { background: #124EA9; }
|
|
#AppointmentsPage QPushButton[variant="danger"] {
|
|
color: #B84652; background: #FFFFFF; border-color: #EFC8CE;
|
|
}
|
|
#AppointmentsPage QPushButton[variant="danger"]:hover { background: #FFF0F2; }
|
|
#AppointmentsPage QPushButton[variant="ghost"] { background: transparent; border-color: transparent; }
|
|
#AppointmentsPage QPushButton:disabled {
|
|
color: #8A97A9; background: #F6F8FC; border-color: #E2E9F2;
|
|
}
|
|
#AppointmentsPage QLineEdit, #AppointmentsPage QComboBox {
|
|
min-height: 32px; padding: 0 10px; color: #273244; background: #FFFFFF;
|
|
border: 1px solid #DBE5F2; border-radius: 6px; selection-background-color: #DCEAFF;
|
|
}
|
|
#AppointmentsPage QLineEdit:focus, #AppointmentsPage QComboBox:focus { border-color: #75A5F0; }
|
|
#AppointmentsPage QLineEdit QToolButton {
|
|
min-width: 0; min-height: 0; padding: 0; border: 0; background: transparent;
|
|
}
|
|
#AppointmentsPage QLineEdit QToolButton:focus { background: #EAF2FF; }
|
|
#AppointmentsPage QPushButton#AppointmentSearchButton {
|
|
min-height: 39px; max-height: 39px; min-width: 52px;
|
|
}
|
|
#AppointmentsPage QLineEdit#AppointmentPatientSearch { min-height: 39px; max-height: 39px; }
|
|
#AppointmentsPage QPushButton[appointmentStat="true"] {
|
|
min-height: 34px; max-height: 34px; padding: 0 10px; background: #F4F7FC;
|
|
border-color: transparent; color: #5D6B80; font-size: 13px;
|
|
}
|
|
#AppointmentsPage QPushButton[appointmentStat="true"]:hover { color: #1555B6; background: #EAF2FF; }
|
|
#AppointmentsPage QPushButton[appointmentStat="true"]:checked {
|
|
color: #FFFFFF; background: #1769E8; border-color: #1769E8;
|
|
}
|
|
#AppointmentsPage QPushButton[appointmentStatKind="warning"][hasPending="true"]:!checked {
|
|
color: #9C681F; background: #FFF6E7; border-color: #EEDCBF;
|
|
}
|
|
#AppointmentsPage QLabel#FilterRowLabel { color: #5D6B80; font-size: 13px; }
|
|
#AppointmentsPage QLabel#FilterDivider { color: #DBE5F2; padding: 0 10px; }
|
|
#AppointmentsPage QTabBar#AppointmentStatusTabs::tab {
|
|
min-width: 52px; min-height: 32px; padding: 0 12px; color: #5D6B80;
|
|
background: transparent; border: 0; border-bottom: 2px solid transparent; font-size: 13px;
|
|
}
|
|
#AppointmentsPage QTabBar#AppointmentStatusTabs::tab:hover { color: #1555B6; background: #F7FAFE; }
|
|
#AppointmentsPage QTabBar#AppointmentStatusTabs::tab:selected {
|
|
color: #1769E8; background: transparent; border-bottom-color: #1769E8;
|
|
}
|
|
#AppointmentsPage QPushButton[filterChoice="true"] {
|
|
min-height: 30px; max-height: 30px; padding: 0 12px; color: #5D6B80;
|
|
background: transparent; border-color: transparent; font-size: 13px;
|
|
}
|
|
#AppointmentsPage QPushButton[filterChoice="true"]:checked { color: #1555B6; background: #EAF2FF; }
|
|
#AppointmentsPage QFrame#AppointmentToolbar { background: transparent; border: 0; }
|
|
#AppointmentsPage QPushButton[compactAction="true"] {
|
|
min-height: 36px; max-height: 36px; padding: 0 17px; font-size: 13px;
|
|
}
|
|
#AppointmentsPage QFrame#AppointmentToolbar QPushButton[variant="secondary"]:enabled {
|
|
color: #1769E8; border-color: #ADC8F0;
|
|
}
|
|
#AppointmentsPage QTableWidget#AppointmentTable {
|
|
background: #FFFFFF; alternate-background-color: #FFFFFF; border: 0; border-radius: 0;
|
|
gridline-color: #E6EDF6; selection-background-color: #EAF2FF; selection-color: #273244;
|
|
}
|
|
#AppointmentsPage QTableWidget#AppointmentTable::item { padding: 0; border: 0; border-bottom: 1px solid #E6EDF6; }
|
|
#AppointmentsPage QTableWidget#AppointmentTable::item:selected { background: #EAF2FF; color: #273244; }
|
|
#AppointmentsPage QTableWidget#AppointmentTable QHeaderView::section {
|
|
min-height: 40px; padding: 0; background: #F5F8FD; color: #5D6B80;
|
|
border: 0; border-top: 1px solid #E1E9F4; border-bottom: 1px solid #E1E9F4;
|
|
font-family: "$body"; font-size: 13px; font-weight: 400;
|
|
}
|
|
#AppointmentsPage QWidget[appointmentSelectionHost="true"] {
|
|
background: transparent; border-left: 3px solid transparent;
|
|
}
|
|
#AppointmentsPage QWidget[appointmentSelectionHost="true"][selected="true"] { border-left-color: #1769E8; }
|
|
#AppointmentsPage QCheckBox[appointmentSelector="true"]::indicator {
|
|
width: 16px; height: 16px; background: #FFFFFF; border: 1px solid #C8D5E6; border-radius: 3px;
|
|
}
|
|
#AppointmentsPage QCheckBox[appointmentSelector="true"]::indicator:checked { background: #1769E8; border-color: #1769E8; }
|
|
#AppointmentsPage QWidget[appointmentInfoHost="true"],
|
|
#AppointmentsPage QWidget[appointmentImHost="true"] { background: transparent; }
|
|
#AppointmentsPage QLabel[tableAppointmentStatus="true"] {
|
|
min-height: 20px; max-height: 20px; padding: 0 6px; color: #1555B6;
|
|
background: #EAF2FF; border-radius: 4px; font-size: 13px;
|
|
}
|
|
#AppointmentsPage QLabel[tableAppointmentStatusKind="warning"] { color: #9C681F; background: #FFF3DD; }
|
|
#AppointmentsPage QLabel[tableAppointmentStatusKind="muted"] { color: #66758A; background: #EEF2F7; }
|
|
#AppointmentsPage QLabel[tableAppointmentMeta="true"] { color: #5D6B80; font-size: 13px; }
|
|
#AppointmentsPage QPushButton[tableCancelAction="true"] {
|
|
min-height: 20px; max-height: 20px; padding: 0 5px; color: #B84652;
|
|
background: #FFF0F2; border: 0; border-radius: 4px; font-size: 13px;
|
|
}
|
|
#AppointmentsPage QPushButton[appointmentImAction="true"] {
|
|
min-width: 62px; min-height: 32px; max-height: 32px; padding: 0 10px;
|
|
color: #1555B6; background: #EAF2FF; border-color: #C9DCF7; font-size: 13px;
|
|
}
|
|
#AppointmentsPage QPushButton[appointmentImAction="true"]:hover { color: #FFFFFF; background: #1769E8; }
|
|
#AppointmentsPage QPushButton[appointmentImAction="true"]:disabled { color: #8A97A9; background: #F3F6FB; border-color: #DFE7F2; }
|
|
#AppointmentsPage QWidget#Pager { background: #FFFFFF; border: 0; border-top: 1px solid #E1E9F4; }
|
|
#AppointmentsPage QWidget#Pager QLabel { color: #5D6B80; font-size: 13px; border: 0; }
|
|
#AppointmentsPage QWidget#Pager QPushButton {
|
|
min-width: 30px; max-width: 30px; min-height: 32px; max-height: 32px;
|
|
padding: 0; border: 1px solid #DBE5F2; background: #FFFFFF; color: #5D6B80; font-size: 13px;
|
|
}
|
|
#AppointmentsPage QWidget#Pager QPushButton[active="true"] { color: #FFFFFF; background: #1769E8; border-color: #1769E8; }
|
|
#AppointmentsPage QWidget#Pager QPushButton:disabled { color: #9AA6B7; background: #F7F9FC; }
|
|
"""
|