Skip to content

Commit 8067d1c

Browse files
committed
backup
1 parent 251df7c commit 8067d1c

3 files changed

Lines changed: 334 additions & 245 deletions

File tree

main.js

Lines changed: 86 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -191,52 +191,28 @@ function startServer() {
191191
// Ayarlar event handler'ları
192192
ipcMain.on('save-settings', (event, settings) => {
193193
try {
194-
// SetScript klasörünü kontrol et
195-
if (!fs.existsSync(setScriptPath)) {
196-
fs.mkdirSync(setScriptPath, { recursive: true });
197-
}
198-
199-
const settingsPath = path.join(setScriptPath, 'settings.json');
200-
fs.writeFileSync(settingsPath, JSON.stringify(settings, null, 2));
201-
202-
// Ayarları uygula
203-
if (settings.isFullscreen) {
204-
mainWindow.setFullScreen(true);
194+
// Ayarları kaydet
195+
if (saveSettings(settings)) {
196+
// Ayarları uygula
197+
applySettings(settings);
198+
// Başarılı mesajı gönder
199+
event.sender.send('settings-saved', { success: true });
205200
} else {
206-
mainWindow.setFullScreen(false);
201+
event.sender.send('settings-saved', { success: false, error: 'Ayarlar kaydedilemedi' });
207202
}
208-
209-
mainWindow.setAlwaysOnTop(settings.isAlwaysOnTop);
210-
211-
// Tüm pencerelere ayarları gönder
212-
BrowserWindow.getAllWindows().forEach(window => {
213-
window.webContents.send('settings-loaded', settings);
214-
});
215203
} catch (error) {
216-
console.error('Ayarları kaydetme hatası:', error);
204+
console.error('Ayarlar kaydedilirken hata:', error);
205+
event.sender.send('settings-saved', { success: false, error: error.message });
217206
}
218207
});
219208

220209
ipcMain.on('get-settings', (event) => {
221210
try {
222-
const settingsPath = path.join(setScriptPath, 'settings.json');
223-
let settings = {
224-
isFullscreen: false,
225-
isAlwaysOnTop: false
226-
};
227-
228-
if (fs.existsSync(settingsPath)) {
229-
const data = fs.readFileSync(settingsPath, 'utf8');
230-
settings = JSON.parse(data);
231-
}
232-
211+
const settings = loadSettings();
233212
event.sender.send('settings-loaded', settings);
234213
} catch (error) {
235-
console.error('Ayarları yükleme hatası:', error);
236-
event.sender.send('settings-loaded', {
237-
isFullscreen: false,
238-
isAlwaysOnTop: false
239-
});
214+
console.error('Ayarlar yüklenirken hata:', error);
215+
event.sender.send('settings-loaded', defaultSettings);
240216
}
241217
});
242218

@@ -285,7 +261,7 @@ ipcMain.handle('save-page', async (event, pageData) => {
285261
}
286262
});
287263

288-
// Kaydedilmiş sayfaları getir
264+
// Kaydedilen sayfaları getir
289265
ipcMain.handle('get-saved-pages', async () => {
290266
try {
291267
const bookmarksPath = path.join(setScriptPath, 'bookmarks.json');
@@ -295,8 +271,47 @@ ipcMain.handle('get-saved-pages', async () => {
295271
}
296272
return [];
297273
} catch (error) {
298-
console.error('Kaydedilmiş sayfaları getirme hatası:', error);
299-
return [];
274+
console.error('Kaydedilen sayfalar getirilirken hata:', error);
275+
throw error;
276+
}
277+
});
278+
279+
// Belirli bir sayfayı getir
280+
ipcMain.handle('get-page', async (event, pageId) => {
281+
try {
282+
const bookmarksPath = path.join(setScriptPath, 'bookmarks.json');
283+
if (fs.existsSync(bookmarksPath)) {
284+
const data = fs.readFileSync(bookmarksPath, 'utf8');
285+
const pages = JSON.parse(data);
286+
return pages.find(page => page.id === pageId);
287+
}
288+
return null;
289+
} catch (error) {
290+
console.error('Sayfa getirilirken hata:', error);
291+
throw error;
292+
}
293+
});
294+
295+
// Sayfa silme işlemi
296+
ipcMain.handle('delete-page', async (event, pageId) => {
297+
try {
298+
const bookmarksPath = path.join(setScriptPath, 'bookmarks.json');
299+
if (fs.existsSync(bookmarksPath)) {
300+
let bookmarks = JSON.parse(fs.readFileSync(bookmarksPath, 'utf8'));
301+
bookmarks = bookmarks.filter(page => page.id !== pageId);
302+
fs.writeFileSync(bookmarksPath, JSON.stringify(bookmarks, null, 2));
303+
304+
// Tüm pencerelere güncel listeyi gönder
305+
BrowserWindow.getAllWindows().forEach(window => {
306+
window.webContents.send('saved-pages', bookmarks);
307+
});
308+
309+
return { success: true };
310+
}
311+
return { success: false, error: 'Bookmarks dosyası bulunamadı' };
312+
} catch (error) {
313+
console.error('Sayfa silme hatası:', error);
314+
throw error;
300315
}
301316
});
302317

@@ -389,29 +404,6 @@ function loadOfflinePage(id) {
389404
}
390405
}
391406

392-
// Sayfa silme işlemi
393-
ipcMain.handle('delete-page', async (event, pageId) => {
394-
try {
395-
const bookmarksPath = path.join(setScriptPath, 'bookmarks.json');
396-
if (fs.existsSync(bookmarksPath)) {
397-
let bookmarks = JSON.parse(fs.readFileSync(bookmarksPath, 'utf8'));
398-
bookmarks = bookmarks.filter(page => page.id !== pageId);
399-
fs.writeFileSync(bookmarksPath, JSON.stringify(bookmarks, null, 2));
400-
401-
// Tüm pencerelere güncel listeyi gönder
402-
BrowserWindow.getAllWindows().forEach(window => {
403-
window.webContents.send('saved-pages', bookmarks);
404-
});
405-
406-
return { success: true };
407-
}
408-
return { success: false, error: 'Bookmarks dosyası bulunamadı' };
409-
} catch (error) {
410-
console.error('Sayfa silme hatası:', error);
411-
throw error;
412-
}
413-
});
414-
415407
// Düzenleme işlemi
416408
ipcMain.on('edit-bookmark', async (event, data) => {
417409
try {
@@ -502,6 +494,38 @@ ipcMain.on('delete-bookmark', async (event, id) => {
502494
}
503495
});
504496

497+
// Sayfa güncelleme işlemi
498+
ipcMain.handle('update-page', async (event, pageData) => {
499+
try {
500+
const bookmarksPath = path.join(setScriptPath, 'bookmarks.json');
501+
let bookmarks = [];
502+
503+
if (fs.existsSync(bookmarksPath)) {
504+
const data = fs.readFileSync(bookmarksPath, 'utf8');
505+
bookmarks = JSON.parse(data);
506+
}
507+
508+
const pageIndex = bookmarks.findIndex(page => page.id === pageData.id);
509+
if (pageIndex !== -1) {
510+
// Mevcut sayfayı güncelle
511+
bookmarks[pageIndex] = {
512+
...bookmarks[pageIndex],
513+
name: pageData.name,
514+
description: pageData.description,
515+
updatedAt: new Date().toISOString()
516+
};
517+
518+
fs.writeFileSync(bookmarksPath, JSON.stringify(bookmarks, null, 2));
519+
return { success: true };
520+
} else {
521+
throw new Error('Sayfa bulunamadı');
522+
}
523+
} catch (error) {
524+
console.error('Sayfa güncelleme hatası:', error);
525+
throw error;
526+
}
527+
});
528+
505529
// Uygulama başlatıldığında
506530
app.whenReady().then(async () => {
507531
try {

preload.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,12 @@ contextBridge.exposeInMainWorld('electronAPI', {
55
savePage: (pageData) => ipcRenderer.invoke('save-page', pageData),
66
getSavedPages: () => ipcRenderer.invoke('get-saved-pages'),
77
onSavedPages: (callback) => ipcRenderer.on('saved-pages', callback),
8+
getPage: (pageId) => ipcRenderer.invoke('get-page', pageId),
9+
deletePage: (pageId) => ipcRenderer.invoke('delete-page', pageId),
10+
updatePage: (pageData) => ipcRenderer.invoke('update-page', pageData),
811

912
// Ayarlar
1013
saveSettings: (settings) => ipcRenderer.send('save-settings', settings),
1114
getSettings: () => ipcRenderer.send('get-settings'),
12-
onSettingsLoaded: (callback) => ipcRenderer.on('settings-loaded', callback)
15+
onSettingsLoaded: (callback) => ipcRenderer.on('settings-loaded', callback),
1316
});

0 commit comments

Comments
 (0)