From 2ae6e901f2545d3e88600b5857abc4598452e1ea Mon Sep 17 00:00:00 2001 From: SamuNatsu Date: Sat, 26 Aug 2023 18:09:43 +0800 Subject: [PATCH] Update 0.2.0 --- README.md | 2 + build.sh | 17 + frontend/@.vue | 210 -------- frontend/README.md | 6 +- frontend/app.vue | 20 +- frontend/assets/icons/logo.svg | 1 + frontend/components/DLModeSelector.vue | 33 ++ frontend/components/FileSelector.vue | 3 - frontend/components/LangSwitch.vue | 10 +- frontend/components/ProgressBar.vue | 21 + frontend/components/Receiver.vue | 80 +-- frontend/components/Sender.vue | 141 +++-- frontend/components/app/Footer.vue | 2 +- frontend/components/app/Header.vue | 10 +- frontend/i18n.config.ts | 9 + frontend/i18n/en.json | 6 +- frontend/i18n/zh.json | 6 +- frontend/layouts/default.vue | 7 +- frontend/nuxt.config.ts | 15 +- frontend/package.json | 8 +- frontend/pages/index.vue | 29 +- frontend/pnpm-lock.yaml | 686 ++++++++++++++----------- frontend/server.js | 7 - frontend/tailwind.config.ts | 2 + frontend/utils/dl.ts | 64 +++ frontend/utils/p2p_recv.ts | 91 ++-- frontend/utils/p2p_send.ts | 45 +- 27 files changed, 813 insertions(+), 718 deletions(-) create mode 100755 build.sh delete mode 100644 frontend/@.vue create mode 100755 frontend/assets/icons/logo.svg create mode 100644 frontend/components/DLModeSelector.vue create mode 100644 frontend/components/ProgressBar.vue create mode 100644 frontend/i18n.config.ts delete mode 100644 frontend/server.js create mode 100644 frontend/utils/dl.ts diff --git a/README.md b/README.md index 1092785..c0af61d 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,4 @@ # P2P-Transfer + A P2P File Transfer Web App + diff --git a/build.sh b/build.sh new file mode 100755 index 0000000..8283e1f --- /dev/null +++ b/build.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +rm -rf ./build +mkdir ./build + +cd ./frontend +pnpm install +pnpm generate +cp -r ./dist ../build/www +cd .. + +cd ./backend +pnpm install +pnpm build +cp ./dist/server.min.mjs ./package.json ../build +cd .. + diff --git a/frontend/@.vue b/frontend/@.vue deleted file mode 100644 index b7248f8..0000000 --- a/frontend/@.vue +++ /dev/null @@ -1,210 +0,0 @@ - - - diff --git a/frontend/README.md b/frontend/README.md index 595dda9..e0719a5 100644 --- a/frontend/README.md +++ b/frontend/README.md @@ -1,6 +1,6 @@ -# Nuxt 3 Minimal Starter +# Frontend -Look at the [Nuxt 3 documentation](https://nuxt.com/docs/getting-started/introduction) to learn more. +Frontend for P2P Transfer ## Setup @@ -59,5 +59,3 @@ pnpm run preview # yarn yarn preview ``` - -Check out the [deployment documentation](https://nuxt.com/docs/getting-started/deployment) for more information. diff --git a/frontend/app.vue b/frontend/app.vue index 0347ee7..19589e8 100644 --- a/frontend/app.vue +++ b/frontend/app.vue @@ -8,20 +8,12 @@ async function onBeforeEnter(): Promise { diff --git a/frontend/assets/icons/logo.svg b/frontend/assets/icons/logo.svg new file mode 100755 index 0000000..9ecc12f --- /dev/null +++ b/frontend/assets/icons/logo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/components/DLModeSelector.vue b/frontend/components/DLModeSelector.vue new file mode 100644 index 0000000..419871c --- /dev/null +++ b/frontend/components/DLModeSelector.vue @@ -0,0 +1,33 @@ + + + diff --git a/frontend/components/FileSelector.vue b/frontend/components/FileSelector.vue index b55d7eb..cd38578 100644 --- a/frontend/components/FileSelector.vue +++ b/frontend/components/FileSelector.vue @@ -2,7 +2,6 @@ /* Properties */ defineProps<{ id: string; - disabled: boolean; }>(); /* Emits */ @@ -14,13 +13,11 @@ defineEmits<{ diff --git a/frontend/nuxt.config.ts b/frontend/nuxt.config.ts index c089d07..f133f33 100644 --- a/frontend/nuxt.config.ts +++ b/frontend/nuxt.config.ts @@ -4,23 +4,27 @@ import pkg from './package.json'; /* Export config */ export default defineNuxtConfig({ devtools: { enabled: true }, - modules: ['@nuxtjs/i18n', '@nuxtjs/tailwindcss'], + modules: ['@nuxtjs/i18n', '@nuxtjs/tailwindcss', 'nuxt-svgo'], i18n: { defaultLocale: 'en', - detectBrowserLanguage: {}, + detectBrowserLanguage: { + cookieKey: 'language', + redirectOn: 'all', + useCookie: true + }, lazy: true, langDir: './i18n', locales: [ { code: 'en', - iso: 'en-US', file: './en.json', + iso: 'en-US', name: 'English' }, { code: 'zh', - iso: 'zh-CN', file: './zh.json', + iso: 'zh-CN', name: '中文' } ], @@ -34,6 +38,9 @@ export default defineNuxtConfig({ version: pkg.version } }, + svgo: { + defaultImport: 'component' + }, vite: { server: { proxy: { diff --git a/frontend/package.json b/frontend/package.json index da4f24a..e08c9c4 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -1,7 +1,7 @@ { "name": "nuxt-app", "private": true, - "version": "0.1.1", + "version": "0.2.0", "scripts": { "build": "nuxt build", "dev": "nuxt dev", @@ -16,11 +16,13 @@ "@types/node": "^18.17.11", "@types/qrcode": "^1.5.1", "@types/streamsaver": "^2.0.1", - "express": "^4.18.2", - "nuxt": "^3.6.5" + "nuxt": "^3.7.0", + "nuxt-svgo": "^3.4.1", + "serve": "^14.2.1" }, "dependencies": { "@kyvg/vue3-notification": "^3.0.1", + "js-base64": "^3.7.5", "qrcode": "^1.5.3", "socket.io-client": "^4.7.2", "streamsaver": "^2.0.6" diff --git a/frontend/pages/index.vue b/frontend/pages/index.vue index 1e7ef15..505a75c 100644 --- a/frontend/pages/index.vue +++ b/frontend/pages/index.vue @@ -21,6 +21,7 @@ const refs = reactive({ }); const recvRef: Ref = ref(); +/* Functions */ function init() { if (recvRef.value === undefined) { return; @@ -42,17 +43,23 @@ onMounted((): void => {