- Delete old Vite+Svelte frontend - Initialize new SvelteKit project with TypeScript - Configure Tailwind CSS v4 + DaisyUI - Implement JWT authentication with auto-refresh - Create login page with form validation (Zod) - Add protected route guards - Update Docker configuration for single-stage build - Add E2E tests with Playwright (6/11 passing) - Fix Svelte 5 reactivity with $state() runes Known issues: - 5 E2E tests failing (timing/async issues) - Token refresh implementation needs debugging - Validation error display timing
19 lines
583 B
JavaScript
19 lines
583 B
JavaScript
function safeRequestAnimationFrame(callback) {
|
|
if (typeof requestAnimationFrame !== 'undefined') requestAnimationFrame(callback);
|
|
}
|
|
export default function setRafTimeout(callback) {
|
|
var timeout = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
|
var currTime = -1;
|
|
var shouldUpdate = function shouldUpdate(now) {
|
|
if (currTime < 0) {
|
|
currTime = now;
|
|
}
|
|
if (now - currTime > timeout) {
|
|
callback(now);
|
|
currTime = -1;
|
|
} else {
|
|
safeRequestAnimationFrame(shouldUpdate);
|
|
}
|
|
};
|
|
requestAnimationFrame(shouldUpdate);
|
|
} |