feat: enhance ecommerce UI with typewriter animation, icon buttons, responsive layout, and refined design tokens
- EcommercePage.tsx: Add typewriter animation (useTypewriter hook) for slogan text with blinking cursor; replace text-based add/delete buttons with Ant Design icons (CloudUploadOutlined, DeleteOutlined); make command history panel responsive to window width (auto-collapse ≤1180px); update button labels from generic "添加" to context-specific "上传商品图" / "上传素材" - New useTypewriter.ts hook: Character-by-character typewriter animation with configurable speed and pause-before-loop, auto-resets on text change - reset.css: Add comprehensive HTML/body typography baseline (font-size, text-rendering, font-smoothing, line-height); extend reset coverage to select/canvas/svg elements; add overflow-wrap:anywhere for text-bearing elements; add min-width:0 to prevent form element overflow - primitives.css: Add reusable typography utility classes (ui-page-title, ui-section-title, ui-body-copy) with design token references - tokens.css: Expand design token set for typography scales, font weights, and leading values - ecommerce-standalone.css: Add 689 lines of standalone ecommerce page styles - Page CSS (ecommerce, image-workbench, more-tools, more, script-tokens, script-tokens-v5, studio-layout): Enhanced visual styles and layout refinements across all pages - app-shell.css: Shell-level layout and styling improvements
This commit is contained in:
@@ -30,6 +30,10 @@
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.event-strip > * {
|
||||
min-width: 0;
|
||||
}
|
||||
|
||||
.web-shell[data-theme="dark"] .event-strip {
|
||||
border-color: rgba(var(--accent-rgb), 0.2);
|
||||
background: var(--bg-panel);
|
||||
@@ -185,6 +189,7 @@
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: flex-end;
|
||||
flex-wrap: wrap;
|
||||
min-width: 0;
|
||||
gap: 8px;
|
||||
}
|
||||
@@ -1012,6 +1017,18 @@
|
||||
}
|
||||
|
||||
@media (max-width: 640px) {
|
||||
.event-strip {
|
||||
justify-content: flex-start;
|
||||
gap: 8px;
|
||||
overflow-x: auto;
|
||||
padding-inline: 12px 40px;
|
||||
scrollbar-width: none;
|
||||
}
|
||||
|
||||
.event-strip::-webkit-scrollbar {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.brand-lockup__name {
|
||||
font-size: 14px;
|
||||
}
|
||||
@@ -1030,3 +1047,47 @@
|
||||
justify-content: space-between;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 480px) {
|
||||
.web-topbar {
|
||||
gap: 8px;
|
||||
padding-inline: 10px;
|
||||
}
|
||||
|
||||
.brand-lockup {
|
||||
flex: 1 1 auto;
|
||||
gap: 8px;
|
||||
}
|
||||
|
||||
.brand-lockup__name {
|
||||
min-width: 0;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
.web-topbar__actions {
|
||||
flex: 0 1 auto;
|
||||
justify-content: flex-end;
|
||||
}
|
||||
|
||||
.creator-button,
|
||||
.beta-apply-button {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.cookie-consent {
|
||||
width: calc(100vw - 20px);
|
||||
right: 10px;
|
||||
bottom: 10px;
|
||||
padding: 12px;
|
||||
}
|
||||
|
||||
.cookie-consent__actions {
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
.cookie-consent__actions a,
|
||||
.cookie-consent__actions button {
|
||||
flex: 1 1 auto;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user