fix: persist competitor tracking and remove unsupported metrics and alerts
This commit is contained in:
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user