diff --git a/apps/desktop/assets/icon-1024x1024.png b/apps/desktop/assets/icon-1024x1024.png new file mode 100644 index 0000000..b8ec0aa Binary files /dev/null and b/apps/desktop/assets/icon-1024x1024.png differ diff --git a/apps/desktop/assets/icon-128x128.png b/apps/desktop/assets/icon-128x128.png new file mode 100644 index 0000000..a4f53d2 Binary files /dev/null and b/apps/desktop/assets/icon-128x128.png differ diff --git a/apps/desktop/assets/icon-16x16.png b/apps/desktop/assets/icon-16x16.png new file mode 100644 index 0000000..90c5c6c Binary files /dev/null and b/apps/desktop/assets/icon-16x16.png differ diff --git a/apps/desktop/assets/icon-256x256.png b/apps/desktop/assets/icon-256x256.png new file mode 100644 index 0000000..062b776 Binary files /dev/null and b/apps/desktop/assets/icon-256x256.png differ diff --git a/apps/desktop/assets/icon-32x32.png b/apps/desktop/assets/icon-32x32.png new file mode 100644 index 0000000..4bf34bb Binary files /dev/null and b/apps/desktop/assets/icon-32x32.png differ diff --git a/apps/desktop/assets/icon-512x512.png b/apps/desktop/assets/icon-512x512.png new file mode 100644 index 0000000..54a2a27 Binary files /dev/null and b/apps/desktop/assets/icon-512x512.png differ diff --git a/apps/desktop/assets/icon-64x64.png b/apps/desktop/assets/icon-64x64.png new file mode 100644 index 0000000..d2eea6c Binary files /dev/null and b/apps/desktop/assets/icon-64x64.png differ diff --git a/apps/desktop/assets/logo.icns b/apps/desktop/assets/logo.icns new file mode 100644 index 0000000..c92de53 Binary files /dev/null and b/apps/desktop/assets/logo.icns differ diff --git a/apps/desktop/assets/logo.ico b/apps/desktop/assets/logo.ico new file mode 100644 index 0000000..062b776 Binary files /dev/null and b/apps/desktop/assets/logo.ico differ diff --git a/apps/desktop/forge.config.ts b/apps/desktop/forge.config.ts index 67ea994..6fb495b 100644 --- a/apps/desktop/forge.config.ts +++ b/apps/desktop/forge.config.ts @@ -198,7 +198,7 @@ const config: ForgeConfig = { asar: true, name: "Amical", executableName: "Amical", - icon: "./assets/logo", // Path to your icon file (without extension) + icon: "./assets/logo.icns", // Path to your icon file extraResource: [ "../../packages/native-helpers/swift-helper/bin", "./src/db/migrations", @@ -289,11 +289,14 @@ const config: ForgeConfig = { }, rebuildConfig: {}, makers: [ - new MakerSquirrel({}), + new MakerSquirrel({ + name: "Amical", + setupIcon: "./assets/logo.ico", + }), new MakerDMG( { name: "Amical", - icon: "./assets/logo.svg", + icon: "./assets/logo.icns", // Volume icon (when DMG is mounted) }, ["darwin"], ), diff --git a/apps/desktop/index.html b/apps/desktop/index.html index 3ba3a0f..ab2d77b 100644 --- a/apps/desktop/index.html +++ b/apps/desktop/index.html @@ -3,6 +3,15 @@ Amical App + + + + + + + + +
diff --git a/apps/desktop/src/main/core/app-manager.ts b/apps/desktop/src/main/core/app-manager.ts index 49f40e7..3f97cdf 100644 --- a/apps/desktop/src/main/core/app-manager.ts +++ b/apps/desktop/src/main/core/app-manager.ts @@ -13,6 +13,8 @@ import { createIPCHandler } from "electron-trpc-experimental/main"; import { router } from "../../trpc/router"; import { EventHandlers } from "./event-handlers"; +import path from "path"; + export class AppManager { private windowManager: WindowManager; private serviceManager: ServiceManager; @@ -28,6 +30,13 @@ export class AppManager { async initialize(): Promise { try { await this.initializeDatabase(); + + // Set dock icon in development mode + if (process.platform === "darwin" && !app.isPackaged && app.dock) { + const iconPath = path.join(app.getAppPath(), "assets/logo.icns"); + app.dock.setIcon(iconPath); + logger.main.debug("Set development dock icon"); + } await this.requestPermissions(); await this.serviceManager.initialize(this.windowManager); this.exposeGlobalServices(); diff --git a/apps/desktop/widget.html b/apps/desktop/widget.html index b813088..685c988 100644 --- a/apps/desktop/widget.html +++ b/apps/desktop/widget.html @@ -3,6 +3,15 @@ Floating Button + + + + + + + + +