From 6f9442a02e041b4b3c1ad717b7ab273f04cc34ab Mon Sep 17 00:00:00 2001 From: nkhangg Date: Tue, 3 Jun 2025 21:58:23 +0700 Subject: [PATCH] update start up --- electron-builder.yml | 4 ++-- package-lock.json | 9 ++++++++- package.json | 5 +++-- src/main/index.ts | 23 ++++++++++++++--------- src/renderer/src/components/CardItem.tsx | 2 +- 5 files changed, 28 insertions(+), 15 deletions(-) diff --git a/electron-builder.yml b/electron-builder.yml index 2eddcb6..d90f163 100644 --- a/electron-builder.yml +++ b/electron-builder.yml @@ -16,8 +16,8 @@ asarUnpack: - resources/** win: - target: portable - executableName: New-item, + target: nsis + executableName: New-item publisherName: apactech portable: diff --git a/package-lock.json b/package-lock.json index 74012ff..954a2b6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -20,7 +20,8 @@ "axios": "^1.9.0", "electron-updater": "^6.3.9", "moment": "^2.30.1", - "pusher-js": "^8.4.0" + "pusher-js": "^8.4.0", + "windows-shortcuts": "^0.1.6" }, "devDependencies": { "@electron-toolkit/eslint-config-prettier": "^3.0.0", @@ -10979,6 +10980,12 @@ "string-width": "^1.0.2 || 2 || 3 || 4" } }, + "node_modules/windows-shortcuts": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/windows-shortcuts/-/windows-shortcuts-0.1.6.tgz", + "integrity": "sha512-kjkb3Hmmmg7jwnOb+29AOmoEEA1L/JeLsMOYovpLxYpuc+fN0R+pr8sMwep3JFhUZloxyw1XTzq8n3HugXkqBA==", + "license": "MIT" + }, "node_modules/word-wrap": { "version": "1.2.5", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", diff --git a/package.json b/package.json index fde2d26..c648759 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "new-item-app", - "version": "1.0.3", + "version": "1.0.5", "description": "new item application is active", "main": "./out/main/index.js", "author": "apactech.io", @@ -32,7 +32,8 @@ "axios": "^1.9.0", "electron-updater": "^6.3.9", "moment": "^2.30.1", - "pusher-js": "^8.4.0" + "pusher-js": "^8.4.0", + "windows-shortcuts": "^0.1.6" }, "devDependencies": { "@electron-toolkit/eslint-config-prettier": "^3.0.0", diff --git a/src/main/index.ts b/src/main/index.ts index cd2fb1f..9b80fc8 100644 --- a/src/main/index.ts +++ b/src/main/index.ts @@ -5,6 +5,7 @@ import { app, BrowserWindow, globalShortcut, ipcMain, Menu, screen, shell, Tray import fs from 'fs' import path, { join } from 'path' import icon from '../../resources/icon.png?asset' +import ws from 'windows-shortcuts' let mainWindow: null | BrowserWindow = null let isQuiting = false @@ -111,18 +112,22 @@ function createTray() { // initialization and is ready to create browser windows. // Some APIs can only be used after this event occurs. app.whenReady().then(() => { - const startupFlagFile = path.join(app.getPath('userData'), 'startup-set.flag') + // const startupFlagFile = path.join(app.getPath('userData'), 'startup-set.flag') + const startupFolder = path.join( + app.getPath('appData'), + 'Microsoft\\Windows\\Start Menu\\Programs\\Startup' + ) + const shortcutPath = path.join(startupFolder, 'New Item.lnk') - if (!fs.existsSync(startupFlagFile)) { - app.setLoginItemSettings({ - openAtLogin: true, - path: process.execPath, - args: [] + if (!fs.existsSync(shortcutPath)) { + ws.create(shortcutPath, { + target: process.execPath, + workingDir: path.dirname(process.execPath), + runStyle: 1, + desc: 'Start New Item with Windows', + icon: process.execPath }) - - fs.writeFileSync(startupFlagFile, 'ok') } - // Set app user model id for windows electronApp.setAppUserModelId('com.electron') diff --git a/src/renderer/src/components/CardItem.tsx b/src/renderer/src/components/CardItem.tsx index 631176b..0096eb4 100644 --- a/src/renderer/src/components/CardItem.tsx +++ b/src/renderer/src/components/CardItem.tsx @@ -20,7 +20,7 @@ const CardItem: React.FC = ({ item, hotItem }) => { justifyContent: 'center' }} > - {true ? ( + {hotItem ? (