Dateien nach "frontend/src/tools" hochladen
This commit is contained in:
@@ -8,6 +8,11 @@ const DEFAULTS = {
|
|||||||
strompreis_pro_kwh: 0.38, druckerpreis: 550,
|
strompreis_pro_kwh: 0.38, druckerpreis: 550,
|
||||||
gesamtdruckstunden: 5000, verschleiss_pro_stunde: 0.25,
|
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 getFarbFaktor = n => Math.round((1.0 + Math.max(0, n - 1) * 0.1) * 100) / 100;
|
||||||
const STUFEN = [
|
const STUFEN = [
|
||||||
{ key:'f', emoji:'💖', label:'Freundschaft', mult:1.0, c:'#ff6b9d' },
|
{ 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,
|
druckerpreis: editData.druckerpreis,
|
||||||
gesamtdruckstunden: editData.gesamtdruckstunden,
|
gesamtdruckstunden: editData.gesamtdruckstunden,
|
||||||
verschleiss_pro_stunde: editData.verschleiss_pro_stunde,
|
verschleiss_pro_stunde: editData.verschleiss_pro_stunde,
|
||||||
} : { ...DEFAULTS });
|
} : { ...getEffectiveDefaults() });
|
||||||
const [showAdv, setShowAdv] = useState(false);
|
const [showAdv, setShowAdv] = useState(false);
|
||||||
const [name, setName] = useState(editData?.name ?? '');
|
const [name, setName] = useState(editData?.name ?? '');
|
||||||
const [bemerkung, setBemerkung] = useState(editData?.bemerkung ?? '');
|
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>
|
<span style={{ display:'inline-block', transform:showAdv?'rotate(90deg)':'rotate(0)', transition:'transform 0.18s' }}>▶</span>
|
||||||
Erweiterte Einstellungen
|
Erweiterte Einstellungen
|
||||||
<span style={{ marginLeft:'auto', fontSize:9, background:'rgba(78,205,196,0.1)', borderRadius:3, padding:'2px 6px', color:'#4ecdc4' }}>
|
<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>
|
</span>
|
||||||
</button>
|
</button>
|
||||||
{showAdv && (
|
{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="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}/>
|
<SmallInput label="Verschleiß €/h" value={vars.verschleiss_pro_stunde} onChange={v=>sv('verschleiss_pro_stunde',v)} step={0.01}/>
|
||||||
</div>
|
</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>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user