Spaces:
Running
Running
Download processor/web/static/js/login.js from Stouching-Robotics/DataFlowing: direct link, hf CLI and curl.
- Browser
- Download file 2.19 kB
-
https://huggingface.co/spaces/Stouching-Robotics/DataFlowing/resolve/main/processor/web/static/js/login.js
- Command line
-
hf download hf://spaces/Stouching-Robotics/DataFlowing/processor/web/static/js/login.js
-
curl -L -o login.js https://huggingface.co/spaces/Stouching-Robotics/DataFlowing/resolve/main/processor/web/static/js/login.js
2.19 kB
| /* Login page — form submission, error handling */ | |
| (function() { | |
| var form = document.getElementById('login-form'); | |
| var btn = document.getElementById('btn-login'); | |
| var errorBox = document.getElementById('login-error'); | |
| var errorText = document.getElementById('login-error-text'); | |
| var usernameEl = document.getElementById('username'); | |
| var passwordEl = document.getElementById('password'); | |
| var rememberEl = document.getElementById('remember-me'); | |
| function showError(msg) { | |
| errorText.textContent = msg; | |
| errorBox.classList.remove('hidden'); | |
| } | |
| function hideError() { | |
| errorBox.classList.add('hidden'); | |
| } | |
| function setLoading(loading) { | |
| btn.disabled = loading; | |
| btn.textContent = loading ? 'Signing in...' : 'Sign In'; | |
| } | |
| form.addEventListener('submit', function(e) { | |
| e.preventDefault(); | |
| hideError(); | |
| var username = usernameEl.value.trim(); | |
| var password = passwordEl.value; | |
| if (!username || !password) { | |
| showError('Please enter username and password'); | |
| return; | |
| } | |
| setLoading(true); | |
| fetch('/api/v1/auth/login', { | |
| method: 'POST', | |
| headers: { 'Content-Type': 'application/json' }, | |
| body: JSON.stringify({ | |
| username: username, | |
| password: password, | |
| remember_me: rememberEl.checked | |
| }) | |
| }) | |
| .then(function(res) { | |
| if (!res.ok) { | |
| return res.json().then(function(data) { | |
| throw new Error(data.detail || 'Invalid credentials'); | |
| }, function() { | |
| throw new Error('Invalid credentials'); | |
| }); | |
| } | |
| return res.json(); | |
| }) | |
| .then(function(data) { | |
| // Success — redirect to home | |
| window.location.href = '/'; | |
| }) | |
| .catch(function(err) { | |
| showError(err.message || 'Login failed'); | |
| setLoading(false); | |
| }); | |
| }); | |
| // Focus first input | |
| if (usernameEl && !usernameEl.value) { | |
| usernameEl.focus(); | |
| } | |
| })(); | |