Dateien nach "frontend/src/tools" hochladen
This commit is contained in:
@@ -8,6 +8,11 @@ const DEFAULTS = {
|
||||
strompreis_pro_kwh: 0.38, druckerpreis: 550,
|
||||
gesamtdruckstunden: 5000, verschleiss_pro_stunde: 0.25,
|
||||
};
|
||||
const LS_CUSTOM = 'dd_kalk3d_custom_defaults';
|
||||
const getEffectiveDefaults = () => {
|
||||
try { const s = localStorage.getItem(LS_CUSTOM); if (s) return { ...DEFAULTS, ...JSON.parse(s) }; } catch {}
|
||||
return { ...DEFAULTS };
|
||||
};
|
||||
const getFarbFaktor = n => Math.round((1.0 + Math.max(0, n - 1) * 0.1) * 100) / 100;
|
||||
const STUFEN = [
|
||||
{ key:'f', emoji:'💖', label:'Freundschaft', mult:1.0, c:'#ff6b9d' },
|
||||
@@ -99,7 +104,7 @@ export default function Kalkulator3D({ toast, editData, onEditDone, mobile }) {
|
||||
druckerpreis: editData.druckerpreis,
|
||||
gesamtdruckstunden: editData.gesamtdruckstunden,
|
||||
verschleiss_pro_stunde: editData.verschleiss_pro_stunde,
|
||||
} : { ...DEFAULTS });
|
||||
} : { ...getEffectiveDefaults() });
|
||||
const [showAdv, setShowAdv] = useState(false);
|
||||
const [name, setName] = useState(editData?.name ?? '');
|
||||
const [bemerkung, setBemerkung] = useState(editData?.bemerkung ?? '');
|
||||
@@ -184,7 +189,7 @@ export default function Kalkulator3D({ toast, editData, onEditDone, mobile }) {
|
||||
<span style={{ display:'inline-block', transform:showAdv?'rotate(90deg)':'rotate(0)', transition:'transform 0.18s' }}>▶</span>
|
||||
Erweiterte Einstellungen
|
||||
<span style={{ marginLeft:'auto', fontSize:9, background:'rgba(78,205,196,0.1)', borderRadius:3, padding:'2px 6px', color:'#4ecdc4' }}>
|
||||
{Object.entries(vars).some(([k,v]) => v !== DEFAULTS[k]) ? 'GEÄNDERT' : 'STANDARD'}
|
||||
{Object.entries(vars).some(([k,v]) => v !== getEffectiveDefaults()[k]) ? 'GEÄNDERT' : 'STANDARD'}
|
||||
</span>
|
||||
</button>
|
||||
{showAdv && (
|
||||
@@ -197,7 +202,21 @@ export default function Kalkulator3D({ toast, editData, onEditDone, mobile }) {
|
||||
<SmallInput label="Lebensdauer h" value={vars.gesamtdruckstunden} onChange={v=>sv('gesamtdruckstunden',v)} step={100}/>
|
||||
<SmallInput label="Verschleiß €/h" value={vars.verschleiss_pro_stunde} onChange={v=>sv('verschleiss_pro_stunde',v)} step={0.01}/>
|
||||
</div>
|
||||
<button onClick={() => setVars({...DEFAULTS})} style={{ ...S.btn('#ff6b9d', true), marginTop:10 }}>↺ Standard</button>
|
||||
<div style={{ display:'flex', gap:8, marginTop:10 }}>
|
||||
<button onClick={() => {
|
||||
localStorage.setItem(LS_CUSTOM, JSON.stringify(vars));
|
||||
toast('Als persönlicher Standard gespeichert ✓');
|
||||
}} style={{ ...S.btn('#4ecdc4', true), flex:1, textAlign:'center' }}>
|
||||
★ Als Standard speichern
|
||||
</button>
|
||||
<button onClick={() => {
|
||||
localStorage.removeItem(LS_CUSTOM);
|
||||
setVars({ ...DEFAULTS });
|
||||
toast('Auf Werkseinstellungen zurückgesetzt');
|
||||
}} style={{ ...S.btn('#ff6b9d', true) }} title="Werkseinstellungen wiederherstellen">
|
||||
↺
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user