shared website header
Some checks failed
ESP-IDF Build / build (esp32c6, release-v5.4) (push) Failing after 7m45s
ESP-IDF Build / build (esp32c6, release-v5.5) (push) Failing after 4m52s
ESP-IDF Build / build (esp32s3, release-v5.4) (push) Failing after 4m35s
ESP-IDF Build / build (esp32s3, release-v5.5) (push) Failing after 4m58s
Some checks failed
ESP-IDF Build / build (esp32c6, release-v5.4) (push) Failing after 7m45s
ESP-IDF Build / build (esp32c6, release-v5.5) (push) Failing after 4m52s
ESP-IDF Build / build (esp32s3, release-v5.4) (push) Failing after 4m35s
ESP-IDF Build / build (esp32s3, release-v5.5) (push) Failing after 4m58s
Signed-off-by: Peter Siegmund <developer@mars3142.org>
This commit is contained in:
@@ -114,18 +114,6 @@
|
|||||||
updateConnectBtn();
|
updateConnectBtn();
|
||||||
});
|
});
|
||||||
|
|
||||||
// Toggle password visibility
|
|
||||||
function togglePassword() {
|
|
||||||
const input = document.getElementById('password');
|
|
||||||
const btn = document.getElementById('password-btn');
|
|
||||||
if (input.type === 'password') {
|
|
||||||
input.type = 'text';
|
|
||||||
btn.textContent = '🙈';
|
|
||||||
} else {
|
|
||||||
input.type = 'password';
|
|
||||||
btn.textContent = '👁️';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</script>
|
</script>
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
|
|||||||
@@ -1,29 +1,57 @@
|
|||||||
|
@media (max-width: 600px) {
|
||||||
|
.header {
|
||||||
|
flex-direction: row;
|
||||||
|
align-items: flex-start;
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
.header h1 {
|
||||||
|
flex: 1 1 100%;
|
||||||
|
text-align: center;
|
||||||
|
order: 2;
|
||||||
|
margin-top: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.header-controls {
|
||||||
|
order: 1;
|
||||||
|
flex: 1 1 auto;
|
||||||
|
justify-content: flex-start;
|
||||||
|
display: flex;
|
||||||
|
gap: 8px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* Captive Portal CSS - WiFi setup specific styles */
|
/* Captive Portal CSS - WiFi setup specific styles */
|
||||||
/* Base styles are in shared.css */
|
/* Base styles are in shared.css */
|
||||||
|
|
||||||
|
|
||||||
body {
|
body {
|
||||||
padding: 16px;
|
padding: 12px;
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
justify-content: center;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.container {
|
.container {
|
||||||
|
max-width: 900px;
|
||||||
|
margin: 0 auto;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
max-width: 400px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Header */
|
/* Header */
|
||||||
|
|
||||||
.header {
|
.header {
|
||||||
text-align: center;
|
display: flex;
|
||||||
margin-bottom: 24px;
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
margin-bottom: 20px;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
gap: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.header h1 {
|
.header h1 {
|
||||||
font-size: 1.4rem;
|
font-size: 1.5rem;
|
||||||
margin-bottom: 8px;
|
margin: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
.header p {
|
.header p {
|
||||||
color: var(--text-muted);
|
color: var(--text-muted);
|
||||||
font-size: 0.9rem;
|
font-size: 0.9rem;
|
||||||
@@ -163,27 +191,6 @@ select {
|
|||||||
font-size: 1.1rem;
|
font-size: 1.1rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Password Toggle */
|
|
||||||
.password-toggle {
|
|
||||||
position: relative;
|
|
||||||
}
|
|
||||||
|
|
||||||
.password-toggle input {
|
|
||||||
padding-right: 50px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.password-toggle button {
|
|
||||||
position: absolute;
|
|
||||||
right: 12px;
|
|
||||||
top: 50%;
|
|
||||||
transform: translateY(-50%);
|
|
||||||
background: none;
|
|
||||||
border: none;
|
|
||||||
color: var(--text-muted);
|
|
||||||
font-size: 1.2rem;
|
|
||||||
cursor: pointer;
|
|
||||||
padding: 4px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Info Box */
|
/* Info Box */
|
||||||
.info-box {
|
.info-box {
|
||||||
|
|||||||
@@ -20,10 +20,6 @@ body {
|
|||||||
gap: 10px;
|
gap: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.header h1 {
|
|
||||||
font-size: 1.5rem;
|
|
||||||
margin: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.form-group {
|
.form-group {
|
||||||
margin-bottom: 12px;
|
margin-bottom: 12px;
|
||||||
|
|||||||
@@ -1,3 +1,60 @@
|
|||||||
|
/* Passwortfeld Toggle (zentral für alle Seiten) */
|
||||||
|
.password-toggle {
|
||||||
|
position: relative;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.password-toggle input {
|
||||||
|
padding-right: 50px;
|
||||||
|
flex: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.password-toggle button {
|
||||||
|
position: absolute;
|
||||||
|
right: 12px;
|
||||||
|
top: 50%;
|
||||||
|
transform: translateY(-50%);
|
||||||
|
background: none;
|
||||||
|
border: none;
|
||||||
|
color: var(--text-muted);
|
||||||
|
font-size: 1.2rem;
|
||||||
|
cursor: pointer;
|
||||||
|
padding: 4px;
|
||||||
|
transition: color 0.2s;
|
||||||
|
}
|
||||||
|
|
||||||
|
.password-toggle button:active {
|
||||||
|
color: var(--accent);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Passwortfeld Toggle */
|
||||||
|
.password-toggle {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 6px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.password-toggle input[type="password"],
|
||||||
|
.password-toggle input[type="text"] {
|
||||||
|
flex: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.password-toggle button {
|
||||||
|
background: none;
|
||||||
|
border: none;
|
||||||
|
font-size: 1.2em;
|
||||||
|
cursor: pointer;
|
||||||
|
color: var(--text-muted);
|
||||||
|
padding: 0 6px;
|
||||||
|
transition: color 0.2s;
|
||||||
|
}
|
||||||
|
|
||||||
|
.password-toggle button:active {
|
||||||
|
color: var(--accent);
|
||||||
|
}
|
||||||
|
|
||||||
/* Shared CSS - Base styles for all pages */
|
/* Shared CSS - Base styles for all pages */
|
||||||
|
|
||||||
/* CSS Variables - Dark Mode (default) */
|
/* CSS Variables - Dark Mode (default) */
|
||||||
|
|||||||
@@ -162,8 +162,11 @@
|
|||||||
|
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="password" data-i18n="wifi.password">WLAN Passwort</label>
|
<label for="password" data-i18n="wifi.password">WLAN Passwort</label>
|
||||||
|
<div class="password-toggle">
|
||||||
<input type="password" id="password" data-i18n-placeholder="wifi.password.placeholder"
|
<input type="password" id="password" data-i18n-placeholder="wifi.password.placeholder"
|
||||||
placeholder="Passwort eingeben" autocomplete="off">
|
placeholder="Passwort eingeben" autocomplete="off">
|
||||||
|
<button type="button" onclick="togglePassword()" id="password-btn">👁️</button>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
|
|||||||
@@ -1,3 +1,18 @@
|
|||||||
|
/**
|
||||||
|
* Passwortfeld sichtbar/unsichtbar schalten (shared)
|
||||||
|
*/
|
||||||
|
function togglePassword() {
|
||||||
|
const input = document.getElementById('password');
|
||||||
|
const btn = document.getElementById('password-btn');
|
||||||
|
if (!input || !btn) return;
|
||||||
|
if (input.type === 'password') {
|
||||||
|
input.type = 'text';
|
||||||
|
btn.textContent = '🙈';
|
||||||
|
} else {
|
||||||
|
input.type = 'password';
|
||||||
|
btn.textContent = '👁️';
|
||||||
|
}
|
||||||
|
}
|
||||||
// Shared WiFi configuration functions
|
// Shared WiFi configuration functions
|
||||||
// Used by both captive.html and index.html
|
// Used by both captive.html and index.html
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user