diff --git a/src/main/user/normal/index.ts b/src/main/user/normal/index.ts index aec6b21..6cb29c4 100644 --- a/src/main/user/normal/index.ts +++ b/src/main/user/normal/index.ts @@ -1,5 +1,5 @@ import { ipcMain } from 'electron'; -import { copyFile, mkdir } from 'fs/promises'; +import { copyFile, mkdir, rm } from 'fs/promises'; import { extname } from 'path'; import { IPCChannel } from '../../../constants/ipc'; import { UserConfig, UserProfile, UserType } from '../../../interfaces/user'; @@ -100,6 +100,7 @@ export class NormalUser implements IUser { ipcMain.handle(IPCChannel.User.SET_PROFILE(this.id), async (e, { name, avatar }: UserProfile) => { this._settings.config = { profile: { name } }; + const oldPath = this._settings.config.profile.avatar; if (avatar) { const targetName = `Avatar${extname(avatar)}`; const targetPath = getUserDataPath(this.id, targetName); @@ -117,6 +118,9 @@ export class NormalUser implements IUser { this._settings.config = { profile: { avatar: null } }; } + if (oldPath) + await rm(oldPath); + const windows = Main.windowManager.getWindows(this); windows.forEach((window) => { window.viewManager.views.forEach((view) => view.setBounds());