@@ -4,6 +4,7 @@ const fs = require('fs');
44const express = require ( 'express' ) ;
55const ejs = require ( 'ejs' ) ;
66const expressApp = express ( ) ;
7+ const RPC = require ( 'discord-rpc' ) ;
78
89let mainWindow ;
910let server ;
@@ -26,11 +27,11 @@ function loadSettings() {
2627 try {
2728 if ( fs . existsSync ( settingsPath ) ) {
2829 const settings = JSON . parse ( fs . readFileSync ( settingsPath , 'utf8' ) ) ;
29- console . log ( 'Ayarlar yüklendi :' , settings ) ;
30+ console . log ( 'Ayarlar yuklendi :' , settings ) ;
3031 return { ...defaultSettings , ...settings } ;
3132 }
3233 } catch ( error ) {
33- console . error ( 'Ayarlar yüklenirken hata:' , error ) ;
34+ console . error ( 'Ayarlar yuklenirken hata:' , error ) ;
3435 }
3536 return defaultSettings ;
3637}
@@ -54,7 +55,7 @@ function saveSettings(settings) {
5455function applySettings ( settings ) {
5556 if ( ! mainWindow ) return ;
5657
57- console . log ( 'Ayarlar uygulanıyor :' , settings ) ;
58+ console . log ( 'Ayarlar uygulaniyor :' , settings ) ;
5859
5960 // Tam ekran ayarı
6061 mainWindow . setFullScreen ( settings . isFullscreen ) ;
@@ -66,6 +67,34 @@ function applySettings(settings) {
6667 saveSettings ( settings ) ;
6768}
6869
70+ // Discord Presence
71+
72+ const clientId = '1334819590710231072' ;
73+
74+
75+ DiscordRPC ( ) ;
76+
77+ function DiscordRPC ( ) {
78+ const rpc = new RPC . Client ( { transport : 'ipc' } ) ;
79+
80+ rpc . on ( 'ready' , ( ) => {
81+ console . log ( 'Discord RPC baglaniyor!' ) ;
82+
83+ rpc . setActivity ( {
84+ details : 'Türkiyenin En iyi yazılım Platformu' ,
85+ state : 'Göz atıyor...' ,
86+ startTimestamp : Date . now ( ) ,
87+ largeImageKey : 'large' ,
88+ largeImageText : 'SetScript' ,
89+ smallImageKey : 'icon' ,
90+ smallImageText : 'Çalışıyor' ,
91+ instance : false
92+ } ) ;
93+ } ) ;
94+
95+ rpc . login ( { clientId } ) . catch ( console . error ) ;
96+ }
97+
6998async function createWindow ( ) {
7099 // Klasörleri oluştur
71100 if ( ! fs . existsSync ( setScriptPath ) ) {
@@ -77,13 +106,14 @@ async function createWindow() {
77106 if ( ! fs . existsSync ( offlinePagesPath ) ) {
78107 fs . mkdirSync ( offlinePagesPath , { recursive : true } ) ;
79108 }
80-
109+ const iconPath = path . join ( __dirname , 'assets' , 'icon.png' ) ;
81110 // Ayarları yükle
82111 const settings = loadSettings ( ) ;
83112
84113 mainWindow = new BrowserWindow ( {
85114 width : 1200 ,
86115 height : 800 ,
116+ icon : iconPath ,
87117 frame : true ,
88118 autoHideMenuBar : true ,
89119 fullscreen : settings . isFullscreen ,
@@ -163,7 +193,7 @@ function startServer() {
163193 return new Promise ( ( resolve , reject ) => {
164194 server = expressApp . listen ( 0 , ( ) => {
165195 const port = server . address ( ) . port ;
166- console . log ( `Express server çalışıyor : http://localhost:${ port } ` ) ;
196+ console . log ( `Express server calisiyor : http://localhost:${ port } ` ) ;
167197 resolve ( `http://localhost:${ port } ` ) ;
168198 } ) ;
169199 } ) ;
@@ -192,7 +222,7 @@ ipcMain.on('get-settings', (event) => {
192222 const settings = loadSettings ( ) ;
193223 event . sender . send ( 'settings-loaded' , settings ) ;
194224 } catch ( error ) {
195- console . error ( 'Ayarlar yüklenirken hata:' , error ) ;
225+ console . error ( 'Ayarlar yuklenirken hata:' , error ) ;
196226 event . sender . send ( 'settings-loaded' , defaultSettings ) ;
197227 }
198228} ) ;
@@ -237,7 +267,7 @@ ipcMain.handle('save-page', async (event, pageData) => {
237267
238268 return { success : true , bookmark : newBookmark } ;
239269 } catch ( error ) {
240- console . error ( 'Sayfa kaydetme hatası :' , error ) ;
270+ console . error ( 'Sayfa kaydetme hatasi :' , error ) ;
241271 throw error ;
242272 }
243273} ) ;
@@ -291,7 +321,7 @@ ipcMain.handle('delete-page', async (event, pageId) => {
291321 }
292322 return { success : false , error : 'Bookmarks dosyası bulunamadı' } ;
293323 } catch ( error ) {
294- console . error ( 'Sayfa silme hatası :' , error ) ;
324+ console . error ( 'Sayfa silme hatasi :' , error ) ;
295325 throw error ;
296326 }
297327} ) ;
@@ -302,6 +332,8 @@ ipcMain.handle('get-webview-url', async (event) => {
302332 return webContents . getURL ( ) ;
303333} ) ;
304334
335+
336+
305337// WebView güvenlik ayarları
306338app . on ( 'web-contents-created' , ( event , contents ) => {
307339 if ( contents . getType ( ) === 'webview' ) {
@@ -323,7 +355,7 @@ app.on('web-contents-created', (event, contents) => {
323355
324356 // Hata durumunda
325357 contents . on ( 'did-fail-load' , ( event , errorCode , errorDescription ) => {
326- console . error ( 'WebView yükleme hatası :' , errorCode , errorDescription ) ;
358+ console . error ( 'WebView yukleme hatasi :' , errorCode , errorDescription ) ;
327359 } ) ;
328360 }
329361} ) ;
@@ -342,7 +374,7 @@ async function savePageOffline(url, id) {
342374
343375 // Eğer otomatik önizleme açıksa
344376 if ( settings . isAlwaysOnTop ) {
345- // Webview kullanarak sayfanın ekran görüntüsünü al
377+ // Webview kullanarak sayfanın ekran göruntüsünü al
346378 const view = new BrowserView ( {
347379 webPreferences : {
348380 offscreen : true
@@ -366,7 +398,7 @@ async function savePageOffline(url, id) {
366398
367399 return true ;
368400 } catch ( error ) {
369- console . error ( 'Sayfa çevrimdışı kaydedilirken hata:' , error ) ;
401+ console . error ( 'Sayfa cevrimdisi kaydedilirken hata:' , error ) ;
370402 return false ;
371403 }
372404}
@@ -380,15 +412,15 @@ function loadOfflinePage(id) {
380412 }
381413 return null ;
382414 } catch ( error ) {
383- console . error ( 'Çevrimdışı sayfa yüklenirken hata:' , error ) ;
415+ console . error ( 'Cevrimdisi sayfa yuklenirken hata:' , error ) ;
384416 return null ;
385417 }
386418}
387419
388420// Düzenleme işlemi
389421ipcMain . on ( 'edit-bookmark' , async ( event , data ) => {
390422 try {
391- console . log ( 'Düzenleme başlatıldı :' , data ) ;
423+ console . log ( 'Duzenleme baslatildi :' , data ) ;
392424 const jsonPath = path . join ( setScriptPath , 'bookmarks.json' ) ;
393425
394426 // JSON dosyasını oku
@@ -423,15 +455,15 @@ ipcMain.on('edit-bookmark', async (event, data) => {
423455 // Tüm kayıtları yeniden yükle
424456 mainWindow . webContents . send ( 'saved-pages' , bookmarks ) ;
425457 } catch ( error ) {
426- console . error ( 'Düzenleme hatası :' , error ) ;
458+ console . error ( 'Duzenleme hatasi :' , error ) ;
427459 event . reply ( 'bookmark-edited-error' , error . message ) ;
428460 }
429461} ) ;
430462
431463// Silme işlemi
432464ipcMain . on ( 'delete-bookmark' , async ( event , id ) => {
433465 try {
434- console . log ( 'Silme başlatıldı :' , id ) ;
466+ console . log ( 'Silme baslatildi :' , id ) ;
435467 const jsonPath = path . join ( setScriptPath , 'bookmarks.json' ) ;
436468
437469 // JSON dosyasını oku
@@ -470,7 +502,7 @@ ipcMain.on('delete-bookmark', async (event, id) => {
470502 // Tüm kayıtları yeniden yükle
471503 mainWindow . webContents . send ( 'saved-pages' , bookmarks ) ;
472504 } catch ( error ) {
473- console . error ( 'Silme hatası :' , error ) ;
505+ console . error ( 'Silme hatasi :' , error ) ;
474506 event . reply ( 'bookmark-deleted-error' , error . message ) ;
475507 }
476508} ) ;
@@ -502,7 +534,7 @@ ipcMain.handle('update-page', async (event, pageData) => {
502534 throw new Error ( 'Sayfa bulunamadı' ) ;
503535 }
504536 } catch ( error ) {
505- console . error ( 'Sayfa güncelleme hatası :' , error ) ;
537+ console . error ( 'Sayfa guncelleme hatasi :' , error ) ;
506538 throw error ;
507539 }
508540} ) ;
@@ -512,7 +544,7 @@ app.whenReady().then(async () => {
512544 try {
513545 await createWindow ( ) ;
514546 } catch ( error ) {
515- console . error ( 'Uygulama başlatma hatası :' , error ) ;
547+ console . error ( 'Uygulama baslatma hatasi :' , error ) ;
516548 }
517549} ) ;
518550
@@ -527,3 +559,7 @@ app.on('activate', () => {
527559 createWindow ( ) ;
528560 }
529561} ) ;
562+
563+ app . on ( 'ready' , ( ) => {
564+ DiscordRPC ( ) ;
565+ } ) ;
0 commit comments