Skip to content

Commit b04b58e

Browse files
authored
Implement backup reminder and dismiss functionality
Add backup reminder system and related functions
1 parent dfa6f4f commit b04b58e

1 file changed

Lines changed: 67 additions & 1 deletion

File tree

script.js

Lines changed: 67 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -313,6 +313,10 @@ const DashboardManager = {
313313
textSpan.className = 'note-text';
314314
textSpan.textContent = note.text;
315315

316+
// Çift tıklama ile düzenleme
317+
textSpan.ondblclick = () => this.editNote(note.id);
318+
div.ondblclick = () => this.editNote(note.id);
319+
316320
const actions = document.createElement('div');
317321
actions.className = 'note-actions';
318322

@@ -2119,6 +2123,9 @@ window.exportData = function() {
21192123
document.body.removeChild(a);
21202124
URL.revokeObjectURL(url);
21212125

2126+
// Son yedekleme tarihini kaydet
2127+
localStorage.setItem('lastBackupDate', Date.now().toString());
2128+
21222129
showToast("Yedek indirildi!", "success");
21232130
};
21242131

@@ -2325,7 +2332,63 @@ window.cancelConfirm = function() {
23252332
};
23262333

23272334
// ==========================================
2328-
// 20. GLOBAL KLAVYE KISAYOLLARI
2335+
// 21. YEDEKLEME UYARI SİSTEMİ
2336+
// ==========================================
2337+
2338+
function checkBackupReminder() {
2339+
const lastBackup = localStorage.getItem('lastBackupDate');
2340+
const now = Date.now();
2341+
const sevenDays = 7 * 24 * 60 * 60 * 1000;
2342+
2343+
if (!lastBackup || (now - parseInt(lastBackup)) > sevenDays) {
2344+
// Son yedek 7 günden eski veya hiç yedek alınmamış
2345+
const daysSince = lastBackup
2346+
? Math.floor((now - parseInt(lastBackup)) / (24 * 60 * 60 * 1000))
2347+
: '∞';
2348+
2349+
setTimeout(() => {
2350+
const reminder = document.createElement('div');
2351+
reminder.className = 'backup-reminder';
2352+
reminder.innerHTML = `
2353+
<div class="backup-reminder-content">
2354+
<div class="backup-icon">💾</div>
2355+
<div class="backup-text">
2356+
<strong>Yedekleme Hatırlatması</strong>
2357+
<p>Son yedek: ${daysSince === '∞' ? 'Hiç alınmadı' : daysSince + ' gün önce'}</p>
2358+
</div>
2359+
<div class="backup-actions">
2360+
<button onclick="dismissBackupReminder()" class="btn-dismiss">Daha Sonra</button>
2361+
<button onclick="openBackupNow()" class="btn-backup-now">Yedek Al</button>
2362+
</div>
2363+
</div>
2364+
`;
2365+
document.body.appendChild(reminder);
2366+
2367+
// 3 saniye sonra animasyonla göster
2368+
setTimeout(() => reminder.classList.add('show'), 100);
2369+
}, 3000); // Sayfa yüklendikten 3 saniye sonra
2370+
}
2371+
}
2372+
2373+
window.dismissBackupReminder = function() {
2374+
const reminder = document.querySelector('.backup-reminder');
2375+
if (reminder) {
2376+
reminder.classList.remove('show');
2377+
setTimeout(() => reminder.remove(), 300);
2378+
// 3 gün sonra tekrar hatırlat
2379+
localStorage.setItem('backupReminderDismissed', Date.now());
2380+
}
2381+
};
2382+
2383+
window.openBackupNow = function() {
2384+
dismissBackupReminder();
2385+
openSettingsModal();
2386+
// Yedekleme tarihini güncelle
2387+
localStorage.setItem('lastBackupDate', Date.now().toString());
2388+
};
2389+
2390+
// ==========================================
2391+
// 22. CLEANUP VE EVENT LISTENERS
23292392
// ==========================================
23302393

23312394
document.addEventListener('keydown', function(event) {
@@ -2412,6 +2475,9 @@ document.addEventListener('DOMContentLoaded', () => {
24122475
PasswordsManager.render();
24132476
CalendarManager.init();
24142477

2478+
// Yedekleme hatırlatıcısını kontrol et
2479+
checkBackupReminder();
2480+
24152481
console.log('✅ RootPanel v2.0 başarıyla yüklendi!');
24162482

24172483
} catch (error) {

0 commit comments

Comments
 (0)