build: update frontend assets with flat redesign & glassmorphism

Rebuild frontend from Sanyue-ImgHub feat/flat-redesign branch:
- unified glassmorphism (--glass-bg/border/shadow + backdrop-filter)
- dark mode: muted slate-blue primary (#4A5D9B), dimmed selected states
- upload/admin pages: glass cards, dragger, search box, tables
- new global wallpaper on/off switch
- misc dark-mode fixes (image brightness, dialogs, messages)

Co-Authored-By: LuoH-AN <[email protected]>
This commit is contained in:
sunian6780
2026-07-20 23:05:36 +08:00
co-authored by LuoH-AN
parent 07fe2501b4
commit d7aabf266d
161 changed files with 60 additions and 57 deletions
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
+1 -1
View File
@@ -1 +1 @@
<!doctype html><html lang=""><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" href="/static/media/logo.png"><link rel="apple-touch-icon" href="/static/media/logo.png"><link rel="mask-icon" href="/static/media/logo.png" color="#f4b400"><meta name="description" content="Sanyue ImgHub - A modern file hosting platform"><meta name="keywords" content="Sanyue, ImgHub, file hosting, image hosting, cloud storage"><meta name="author" content="SanyueQi"><title>Sanyue ImgHub</title><script defer="defer" src="/js/chunk-vendors.6243340b.js"></script><script defer="defer" src="/js/app.3833ece1.js"></script><link href="/css/chunk-vendors.f9cd4701.css" rel="stylesheet"><link href="/css/app.a5d6bf3c.css" rel="stylesheet"></head><body><noscript><strong>We're sorry but sanyue_imghub doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div></body></html>
<!doctype html><html lang=""><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no,viewport-fit=cover"><link rel="icon" href="/static/media/logo.png"><link rel="apple-touch-icon" href="/static/media/logo.png"><link rel="mask-icon" href="/static/media/logo.png" color="#f4b400"><meta name="description" content="Sanyue ImgHub - A modern file hosting platform"><meta name="keywords" content="Sanyue, ImgHub, file hosting, image hosting, cloud storage"><meta name="author" content="SanyueQi"><title>Sanyue ImgHub</title><script defer="defer" src="/js/chunk-vendors.6243340b.js"></script><script defer="defer" src="/js/app.393ef185.js"></script><link href="/css/chunk-vendors.f9cd4701.css" rel="stylesheet"><link href="/css/app.22746548.css" rel="stylesheet"></head><body><noscript><strong>We're sorry but sanyue_imghub doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div></body></html>
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
@@ -1,2 +1,2 @@
"use strict";(self["webpackChunksanyue_imghub"]=self["webpackChunksanyue_imghub"]||[]).push([[345],{16556:function(e,s,i){i.r(s),i.d(s,{default:function(){return h}});var t=i(85563),n=i(56768);function o(e,s,i,o,r,a){const l=t.A;return(0,n.uX)(),(0,n.Wv)(l,{title:e.$t("login.adminTitle"),fields:r.loginFields,"submit-text":e.$t("login.submit"),"background-key":"adminLoginBkImg","is-admin":!0,loading:r.isLoading,onSubmit:a.handleLogin},null,8,["title","fields","submit-text","loading","onSubmit"])}i(44114);var r=i(457),a={data(){return{isLoading:!1,loginFields:[]}},components:{BaseLogin:t.A},created(){this.updateLoginFields()},watch:{"$i18n.locale"(){this.updateLoginFields()}},methods:{updateLoginFields(){this.loginFields=[{key:"username",label:this.$t("login.username"),placeholder:this.$t("login.usernamePlaceholder"),type:"text",icon:"User"},{key:"password",label:this.$t("login.password"),placeholder:this.$t("login.adminPasswordPlaceholder"),type:"password",showPassword:!0,icon:"Lock"}]},async handleLogin(e){const{username:s,password:i}=e;this.isLoading=!0;const t=new Promise(e=>setTimeout(e,1e3)),n=r.A.post("/api/auth/adminLogin",{username:s,password:i},{withCredentials:!0}).then(e=>({response:e})).catch(e=>({error:e}));try{const[e]=await Promise.all([n,t]);if(e.response&&200===e.response.status)this.$store.commit("setAdminLoggedIn",!0),this.$router.push("/dashboard");else{const s=e.error||new Error("Unknown error");this.isLoading=!1,s.response&&401===s.response.status?this.$message.error(this.$t("login.adminFailed")):this.$message.error(this.$t("login.serverError"))}}catch(o){this.isLoading=!1,this.$message.error(this.$t("login.systemError"))}}}},l=i(71241);const d=(0,l.A)(a,[["render",o]]);var h=d}}]);
//# sourceMappingURL=345.cdce570b.js.map
"use strict";(self["webpackChunksanyue_imghub"]=self["webpackChunksanyue_imghub"]||[]).push([[227],{16556:function(e,s,i){i.r(s),i.d(s,{default:function(){return h}});var t=i(48283),n=i(56768);function o(e,s,i,o,r,a){const l=t.A;return(0,n.uX)(),(0,n.Wv)(l,{title:e.$t("login.adminTitle"),fields:r.loginFields,"submit-text":e.$t("login.submit"),"background-key":"adminLoginBkImg","is-admin":!0,loading:r.isLoading,onSubmit:a.handleLogin},null,8,["title","fields","submit-text","loading","onSubmit"])}i(44114);var r=i(457),a={data(){return{isLoading:!1,loginFields:[]}},components:{BaseLogin:t.A},created(){this.updateLoginFields()},watch:{"$i18n.locale"(){this.updateLoginFields()}},methods:{updateLoginFields(){this.loginFields=[{key:"username",label:this.$t("login.username"),placeholder:this.$t("login.usernamePlaceholder"),type:"text",icon:"User"},{key:"password",label:this.$t("login.password"),placeholder:this.$t("login.adminPasswordPlaceholder"),type:"password",showPassword:!0,icon:"Lock"}]},async handleLogin(e){const{username:s,password:i}=e;this.isLoading=!0;const t=new Promise(e=>setTimeout(e,1e3)),n=r.A.post("/api/auth/adminLogin",{username:s,password:i},{withCredentials:!0}).then(e=>({response:e})).catch(e=>({error:e}));try{const[e]=await Promise.all([n,t]);if(e.response&&200===e.response.status)this.$store.commit("setAdminLoggedIn",!0),this.$router.push("/dashboard");else{const s=e.error||new Error("Unknown error");this.isLoading=!1,s.response&&401===s.response.status?this.$message.error(this.$t("login.adminFailed")):this.$message.error(this.$t("login.serverError"))}}catch(o){this.isLoading=!1,this.$message.error(this.$t("login.systemError"))}}}},l=i(71241);const d=(0,l.A)(a,[["render",o]]);var h=d}}]);
//# sourceMappingURL=227.8094852b.js.map
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because one or more lines are too long

Some files were not shown because too many files have changed in this diff Show More