Uspojnienie zachowania w konfiguracji dodatków dla internetu

This commit is contained in:
dm
2025-12-12 06:48:43 +01:00
parent 3ff91a7364
commit b53bbf2a5e

View File

@@ -18,12 +18,23 @@ export default function InternetAddonsModal({ isOpen, onClose, plan }) {
// czy akordeon internetu (fiber) jest rozwinięty // czy akordeon internetu (fiber) jest rozwinięty
const [baseOpen, setBaseOpen] = useState(true); const [baseOpen, setBaseOpen] = useState(true);
const formatFeatureValue = (val) => { const formatFeatureValue = (val) => {
if (val === true || val === "true") return "✓"; if (val === true || val === "true") return "✓";
if (val === false || val === "false" || val == null) return "✕"; if (val === false || val === "false" || val == null) return "✕";
return val; return val;
}; };
const handlePhoneSelect = (id) => {
if (id === null) {
setSelectedPhoneId(null);
setOpenPhoneId(null);
return;
}
setSelectedPhoneId(id);
setOpenPhoneId((prev) => (prev === id ? null : id));
};
// reset wyborów po otwarciu nowego planu // reset wyborów po otwarciu nowego planu
useEffect(() => { useEffect(() => {
if (!isOpen) return; if (!isOpen) return;
@@ -182,10 +193,7 @@ export default function InternetAddonsModal({ isOpen, onClose, plan }) {
<button <button
type="button" type="button"
class="fuz-accordion-header" class="fuz-accordion-header"
onClick={() => { onClick={() => handlePhoneSelect(null)}
setSelectedPhoneId(null);
setOpenPhoneId(null);
}}
> >
<span class="fuz-accordion-header-left"> <span class="fuz-accordion-header-left">
<input <input
@@ -194,8 +202,7 @@ export default function InternetAddonsModal({ isOpen, onClose, plan }) {
checked={selectedPhoneId === null} checked={selectedPhoneId === null}
onChange={(e) => { onChange={(e) => {
e.stopPropagation(); e.stopPropagation();
setSelectedPhoneId(null); handlePhoneSelect(null);
setOpenPhoneId(null);
}} }}
onClick={(e) => e.stopPropagation()} onClick={(e) => e.stopPropagation()}
/> />
@@ -207,6 +214,7 @@ export default function InternetAddonsModal({ isOpen, onClose, plan }) {
</button> </button>
</div> </div>
{/* LISTA PAKIETÓW TELEFONICZNYCH */} {/* LISTA PAKIETÓW TELEFONICZNYCH */}
{phonePlans.map((p) => { {phonePlans.map((p) => {
const isSelected = selectedPhoneId === p.id; const isSelected = selectedPhoneId === p.id;
@@ -214,15 +222,14 @@ export default function InternetAddonsModal({ isOpen, onClose, plan }) {
return ( return (
<div <div
class={`fuz-accordion-item ${ class={`fuz-accordion-item ${isOpen ? "is-open" : ""
isOpen ? "is-open" : "" }`}
}`}
key={p.id} key={p.id}
> >
<button <button
type="button" type="button"
class="fuz-accordion-header" class="fuz-accordion-header"
onClick={() => togglePhoneOpen(p.id)} onClick={() => handlePhoneSelect(p.id)}
> >
<span class="fuz-accordion-header-left"> <span class="fuz-accordion-header-left">
<input <input
@@ -231,7 +238,7 @@ export default function InternetAddonsModal({ isOpen, onClose, plan }) {
checked={isSelected} checked={isSelected}
onChange={(e) => { onChange={(e) => {
e.stopPropagation(); e.stopPropagation();
setSelectedPhoneId(p.id); handlePhoneSelect(p.id);
}} }}
onClick={(e) => e.stopPropagation()} onClick={(e) => e.stopPropagation()}
/> />