From f868969bdea169ca523ee5f9dd83ed5b81e2c611 Mon Sep 17 00:00:00 2001 From: "min.jiang" Date: Tue, 25 Jun 2024 06:03:11 +0800 Subject: [PATCH] update --- frontend/index.html | 2 +- frontend/package.json | 1 + frontend/public/favicon.ico | Bin 4286 -> 16446 bytes frontend/src/App.vue | 18 ++ frontend/src/assets/images/home-bg-left.png | Bin 0 -> 40147 bytes frontend/src/assets/images/home-bg-right.png | Bin 0 -> 41253 bytes frontend/src/assets/lang/us.png | Bin 0 -> 1922 bytes frontend/src/assets/lang/zh.png | Bin 0 -> 1562 bytes frontend/src/assets/logo.svg | 9 +- frontend/src/assets/styles/_variables.scss | 4 + frontend/src/assets/styles/main.scss | 24 ++- frontend/src/components/FreeleapsEditor.vue | 6 +- frontend/src/components/LaguageSwitch.vue | 66 +++++++ frontend/src/components/PDFReader.vue | 3 + frontend/src/headers/HeaderGuest.vue | 19 +- frontend/src/headers/HeaderUser.vue | 24 ++- frontend/src/lang/en.js | 6 + frontend/src/lang/index.js | 32 +++ frontend/src/lang/zh.js | 3 + frontend/src/main.js | 2 + frontend/src/pages/guest/FrontDoor.vue | 1 + frontend/src/pages/public/About.vue | 28 ++- frontend/src/pages/public/Blogs.vue | 8 +- frontend/src/pages/public/Career.vue | 38 ++-- frontend/src/pages/public/Contact.vue | 69 ++++++- .../src/pages/user/account/UserHistory.vue | 186 +++++++++++++++++- frontend/src/pages/user/workspace/Home.vue | 10 +- .../user/workspace/requestIssue/Issue.vue | 17 +- frontend/src/plugins/store/basic.js | 75 +++++++ frontend/src/plugins/store/index.js | 4 +- frontend/src/utils/backend/websocket.js | 6 +- 31 files changed, 595 insertions(+), 66 deletions(-) create mode 100644 frontend/src/assets/images/home-bg-left.png create mode 100644 frontend/src/assets/images/home-bg-right.png create mode 100644 frontend/src/assets/lang/us.png create mode 100644 frontend/src/assets/lang/zh.png create mode 100644 frontend/src/components/LaguageSwitch.vue create mode 100644 frontend/src/lang/en.js create mode 100644 frontend/src/lang/index.js create mode 100644 frontend/src/lang/zh.js create mode 100644 frontend/src/plugins/store/basic.js diff --git a/frontend/index.html b/frontend/index.html index 99f583a..e19f748 100644 --- a/frontend/index.html +++ b/frontend/index.html @@ -4,7 +4,7 @@ - Vite App + Freeleaps
diff --git a/frontend/package.json b/frontend/package.json index 6911fa9..ec84f06 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -17,6 +17,7 @@ "pdfjs-dist": "^4.3.136", "pinia": "^2.1.6", "vue": "^3.3.4", + "vue-i18n": "^9.13.1", "vue-router": "^4.2.4", "vuex": "^4.1.0" }, diff --git a/frontend/public/favicon.ico b/frontend/public/favicon.ico index df36fcfb72584e00488330b560ebcf34a41c64c2..f831bc49dbc9d81e53d6ddd07c87f1bcc89f47bf 100644 GIT binary patch literal 16446 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 literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/frontend/src/App.vue b/frontend/src/App.vue index 4d83cb9..8c19f19 100644 --- a/frontend/src/App.vue +++ b/frontend/src/App.vue @@ -1,5 +1,7 @@ diff --git a/frontend/src/pages/public/Blogs.vue b/frontend/src/pages/public/Blogs.vue index bbd108c..1aba5c6 100644 --- a/frontend/src/pages/public/Blogs.vue +++ b/frontend/src/pages/public/Blogs.vue @@ -48,14 +48,20 @@ export default { diff --git a/frontend/src/pages/public/Career.vue b/frontend/src/pages/public/Career.vue index 464e6ab..f9062ff 100644 --- a/frontend/src/pages/public/Career.vue +++ b/frontend/src/pages/public/Career.vue @@ -1,19 +1,15 @@ @@ -48,15 +44,25 @@ export default { } diff --git a/frontend/src/pages/public/Contact.vue b/frontend/src/pages/public/Contact.vue index 916892e..8dad955 100644 --- a/frontend/src/pages/public/Contact.vue +++ b/frontend/src/pages/public/Contact.vue @@ -1,8 +1,14 @@ @@ -34,6 +40,61 @@ export default { } \ No newline at end of file diff --git a/frontend/src/pages/user/workspace/Home.vue b/frontend/src/pages/user/workspace/Home.vue index 0269c2c..93569f8 100644 --- a/frontend/src/pages/user/workspace/Home.vue +++ b/frontend/src/pages/user/workspace/Home.vue @@ -594,7 +594,7 @@ export default { props: {}, mounted() { this.fetchView() - //this.connectWebSocket() + // this.connectWebSocket() }, data() { return { @@ -1008,8 +1008,8 @@ export default { .project-item-text { @extend .text-start; - @extend .mx-1; margin-bottom: 0; + font-weight: bold; } .project-request-container { @@ -1067,7 +1067,6 @@ export default { .request-proposal-content-container { @extend .container; - @extend .border; } .request-proposal-content { @@ -1076,7 +1075,10 @@ export default { .request-proposal-payment-plan { @extend .container; - @extend .border; + border: 1px dashed #9CB0F6; + border-radius: 3px; + padding: 24px; + margin: 32px 0; } .request-proposal-payment-plan-stage-container { diff --git a/frontend/src/pages/user/workspace/requestIssue/Issue.vue b/frontend/src/pages/user/workspace/requestIssue/Issue.vue index 4c48087..88ff130 100644 --- a/frontend/src/pages/user/workspace/requestIssue/Issue.vue +++ b/frontend/src/pages/user/workspace/requestIssue/Issue.vue @@ -147,21 +147,8 @@
-
-