🔧 更新(autoMate/package-lock.json):更新依赖包localforage、match-sorter、react-router-dom和sort-by版本

🔧 更新(autoMate/package.json):更新依赖包localforage、match-sorter、react-router-dom和sort-by版本
🔧 更新(autoMate/src/main/config/window.ts):更改窗口宽度为600,添加node:url依赖
🔧 更新(autoMate/src/renderer/src/main.tsx):替换App组件为RouterProvider组件,并引入router
🔧 新增(autoMate/src/renderer/src/pages/Config.tsx):新增Config页面组件
🔧 新增(autoMate/src/renderer/src/pages/Home.tsx):新增Home页面组件
🔧 新增(autoMate/src/renderer/src/router/index.tsx):新增路由配置文件router
This commit is contained in:
ruotongyu
2024-06-11 22:48:16 +08:00
parent d58fe640ff
commit 88bfb8ea1a
7 changed files with 164 additions and 5 deletions

View File

@@ -14,6 +14,10 @@
"@icon-park/react": "^1.4.2",
"antd": "^5.18.0",
"electron-updater": "^6.1.7",
"localforage": "^1.10.0",
"match-sorter": "^6.3.4",
"react-router-dom": "^6.23.1",
"sort-by": "^1.2.0",
"zustand": "^4.5.2"
},
"devDependencies": {
@@ -1793,6 +1797,14 @@
"react-dom": ">=16.9.0"
}
},
"node_modules/@remix-run/router": {
"version": "1.16.1",
"resolved": "https://registry.npmmirror.com/@remix-run/router/-/router-1.16.1.tgz",
"integrity": "sha512-es2g3dq6Nb07iFxGk5GuHN20RwBZOsuDQN7izWIisUcv9r+d2C5jQxqmgkdebXgReWfiyUabcki6Fg77mSNrig==",
"engines": {
"node": ">=14.0.0"
}
},
"node_modules/@rollup/rollup-android-arm-eabi": {
"version": "4.18.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.18.0.tgz",
@@ -5955,6 +5967,11 @@
"node": ">= 4"
}
},
"node_modules/immediate": {
"version": "3.0.6",
"resolved": "https://registry.npmmirror.com/immediate/-/immediate-3.0.6.tgz",
"integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ=="
},
"node_modules/immutable": {
"version": "4.3.6",
"resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.6.tgz",
@@ -6743,6 +6760,14 @@
"node": ">= 0.8.0"
}
},
"node_modules/lie": {
"version": "3.1.1",
"resolved": "https://registry.npmmirror.com/lie/-/lie-3.1.1.tgz",
"integrity": "sha512-RiNhHysUjhrDQntfYSfY4MU24coXXdEOgw9WGcKHNeEwffDYbF//u87M1EWaMGzuFoSbqW0C9C6lEEhDOAswfw==",
"dependencies": {
"immediate": "~3.0.5"
}
},
"node_modules/lilconfig": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz",
@@ -6758,6 +6783,14 @@
"integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==",
"dev": true
},
"node_modules/localforage": {
"version": "1.10.0",
"resolved": "https://registry.npmmirror.com/localforage/-/localforage-1.10.0.tgz",
"integrity": "sha512-14/H1aX7hzBBmmh7sGPd+AOMkkIrHM3Z1PAyGgZigA1H1p5O5ANnMyWzvpAETtG68/dC4pC0ncy3+PPGzXZHPg==",
"dependencies": {
"lie": "3.1.1"
}
},
"node_modules/locate-path": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
@@ -6867,6 +6900,15 @@
"@jridgewell/sourcemap-codec": "^1.4.15"
}
},
"node_modules/match-sorter": {
"version": "6.3.4",
"resolved": "https://registry.npmmirror.com/match-sorter/-/match-sorter-6.3.4.tgz",
"integrity": "sha512-jfZW7cWS5y/1xswZo8VBOdudUiSd9nifYRWphc9M5D/ee4w4AoXLgBEdRbgVaxbMuagBPeUC5y2Hi8DO6o9aDg==",
"dependencies": {
"@babel/runtime": "^7.23.8",
"remove-accents": "0.5.0"
}
},
"node_modules/matcher": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/matcher/-/matcher-3.0.0.tgz",
@@ -7148,6 +7190,14 @@
"node": ">= 0.4"
}
},
"node_modules/object-path": {
"version": "0.6.0",
"resolved": "https://registry.npmmirror.com/object-path/-/object-path-0.6.0.tgz",
"integrity": "sha512-fxrwsCFi3/p+LeLOAwo/wyRMODZxdGBtUlWRzsEpsUVrisZbEfZ21arxLGfaWfcnqb8oHPNihIb4XPE8CQPN5A==",
"engines": {
"node": ">=0.8.0"
}
},
"node_modules/object.assign": {
"version": "4.1.5",
"resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz",
@@ -8351,6 +8401,36 @@
"node": ">=0.10.0"
}
},
"node_modules/react-router": {
"version": "6.23.1",
"resolved": "https://registry.npmmirror.com/react-router/-/react-router-6.23.1.tgz",
"integrity": "sha512-fzcOaRF69uvqbbM7OhvQyBTFDVrrGlsFdS3AL+1KfIBtGETibHzi3FkoTRyiDJnWNc2VxrfvR+657ROHjaNjqQ==",
"dependencies": {
"@remix-run/router": "1.16.1"
},
"engines": {
"node": ">=14.0.0"
},
"peerDependencies": {
"react": ">=16.8"
}
},
"node_modules/react-router-dom": {
"version": "6.23.1",
"resolved": "https://registry.npmmirror.com/react-router-dom/-/react-router-dom-6.23.1.tgz",
"integrity": "sha512-utP+K+aSTtEdbWpC+4gxhdlPFwuEfDKq8ZrPFU65bbRJY+l706qjR7yaidBpo3MSeA/fzwbXWbKBI6ftOnP3OQ==",
"dependencies": {
"@remix-run/router": "1.16.1",
"react-router": "6.23.1"
},
"engines": {
"node": ">=14.0.0"
},
"peerDependencies": {
"react": ">=16.8",
"react-dom": ">=16.8"
}
},
"node_modules/read-cache": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz",
@@ -8471,6 +8551,11 @@
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/remove-accents": {
"version": "0.5.0",
"resolved": "https://registry.npmmirror.com/remove-accents/-/remove-accents-0.5.0.tgz",
"integrity": "sha512-8g3/Otx1eJaVD12e31UbJj1YzdtVvzH85HV7t+9MJYk/u3XmkOUJ5Ys9wQrf9PCPK8+xn4ymzqYCiZl6QWKn+A=="
},
"node_modules/require-directory": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
@@ -8944,6 +9029,14 @@
"npm": ">= 3.0.0"
}
},
"node_modules/sort-by": {
"version": "1.2.0",
"resolved": "https://registry.npmmirror.com/sort-by/-/sort-by-1.2.0.tgz",
"integrity": "sha512-aRyW65r3xMnf4nxJRluCg0H/woJpksU1dQxRtXYzau30sNBOmf5HACpDd9MZDhKh7ALQ5FgSOfMPwZEtUmMqcg==",
"dependencies": {
"object-path": "0.6.0"
}
},
"node_modules/source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",

View File

@@ -26,6 +26,10 @@
"@icon-park/react": "^1.4.2",
"antd": "^5.18.0",
"electron-updater": "^6.1.7",
"localforage": "^1.10.0",
"match-sorter": "^6.3.4",
"react-router-dom": "^6.23.1",
"sort-by": "^1.2.0",
"zustand": "^4.5.2"
},
"devDependencies": {

View File

@@ -3,10 +3,11 @@ import { BrowserWindow, shell } from 'electron'
import { is } from '@electron-toolkit/utils'
import icon from '../../../resources/icon.png?asset'
import { join } from 'path'
import url from 'node:url'
export function createWindow(): BrowserWindow { // Create the browser window.
const win = new BrowserWindow({
width: 800,
width: 600,
height: 500,
center: true,
show: false,
@@ -34,9 +35,16 @@ export function createWindow(): BrowserWindow { // Create the browser window.
// HMR for renderer base on electron-vite cli.
// Load the remote URL for development or the local html file for production.
if (is.dev && process.env['ELECTRON_RENDERER_URL']) {
win.loadURL(process.env['ELECTRON_RENDERER_URL'])
win.loadURL(process.env['ELECTRON_RENDERER_URL'] + "/#config")
} else {
win.loadFile(join(__dirname, '../renderer/index.html'))
win.loadURL(
url.format({
pathname: join(__dirname, '../renderer/index.html'),
protocol: 'file',
slashes: true,
hash: 'config'
})
)
}
return win

View File

@@ -1,11 +1,12 @@
import React from 'react'
import ReactDOM from 'react-dom/client'
import App from './App'
import '@renderer/assets/tailwind.css'
import '@renderer/assets/global.scss'
import { RouterProvider } from 'react-router-dom'
import router from './router'
ReactDOM.createRoot(document.getElementById('root') as HTMLElement).render(
<React.StrictMode>
<App />
<RouterProvider router={router} />
</React.StrictMode>
)

View File

@@ -0,0 +1,8 @@
export default function Config(){
return (
<div>
Config
</div>
)
}

View File

@@ -0,0 +1,30 @@
import Result from "@renderer/components/Result"
import Search from "@renderer/components/Search"
import { CodeProvider } from "@renderer/context/CodeContext"
import useShortCut from "@renderer/hooks/useShortCut"
import Error from "@renderer/components/Error"
import { MutableRefObject, useEffect, useRef } from "react"
import useIgnoreMouseEvents from "@renderer/hooks/useIgnoreMouseEvents"
function Home(): JSX.Element {
const mainRef = useRef<HTMLDivElement>(null)
const {setIgnoreMouseEvents} = useIgnoreMouseEvents()
useEffect(()=>{
setIgnoreMouseEvents(mainRef as MutableRefObject<HTMLDivElement>)
}, [])
const shortCut = useShortCut()
shortCut.register("search", "CommandOrControl+n")
return (
<CodeProvider>
<main className="relative" ref={mainRef}>
<Error/>
<Search />
<Result />
</main>
</CodeProvider>
)
}
export default Home

View File

@@ -0,0 +1,15 @@
import Config from "@renderer/pages/Config";
import Home from "@renderer/pages/Home";
import { createHashRouter } from "react-router-dom";
const router = createHashRouter([
{
path: "/",
element: <Home />
},
{
path: "config",
element: <Config />
}
])
export default router