-
Notifications
You must be signed in to change notification settings - Fork 101
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
112 changed files
with
12,314 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
*.log | ||
pnpm-debug.log* | ||
|
||
web/node_modules | ||
web/dist | ||
web/web | ||
|
||
.DS_Store | ||
*.local | ||
*.suo | ||
*.ntvs* | ||
*.njsproj | ||
*.sln | ||
*.sw? | ||
|
||
.idea | ||
.vscode |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
root = true | ||
|
||
[*] | ||
charset = utf-8 | ||
indent_style = space | ||
indent_size = 2 | ||
end_of_line = lf | ||
insert_final_newline = true | ||
trim_trailing_whitespace = true |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
module.exports = { | ||
root: true, | ||
env: { browser: true, es2020: true }, | ||
extends: [ | ||
'eslint:recommended', | ||
'plugin:@typescript-eslint/recommended', | ||
'plugin:react-hooks/recommended', | ||
'prettier', | ||
], | ||
ignorePatterns: ['dist', '.eslintrc.cjs'], | ||
parser: '@typescript-eslint/parser', | ||
plugins: ['react-refresh'], | ||
rules: { | ||
'@typescript-eslint/no-explicit-any': 'off', | ||
'react-refresh/only-export-components': [ | ||
'warn', | ||
{ allowConstantExport: true }, | ||
], | ||
}, | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
*.hbs |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
singleQuote: true | ||
trailingComma: none | ||
printWidth: 100 | ||
tabWidth: 2 | ||
bracketSpacing: true | ||
importOrder: | ||
- ^(react/(.*)$)|^(react$) | ||
- ^(next/(.*)$)|^(next$) | ||
- <THIRD_PARTY_MODULES> | ||
- '' | ||
- ^types$ | ||
- ^@/assets(.*)$ | ||
- ^@/api/(.*)$ | ||
- ^@/types$ | ||
- ^@/lib/(.*)$ | ||
- ^@/jotai/(.*)$ | ||
- ^@/hooks/(.*)$ | ||
- ^@/components/(.*)$ | ||
- ^@/pages/(.*)$ | ||
- ^@/styles/(.*)$ | ||
- '' | ||
- '^[./]' | ||
importOrderSeparation: false | ||
importOrderSortSpecifiers: true | ||
importOrderBuiltinModulesToTop: true | ||
importOrderParserPlugins: | ||
- typescript | ||
- jsx | ||
- tsx | ||
- decorators-legacy | ||
importOrderMergeDuplicateImports: true | ||
importOrderCombineTypeAndValueImports: true | ||
plugins: | ||
- '@ianvs/prettier-plugin-sort-imports' | ||
- prettier-plugin-tailwindcss |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
# NanoKVM Frontend | ||
|
||
## Structure | ||
|
||
```shell | ||
src | ||
├── api // backend api | ||
├── assets // static resouces | ||
├── components // public components | ||
├── i18n // i18n | ||
├── jotai // Global jotai variables | ||
├── lib // lib | ||
├── pages // web pages | ||
│ ├── auth // login and password | ||
│ ├── desktop // remote desktop | ||
│ └── terminal // web terminal | ||
├── router.tsx // routers | ||
└── types // types | ||
``` | ||
|
||
## Deployment | ||
|
||
Build: | ||
|
||
```shell | ||
cd web | ||
pnpm install | ||
pnpm build | ||
``` | ||
|
||
Once compilation is complete, the `dist` folder will be generated. Rename the folder to `web` and upload it to the `/kvmapp/server/` directory in NanoKVM. | ||
Then, restart the service by executing `/etc/init.d/S95nanokvm` in NanoKVM. | ||
|
||
Additionally, browser may have old version cache. If you can't open the page, try a force refresh or clear the cache. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
# NanoKVM 前端页面 | ||
|
||
## 目录结构 | ||
|
||
```shell | ||
src | ||
├── api // 后端接口 | ||
├── assets // 资源文件 | ||
├── components // 公共组件 | ||
├── i18n // 多语言 | ||
├── jotai // 全局 jotai 变量 | ||
├── lib // lib | ||
├── pages // 页面 | ||
│ ├── auth // 鉴权页面 | ||
│ ├── desktop // 远程桌面 | ||
│ └── terminal // 终端 | ||
├── router.tsx // 路由 | ||
└── types // 类型定义 | ||
``` | ||
|
||
## 部署 | ||
|
||
编译: | ||
|
||
```shell | ||
cd web | ||
pnpm install | ||
pnpm build | ||
``` | ||
|
||
编译完成后会生成 `dist` 文件夹,将该文件夹重命名为 `web` 并上传到 NanoKVM 的 `/kvmapp/server/` 目录下。 | ||
然后在 NanoKVM 中执行 `/etc/init.d/S95nanokvm restart` 重启服务即可。 | ||
|
||
|
||
注意:更新 web 目录后,浏览器可能会有缓存。如果遇到打不开页面的情况,请强制刷新或清空缓存。 | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
<!doctype html> | ||
<html lang="en"> | ||
<head> | ||
<meta charset="UTF-8" /> | ||
<link rel="icon" type="image/svg+xml" href="/sipeed.ico" /> | ||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> | ||
<title>NanoKVM</title> | ||
</head> | ||
<body> | ||
<div id="root"></div> | ||
<script type="module" src="/src/main.tsx"></script> | ||
</body> | ||
</html> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
{ | ||
"name": "web", | ||
"private": true, | ||
"version": "0.0.0", | ||
"type": "module", | ||
"scripts": { | ||
"dev": "vite", | ||
"build": "tsc && vite build", | ||
"lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0", | ||
"preview": "vite preview" | ||
}, | ||
"dependencies": { | ||
"@ant-design/icons": "^5.3.7", | ||
"@xterm/addon-attach": "^0.11.0", | ||
"@xterm/addon-fit": "^0.10.0", | ||
"@xterm/xterm": "^5.5.0", | ||
"antd": "^5.19.2", | ||
"axios": "^1.7.2", | ||
"clsx": "^2.1.1", | ||
"crypto-js": "^4.2.0", | ||
"i18next": "^23.11.5", | ||
"jotai": "^2.9.0", | ||
"js-cookie": "^3.0.5", | ||
"lucide-react": "^0.408.0", | ||
"react": "^18.2.0", | ||
"react-dom": "^18.2.0", | ||
"react-error-boundary": "^4.0.13", | ||
"react-helmet-async": "^2.0.5", | ||
"react-i18next": "^14.1.2", | ||
"react-responsive": "^10.0.0", | ||
"react-router-dom": "^6.23.1", | ||
"react-simple-keyboard": "^3.7.124", | ||
"semver": "^7.6.3", | ||
"vaul": "^0.9.1", | ||
"websocket": "^1.0.35" | ||
}, | ||
"devDependencies": { | ||
"@ianvs/prettier-plugin-sort-imports": "^4.2.1", | ||
"@types/crypto-js": "^4.2.2", | ||
"@types/js-cookie": "^3.0.6", | ||
"@types/react": "^18.2.66", | ||
"@types/react-dom": "^18.2.22", | ||
"@types/semver": "^7.5.8", | ||
"@types/websocket": "^1.0.10", | ||
"@typescript-eslint/eslint-plugin": "^7.10.0", | ||
"@typescript-eslint/parser": "^7.10.0", | ||
"@vitejs/plugin-react": "^4.2.1", | ||
"autoprefixer": "^10.4.19", | ||
"eslint": "^8.57.0", | ||
"eslint-config-prettier": "^9.1.0", | ||
"eslint-plugin-react": "^7.34.1", | ||
"eslint-plugin-react-hooks": "^4.6.0", | ||
"eslint-plugin-react-refresh": "^0.4.6", | ||
"postcss": "^8.4.38", | ||
"prettier": "^3.2.5", | ||
"prettier-plugin-tailwindcss": "^0.5.14", | ||
"tailwindcss": "^3.4.3", | ||
"typescript": "^5.2.2", | ||
"vite": "^5.2.0", | ||
"vite-tsconfig-paths": "^4.3.2" | ||
} | ||
} |
Oops, something went wrong.