Skip to content

Commit a86f663

Browse files
authored
Merge pull request #4 from oktayyavuz/main
Discord present and app icon added
2 parents c3b0fb9 + 291d6c9 commit a86f663

9 files changed

Lines changed: 1314 additions & 44 deletions

File tree

.gitattributes

Lines changed: 0 additions & 2 deletions
This file was deleted.

.gitignore

Lines changed: 0 additions & 22 deletions
This file was deleted.

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
![SetScript Banner](https://socialify.git.ci/setscript/SetScript-Desktop/image?description=1&font=Inter&forks=1&language=1&name=1&owner=1&pattern=Floating+Cogs&stargazers=1&theme=Dark)
44

5-
SetScript Desktop, yeni nesil kod paylaşım platformu SetScript'in resmi masaüstü uygulamasıdır. ![setscript.com](https://setscript.com)'un tüm özelliklerine ekstra olarak masa üstü programına özel özellikleri ve çevrimdışı destek ile masaüstünüzde deneyimleyin.
5+
SetScript Desktop, yeni nesil kod paylaşım platformu SetScript'in resmi masaüstü uygulamasıdır. [setscript.com](https://setscript.com)'un tüm özelliklerine ekstra olarak masa üstü programına özel özellikleri ve çevrimdışı destek ile masaüstünüzde deneyimleyin.
66

77
## Özellikler
88

assets/icon.png

154 KB
Loading

bun.lock

Lines changed: 1200 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

main.js

Lines changed: 54 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ const fs = require('fs');
44
const express = require('express');
55
const ejs = require('ejs');
66
const expressApp = express();
7+
const RPC = require('discord-rpc');
78

89
let mainWindow;
910
let 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) {
5455
function 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+
6998
async 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ı
306338
app.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
389421
ipcMain.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
432464
ipcMain.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+
});

package-lock.json

Lines changed: 58 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
"dependencies": {
1414
"@emotion/react": "^11.11.1",
1515
"@emotion/styled": "^11.11.0",
16+
"discord-rpc": "^4.0.1",
1617
"ejs": "^3.1.10",
1718
"electron-store": "^8.1.0",
1819
"express": "^4.21.2",

public/images/icon.png

154 KB
Loading

0 commit comments

Comments
 (0)