feat(auth,dashboard): 2FA mobile session persistence and sparkline cards
- Persist 2FA state in sessionStorage to survive mobile page reloads - Reuse existing valid OTP on re-login to avoid rate limiting and duplicate emails - Add embedded sparkline charts to SolduriCompactCard with expand toggle - Mobile dashboard redesigned: 2 pages with enriched compact cards + cashflow type - Login UI simplified: remove gradient bg, subtitle, icon; use design tokens - Focus OTP input when session is restored from 2FA state Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -610,10 +610,7 @@ onBeforeUnmount(() => {
|
||||
<style scoped>
|
||||
/* Component-specific: Dual-chart layout for CashFlowMetricCard */
|
||||
|
||||
/* Override min-height for dual chart layout */
|
||||
.cashflow-card {
|
||||
min-height: 420px;
|
||||
}
|
||||
/* Ultra-compact cashflow card */
|
||||
|
||||
/* Metric label and value typography */
|
||||
.metric-label {
|
||||
@@ -631,7 +628,7 @@ onBeforeUnmount(() => {
|
||||
.values-section {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr auto 1fr;
|
||||
gap: 1rem;
|
||||
gap: 2px;
|
||||
align-items: start;
|
||||
}
|
||||
|
||||
@@ -646,8 +643,8 @@ onBeforeUnmount(() => {
|
||||
.divider {
|
||||
width: 1px;
|
||||
height: 100%;
|
||||
background: var(--color-border);
|
||||
min-height: 60px;
|
||||
border-left: 1px dotted var(--color-border);
|
||||
background: none;
|
||||
}
|
||||
|
||||
/* Charts toggle header */
|
||||
@@ -715,10 +712,6 @@ onBeforeUnmount(() => {
|
||||
|
||||
/* Responsive: Stack vertically on mobile */
|
||||
@media (max-width: 768px) {
|
||||
.cashflow-card {
|
||||
min-height: 380px;
|
||||
}
|
||||
|
||||
.values-section {
|
||||
grid-template-columns: 1fr;
|
||||
gap: 0.75rem;
|
||||
|
||||
Reference in New Issue
Block a user