diff --git a/.erb/configs/.eslintrc b/.erb/configs/.eslintrc index 0b03f74f..97b04b45 100644 --- a/.erb/configs/.eslintrc +++ b/.erb/configs/.eslintrc @@ -4,5 +4,6 @@ "global-require": "off", "import/no-dynamic-require": "off", "prettier/prettier": 0, + "import/prefer-default-export": "off" } } diff --git a/.eslintrc.js b/.eslintrc.js index 975caa7e..8072be9d 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -7,6 +7,7 @@ module.exports = { // Since React 17 and typescript 4.1 you can safely disable the rule 'react/react-in-jsx-scope': 'off', 'prettier/prettier': 0, + "import/prefer-default-export": "off" }, parserOptions: { ecmaVersion: 2020, diff --git a/.husky/pre-commit b/.husky/pre-commit deleted file mode 100644 index 36af2198..00000000 --- a/.husky/pre-commit +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh -. "$(dirname "$0")/_/husky.sh" - -npx lint-staged diff --git a/assets/icons/1024x1024.png b/assets/icons/1024x1024.png deleted file mode 100644 index 5940b65a..00000000 Binary files a/assets/icons/1024x1024.png and /dev/null differ diff --git a/assets/icons/128x128.png b/assets/icons/128x128.png deleted file mode 100644 index 14e578d2..00000000 Binary files a/assets/icons/128x128.png and /dev/null differ diff --git a/assets/icons/16x16.png b/assets/icons/16x16.png deleted file mode 100644 index 260a46cb..00000000 Binary files a/assets/icons/16x16.png and /dev/null differ diff --git a/assets/icons/24x24.png b/assets/icons/24x24.png deleted file mode 100644 index 56172416..00000000 Binary files a/assets/icons/24x24.png and /dev/null differ diff --git a/assets/icons/256x256.png b/assets/icons/256x256.png deleted file mode 100644 index 755a6e51..00000000 Binary files a/assets/icons/256x256.png and /dev/null differ diff --git a/assets/icons/32x32.png b/assets/icons/32x32.png deleted file mode 100644 index 63423dfe..00000000 Binary files a/assets/icons/32x32.png and /dev/null differ diff --git a/assets/icons/48x48.png b/assets/icons/48x48.png deleted file mode 100644 index 74d87a0c..00000000 Binary files a/assets/icons/48x48.png and /dev/null differ diff --git a/assets/icons/512x512.png b/assets/icons/512x512.png deleted file mode 100644 index 313cd499..00000000 Binary files a/assets/icons/512x512.png and /dev/null differ diff --git a/assets/icons/64x64.png b/assets/icons/64x64.png deleted file mode 100644 index 6de0ec0e..00000000 Binary files a/assets/icons/64x64.png and /dev/null differ diff --git a/assets/icons/96x96.png b/assets/icons/96x96.png deleted file mode 100644 index 8255ab58..00000000 Binary files a/assets/icons/96x96.png and /dev/null differ diff --git a/assets/logo1.png b/assets/logo1.png new file mode 100644 index 00000000..830ac6a9 Binary files /dev/null and b/assets/logo1.png differ diff --git a/assets/logo2.png b/assets/logo2.png new file mode 100644 index 00000000..8de727fe Binary files /dev/null and b/assets/logo2.png differ diff --git a/package-lock.json b/package-lock.json index b0bb1450..2f7d80ce 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,7 +14,9 @@ "history": "^5.3.0", "react": "^18.0.0", "react-dom": "^18.0.0", - "react-router-dom": "^6.3.0" + "react-icons": "^4.3.1", + "react-router-dom": "^6.3.0", + "tailwind-scrollbar-hide": "^1.1.7" }, "devDependencies": { "@pmmmwh/react-refresh-webpack-plugin": "0.5.5", @@ -14536,6 +14538,15 @@ "react": "^18.0.0" } }, + "node_modules/react-icons": { + "version": "4.3.1", + "resolved": "https://npm.zone51.tf/react-icons/-/react-icons-4.3.1.tgz", + "integrity": "sha512-cB10MXLTs3gVuXimblAdI71jrJx8njrJZmNMEMC+sQu5B/BIOmlsAjskdqpn81y8UBVEGuHODd7/ci5DvoSzTQ==", + "license": "MIT", + "peerDependencies": { + "react": "*" + } + }, "node_modules/react-is": { "version": "17.0.2", "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", @@ -16071,6 +16082,12 @@ "dev": true, "license": "MIT" }, + "node_modules/tailwind-scrollbar-hide": { + "version": "1.1.7", + "resolved": "https://npm.zone51.tf/tailwind-scrollbar-hide/-/tailwind-scrollbar-hide-1.1.7.tgz", + "integrity": "sha512-X324n9OtpTmOMqEgDUEA/RgLrNfBF/jwJdctaPZDzB3mppxJk7TLIDmOreEDm1Bq4R9LSPu4Epf8VSdovNU+iA==", + "license": "MIT" + }, "node_modules/tailwindcss": { "version": "3.0.24", "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.0.24.tgz", @@ -27992,6 +28009,12 @@ "scheduler": "^0.21.0" } }, + "react-icons": { + "version": "4.3.1", + "resolved": "https://npm.zone51.tf/react-icons/-/react-icons-4.3.1.tgz", + "integrity": "sha512-cB10MXLTs3gVuXimblAdI71jrJx8njrJZmNMEMC+sQu5B/BIOmlsAjskdqpn81y8UBVEGuHODd7/ci5DvoSzTQ==", + "requires": {} + }, "react-is": { "version": "17.0.2", "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", @@ -29081,6 +29104,11 @@ "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", "dev": true }, + "tailwind-scrollbar-hide": { + "version": "1.1.7", + "resolved": "https://npm.zone51.tf/tailwind-scrollbar-hide/-/tailwind-scrollbar-hide-1.1.7.tgz", + "integrity": "sha512-X324n9OtpTmOMqEgDUEA/RgLrNfBF/jwJdctaPZDzB3mppxJk7TLIDmOreEDm1Bq4R9LSPu4Epf8VSdovNU+iA==" + }, "tailwindcss": { "version": "3.0.24", "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.0.24.tgz", diff --git a/package.json b/package.json index 10c6f6ea..fa59157a 100644 --- a/package.json +++ b/package.json @@ -32,13 +32,7 @@ }, "build": { "extraResources": [ - { - "from": "./src/extraResources/", - "to": "extraResources", - "filter": [ - "**/*" - ] - } + "./assets/**" ], "productName": "ElectronReact", "appId": "org.erb.ElectronReact", @@ -94,9 +88,6 @@ "buildResources": "assets", "output": "release/build" }, - "extraResources": [ - "./assets/**" - ], "publish": { "provider": "github", "owner": "electron-react-boilerplate", @@ -248,7 +239,9 @@ "history": "^5.3.0", "react": "^18.0.0", "react-dom": "^18.0.0", - "react-router-dom": "^6.3.0" + "react-icons": "^4.3.1", + "react-router-dom": "^6.3.0", + "tailwind-scrollbar-hide": "^1.1.7" }, "devEngines": { "node": ">=14.x", diff --git a/src/extraResources/depot-downloader/DepotDownloader.dll b/src/extraResources/depot-downloader/DepotDownloader.dll index 6319a47a..073638d5 100644 Binary files a/src/extraResources/depot-downloader/DepotDownloader.dll and b/src/extraResources/depot-downloader/DepotDownloader.dll differ diff --git a/src/extraResources/depot-downloader/DepotDownloader.pdb b/src/extraResources/depot-downloader/DepotDownloader.pdb index a9df2d8a..7639db06 100644 Binary files a/src/extraResources/depot-downloader/DepotDownloader.pdb and b/src/extraResources/depot-downloader/DepotDownloader.pdb differ diff --git a/src/main/ipcs/bs-download-ipcs.ts b/src/main/ipcs/bs-download-ipcs.ts index 4b540ff0..ea3e713e 100644 --- a/src/main/ipcs/bs-download-ipcs.ts +++ b/src/main/ipcs/bs-download-ipcs.ts @@ -42,8 +42,10 @@ ipcMain.on('bs-download.start', async (event, args: InitDownloadInfoInterface) = console.log(out); if(out[0] === "[Progress]"){ event.reply('bs-download.progress', out[1]); } - else if(out[0] === "[Password]" || out[0].includes('[Password]')){ event.reply('bs-download.ask-password'); } - else if(out[0] === "[any]"){ event.reply('bs-download.progress', out); } + else if(out[0] === "[Password]"){ event.reply('bs-download.ask-password'); } + else if(out[0] === "[2FA]"){ event.reply('bs-download.ask-2fa'); } + else if(out[0] === "[Guard]"){ event.reply('bs-download.ask-guard'); } + else if(out[0] === "[Error]"){ event.reply('bs-download.error', out); } }); diff --git a/src/main/ipcs/custom-ipcs.ts b/src/main/ipcs/custom-ipcs.ts index d2a985dd..d65a9fbf 100644 --- a/src/main/ipcs/custom-ipcs.ts +++ b/src/main/ipcs/custom-ipcs.ts @@ -1 +1,2 @@ -import './bs-download-ipcs'; \ No newline at end of file +import './bs-download-ipcs'; +import './window-controls-ipcs'; diff --git a/src/main/ipcs/window-controls-ipcs.ts b/src/main/ipcs/window-controls-ipcs.ts new file mode 100644 index 00000000..092cd841 --- /dev/null +++ b/src/main/ipcs/window-controls-ipcs.ts @@ -0,0 +1,19 @@ +import { ipcMain } from 'electron'; +import { getMainWindow } from '../main'; + +ipcMain.on('window.close', () => { + getMainWindow()?.close(); +}); + +ipcMain.on('window.maximize', () => { + getMainWindow()?.maximize(); +}); + +ipcMain.on('window.minimize', () => { + getMainWindow()?.minimize(); +}); + +ipcMain.on('window.reset', () => { + console.log('aaaaaa'); + getMainWindow()?.restore(); +}); diff --git a/src/main/main.ts b/src/main/main.ts index 18568493..3549e453 100644 --- a/src/main/main.ts +++ b/src/main/main.ts @@ -26,6 +26,10 @@ export default class AppUpdater { let mainWindow: BrowserWindow | null = null; +export function getMainWindow(): BrowserWindow | null{ + return mainWindow; +} + ipcMain.on('ipc-example', async (event, arg) => { const msgTemplate = (pingPong: string) => `IPC test: ${pingPong}`; console.log(msgTemplate(arg)); @@ -74,6 +78,10 @@ const createWindow = async () => { show: false, width: 1024, height: 728, + minWidth: 800, + minHeight: 500, + frame: false, + titleBarOverlay: false, icon: getAssetPath('icon.png'), webPreferences: { preload: app.isPackaged @@ -82,6 +90,8 @@ const createWindow = async () => { }, }); + + mainWindow.loadURL(resolveHtmlPath('index.html')); mainWindow.on('ready-to-show', () => { diff --git a/src/main/preload.ts b/src/main/preload.ts index bc549cfe..c3e2037a 100644 --- a/src/main/preload.ts +++ b/src/main/preload.ts @@ -1,6 +1,6 @@ import { contextBridge, ipcRenderer, IpcRendererEvent } from 'electron'; -export type Channels = 'bs-download.start'|'bs-download.send-input'; +export type Channels = 'bs-download.start'|'bs-download.send-input'|'window.close'|'window.maximize'|'window.minimize'|'window.reset'; export type ReplyChannels = 'bs-download.ask-password'; diff --git a/src/renderer/App.tsx b/src/renderer/App.tsx index 84515930..72ac583b 100644 --- a/src/renderer/App.tsx +++ b/src/renderer/App.tsx @@ -1,8 +1,17 @@ -import 'tailwindcss/tailwind.css'; +import { NavBar } from "./components/nav-bar/nav-bar.component"; +import TitleBar from "./components/title-bar/title-bar.component"; + export default function App() { + return ( -