Primeiro commit

This commit is contained in:
root
2025-06-06 08:46:00 +01:00
commit cf2ac9caca
35 changed files with 4954 additions and 0 deletions

90
src/pages/Settings.jsx Executable file
View File

@@ -0,0 +1,90 @@
// src/pages/Settings.jsx
import React, { useState } from 'react';
const Settings = () => {
// Estados para armazenar os valores dos sliders e caixas de entrada
const [currentLimit, setCurrentLimit] = useState(32);
const [powerLimit, setPowerLimit] = useState(0);
const [energyLimit, setEnergyLimit] = useState(0);
const [chargingTimeLimit, setChargingTimeLimit] = useState(0);
const [temperatureLimit, setTemperatureLimit] = useState(60);
const handleCurrentLimitChange = (e) => setCurrentLimit(e.target.value);
const handlePowerLimitChange = (e) => setPowerLimit(e.target.value);
const handleEnergyLimitChange = (e) => setEnergyLimit(e.target.value);
const handleChargingTimeLimitChange = (e) => setChargingTimeLimit(e.target.value);
const handleTemperatureLimitChange = (e) => setTemperatureLimit(e.target.value);
return (
<div className="settings-container">
<h1 className="settings-title">Configurações Gerais</h1>
<div className="settings-item">
<label>Corrente Máxima de Carregamento (A):</label>
<div className="slider-container">
<input
type="range"
min="5"
max="32"
value={currentLimit}
onChange={handleCurrentLimitChange}
/>
<span>{currentLimit} A</span>
</div>
</div>
<div className="settings-item">
<label>Limite de Potência Máxima (W):</label>
<div className="slider-container">
<input
type="range"
min="1000"
max="10000"
value={powerLimit}
onChange={handlePowerLimitChange}
/>
<span>{powerLimit} W</span>
</div>
</div>
<div className="settings-item">
<label>Limite de Consumo Total de Energia (kWh):</label>
<input
type="number"
min="0"
value={energyLimit}
onChange={handleEnergyLimitChange}
/>
</div>
<div className="settings-item">
<label>Limite de Tempo de Carregamento (h):</label>
<input
type="number"
min="1"
max="24"
value={chargingTimeLimit}
onChange={handleChargingTimeLimitChange}
/>
</div>
<div className="settings-item">
<label>Limite de Temperatura Máxima do EVSE (ºC):</label>
<div className="slider-container">
<input
type="range"
min="60"
max="80"
value={temperatureLimit}
onChange={handleTemperatureLimitChange}
/>
<span>{temperatureLimit} ºC</span>
</div>
</div>
<button className="save-button">Salvar Configurações</button>
</div>
);
};
export default Settings;