feat: add HoloLake personal channel module runtime
This commit is contained in:
parent
bb96d5eb89
commit
a106b23f9b
21 changed files with 786 additions and 31 deletions
|
|
@ -1,4 +1,4 @@
|
|||
/* HoloLake 0.7.1 canonical workspace layer.
|
||||
/* HoloLake 0.8.0 canonical workspace layer.
|
||||
* This file is intentionally loaded after the inherited component stylesheet.
|
||||
* It is the single layout and theme authority for the platform shell.
|
||||
*/
|
||||
|
|
@ -241,6 +241,106 @@ body, #root { background: var(--lake-bg, #07111d); }
|
|||
|
||||
.storage-sheet, .human-settings { border-color: var(--lake-border); background: var(--lake-panel); color: var(--lake-text); }
|
||||
.storage-sheet-backdrop, .human-settings-backdrop { background: rgba(2, 8, 14, .56); }
|
||||
|
||||
.module-empty-entry { border: 1px dashed var(--lake-border) !important; background: transparent !important; }
|
||||
.module-empty-entry span:first-child { font-size: 20px; color: var(--lake-accent); }
|
||||
|
||||
.sheet-backdrop {
|
||||
position: fixed;
|
||||
inset: 0;
|
||||
z-index: 1500;
|
||||
display: grid;
|
||||
place-items: center;
|
||||
padding: 28px;
|
||||
background: rgba(2, 8, 14, .62);
|
||||
backdrop-filter: blur(10px);
|
||||
}
|
||||
|
||||
.module-library-sheet {
|
||||
width: min(760px, 100%);
|
||||
max-height: min(760px, calc(100vh - 56px));
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
overflow: hidden;
|
||||
border: 1px solid var(--lake-border);
|
||||
border-radius: 22px;
|
||||
background: var(--lake-panel);
|
||||
color: var(--lake-text);
|
||||
box-shadow: 0 30px 90px rgba(0, 0, 0, .44);
|
||||
}
|
||||
|
||||
.module-library-sheet > header {
|
||||
display: flex;
|
||||
align-items: flex-start;
|
||||
justify-content: space-between;
|
||||
gap: 28px;
|
||||
padding: 28px 30px 22px;
|
||||
border-bottom: 1px solid var(--lake-border);
|
||||
}
|
||||
|
||||
.module-library-sheet > header small { color: var(--lake-accent); font-weight: 700; letter-spacing: .08em; }
|
||||
.module-library-sheet > header h2 { margin: 6px 0 5px; font-size: 27px; letter-spacing: -.02em; }
|
||||
.module-library-sheet > header p { margin: 0; color: var(--lake-muted); }
|
||||
.module-library-sheet > header > button {
|
||||
width: 36px;
|
||||
height: 36px;
|
||||
border: 0;
|
||||
border-radius: 10px;
|
||||
background: var(--lake-surface-2);
|
||||
color: var(--lake-muted);
|
||||
font-size: 24px;
|
||||
}
|
||||
|
||||
.module-library-list { padding: 22px; overflow: auto; }
|
||||
.module-library-card {
|
||||
display: grid;
|
||||
grid-template-columns: 52px minmax(0, 1fr) auto;
|
||||
gap: 18px;
|
||||
align-items: start;
|
||||
padding: 20px;
|
||||
border: 1px solid var(--lake-border);
|
||||
border-radius: 17px;
|
||||
background: var(--lake-surface-1);
|
||||
}
|
||||
.module-library-icon {
|
||||
width: 52px;
|
||||
height: 52px;
|
||||
display: grid;
|
||||
place-items: center;
|
||||
border: 1px solid var(--lake-border);
|
||||
border-radius: 15px;
|
||||
background: var(--lake-accent-soft);
|
||||
}
|
||||
.module-library-icon span { width: 20px; height: 25px; border: 2px solid var(--lake-accent); border-radius: 3px 7px 7px 3px; }
|
||||
.module-library-title { display: flex; align-items: center; gap: 10px; }
|
||||
.module-library-title h3 { margin: 0; font-size: 18px; }
|
||||
.module-library-title span { padding: 3px 8px; border-radius: 999px; background: color-mix(in srgb, var(--lake-success) 14%, transparent); color: var(--lake-success); font-size: 11px; font-weight: 700; }
|
||||
.module-library-copy code { display: block; margin-top: 5px; color: var(--lake-muted); font-size: 11px; }
|
||||
.module-library-copy p { margin: 12px 0 7px; color: var(--lake-text); line-height: 1.55; }
|
||||
.module-library-copy > small { color: var(--lake-muted); line-height: 1.5; }
|
||||
.module-library-actions { min-width: 118px; display: grid; gap: 8px; }
|
||||
.module-library-actions button { min-height: 36px; white-space: nowrap; }
|
||||
.quiet-danger { border: 0; background: transparent; color: var(--lake-danger); }
|
||||
.module-library-sheet > footer {
|
||||
min-height: 64px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
gap: 18px;
|
||||
padding: 14px 30px;
|
||||
border-top: 1px solid var(--lake-border);
|
||||
color: var(--lake-muted);
|
||||
font-size: 13px;
|
||||
}
|
||||
.module-library-sheet > footer button { border: 1px solid var(--lake-border); border-radius: 9px; background: var(--lake-surface-2); color: var(--lake-text); padding: 8px 13px; }
|
||||
|
||||
@media (max-width: 700px) {
|
||||
.sheet-backdrop { padding: 12px; align-items: end; }
|
||||
.module-library-sheet { max-height: calc(100vh - 24px); border-radius: 20px 20px 12px 12px; }
|
||||
.module-library-card { grid-template-columns: 44px minmax(0, 1fr); }
|
||||
.module-library-icon { width: 44px; height: 44px; }
|
||||
.module-library-actions { grid-column: 1 / -1; grid-template-columns: repeat(2, minmax(0, 1fr)); }
|
||||
}
|
||||
.settings-section select, .settings-model-fields input { border-color: var(--lake-border); background: var(--lake-surface); color: var(--lake-text); }
|
||||
.settings-model-card, .settings-account-card { border-color: var(--lake-border-soft); background: var(--lake-surface); }
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue