fix: persist competitor tracking and remove unsupported metrics and alerts

This commit is contained in:
2026-09-06 14:12:43 +03:00
parent 463fd06d30
commit 83df706631
7 changed files with 74 additions and 51 deletions
+17 -5
View File
@@ -166,7 +166,7 @@ export const AppProvider = ({ children }) => {
useEffect(() => {
notificationVersion.current++;notificationMutation.current=null;seenServerNotifications.current.clear();setNotificationError(null);setNotificationBusy(false);
aiRunRef.current=null;setAiAnalyzing(false);setAiJobStatus('');
dataRevisions.current={};setTeamError(null);
dataRevisions.current={};setTeamError(null);setCompetitorError(null);
setVeriSenkron(false); setPlan(null); setSaveError(null);
setFavoriteKurumlar([]); setTeamMembers([]); setSavedFilters([]); setCompetitorWatchlist([]);
setReminderSettings(defaultReminder()); setUserProfile(defaultProfile(authUser));
@@ -351,9 +351,21 @@ export const AppProvider = ({ children }) => {
// Enterprise Module States
// Rakip izleme listesi — kullanıcı gerçek kazanan firma analizinden ekler (hesaba özel sunucu kaydı)
const [competitorWatchlist, setCompetitorWatchlist] = useState([]);
useEffect(() => {
if (veriSenkron) ilkYazmaDegil('rakip_izleme', competitorWatchlist);
}, [competitorWatchlist, veriSenkron]);
const competitorSaveLock=useRef(false);
const [competitorSaving,setCompetitorSaving]=useState(false);
const [competitorError,setCompetitorError]=useState(null);
const saveCompetitorWatchlist=async change=>{
if(!authUser||!veriSenkron){setCompetitorError('Hesap verileri yüklenmeden rakip listesi kaydedilemez.');return false;}
if(competitorSaveLock.current)return false;
const session=getToken();competitorSaveLock.current=true;setCompetitorSaving(true);setCompetitorError(null);
try {
const next=typeof change==='function'?change(competitorWatchlist):change;
const saved=await setUserData('rakip_izleme',next,dataRevisions.current.rakip_izleme ?? null);
if(getToken()!==session)return false;
dataRevisions.current.rakip_izleme=saved.revision;setCompetitorWatchlist(next);return true;
}catch(error){if(getToken()===session)setCompetitorError(error.message);return false;}
finally{competitorSaveLock.current=false;setCompetitorSaving(false);}
};
// --- Favori kurumlar (sunucu kaydı) ---
const [favoriteKurumlar, setFavoriteKurumlar] = useState([]);
@@ -810,7 +822,7 @@ export const AppProvider = ({ children }) => {
aiAnalyzing,
aiJobStatus,
competitorWatchlist,
setCompetitorWatchlist,
saveCompetitorWatchlist,competitorSaving,competitorError,
vaultDocuments,
setVaultDocuments,
reminderSettings,