Добрый вечер.
Сделал звук на элементах, который проигрывается при наведение или клике. Вот так:
<li>
<Link onMouseOver={() => new Audio('/sound/menuhover.wav').play()} onClick={() => new Audio('/sound/openrouter.wav').play()} className={b({ block, elem: "item" })} href="/" target="_blank">
<span className={b({ block, elem: "support" })}></span>
<div className={b({ block, elem: "tooltip" })}>
<Translate>
{({ translate }) => <lang>{translate("navbar.support")}</lang>}
</Translate>
</div>
</Link>
</li>
И сделал кнопку, вкл и отключить звук, но не могу понять как отключить звук.
Если settings.isSound то звук должен быть отключен. Додумался только до того, чтоб если звук отключен, то через if выдавать в рендеринг один вариант элемента, а если включен, то элемент уже со звуком. Но это нужно каждый элемент оборачивать в проверку, так не хочется делать. Пример:
<li>
{settings.isSound ? (
<Link className={b({ block, elem: "item" })} to="/faq">
<span className={b({ block, elem: "faq" })}></span>
<div className={b({ block, elem: "tooltip" })}>
<Translate>
{({ translate }) => <lang>{translate("navbar.faq")}</lang>}
</Translate>
</div>
</Link>
) : (
<Link onMouseOver={() => new Audio('/sound/menuhover.wav').play()} onClick={() => new Audio('/sound/openrouter.wav').play()} className={b({ block, elem: "item" })} to="/faq">
<span className={b({ block, elem: "faq" })}></span>
<div className={b({ block, elem: "tooltip" })}>
<Translate>
{({ translate }) => <lang>{translate("navbar.faq")}</lang>}
</Translate>
</div>
</Link>
)}
</li>
Как глобальном сделать отключение звука?