mirror of
https://github.com/MHSanaei/3x-ui.git
synced 2026-06-05 12:44:22 +00:00
Every panel page CSS file repeated the same wrapper boilerplate — the --bg-page/--bg-card token triples for light/dark/ultra-dark, the min-height + background root rule, the .ant-layout transparent reset, the .content-shell transparent reset, and the .loading-spacer min-height. That's ~30 identical lines duplicated across IndexPage, ClientsPage, InboundsPage, XrayPage, SettingsPage, NodesPage, and ApiDocsPage. Move all of it into styles/page-shell.css and import it once from main.tsx alongside utils.css and page-cards.css. Each page CSS file now only contains genuinely page-specific rules (content-area padding overrides, page-specific tokens like ApiDocs's Swagger --sw-* set). Also drop the per-page `import '@/styles/page-cards.css'` statements from the 7 page tsx files now that main.tsx loads it globally. Net: -211 deleted, +6 inserted in the touched files, plus the new page-shell.css. .zero-margin (Divider override used by Nord/Warp modals) folded into utils.css alongside the margin classes.
60 lines
1 KiB
CSS
60 lines
1 KiB
CSS
.index-page .content-area {
|
|
padding: 24px;
|
|
}
|
|
|
|
@media (max-width: 768px) {
|
|
.index-page .content-area {
|
|
padding: 12px;
|
|
padding-top: 64px;
|
|
}
|
|
}
|
|
|
|
.index-page .action {
|
|
cursor: pointer;
|
|
justify-content: center;
|
|
max-width: 100%;
|
|
flex-wrap: nowrap;
|
|
}
|
|
|
|
.index-page .action > span:not(.anticon):not(.tg-icon) {
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
min-width: 0;
|
|
}
|
|
|
|
.index-page .action-update {
|
|
color: var(--ant-color-warning);
|
|
font-weight: 600;
|
|
}
|
|
|
|
.index-page .action-update .anticon {
|
|
color: var(--ant-color-warning);
|
|
}
|
|
|
|
.index-page .history-tag {
|
|
cursor: pointer;
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: 4px;
|
|
margin-inline-end: 0;
|
|
}
|
|
|
|
.index-page .tg-icon {
|
|
display: inline-block;
|
|
vertical-align: -2px;
|
|
}
|
|
|
|
.index-page .ip-toggle-icon {
|
|
cursor: pointer;
|
|
font-size: 16px;
|
|
}
|
|
|
|
.index-page .ip-hidden .ant-statistic-content-value {
|
|
filter: blur(6px);
|
|
transition: filter 0.2s ease;
|
|
}
|
|
|
|
.index-page .ip-visible .ant-statistic-content-value {
|
|
filter: none;
|
|
}
|