import { useState } from 'react'
import { ContentSettings } from './components/content-settings'
import { trackSettingsSaved } from './lib/mixpanel'
import { initEntry, useBootstrap } from './hooks/use-bootstrap'
import { __ } from './lib/i18n'
import './index.css'
// Init Mixpanel
initEntry('llmagnetContentSettingsData', 'Content Settings');
export function ContentSettingsApp() {
const { data } = useBootstrap('llmagnetContentSettingsData');
const [saveHint, setSaveHint] = useState<'idle' | 'saved'>('idle');
if (!data) {
return
{__('Content settings data not found.', 'llmagnet-llm-txt-generator')}
;
}
const handleSettingsChange = async (newSettings: any) => {
trackSettingsSaved('content', Object.keys(newSettings));
try {
const response = await fetch(data.ajaxUrl, {
method: 'POST',
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
},
body: new URLSearchParams({
action: 'llmagnet_ai_seo_save_settings',
nonce: data.nonce,
settings: JSON.stringify(newSettings),
}),
});
if (!response.ok) {
throw new Error('Failed to save settings');
}
setSaveHint('saved');
window.setTimeout(() => setSaveHint('idle'), 2000);
} catch (err) {
console.error('Error saving settings:', err);
window.location.reload();
}
};
return (
{saveHint === 'saved' && (
{__('Settings saved', 'llmagnet-llm-txt-generator')}
)}
);
}