test/custom-admin-ui #3
@@ -19,10 +19,10 @@ class FileService:
|
||||
await self.file_storage.delete_file(file_code)
|
||||
await file_code.delete()
|
||||
|
||||
async def list_files(self, page: int, size: int):
|
||||
async def list_files(self, page: int, size: int, keyword: str = ''):
|
||||
offset = (page - 1) * size
|
||||
files = await FileCodes.all().limit(size).offset(offset)
|
||||
total = await FileCodes.all().count()
|
||||
files = await FileCodes.filter(prefix__icontains=keyword).limit(size).offset(offset)
|
||||
total = await FileCodes.filter(prefix__icontains=keyword).count()
|
||||
return files, total
|
||||
|
||||
async def download_file(self, file_id: int):
|
||||
|
||||
+2
-1
@@ -63,10 +63,11 @@ async def file_delete(
|
||||
async def file_list(
|
||||
page: int = 1,
|
||||
size: int = 10,
|
||||
keyword: str = '',
|
||||
file_service: FileService = Depends(get_file_service),
|
||||
admin: bool = Depends(admin_required)
|
||||
):
|
||||
files, total = await file_service.list_files(page, size)
|
||||
files, total = await file_service.list_files(page, size, keyword)
|
||||
return APIResponse(detail={
|
||||
'page': page,
|
||||
'size': size,
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
.switch{position:relative;display:inline-block;width:60px;height:34px}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#e5e7eb;transition:.4s}.dark .slider{background-color:#4b5563}input:checked+.slider{background-color:#4f46e5}.dark input:checked+.slider{background-color:#4f46e5}.slider:before{position:absolute;content:"";height:26px;width:26px;left:4px;bottom:4px;background-color:#fff;transition:.4s}.dark .slider:before{background-color:#e5e7eb}.slider.round{border-radius:34px}.slider.round:before{border-radius:50%}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin-slow{animation:spin 8s linear infinite}.transition-colors{transition-property:background-color,border-color,color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}
|
||||
+21
@@ -0,0 +1,21 @@
|
||||
import{c as i,B as k,r as h,o as u,J as v,p as d,b as x,d as t,n as o,e,f as n,X as w,F as _,x as M,y as C,z,m as L,K as B,L as D,k as F,t as I}from"./index-BnjuZaZi.js";import{B as j}from"./box-CLuyzUND.js";/**
|
||||
* @license lucide-vue-next v0.445.0 - ISC
|
||||
*
|
||||
* This source code is licensed under the ISC license.
|
||||
* See the LICENSE file in the root directory of this source tree.
|
||||
*/const S=i("CogIcon",[["path",{d:"M12 20a8 8 0 1 0 0-16 8 8 0 0 0 0 16Z",key:"sobvz5"}],["path",{d:"M12 14a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z",key:"11i496"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 22v-2",key:"1osdcq"}],["path",{d:"m17 20.66-1-1.73",key:"eq3orb"}],["path",{d:"M11 10.27 7 3.34",key:"16pf9h"}],["path",{d:"m20.66 17-1.73-1",key:"sg0v6f"}],["path",{d:"m3.34 7 1.73 1",key:"1ulond"}],["path",{d:"M14 12h8",key:"4f43i9"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"m20.66 7-1.73 1",key:"1ow05n"}],["path",{d:"m3.34 17 1.73-1",key:"nuk764"}],["path",{d:"m17 3.34-1 1.73",key:"2wel8s"}],["path",{d:"m11 13.73-4 6.93",key:"794ttg"}]]);/**
|
||||
* @license lucide-vue-next v0.445.0 - ISC
|
||||
*
|
||||
* This source code is licensed under the ISC license.
|
||||
* See the LICENSE file in the root directory of this source tree.
|
||||
*/const V=i("FolderIcon",[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]);/**
|
||||
* @license lucide-vue-next v0.445.0 - ISC
|
||||
*
|
||||
* This source code is licensed under the ISC license.
|
||||
* See the LICENSE file in the root directory of this source tree.
|
||||
*/const E=i("LayoutDashboardIcon",[["rect",{width:"7",height:"9",x:"3",y:"3",rx:"1",key:"10lvy0"}],["rect",{width:"7",height:"5",x:"14",y:"3",rx:"1",key:"16une8"}],["rect",{width:"7",height:"9",x:"14",y:"12",rx:"1",key:"1hutg5"}],["rect",{width:"7",height:"5",x:"3",y:"16",rx:"1",key:"ldoo1y"}]]);/**
|
||||
* @license lucide-vue-next v0.445.0 - ISC
|
||||
*
|
||||
* This source code is licensed under the ISC license.
|
||||
* See the LICENSE file in the root directory of this source tree.
|
||||
*/const N=i("MenuIcon",[["line",{x1:"4",x2:"20",y1:"12",y2:"12",key:"1e0a9i"}],["line",{x1:"4",x2:"20",y1:"6",y2:"6",key:"1owob3"}],["line",{x1:"4",x2:"20",y1:"18",y2:"18",key:"yk5zj1"}]]),R={class:"flex items-center"},Z={class:"rounded-full bg-gradient-to-r from-indigo-500 via-purple-500 to-pink-500 p-1 animate-spin-slow"},q={class:"flex-1 overflow-y-auto"},A={class:"p-4 space-y-2"},H=["onClick"],J={class:"flex-1 flex flex-col min-h-screen"},K={class:"flex items-center justify-between h-16 px-4"},$=k({__name:"AdminLayout",setup(O){const c=C(),a=z("isDarkMode"),p=[{id:"Dashboard",name:"仪表盘",icon:E,redirect:"/admin/dashboard"},{id:"FileManage",name:"文件管理",icon:V,redirect:"/admin/files"},{id:"Settings",name:"系统设置",icon:S,redirect:"/admin/settings"}],s=h(!0),y=()=>{s.value=!s.value},l=()=>{window.innerWidth>=1024?s.value=!0:s.value=!1};u(()=>{l(),window.addEventListener("resize",l)}),v(()=>{window.removeEventListener("resize",l)});const m=h({page:1,size:10,total:0}),b=async()=>{try{m.value.total=85}catch(g){console.error("加载文件列表失败:",g)}};return u(()=>{b()}),(g,T)=>{const f=L("router-view");return d(),x("div",{class:o(["min-h-screen flex flex-col lg:flex-row transition-colors duration-300",[e(a)?"bg-gray-900":"bg-gray-50"]])},[t("aside",{class:o(["fixed inset-y-0 left-0 z-50 w-64 transform transition-all duration-300 ease-in-out lg:relative lg:translate-x-0 border-r",[e(a)?"bg-gray-800 bg-opacity-90 backdrop-filter backdrop-blur-xl border-gray-700":"bg-white border-gray-200",{"-translate-x-full":!s.value}]])},[t("div",{class:o(["flex items-center justify-between h-16 px-4 border-b",[e(a)?"border-gray-700":"border-gray-200"]])},[t("div",R,[t("div",Z,[t("div",{class:o(["rounded-full p-1",[e(a)?"bg-gray-800":"bg-white"]])},[n(e(j),{class:o(["w-6 h-6",[e(a)?"text-indigo-400":"text-indigo-600"]])},null,8,["class"])],2)]),t("h1",{class:o(["ml-2 text-xl font-semibold",[e(a)?"text-white":"text-gray-800"]])}," FileCodeBox ",2)]),t("button",{onClick:y,class:"lg:hidden"},[n(e(w),{class:o(["w-6 h-6",[e(a)?"text-gray-400":"text-gray-600"]])},null,8,["class"])])],2),t("nav",q,[t("ul",A,[(d(),x(_,null,M(p,r=>t("li",{key:r.id},[t("a",{onClick:U=>e(c).push(r.redirect),class:o(["flex items-center p-2 rounded-lg transition-colors duration-200",[e(c).currentRoute.value.name===r.id?e(a)?"bg-indigo-900 text-indigo-400":"bg-indigo-100 text-indigo-600":e(a)?"text-gray-400 hover:bg-gray-700":"text-gray-600 hover:bg-gray-100"]])},[(d(),B(D(r.icon),{class:"w-5 h-5 mr-3"})),F(" "+I(r.name),1)],10,H)])),64))])])],2),t("div",J,[t("header",{class:o(["shadow-md border-b transition-colors duration-300",[e(a)?"bg-gray-800 border-gray-700":"bg-white border-gray-200"]])},[t("div",K,[t("button",{onClick:y,class:"lg:hidden"},[n(e(N),{class:o(["w-6 h-6",[e(a)?"text-gray-400":"text-gray-600"]])},null,8,["class"])])])],2),t("main",{class:o(["flex-1 p-6 overflow-y-auto transition-colors duration-300",[e(a)?"bg-gray-900":"bg-gray-50"]])},[n(f)],2)])],2)}}});export{$ as default};
|
||||
File diff suppressed because one or more lines are too long
BIN
Binary file not shown.
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
import{H as y,r as u,B as b,u as v,p as w,b as x,d as e,n as l,e as o,f as h,g as k,h as S,v as A,k as V,t as B,z as D,y as P,A as _,_ as j}from"./index-BnjuZaZi.js";import{B as z}from"./box-CLuyzUND.js";const M=y("adminData",()=>{const d=u(localStorage.getItem("adminPassword")||"");function n(t){d.value=t,localStorage.setItem("token",t)}return{adminPassword:d,updateAdminPwd:n}}),I={class:"mx-auto h-16 w-16 relative"},L={class:"rounded-md shadow-sm -space-y-px"},N=["disabled"],T=b({__name:"LoginView",setup(d){const n=v(),t=u(""),i=u(!1),s=D("isDarkMode"),c=M(),p=()=>{let a=!0;return t.value?t.value.length<6&&(n.showAlert("密码长度至少为6位","error"),a=!1):(n.showAlert("无效的密码","error"),a=!1),a},m=P(),f=async()=>{if(p()){c.updateAdminPwd(t.value),_.post("/admin/login",{password:t.value}).then(()=>{m.push("/admin")}).catch(a=>{n.showAlert(a.response.data.detail,"error")}),i.value=!0;try{await new Promise(a=>setTimeout(a,2e3))}catch{}finally{i.value=!1}}};return(a,r)=>(w(),x("div",{class:l(["min-h-screen flex items-center justify-center py-12 px-4 sm:px-6 lg:px-8 transition-colors duration-200 relative overflow-hidden",o(s)?"bg-gray-900":"bg-gray-50"])},[r[6]||(r[6]=e("div",{class:"absolute inset-0 z-0"},[e("div",{class:"cyber-grid"}),e("div",{class:"floating-particles"})],-1)),e("div",{class:l(["max-w-md w-full space-y-8 backdrop-blur-lg bg-opacity-20 p-8 rounded-xl border border-opacity-20",[o(s)?"bg-gray-800 border-gray-600":"bg-white/70 border-gray-200"]])},[e("div",null,[e("div",I,[r[1]||(r[1]=e("div",{class:"absolute inset-0 bg-gradient-to-r from-cyan-500 via-purple-500 to-pink-500 rounded-full animate-spin-slow"},null,-1)),r[2]||(r[2]=e("div",{class:"absolute -inset-2 bg-gradient-to-r from-cyan-500 via-purple-500 to-pink-500 rounded-full opacity-50 blur-md animate-pulse"},null,-1)),e("div",{class:l(["absolute inset-1 rounded-full flex items-center justify-center",o(s)?"bg-gray-800":"bg-white"])},[h(o(z),{class:l(["h-8 w-8",o(s)?"text-cyan-400":"text-cyan-600"])},null,8,["class"])],2)]),e("h2",{class:l(["mt-6 text-center text-3xl font-extrabold",o(s)?"text-white":"text-gray-900"])}," 登录 ",2)]),e("form",{class:"mt-8 space-y-6",onSubmit:k(f,["prevent"])},[r[5]||(r[5]=e("input",{type:"hidden",name:"remember",value:"true"},null,-1)),e("div",L,[e("div",null,[r[3]||(r[3]=e("label",{for:"password",class:"sr-only"},"密码",-1)),S(e("input",{id:"password",name:"password",type:"password",autocomplete:"current-password",required:"","onUpdate:modelValue":r[0]||(r[0]=g=>t.value=g),class:l(["appearance-none rounded-t-md relative block w-full px-4 py-3 border transition-all duration-200 placeholder-gray-500 focus:outline-none focus:ring-2 focus:ring-cyan-500 focus:border-cyan-500 focus:z-10 sm:text-sm backdrop-blur-sm",o(s)?"bg-gray-800/50 border-gray-600 text-white placeholder-gray-400 hover:border-gray-500":"bg-white/50 border-gray-300 text-gray-900 hover:border-gray-400"]),placeholder:"密码"},null,2),[[A,t.value]])])]),e("div",null,[e("button",{type:"submit",class:l(["group relative w-full flex justify-center py-3 px-4 border border-transparent text-sm font-medium rounded-md text-white transition-all duration-300 transform hover:scale-[1.02] focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-cyan-500 shadow-lg hover:shadow-cyan-500/50",o(s)?"bg-gradient-to-r from-cyan-500 to-purple-500 hover:from-cyan-600 hover:to-purple-600":"bg-gradient-to-r from-cyan-600 to-purple-600 hover:from-cyan-700 hover:to-purple-700",i.value?"opacity-75 cursor-not-allowed":""]),disabled:i.value},[r[4]||(r[4]=e("span",{class:"absolute left-0 inset-y-0 flex items-center pl-3"},null,-1)),V(" "+B(i.value?"登录中...":"登录"),1)],10,N)])],32)],2)],2))}}),E=j(T,[["__scopeId","data-v-2e50c3fa"]]);export{E as default};
|
||||
@@ -0,0 +1 @@
|
||||
@keyframes spin-2e50c3fa{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin-slow[data-v-2e50c3fa]{animation:spin-2e50c3fa 8s linear infinite}.fade-enter-active[data-v-2e50c3fa],.fade-leave-active[data-v-2e50c3fa]{transition:opacity .3s ease}.fade-enter-from[data-v-2e50c3fa],.fade-leave-to[data-v-2e50c3fa]{opacity:0}input[data-v-2e50c3fa]:focus{box-shadow:0 0 15px #6366f14d}button[data-v-2e50c3fa]:active:not(:disabled){transform:scale(.98)}.cyber-grid[data-v-2e50c3fa]{background-image:linear-gradient(transparent 95%,#6366f11a 50%),linear-gradient(90deg,transparent 95%,rgba(99,102,241,.1) 50%);background-size:30px 30px;width:100%;height:100%;position:absolute;opacity:.5}.floating-particles[data-v-2e50c3fa]{position:absolute;width:100%;height:100%;background:radial-gradient(circle at center,transparent 0%,transparent 100%);filter:url(#gooey)}.floating-particles[data-v-2e50c3fa]:before,.floating-particles[data-v-2e50c3fa]:after{content:"";position:absolute;width:100%;height:100%;background-image:radial-gradient(circle at center,rgba(99,102,241,.1) 0%,transparent 50%);animation:float-2e50c3fa 20s infinite linear}.floating-particles[data-v-2e50c3fa]:after{animation-delay:-10s;opacity:.5}@keyframes float-2e50c3fa{0%{transform:translate(0) scale(1)}50%{transform:translate(50px,50px) scale(1.5)}to{transform:translate(0) scale(1)}}button[data-v-2e50c3fa]:hover:not(:disabled){box-shadow:0 0 25px #6366f180}.fade-enter-active[data-v-2e50c3fa],.fade-leave-active[data-v-2e50c3fa]{transition:all .5s cubic-bezier(.4,0,.2,1)}
|
||||
@@ -0,0 +1 @@
|
||||
@keyframes blob-58935027{0%,to{transform:translate(0) scale(1)}25%{transform:translate(20px,-50px) scale(1.1)}50%{transform:translate(-20px,20px) scale(.9)}75%{transform:translate(50px,50px) scale(1.05)}}.animate-blob-1[data-v-58935027]{animation:blob-58935027 25s infinite}.animate-blob-2[data-v-58935027]{animation:blob-58935027 30s infinite}.animate-blob-3[data-v-58935027]{animation:blob-58935027 35s infinite}.animate-blob-4[data-v-58935027]{animation:blob-58935027 40s infinite}.animate-spin-slow[data-v-58935027]{animation:spin-58935027 8s linear infinite}@keyframes spin-58935027{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.fade-enter-active[data-v-58935027],.fade-leave-active[data-v-58935027]{transition:opacity .3s ease}.fade-enter-from[data-v-58935027],.fade-leave-to[data-v-58935027]{opacity:0}.list-enter-active[data-v-58935027],.list-leave-active[data-v-58935027]{transition:all .5s ease}.list-enter-from[data-v-58935027],.list-leave-to[data-v-58935027]{opacity:0;transform:translate(30px)}.drawer-enter-active[data-v-58935027],.drawer-leave-active[data-v-58935027]{transition:transform .3s ease}.drawer-enter-from[data-v-58935027],.drawer-leave-to[data-v-58935027]{transform:translate(100%)}.w-97-100[data-v-58935027]{width:97%}[data-v-58935027] .prose{text-align:left}[data-v-58935027] .prose h1{--tw-text-opacity: 1;color:rgb(79 70 229 / var(--tw-text-opacity))}@media (prefers-color-scheme: dark){[data-v-58935027] .prose h1{--tw-text-opacity: 1;color:rgb(129 140 248 / var(--tw-text-opacity))}}[data-v-58935027] .prose a{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity))}@media (prefers-color-scheme: dark){[data-v-58935027] .prose a{--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity))}}[data-v-58935027] .prose code{border-radius:.25rem;--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity));padding-left:.25rem;padding-right:.25rem}@media (prefers-color-scheme: dark){[data-v-58935027] .prose code{--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity))}}[data-v-58935027] .prose pre{overflow-x:auto;border-radius:.25rem;--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity));padding:1rem}@media (prefers-color-scheme: dark){[data-v-58935027] .prose pre{--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity))}}@media (min-width: 640px){.sm\:w-120[data-v-58935027]{width:30rem}}
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
.border-progress-container[data-v-2fbf5085]{position:relative;width:100%;height:100%}.border-progress-canvas[data-v-2fbf5085]{position:absolute;top:0;left:0;width:100%;height:100%;transition:all .3s ease}.fade-enter-active[data-v-ca34ea61],.fade-leave-active[data-v-ca34ea61]{transition:opacity .3s ease,transform .3s ease}.fade-enter-from[data-v-ca34ea61],.fade-leave-to[data-v-ca34ea61]{opacity:0;transform:translateY(10px)}@media (min-width: 640px){.sm\:w-120[data-v-ca34ea61]{width:30rem}}.fade-enter-to[data-v-ca34ea61],.fade-leave-from[data-v-ca34ea61]{opacity:1;transform:translateY(0)}.drawer-enter-active[data-v-ca34ea61],.drawer-leave-active[data-v-ca34ea61]{transition:transform .3s ease}.drawer-enter-from[data-v-ca34ea61],.drawer-leave-to[data-v-ca34ea61]{transform:translate(100%)}.list-enter-active[data-v-ca34ea61],.list-leave-active[data-v-ca34ea61]{transition:all .5s ease}.list-enter-from[data-v-ca34ea61],.list-leave-to[data-v-ca34ea61]{opacity:0;transform:translate(30px)}
|
||||
@@ -0,0 +1 @@
|
||||
.custom-scrollbar[data-v-2f785aa5]::-webkit-scrollbar{width:8px}.custom-scrollbar[data-v-2f785aa5]::-webkit-scrollbar-track{background:transparent}:is()[data-v-2f785aa5]{background-color:#cbd5e0;border-radius:4px}:is()[data-v-2f785aa5]:hover{background-color:#a0aec0}[data-v-2f785aa5] .dark .custom-scrollbar::-webkit-scrollbar-thumb{background-color:#4a5568}:is():hover{background-color:#2d3748}.space-y-6[data-v-2f785aa5]{margin-bottom:5rem}
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+6
@@ -0,0 +1,6 @@
|
||||
import{c as a}from"./index-BnjuZaZi.js";/**
|
||||
* @license lucide-vue-next v0.445.0 - ISC
|
||||
*
|
||||
* This source code is licensed under the ISC license.
|
||||
* See the LICENSE file in the root directory of this source tree.
|
||||
*/const o=a("BoxIcon",[["path",{d:"M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z",key:"hh9hay"}],["path",{d:"m3.3 7 8.7 5 8.7-5",key:"g66t2b"}],["path",{d:"M12 22V12",key:"d0xqtd"}]]);export{o as B};
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
import{c as a}from"./index-BnjuZaZi.js";/**
|
||||
* @license lucide-vue-next v0.445.0 - ISC
|
||||
*
|
||||
* This source code is licensed under the ISC license.
|
||||
* See the LICENSE file in the root directory of this source tree.
|
||||
*/const t=a("FileIcon",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}]]);export{t as F};
|
||||
+86
File diff suppressed because one or more lines are too long
+1
File diff suppressed because one or more lines are too long
+11
@@ -0,0 +1,11 @@
|
||||
import{c as a}from"./index-BnjuZaZi.js";/**
|
||||
* @license lucide-vue-next v0.445.0 - ISC
|
||||
*
|
||||
* This source code is licensed under the ISC license.
|
||||
* See the LICENSE file in the root directory of this source tree.
|
||||
*/const y=a("HardDriveIcon",[["line",{x1:"22",x2:"2",y1:"12",y2:"12",key:"1y58io"}],["path",{d:"M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z",key:"oot6mr"}],["line",{x1:"6",x2:"6.01",y1:"16",y2:"16",key:"sgf278"}],["line",{x1:"10",x2:"10.01",y1:"16",y2:"16",key:"1l4acy"}]]);/**
|
||||
* @license lucide-vue-next v0.445.0 - ISC
|
||||
*
|
||||
* This source code is licensed under the ISC license.
|
||||
* See the LICENSE file in the root directory of this source tree.
|
||||
*/const c=a("TrashIcon",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}]]);export{y as H,c as T};
|
||||
Vendored
+13
-10
@@ -1,17 +1,20 @@
|
||||
<!DOCTYPE html>
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<link rel="icon" href="/assets/logo_small.png">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" />
|
||||
<meta name="description" content="{{description}}">
|
||||
<meta charset="UTF-8" />
|
||||
<link rel="icon" href="/favicon.ico" />
|
||||
<meta
|
||||
name="viewport"
|
||||
content="width=device-width, initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"
|
||||
/>
|
||||
<meta name="description" content="{{description}}" />
|
||||
<meta name="keywords" content="{{keywords}}" />
|
||||
<meta name="generator" content="FileCodeBox2.1" />
|
||||
<title>{{title}}</title>
|
||||
<script type="module" crossorigin src="/assets/index-C7AmCAY9.js"></script>
|
||||
<link rel="stylesheet" crossorigin href="/assets/index-DAmnn45j.css">
|
||||
<title>FileCodeBox</title>
|
||||
<script type="module" crossorigin src="/assets/index-BnjuZaZi.js"></script>
|
||||
<link rel="stylesheet" crossorigin href="/assets/index-D2PL4Thb.css">
|
||||
</head>
|
||||
<body style="background: url('{{background}}') no-repeat center center fixed;background-size: cover;">
|
||||
<div id="app" style="opacity: {{opacity}}"></div>
|
||||
<body>
|
||||
<div id="app"></div>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user