@@ -191,52 +191,28 @@ function startServer() {
191191// Ayarlar event handler'ları
192192ipcMain . 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
220209ipcMain . 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
289265ipcMain . 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
416408ipcMain . 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
506530app . whenReady ( ) . then ( async ( ) => {
507531 try {
0 commit comments