feat: add phone frequency controls and modularize codebase

This commit is contained in:
hectorzhao
2026-07-31 22:25:23 +08:00
parent 0af671b4ed
commit ca4f591a13
216 changed files with 41579 additions and 23694 deletions
+130
View File
@@ -0,0 +1,130 @@
{
"version": "R11-step-6",
"entry": "src/main.tsx",
"component": "src/layouts/AppShell.tsx",
"shellFile": "src/styles/shell.css",
"legacyFiles": [
"src/styles/global.css",
"src/styles/components.css"
],
"importAfter": "@/styles/reset.css",
"importBefore": "@/styles/global.css",
"minimumRuleCount": 118,
"shellClasses": [
"app-shell",
"app-shell--collapsed",
"app-shell--mobile-nav-open",
"sidebar",
"sidebar--mobile-open",
"sidebar-brand-row",
"mobile-nav-close",
"mobile-nav-toggle",
"mobile-nav-backdrop",
"mobile-topbar-brand",
"brand-block",
"brand-logo",
"brand-logo--full",
"brand-logo--compact",
"side-nav",
"side-nav-section",
"side-nav-group-toggle",
"side-nav-group-label",
"side-nav-group-chevron",
"side-nav-list",
"side-nav-list--closed",
"side-nav-label",
"side-nav-label-text",
"dev-status-badge",
"side-nav-pending-badge",
"sidebar-footer",
"main-area",
"topbar",
"topbar-left",
"topbar-actions",
"desktop-nav-toggle",
"topbar-help",
"notice-menu-wrap",
"notice-count",
"notice-popover",
"notice-popover__header",
"user-menu",
"user-menu-wrap",
"user-menu-popover",
"user-avatar",
"page-content"
],
"legacyShellClasses": [
"brand-copy",
"brand-mark",
"brand-subtitle"
],
"sharedLayoutSelectors": [
".page-content",
".page-stack",
".page-heading",
".page-heading > p",
".page-heading__actions",
".page-actions",
".surface",
".section-stack",
".section-heading"
],
"requiredMediaQueries": [
"(min-width: 781px)",
"(max-width: 780px)",
"(prefers-reduced-motion: reduce)"
],
"requiredRuleFragments": [
{
"selector": ".app-shell",
"includes": [
"display:grid",
"grid-template-columns:var(--sidebar-width) minmax(0, 1fr)",
"overflow:hidden"
]
},
{
"selector": ".app-shell--collapsed",
"includes": [
"grid-template-columns:76px minmax(0, 1fr)"
]
},
{
"selector": ".sidebar",
"media": "(max-width: 780px)",
"includes": [
"position:fixed",
"transform:translateX(-105%)"
]
},
{
"selector": ".sidebar--mobile-open",
"media": "(max-width: 780px)",
"includes": [
"transform:translateX(0)"
]
},
{
"selector": ".mobile-nav-backdrop",
"media": "(max-width: 780px)",
"includes": [
"display:block",
"position:fixed"
]
},
{
"selector": ".page-content",
"includes": [
"overflow-y:auto",
"width:100%"
]
},
{
"selector": ".sidebar",
"media": "(prefers-reduced-motion: reduce)",
"includes": [
"transition:none"
]
}
]
}