diff --git a/Auto-Image.js b/Auto-Image.js index 449bcad..cbbc75d 100644 --- a/Auto-Image.js +++ b/Auto-Image.js @@ -487,6 +487,18 @@ pixels: 'Pixels', charges: 'Charges', batchSize: 'Batch Size', + cooldownSettings: 'Cooldown Settings', + waitCharges: 'Wait for Charges', + settings: 'Settings', + showStats: 'Show Statistics', + compactMode: 'Compact Mode', + minimize: 'Minimize', + tokenCapturedSuccess: 'Token captured successfully', + turnstileInstructions: 'Complete the verification', + hideTurnstileBtn: 'Hide', + notificationsNotSupported: 'Notifications not supported', + chargesReadyMessage: 'Charges are ready', + chargesReadyNotification: 'WPlace AutoBot', initMessage: "Click 'Upload Image' to begin", }, }; @@ -3471,13 +3483,12 @@
- ${state.cooldownChargeThreshold}
- ${Utils.t('charges')} + ${Utils.t('charges')}
@@ -3780,14 +3791,13 @@
- ${CONFIG.PAINTING_SPEED.DEFAULT}
- pixels + pixels
@@ -4362,7 +4372,6 @@ const closeStatsBtn = statsContainer.querySelector('#closeStatsBtn'); const refreshChargesBtn = statsContainer.querySelector('#refreshChargesBtn'); const cooldownSlider = container.querySelector('#cooldownSlider'); - const cooldownSliderValue = container.querySelector('#cooldownSliderValue'); const cooldownInput = container.querySelector('#cooldownInput'); const cooldownDecrease = container.querySelector('#cooldownDecrease'); const cooldownIncrease = container.querySelector('#cooldownIncrease'); @@ -4737,21 +4746,20 @@ // Speed controls - both slider and input const speedSlider = settingsContainer.querySelector('#speedSlider'); - const speedSliderValue = settingsContainer.querySelector('#speedSliderValue'); const speedInput = settingsContainer.querySelector('#speedInput'); const speedDecrease = settingsContainer.querySelector('#speedDecrease'); const speedIncrease = settingsContainer.querySelector('#speedIncrease'); const speedValue = settingsContainer.querySelector('#speedValue'); - if (speedSlider && speedSliderValue && speedInput && speedValue && speedDecrease && speedIncrease) { + if (speedSlider && speedInput && speedValue && speedDecrease && speedIncrease) { const updateSpeed = (newValue) => { const speed = Math.max(CONFIG.PAINTING_SPEED.MIN, Math.min(CONFIG.PAINTING_SPEED.MAX, parseInt(newValue))); state.paintingSpeed = speed; - // Update both controls without duplication + // Update both controls (value shows in input, label shows unit only) speedSlider.value = speed; speedInput.value = speed; - speedSliderValue.textContent = `${speed}`; + speedValue.textContent = `pixels`; saveBotSettings(); }; @@ -6709,15 +6717,15 @@ setTimeout(checkSavedProgress, 1000); - if (cooldownSlider && cooldownSliderValue && cooldownInput && cooldownValue && cooldownDecrease && cooldownIncrease) { + if (cooldownSlider && cooldownInput && cooldownValue && cooldownDecrease && cooldownIncrease) { const updateCooldown = (newValue) => { const threshold = Math.max(1, Math.min(state.maxCharges || 999, parseInt(newValue))); state.cooldownChargeThreshold = threshold; - // Update both controls + // Update both controls (value shows in input, label shows unit only) cooldownSlider.value = threshold; cooldownInput.value = threshold; - cooldownSliderValue.textContent = threshold; + cooldownValue.textContent = `${Utils.t('charges')}`; saveBotSettings(); NotificationManager.resetEdgeTracking(); // prevent spurious notify after threshold change @@ -7629,12 +7637,10 @@ const speedSlider = document.getElementById('speedSlider'); const speedInput = document.getElementById('speedInput'); - const speedSliderValue = document.getElementById('speedSliderValue'); + const speedValue = document.getElementById('speedValue'); if (speedSlider) speedSlider.value = state.paintingSpeed; if (speedInput) speedInput.value = state.paintingSpeed; - if (speedSliderValue) speedSliderValue.textContent = `${state.paintingSpeed} (batch size)`; - const speedValue = document.getElementById('speedValue'); - if (speedValue) speedValue.textContent = Utils.t('batchSize'); + if (speedValue) speedValue.textContent = `pixels`; const enableSpeedToggle = document.getElementById('enableSpeedToggle'); if (enableSpeedToggle) enableSpeedToggle.checked = CONFIG.PAINTING_SPEED_ENABLED; @@ -7667,12 +7673,10 @@ const cooldownSlider = document.getElementById('cooldownSlider'); const cooldownInput = document.getElementById('cooldownInput'); - const cooldownSliderValue = document.getElementById('cooldownSliderValue'); + const cooldownValue = document.getElementById('cooldownValue'); if (cooldownSlider) cooldownSlider.value = state.cooldownChargeThreshold; if (cooldownInput) cooldownInput.value = state.cooldownChargeThreshold; - if (cooldownSliderValue) cooldownSliderValue.textContent = state.cooldownChargeThreshold; - const cooldownValue = document.getElementById('cooldownValue'); - if (cooldownValue) cooldownValue.textContent = Utils.t('charges'); + if (cooldownValue) cooldownValue.textContent = `${Utils.t('charges')}`; const overlayOpacitySlider = document.getElementById('overlayOpacitySlider'); if (overlayOpacitySlider) overlayOpacitySlider.value = state.overlayOpacity; diff --git a/themes/classic-light.css b/themes/classic-light.css index 301f931..b8079fc 100644 --- a/themes/classic-light.css +++ b/themes/classic-light.css @@ -566,6 +566,19 @@ font-size: 13px; } +/* Cooldown control styling for classic light theme */ +.wplace-theme-classic-light .wplace-cooldown-control { + margin: 12px 0; +} + +.wplace-theme-classic-light .wplace-cooldown-control label { + color: var(--wplace-highlight); + font-weight: 500; + font-size: 13px; + margin-bottom: 8px; + display: block; +} + /* Color swatches with light styling */ .wplace-theme-classic-light .wplace-color-swatch { border: 1px solid rgb(0 0 0 / 20%) !important; diff --git a/themes/classic.css b/themes/classic.css index 4d9129f..857ce6e 100644 --- a/themes/classic.css +++ b/themes/classic.css @@ -700,6 +700,21 @@ font-size: 13px; } +/* Cooldown control styling for classic theme */ +:root .wplace-cooldown-control, +.wplace-theme-classic .wplace-cooldown-control { + margin: 12px 0; +} + +:root .wplace-cooldown-control label, +.wplace-theme-classic .wplace-cooldown-control label { + color: var(--wplace-highlight); + font-weight: 500; + font-size: 13px; + margin-bottom: 8px; + display: block; +} + /* Resize dialog styling for classic theme */ :root .resize-container, .wplace-theme-classic .resize-container { diff --git a/themes/neon.css b/themes/neon.css index 0a1b9b9..91f3164 100644 --- a/themes/neon.css +++ b/themes/neon.css @@ -492,6 +492,22 @@ text-transform: uppercase; } +/* Cooldown control styling for neon theme */ +.wplace-theme-neon .wplace-cooldown-control { + margin: 8px 0; +} + +.wplace-theme-neon .wplace-cooldown-control label { + color: var(--wplace-text) !important; + font-weight: 500; + font-size: 11px; + text-shadow: 0 0 8px var(--wplace-text) !important; + font-family: var(--wplace-font) !important; + text-transform: uppercase; + margin-bottom: 6px; + display: block; +} + /* Resize dialog styling for neon theme */ .wplace-theme-neon .resize-container { background: #1a1a2e !important;