fix(styles): resolve design system audit violations and touch scrolling
- Replace hardcoded px values with design tokens (--space-0h, --space-px, --space-1, --target-sm/md/lg) across layout, calendar, dashboard CSS - Fix rgba(255,255,255,0.35) spinner border to use var(--color-glass-hover) - Fix modal close icon from off-grid 18px to 16px - Fix touch scrolling on mobile: add min-height: 0 and -webkit-overflow-scrolling: touch to .app-content
This commit is contained in:
@@ -195,7 +195,7 @@ export function openModal({ title, content, onSave, onDelete, size = 'md' } = {}
|
||||
<div class="modal-panel__header">
|
||||
<h2 class="modal-panel__title" id="shared-modal-title">${title}</h2>
|
||||
<button class="modal-panel__close" data-action="close-modal" aria-label="${t('modal.closeLabel')}">
|
||||
<i data-lucide="x" style="width:18px;height:18px" aria-hidden="true"></i>
|
||||
<i data-lucide="x" style="width:16px;height:16px" aria-hidden="true"></i>
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-panel__body">
|
||||
@@ -465,6 +465,22 @@ export function btnSuccess(btn, originalLabel) {
|
||||
}, 700);
|
||||
}
|
||||
|
||||
/**
|
||||
* Versetzt einen Button in den Lade-Zustand (Spinner, nicht klickbar).
|
||||
* Gibt eine Cleanup-Funktion zurück, die den Originalzustand wiederherstellt.
|
||||
*
|
||||
* @param {HTMLButtonElement} btn
|
||||
* @returns {() => void} cleanup
|
||||
*/
|
||||
export function btnLoading(btn) {
|
||||
btn.classList.add('btn--loading');
|
||||
btn.disabled = true;
|
||||
return () => {
|
||||
btn.classList.remove('btn--loading');
|
||||
btn.disabled = false;
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Zeigt Fehler-Feedback auf einem Button (Shake-Animation).
|
||||
* @param {HTMLButtonElement} btn
|
||||
|
||||
Reference in New Issue
Block a user