telegram-invite-automation/src/renderer/hooks/useSettingsActions.js
2026-02-01 14:39:30 +04:00

34 lines
1.1 KiB
JavaScript

export default function useSettingsActions({
settings,
setSettings,
setSettingsNotice,
showNotification
}) {
const onSettingsChange = (field, value) => {
setSettings((prev) => ({
...prev,
[field]: value
}));
};
const saveSettings = async () => {
if (!window.api) {
setSettingsNotice({ text: "Electron API недоступен. Откройте приложение в Electron.", tone: "error" });
showNotification("Electron API недоступен. Откройте приложение в Electron.", "error");
return;
}
try {
showNotification("Сохраняем настройки...", "info");
const updated = await window.api.saveSettings(settings);
setSettings(updated);
setSettingsNotice({ text: "Настройки сохранены.", tone: "success" });
} catch (error) {
const message = error.message || String(error);
setSettingsNotice({ text: message, tone: "error" });
showNotification(message, "error");
}
};
return { onSettingsChange, saveSettings };
}