20 |
21 |
22 |
29 |
--------------------------------------------------------------------------------
/.output/public/_nuxt/BeqbHBdo.js:
--------------------------------------------------------------------------------
1 | import{_ as d}from"./Dt4uv5Vt.js";import{_ as p}from"./CGc4XQCy.js";import{e as m,u,i as g,w as s,h,K as f,o,a as e,b as a,c as r,F as b,j as x,t as n}from"./7iU6E5Xm.js";import"./Cp5OmZP0.js";const k={class:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4"},w={class:"bg-gray-300 dark:bg-gray-700 rounded p-4 cursor-pointer"},C={class:"text-2xl font-bold"},L={class:"mb-2"},V=m({__name:"index",setup(v){const{t:i}=u();return(y,B)=>{const c=d,_=f("ContentList");return o(),g(p,{"sub-title":h(i)("news.title")},{content:s(()=>[e("div",k,[a(_,{path:"/news"},{default:s(({list:l})=>[(o(!0),r(b,null,x(l,t=>(o(),r("div",{key:t._path},[a(c,{to:t._path,class:"mb-4 inline-block dark:text-white"},{default:s(()=>[e("div",w,[e("h2",C,n(t.title),1),e("p",L,n(new Date(t.date).toLocaleDateString()),1),e("p",null,n(t.description),1)])]),_:2},1032,["to"])]))),128))]),_:1})])]),_:1},8,["sub-title"])}}});export{V as default};
2 |
--------------------------------------------------------------------------------
/components/AppFooter.vue:
--------------------------------------------------------------------------------
1 |
2 |
30 |
31 |
32 |
40 |
--------------------------------------------------------------------------------
/.output/public/_nuxt/CGc4XQCy.js:
--------------------------------------------------------------------------------
1 | import{_}from"./Dt4uv5Vt.js";import{e as h,u as f,f as g,g as x,c as b,a as t,b as o,r as a,w as r,h as n,t as c,q as y,o as k,_ as w,d as v}from"./7iU6E5Xm.js";import{_ as $}from"./Cp5OmZP0.js";const B={class:"flex min-h-screen justify-center pb-12 pt-12 dark:text-gray-300"},L={class:"flex flex-col items-center"},N={class:"text-2xl font-light dark:text-white"},q=h({__name:"SecondaryLayout",props:{subTitle:{type:String,required:!0}},setup(d){const m=d,{t:S}=f(),l=g(),p=x({}).value.htmlAttrs.dir;return(s,e)=>{const i=_,u=w;return k(),b("div",null,[t("div",B,[t("div",L,[o(i,{to:n(l)({path:"/"})},{default:r(()=>e[0]||(e[0]=[t("img",{src:$,alt:"YiDrop Logo",style:{height:"200px"}},null,-1)])),_:1},8,["to"]),e[1]||(e[1]=t("h1",{class:"text-5xl font-black dark:text-white"},"YiDrop",-1)),t("h2",N,c(m.subTitle),1),a(s.$slots,"tabs"),t("div",{class:y(["rounded-lg bg-gray-200 p-4 dark:bg-gray-800",s.$slots.tabs?"":"mt-8"]),style:{width:"calc(min(1200px, 100vw))"}},[a(s.$slots,"content")],2),a(s.$slots,"back",{},()=>[o(i,{to:n(l)({path:"/"}),class:"mt-8"},{default:r(()=>[o(u,{icon:n(p)==="ltr"?"material-symbols:arrow-back":"material-symbols:arrow-forward",class:"dark:text-gray-300"},{default:r(()=>[v(c(s.$t("homepageButton")),1)]),_:1},8,["icon"])]),_:1},8,["to"])])])])])}}});export{q as _};
2 |
--------------------------------------------------------------------------------
/layouts/default.vue:
--------------------------------------------------------------------------------
1 |
12 |
13 |
14 |
47 |
48 |
49 |
63 |
--------------------------------------------------------------------------------
/.output/public/_nuxt/DMWal4P1.js:
--------------------------------------------------------------------------------
1 | import{_ as g}from"./CfrowSII.js";import{_ as L}from"./Dt4uv5Vt.js";import{e as f,u as h,f as D,g as v,c as x,o as d,a as o,b as r,r as m,w as n,h as i,t as u,_ as B,d as w,i as $,F as A,j as N}from"./7iU6E5Xm.js";import{_ as C}from"./Cp5OmZP0.js";const I={class:"flex min-h-screen justify-center pb-12 pt-12 dark:text-gray-300"},R={class:"flex flex-col items-center"},T={class:"text-2xl font-light dark:text-white"},W=f({__name:"SecondaryLayoutX",props:{subTitle:{type:String,required:!0}},setup(t){const l=t,{t:_}=h(),s=D(),c=v({}).value.htmlAttrs.dir;return(e,a)=>{const p=L,y=B;return d(),x("div",null,[o("div",I,[o("div",R,[r(p,{to:i(s)({path:"/"})},{default:n(()=>a[0]||(a[0]=[o("img",{src:C,alt:"YiDrop Logo",style:{height:"200px"}},null,-1)])),_:1},8,["to"]),a[1]||(a[1]=o("h1",{class:"text-5xl font-black dark:text-white"},"YiDrop",-1)),o("h2",T,u(l.subTitle),1),m(e.$slots,"tabs"),m(e.$slots,"back",{},()=>[r(p,{to:i(s)({path:"/"}),class:"mt-8"},{default:n(()=>[r(y,{icon:i(c)==="ltr"?"material-symbols:arrow-back":"material-symbols:arrow-forward",class:"dark:text-gray-300"},{default:n(()=>[w(u(e.$t("homepageButton")),1)]),_:1},8,["icon"])]),_:1},8,["to"])])])])])}}}),Y={class:"mt-8 flex flex-wrap justify-center dark:text-gray-300"};var b=(t=>(t.windows="Windows",t.linux="Linux",t.android="Android",t))(b||{});const j="https://github.com/lingyicute/yidrop/releases/latest/download/YiDrop-Installer.exe",F="https://github.com/lingyicute/yidrop/releases/latest/download/YiDrop_arm64-v8a_opt.apk",S="https://github.com/lingyicute/yidrop/releases/latest",E=f({__name:"download",setup(t){const{t:l}=h();function _(s){switch(s){case"Windows":window.location.href=j;break;case"Android":window.location.href=F;break;case"Linux":default:window.location.href=S}}return(s,k)=>{const c=g;return d(),$(W,{"sub-title":i(l)("download.title")},{tabs:n(()=>[o("div",Y,[(d(),x(A,null,N(b,e=>r(c,{key:e,class:"mx-2 mb-4",onClick:a=>_(e),dark:!1},{default:n(()=>[w(u(e),1)]),_:2},1032,["onClick"])),64))])]),_:1},8,["sub-title"])}}});export{E as default};
2 |
--------------------------------------------------------------------------------
/components/LanguageSwitcher.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
18 |
19 |
20 |
21 |
22 |
25 |
26 |
27 |
28 |
67 |
--------------------------------------------------------------------------------
/i18n/locales/zh-CN.json:
--------------------------------------------------------------------------------
1 | {
2 | "home": {
3 | "seo": {
4 | "title": "YiDrop:快速且安全地分享文件",
5 | "description": "YiDrop 是一个开源、免费、跨平台的文件分享工具,帮助你将文件快速且安全地分享到附近的设备。"
6 | },
7 | "slogan1": "快速且安全地分享文件,",
8 | "slogan2": "开源、免费、跨平台。",
9 | "download": "下载",
10 | "community": "社区",
11 | "features": {
12 | "title": "特点",
13 | "decentralized": "去中心化",
14 | "decentralizedDescription": "文件在局域网里悄悄旅行,无需服务器中转,又快又安全。",
15 | "crossPlatform": "跨平台",
16 | "crossPlatformDescription": "YiDrop 带着跨平台的使命出发,支持 Android、Windows 和 Linux 全架构。",
17 | "free": "清爽,纯粹",
18 | "freeDescription": "像清晨第一缕阳光般干净,没有广告弹窗打扰,也没有讨厌的跟踪。",
19 | "openSource": "开源",
20 | "openSourceDescription": "源代码在 GitHub 上公开可用,任何人都可以为项目做出贡献。",
21 | "secure": "安全",
22 | "secureDescription": "端到端加密确保只有你和接收者可以访问你的文件。",
23 | "easy": "简单",
24 | "easyDescription": "轻松上手的用户界面,发送文件比吹散蒲公英还简单~"
25 | },
26 | "get": "获取 YiDrop"
27 | },
28 | "download": {
29 | "seo": {
30 | "title": "YiDrop - 下载",
31 | "description": "下载适用于 Android、Windows 和 Linux 的 YiDrop。"
32 | },
33 | "title": "下载",
34 | "subTitle": "{os}版下载",
35 | "appStores": "应用商店",
36 | "appStoresDescription": "适合大多数用户",
37 | "binaries": "二进制文件",
38 | "allReleases": "所有版本",
39 | "copiedToClipboard": "已复制到剪贴板!"
40 | },
41 | "community": {
42 | "seo": {
43 | "title": "YiDrop - 社区",
44 | "description": "获取帮助,参与其中,并为YiDrop做出贡献。"
45 | },
46 | "title": "社区",
47 | "getHelp": "获取帮助",
48 | "getHelpDescription": "在GitHub讨论区提问或寻找答案",
49 | "getInvolved": "参与其中",
50 | "getInvolvedDescription": "与开发人员联系并直接为项目做出贡献",
51 | "discord": "Discord",
52 | "issues": "问题",
53 | "pullRequests": "拉取请求"
54 | },
55 | "footer": {
56 | "underlicense": "根据",
57 | "license": "Apache 2.0许可证",
58 | "github": "GitHub",
59 | "discord": "Discord",
60 | "privacy": "隐私",
61 | "terms": "条款",
62 | "imprint": "版权声明",
63 | "contact": "联系方式"
64 | },
65 | "homepageButton": "主页",
66 | "improveWebsite": "参与改进此网站"
67 | }
68 |
--------------------------------------------------------------------------------
/.output/public/en-sitemap.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | https://drop.92li.us.kg/
5 |
6 |
7 |
8 |
9 | https://drop.92li.us.kg/download
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 | https://drop.92li.us.kg/news
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/i18n/locales/en.json:
--------------------------------------------------------------------------------
1 | {
2 | "home": {
3 | "seo": {
4 | "title": "YiDrop: Share files to nearby devices",
5 | "description": "YiDrop is a free, open-source, cross-platform file sharing tool that allows you to share files to nearby devices."
6 | },
7 | "slogan1": "Share files to nearby devices.",
8 | "slogan2": "Free, open-source, cross-platform.",
9 | "download": "Download",
10 | "community": "Community",
11 | "features": {
12 | "title": "Features",
13 | "decentralized": "Decentralized",
14 | "decentralizedDescription": "Share files without a central server. The file transfer is completely peer-to-peer.",
15 | "crossPlatform": "Cross-platform",
16 | "crossPlatformDescription": "YiDrop is available for Windows, macOS, Linux, Android, and iOS.",
17 | "free": "Free",
18 | "freeDescription": "YiDrop is free to use. No ads, no tracking, no hidden costs.",
19 | "openSource": "Open Source",
20 | "openSourceDescription": "The source code is publicly available. Everyone can contribute to the project.",
21 | "secure": "Secure",
22 | "secureDescription": "End-to-end encryption ensures that only you and the recipient can access your files.",
23 | "easy": "Easy to Use",
24 | "easyDescription": "A simple user interface without registration. Other devices are discovered automatically."
25 | },
26 | "get": "Get YiDrop"
27 | },
28 | "download": {
29 | "seo": {
30 | "title": "YiDrop - Downloads",
31 | "description": "Download YiDrop for Windows, macOS, Linux, Android, and iOS."
32 | },
33 | "title": "Downloads",
34 | "subTitle": "{os} Downloads",
35 | "appStores": "App Stores",
36 | "appStoresDescription": "Recommended for most users.",
37 | "binaries": "Binaries",
38 | "allReleases": "All Releases",
39 | "copiedToClipboard": "Copied to clipboard!"
40 | },
41 | "community": {
42 | "seo": {
43 | "title": "YiDrop - Community",
44 | "description": "Get help, get involved, and contribute to YiDrop."
45 | },
46 | "title": "Community",
47 | "getHelp": "Get Help",
48 | "getHelpDescription": "Ask or look for answers on GitHub Discussions.",
49 | "getInvolved": "Get Involved",
50 | "getInvolvedDescription": "Get in contact with the developers and contribute directly to the project.",
51 | "discord": "Discord",
52 | "issues": "Issues",
53 | "pullRequests": "Pull Requests"
54 | },
55 | "news": {
56 | "title": "News",
57 | "showAll": "Show all news"
58 | },
59 | "footer": {
60 | "underlicense": "Licensed under the",
61 | "license": "Apache License 2.0",
62 | "github": "GitHub",
63 | "discord": "Discord",
64 | "privacy": "Privacy",
65 | "terms": "Terms",
66 | "imprint": "Imprint",
67 | "contact": "Contacts"
68 | },
69 | "homepageButton": "Homepage",
70 | "improveWebsite": "Improve this website"
71 | }
72 |
--------------------------------------------------------------------------------
/.output/public/_nuxt/D0X_Gh3A.js:
--------------------------------------------------------------------------------
1 | import{u as N}from"./DVZgQkfD.js";import{e as l,Z as P,u as q,g as x,R as y,c as f,o as s,b as c,w as g,i as m,s as E,d as L,t as j,h as a,F as h,j as _,r as M}from"./7iU6E5Xm.js";const T=n=>{const t=Object.create(null);for(const r in n){const e=n[r];e!==void 0&&(t[r]=e)}return t},u=(n,t)=>(r,e)=>(N(()=>n({...T(r),...e.attrs},e)),()=>{var o,d;return t?(d=(o=e.slots).default)==null?void 0:d.call(o):null}),p={accesskey:String,autocapitalize:String,autofocus:{type:Boolean,default:void 0},class:[String,Object,Array],contenteditable:{type:Boolean,default:void 0},contextmenu:String,dir:String,draggable:{type:Boolean,default:void 0},enterkeyhint:String,exportparts:String,hidden:{type:Boolean,default:void 0},id:String,inputmode:String,is:String,itemid:String,itemprop:String,itemref:String,itemscope:String,itemtype:String,lang:String,nonce:String,part:String,slot:String,spellcheck:{type:Boolean,default:void 0},style:[String,Object,Array],tabindex:String,title:String,translate:String},z=l({name:"Link",inheritAttrs:!1,props:{...p,as:String,crossorigin:String,disabled:Boolean,fetchpriority:String,href:String,hreflang:String,imagesizes:String,imagesrcset:String,integrity:String,media:String,prefetch:{type:Boolean,default:void 0},referrerpolicy:String,rel:String,sizes:String,title:String,type:String,methods:String,target:String,body:Boolean,renderPriority:[String,Number]},setup:u(n=>({link:[n]}))}),C=l({name:"Title",inheritAttrs:!1,setup:u((n,{slots:t})=>{var r,e,o;return{title:((o=(e=(r=t.default)==null?void 0:r.call(t))==null?void 0:e[0])==null?void 0:o.children)||null}})}),F=l({name:"Meta",inheritAttrs:!1,props:{...p,charset:String,content:String,httpEquiv:String,name:String,body:Boolean,renderPriority:[String,Number]},setup:u(n=>{const t={...n};return t.httpEquiv&&(t["http-equiv"]=t.httpEquiv,delete t.httpEquiv),{meta:[t]}})}),O=l({name:"Head",inheritAttrs:!1,setup:(n,t)=>()=>{var r,e;return(e=(r=t.slots).default)==null?void 0:e.call(r)}}),V=l({name:"Html",inheritAttrs:!1,props:{...p,manifest:String,version:String,xmlns:String,renderPriority:[String,Number]},setup:u(n=>({htmlAttrs:n}),!0)}),w=l({name:"Body",inheritAttrs:!1,props:{...p,renderPriority:[String,Number]},setup:u(n=>({bodyAttrs:n}),!0)}),I={__name:"default",setup(n){const t=P(),{t:r}=q(),e=x({}),o=y(()=>t.meta.title?r(t.meta.title):"YiDrop"),d=y(()=>t.meta.description?r(t.meta.description):null);return(b,D)=>{const B=C,S=F,k=z,A=O,v=w,H=V;return s(),f("div",null,[c(H,{lang:a(e).htmlAttrs.lang,dir:a(e).htmlAttrs.dir},{default:g(()=>[c(A,null,{default:g(()=>[c(B,null,{default:g(()=>[L(j(a(o)),1)]),_:1}),a(d)?(s(),m(S,{key:0,name:"description",content:a(d)},null,8,["content"])):E("",!0),(s(!0),f(h,null,_(a(e).link,i=>(s(),m(k,{key:i.id,id:i.id,rel:i.rel,href:i.href,hreflang:i.hreflang},null,8,["id","rel","href","hreflang"]))),128)),(s(!0),f(h,null,_(a(e).meta,i=>(s(),m(S,{key:i.id,id:i.id,property:i.property,content:i.content},null,8,["id","property","content"]))),128))]),_:1}),c(v,{class:"dark:bg-gray-900"},{default:g(()=>[M(b.$slots,"default")]),_:3})]),_:3},8,["lang","dir"])])}}};export{I as default};
2 |
--------------------------------------------------------------------------------
/.output/public/_nuxt/B91cUC4l.js:
--------------------------------------------------------------------------------
1 | import{_ as s}from"./DlAUqK2U.js";import{u as a}from"./DVZgQkfD.js";import{c as i,o as u,a as e,t as o}from"./7iU6E5Xm.js";const l={class:"antialiased bg-white dark:bg-black dark:text-white font-sans grid min-h-screen overflow-hidden place-content-center text-black"},c={class:"max-w-520px text-center"},d=["textContent"],p=["textContent"],f={__name:"error-500",props:{appName:{type:String,default:"Nuxt"},version:{type:String,default:""},statusCode:{type:Number,default:500},statusMessage:{type:String,default:"Server error"},description:{type:String,default:"This page is temporarily unavailable."}},setup(t){const r=t;return a({title:`${r.statusCode} - ${r.statusMessage} | ${r.appName}`,script:[{children:`!function(){const e=document.createElement("link").relList;if(!(e&&e.supports&&e.supports("modulepreload"))){for(const e of document.querySelectorAll('link[rel="modulepreload"]'))r(e);new MutationObserver((e=>{for(const o of e)if("childList"===o.type)for(const e of o.addedNodes)"LINK"===e.tagName&&"modulepreload"===e.rel&&r(e)})).observe(document,{childList:!0,subtree:!0})}function r(e){if(e.ep)return;e.ep=!0;const r=function(e){const r={};return e.integrity&&(r.integrity=e.integrity),e.referrerPolicy&&(r.referrerPolicy=e.referrerPolicy),"use-credentials"===e.crossOrigin?r.credentials="include":"anonymous"===e.crossOrigin?r.credentials="omit":r.credentials="same-origin",r}(e);fetch(e.href,r)}}();`}],style:[{children:'*,:after,:before{border-color:var(--un-default-border-color,#e5e7eb);border-style:solid;border-width:0;box-sizing:border-box}:after,:before{--un-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}h1{font-size:inherit;font-weight:inherit}h1,p{margin:0}*,:after,:before{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 transparent;--un-ring-shadow:0 0 transparent;--un-shadow-inset: ;--un-shadow:0 0 transparent;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgba(147,197,253,.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }'}]}),(g,n)=>(u(),i("div",l,[n[0]||(n[0]=e("div",{class:"-bottom-1/2 fixed h-1/2 left-0 right-0 spotlight"},null,-1)),e("div",c,[e("h1",{class:"font-medium mb-8 sm:text-10xl text-8xl",textContent:o(t.statusCode)},null,8,d),e("p",{class:"font-light leading-tight mb-16 px-8 sm:px-0 sm:text-4xl text-xl",textContent:o(t.description)},null,8,p)])]))}},x=s(f,[["__scopeId","data-v-a98cb344"]]);export{x as default};
2 |
--------------------------------------------------------------------------------
/.output/public/_nuxt/error-404.ChZaS9la.css:
--------------------------------------------------------------------------------
1 | .spotlight[data-v-b1a74e1b]{background:linear-gradient(45deg,#00dc82,#36e4da 50%,#0047e1);bottom:-30vh;filter:blur(20vh);height:40vh}.gradient-border[data-v-b1a74e1b]{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:.5rem;position:relative}@media (prefers-color-scheme:light){.gradient-border[data-v-b1a74e1b]{background-color:#ffffff4d}.gradient-border[data-v-b1a74e1b]:before{background:linear-gradient(90deg,#e2e2e2,#e2e2e2 25%,#00dc82,#36e4da 75%,#0047e1)}}@media (prefers-color-scheme:dark){.gradient-border[data-v-b1a74e1b]{background-color:#1414144d}.gradient-border[data-v-b1a74e1b]:before{background:linear-gradient(90deg,#303030,#303030 25%,#00dc82,#36e4da 75%,#0047e1)}}.gradient-border[data-v-b1a74e1b]:before{background-size:400% auto;border-radius:.5rem;bottom:0;content:"";left:0;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.5;padding:2px;position:absolute;right:0;top:0;transition:background-position .3s ease-in-out,opacity .2s ease-in-out;width:100%}.gradient-border[data-v-b1a74e1b]:hover:before{background-position:-50% 0;opacity:1}.fixed[data-v-b1a74e1b]{position:fixed}.left-0[data-v-b1a74e1b]{left:0}.right-0[data-v-b1a74e1b]{right:0}.z-10[data-v-b1a74e1b]{z-index:10}.z-20[data-v-b1a74e1b]{z-index:20}.grid[data-v-b1a74e1b]{display:grid}.mb-16[data-v-b1a74e1b]{margin-bottom:4rem}.mb-8[data-v-b1a74e1b]{margin-bottom:2rem}.max-w-520px[data-v-b1a74e1b]{max-width:520px}.min-h-screen[data-v-b1a74e1b]{min-height:100vh}.w-full[data-v-b1a74e1b]{width:100%}.flex[data-v-b1a74e1b]{display:flex}.cursor-pointer[data-v-b1a74e1b]{cursor:pointer}.place-content-center[data-v-b1a74e1b]{place-content:center}.items-center[data-v-b1a74e1b]{align-items:center}.justify-center[data-v-b1a74e1b]{justify-content:center}.overflow-hidden[data-v-b1a74e1b]{overflow:hidden}.bg-white[data-v-b1a74e1b]{--un-bg-opacity:1;background-color:rgb(255 255 255/var(--un-bg-opacity))}.px-4[data-v-b1a74e1b]{padding-left:1rem;padding-right:1rem}.px-8[data-v-b1a74e1b]{padding-left:2rem;padding-right:2rem}.py-2[data-v-b1a74e1b]{padding-bottom:.5rem;padding-top:.5rem}.text-center[data-v-b1a74e1b]{text-align:center}.text-8xl[data-v-b1a74e1b]{font-size:6rem;line-height:1}.text-xl[data-v-b1a74e1b]{font-size:1.25rem;line-height:1.75rem}.text-black[data-v-b1a74e1b]{--un-text-opacity:1;color:rgb(0 0 0/var(--un-text-opacity))}.font-light[data-v-b1a74e1b]{font-weight:300}.font-medium[data-v-b1a74e1b]{font-weight:500}.leading-tight[data-v-b1a74e1b]{line-height:1.25}.font-sans[data-v-b1a74e1b]{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.antialiased[data-v-b1a74e1b]{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){.dark\:bg-black[data-v-b1a74e1b]{--un-bg-opacity:1;background-color:rgb(0 0 0/var(--un-bg-opacity))}.dark\:text-white[data-v-b1a74e1b]{--un-text-opacity:1;color:rgb(255 255 255/var(--un-text-opacity))}}@media (min-width:640px){.sm\:px-0[data-v-b1a74e1b]{padding-left:0;padding-right:0}.sm\:px-6[data-v-b1a74e1b]{padding-left:1.5rem;padding-right:1.5rem}.sm\:py-3[data-v-b1a74e1b]{padding-bottom:.75rem;padding-top:.75rem}.sm\:text-4xl[data-v-b1a74e1b]{font-size:2.25rem;line-height:2.5rem}.sm\:text-xl[data-v-b1a74e1b]{font-size:1.25rem;line-height:1.75rem}}
2 |
--------------------------------------------------------------------------------
/.output/public/_nuxt/CfNJ4R0Q.js:
--------------------------------------------------------------------------------
1 | import{_ as a}from"./Dt4uv5Vt.js";import{_ as i}from"./DlAUqK2U.js";import{u}from"./DVZgQkfD.js";import{c,o as l,a as e,t as r,b as d,w as p,d as f}from"./7iU6E5Xm.js";const m={class:"antialiased bg-white dark:bg-black dark:text-white font-sans grid min-h-screen overflow-hidden place-content-center text-black"},g={class:"max-w-520px text-center z-20"},h=["textContent"],b=["textContent"],x={class:"flex items-center justify-center w-full"},y={__name:"error-404",props:{appName:{type:String,default:"Nuxt"},version:{type:String,default:""},statusCode:{type:Number,default:404},statusMessage:{type:String,default:"Not Found"},description:{type:String,default:"Sorry, the page you are looking for could not be found."},backHome:{type:String,default:"Go back home"}},setup(t){const n=t;return u({title:`${n.statusCode} - ${n.statusMessage} | ${n.appName}`,script:[{children:`!function(){const e=document.createElement("link").relList;if(!(e&&e.supports&&e.supports("modulepreload"))){for(const e of document.querySelectorAll('link[rel="modulepreload"]'))r(e);new MutationObserver((e=>{for(const o of e)if("childList"===o.type)for(const e of o.addedNodes)"LINK"===e.tagName&&"modulepreload"===e.rel&&r(e)})).observe(document,{childList:!0,subtree:!0})}function r(e){if(e.ep)return;e.ep=!0;const r=function(e){const r={};return e.integrity&&(r.integrity=e.integrity),e.referrerPolicy&&(r.referrerPolicy=e.referrerPolicy),"use-credentials"===e.crossOrigin?r.credentials="include":"anonymous"===e.crossOrigin?r.credentials="omit":r.credentials="same-origin",r}(e);fetch(e.href,r)}}();`}],style:[{children:'*,:after,:before{border-color:var(--un-default-border-color,#e5e7eb);border-style:solid;border-width:0;box-sizing:border-box}:after,:before{--un-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}h1{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}h1,p{margin:0}*,:after,:before{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 transparent;--un-ring-shadow:0 0 transparent;--un-shadow-inset: ;--un-shadow:0 0 transparent;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgba(147,197,253,.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }'}]}),(k,o)=>{const s=a;return l(),c("div",m,[o[0]||(o[0]=e("div",{class:"fixed left-0 right-0 spotlight z-10"},null,-1)),e("div",g,[e("h1",{class:"font-medium mb-8 sm:text-10xl text-8xl",textContent:r(t.statusCode)},null,8,h),e("p",{class:"font-light leading-tight mb-16 px-8 sm:px-0 sm:text-4xl text-xl",textContent:r(t.description)},null,8,b),e("div",x,[d(s,{to:"/",class:"cursor-pointer gradient-border px-4 py-2 sm:px-6 sm:py-3 sm:text-xl text-md"},{default:p(()=>[f(r(t.backHome),1)]),_:1})])])])}}},N=i(y,[["__scopeId","data-v-b1a74e1b"]]);export{N as default};
2 |
--------------------------------------------------------------------------------
/.output/public/_nuxt/7mXSOByi.js:
--------------------------------------------------------------------------------
1 | import{v as H,x as _,y as v,z as S,A as z,B as T,C as M,D as $,E as G,h as w,G as I,H as K,I as L,e as j,u as q,J as F,l as J,i as N,w as f,K as V,o as x,b as y,_ as U,d as E,t as g,s as W,a as C}from"./7iU6E5Xm.js";import{_ as k}from"./Dt4uv5Vt.js";import{_ as Q}from"./CGc4XQCy.js";import"./Cp5OmZP0.js";const X=s=>s==="defer"||s===!1;function Y(...s){var R;const r=typeof s[s.length-1]=="string"?s.pop():void 0;typeof s[0]!="string"&&s.unshift(r);let[a,l,e={}]=s;if(typeof a!="string")throw new TypeError("[nuxt] [asyncData] key must be a string.");if(typeof l!="function")throw new TypeError("[nuxt] [asyncData] handler must be a function.");const t=H(),h=l,m=()=>_.value,p=()=>t.isHydrating?t.payload.data[a]:t.static.data[a];e.server=e.server??!0,e.default=e.default??m,e.getCachedData=e.getCachedData??p,e.lazy=e.lazy??!1,e.immediate=e.immediate??!0,e.deep=e.deep??_.deep,e.dedupe=e.dedupe??"cancel";const u=e.getCachedData(a,t),P=u!=null;if(!t._asyncData[a]||!e.immediate){(R=t.payload._errors)[a]??(R[a]=_.errorValue);const i=e.deep?v:S;t._asyncData[a]={data:i(P?u:e.default()),pending:v(!P),error:z(t.payload._errors,a),status:v("idle"),_default:e.default}}const n={...t._asyncData[a]};delete n._default,n.refresh=n.execute=(i={})=>{if(t._asyncDataPromises[a]){if(X(i.dedupe??e.dedupe))return t._asyncDataPromises[a];t._asyncDataPromises[a].cancelled=!0}if(i._initial||t.isHydrating&&i._initial!==!1){const c=i._initial?u:e.getCachedData(a,t);if(c!=null)return Promise.resolve(c)}n.pending.value=!0,n.status.value="pending";const d=new Promise((c,o)=>{try{c(h(t))}catch(D){o(D)}}).then(async c=>{if(d.cancelled)return t._asyncDataPromises[a];let o=c;e.transform&&(o=await e.transform(c)),e.pick&&(o=A(o,e.pick)),t.payload.data[a]=o,n.data.value=o,n.error.value=_.errorValue,n.status.value="success"}).catch(c=>{if(d.cancelled)return t._asyncDataPromises[a];n.error.value=G(c),n.data.value=w(e.default()),n.status.value="error"}).finally(()=>{d.cancelled||(n.pending.value=!1,delete t._asyncDataPromises[a])});return t._asyncDataPromises[a]=d,t._asyncDataPromises[a]},n.clear=()=>Z(t,a);const b=()=>n.refresh({_initial:!0}),B=e.server!==!1&&t.payload.serverRendered;{const i=I();if(i&&B&&e.immediate&&!i.sp&&(i.sp=[]),i&&!i._nuxtOnBeforeMountCbs){i._nuxtOnBeforeMountCbs=[];const o=i._nuxtOnBeforeMountCbs;K(()=>{o.forEach(D=>{D()}),o.splice(0,o.length)}),L(()=>o.splice(0,o.length))}B&&t.isHydrating&&(n.error.value||u!=null)?(n.pending.value=!1,n.status.value=n.error.value?"error":"success"):i&&(t.payload.serverRendered&&t.isHydrating||e.lazy)&&e.immediate?i._nuxtOnBeforeMountCbs.push(b):e.immediate&&b();const d=$();if(e.watch){const o=T(e.watch,()=>n.refresh());d&&M(o)}const c=t.hook("app:data:refresh",async o=>{(!o||o.includes(a))&&await n.refresh()});d&&M(c)}const O=Promise.resolve(t._asyncDataPromises[a]).then(()=>n);return Object.assign(O,n),O}function Z(s,r){r in s.payload.data&&(s.payload.data[r]=void 0),r in s.payload._errors&&(s.payload._errors[r]=_.errorValue),s._asyncData[r]&&(s._asyncData[r].data.value=void 0,s._asyncData[r].error.value=_.errorValue,s._asyncData[r].pending.value=!1,s._asyncData[r].status.value="idle"),r in s._asyncDataPromises&&(s._asyncDataPromises[r]&&(s._asyncDataPromises[r].cancelled=!0),s._asyncDataPromises[r]=void 0)}function A(s,r){const a={};for(const l of r)a[l]=s[l];return a}const ee={class:"article"},ae={class:"mb-4"},oe=j({__name:"[...slug]",setup(s){const{t:r}=q(),a=F();return J(async()=>{const l=a.currentRoute.value.fullPath;await Y(()=>queryContent(l).findOne(),"$ok6Mx3ME21")}),(l,e)=>{const t=V("ContentRenderer"),h=V("ContentDoc"),m=U,p=k;return x(),N(Q,{"sub-title":w(r)("news.title")},{content:f(()=>[y(h,null,{default:f(({doc:u})=>[C("article",ee,[C("h1",null,g(u.title),1),C("p",ae,g(new Date(u.date).toLocaleDateString()),1),y(t,{value:u},null,8,["value"])])]),_:1}),w(a).currentRoute.value.fullPath.startsWith("/news/releases")?(x(),N(m,{key:0,href:"https://github.com/lingyicute/yidrop/blob/main/app/assets/CHANGELOG.md",class:"mt-4 underline"},{default:f(()=>e[0]||(e[0]=[E(" Checkout the full changelog ")])),_:1})):W("",!0)]),back:f(()=>[y(p,{to:"/news",class:"mt-8"},{default:f(()=>[y(m,{class:"dark:text-gray-300"},{default:f(()=>[E(g(l.$t("news.showAll")),1)]),_:1})]),_:1})]),_:1},8,["sub-title"])}}});export{oe as default};
2 |
--------------------------------------------------------------------------------
/.output/public/_nuxt/C10QlJ6W.js:
--------------------------------------------------------------------------------
1 | import{_ as v}from"./CfrowSII.js";import{_ as b}from"./Dt4uv5Vt.js";import{e as f,c as u,o as h,b as o,a as s,k as w,t as a,p as g,u as k,f as j,l as D,n as c,m as S,h as e,w as l,d as _}from"./7iU6E5Xm.js";import{_ as P}from"./Cp5OmZP0.js";import{_ as $}from"./DlAUqK2U.js";const C={class:"flex flex-col items-center rounded-xl bg-gray-100 pb-4 pl-4 pr-4 pt-8 dark:bg-gray-800 dark:text-gray-300"},N={class:"mt-4 text-center text-xl font-bold dark:text-white"},B={class:"mt-2 text-center dark:text-gray-400"},L=f({__name:"FeatureCard",props:{title:{type:String,required:!0},description:{type:String,required:!0},icon:{type:String,required:!0}},setup(d){const t=d;return(y,r)=>{const m=w;return h(),u("div",C,[o(m,{name:t.icon,class:"text-6xl dark:text-gray-300"},null,8,["name"]),s("h3",N,a(t.title),1),s("p",B,a(t.description),1)])}}}),V=g("/img/yidrop.webp"),q=g("/img/screenshot-pc.webp"),I={class:"flex min-h-screen items-center justify-center pt-12 md:pt-0"},z={style:{"max-width":"1800px"},class:"grid grid-cols-12"},A={class:"col-span-12 grid grid-cols-12 pb-12 sm:col-span-12 md:col-span-8 md:pb-0 lg:col-span-7"},F={class:"col-span-12 flex items-center justify-center md:col-span-8 md:justify-start lg:pl-2"},T={class:"slogan mt-2 px-4 text-center text-xl font-light dark:text-gray-300 md:px-0 md:text-start md:text-xl xl:text-2xl 2xl:text-3xl"},Y={class:"slogan px-4 text-center text-xl font-light dark:text-gray-300 md:px-0 md:text-start md:text-xl xl:text-2xl 2xl:text-3xl"},E={class:"buttons mt-4 flex flex-wrap justify-center gap-4 px-4 md:justify-start md:px-0 xl:mt-6"},M={class:"m-auto mt-4 flex max-w-screen-lg flex-col items-center px-4 lg:px-12"},R={class:"text-3xl font-bold dark:text-white"},U={class:"mt-8 grid grid-cols-1 gap-4 sm:grid-cols-2 md:grid-cols-3 lg:gap-12"},G={class:"mt-24 text-center text-3xl font-bold dark:text-white"},H={class:"mb-36 mt-8 flex items-center justify-center gap-4"},J=f({__name:"index",setup(d){const{t,locale:y}=k(),r=j();return D(()=>{window.location.hash==="#/privacy"&&c("/privacy"),window.location.hash==="#/terms-of-service"&&c("/terms"),window.location.hash==="#/contact"&&c("/contact")}),(m,i)=>{const p=v,x=b,n=L;return h(),u("div",null,[s("div",I,[s("div",z,[s("div",A,[i[1]||(i[1]=s("div",{class:"col-span-12 mt-0 flex items-center justify-center md:col-span-4 md:justify-end lg:mt-2"},[s("img",{id:"logo",src:P,alt:"YiDrop Logo",class:"h-52 object-contain md:h-40 lg:h-40 xl:h-48 2xl:h-56"})],-1)),s("div",F,[s("div",null,[i[0]||(i[0]=s("h1",{class:"text-center text-5xl font-black dark:text-white sm:text-5xl md:text-start xl:text-7xl 2xl:text-8xl"}," YiDrop ",-1)),s("h2",T,a(e(t)("home.slogan1")),1),s("h2",Y,a(e(t)("home.slogan2")),1),s("div",E,[o(x,{to:e(r)({path:"/download"})},{default:l(()=>[o(p,{icon:"material-symbols:arrow-downward",dark:!0},{default:l(()=>[_(a(e(t)("home.download")),1)]),_:1})]),_:1},8,["to"])])])])]),i[2]||(i[2]=S('
',1))])]),s("div",M,[s("h2",R,a(e(t)("home.features.title")),1),s("div",U,[o(n,{title:e(t)("home.features.decentralized"),description:e(t)("home.features.decentralizedDescription"),icon:"material-symbols:share"},null,8,["title","description"]),o(n,{title:e(t)("home.features.crossPlatform"),description:e(t)("home.features.crossPlatformDescription"),icon:"material-symbols:devices"},null,8,["title","description"]),o(n,{title:e(t)("home.features.free"),description:e(t)("home.features.freeDescription"),icon:"material-symbols:volunteer-activism"},null,8,["title","description"]),o(n,{title:e(t)("home.features.openSource"),description:e(t)("home.features.openSourceDescription"),icon:"material-symbols:code"},null,8,["title","description"]),o(n,{title:e(t)("home.features.secure"),description:e(t)("home.features.secureDescription"),icon:"material-symbols:lock"},null,8,["title","description"]),o(n,{title:e(t)("home.features.easy"),description:e(t)("home.features.easyDescription"),icon:"material-symbols:gesture"},null,8,["title","description"])]),s("h2",G,a(e(t)("home.get")),1),s("div",H,[o(x,{to:e(r)({path:"/download"})},{default:l(()=>[o(p,{icon:"material-symbols:download",dark:!0},{default:l(()=>[_(a(e(t)("home.download")),1)]),_:1})]),_:1},8,["to"])])])])}}}),Z=$(J,[["__scopeId","data-v-3809a6f1"]]);export{Z as default};
2 |
--------------------------------------------------------------------------------
/.output/public/_nuxt/Dt4uv5Vt.js:
--------------------------------------------------------------------------------
1 | import{J as C,e as T,y as w,v as _,l as U,L as B,M as E,N as I,O as V,P as A,K as L,Q as F,R as x,n as H,S as O,T as D,U as M,V as N,W,X as z,Y as Q}from"./7iU6E5Xm.js";async function j(t,n=C()){const{path:d,matched:p}=n.resolve(t);if(!p.length||(n._routePreloaded||(n._routePreloaded=new Set),n._routePreloaded.has(d)))return;const g=n._preloadPromises=n._preloadPromises||[];if(g.length>4)return Promise.all(g).then(()=>j(t,n));n._routePreloaded.add(d);const e=p.map(a=>{var f;return(f=a.components)==null?void 0:f.default}).filter(a=>typeof a=="function");for(const a of e){const f=Promise.resolve(a()).catch(()=>{}).finally(()=>g.splice(g.indexOf(f)));g.push(f)}await Promise.all(g)}const $=(...t)=>t.find(n=>n!==void 0);function G(t){const n=t.componentName||"NuxtLink";function d(e){return typeof e=="string"&&e.startsWith("#")}function p(e,a){if(!e||t.trailingSlash!=="append"&&t.trailingSlash!=="remove")return e;if(typeof e=="string")return k(e,t.trailingSlash);const f="path"in e&&e.path!==void 0?e.path:a(e).path;return{...e,name:void 0,path:k(f,t.trailingSlash)}}function g(e){const a=C(),f=M(),i=x(()=>!!e.target&&e.target!=="_self"),v=x(()=>{const o=e.to||e.href||"";return typeof o=="string"&&N(o,{acceptRelative:!0})}),P=L("RouterLink"),y=P&&typeof P!="string"?P.useLink:void 0,m=x(()=>{if(e.external)return!0;const o=e.to||e.href||"";return typeof o=="object"?!1:o===""||v.value}),r=x(()=>{const o=e.to||e.href||"";return m.value?o:p(o,a.resolve)}),c=m.value||y==null?void 0:y({...e,to:r}),b=x(()=>{var o;if(!r.value||v.value||d(r.value))return r.value;if(m.value){const R=typeof r.value=="object"&&"path"in r.value?O(r.value):r.value,S=typeof R=="object"?a.resolve(R).href:R;return p(S,a.resolve)}return typeof r.value=="object"?((o=a.resolve(r.value))==null?void 0:o.href)??null:p(D(f.app.baseURL,r.value),a.resolve)});return{to:r,hasTarget:i,isAbsoluteUrl:v,isExternal:m,href:b,isActive:(c==null?void 0:c.isActive)??x(()=>r.value===a.currentRoute.value.path),isExactActive:(c==null?void 0:c.isExactActive)??x(()=>r.value===a.currentRoute.value.path),route:(c==null?void 0:c.route)??x(()=>a.resolve(r.value)),async navigate(){await H(b.value,{replace:e.replace,external:m.value||i.value})}}}return T({name:n,props:{to:{type:[String,Object],default:void 0,required:!1},href:{type:[String,Object],default:void 0,required:!1},target:{type:String,default:void 0,required:!1},rel:{type:String,default:void 0,required:!1},noRel:{type:Boolean,default:void 0,required:!1},prefetch:{type:Boolean,default:void 0,required:!1},prefetchOn:{type:[String,Object],default:void 0,required:!1},noPrefetch:{type:Boolean,default:void 0,required:!1},activeClass:{type:String,default:void 0,required:!1},exactActiveClass:{type:String,default:void 0,required:!1},prefetchedClass:{type:String,default:void 0,required:!1},replace:{type:Boolean,default:void 0,required:!1},ariaCurrentValue:{type:String,default:void 0,required:!1},external:{type:Boolean,default:void 0,required:!1},custom:{type:Boolean,default:void 0,required:!1}},useLink:g,setup(e,{slots:a}){const f=C(),{to:i,href:v,navigate:P,isExternal:y,hasTarget:m,isAbsoluteUrl:r}=g(e),c=w(!1),b=w(null),o=l=>{var s;b.value=e.custom?(s=l==null?void 0:l.$el)==null?void 0:s.nextElementSibling:l==null?void 0:l.$el};function R(l){var s,u;return!c.value&&(typeof e.prefetchOn=="string"?e.prefetchOn===l:((s=e.prefetchOn)==null?void 0:s[l])??((u=t.prefetchOn)==null?void 0:u[l]))&&(e.prefetch??t.prefetch)!==!1&&e.noPrefetch!==!0&&e.target!=="_blank"&&!X()}async function S(l=_()){if(c.value)return;c.value=!0;const s=typeof i.value=="string"?i.value:y.value?O(i.value):f.resolve(i.value).fullPath,u=y.value?new URL(s,window.location.href).href:s;await Promise.all([l.hooks.callHook("link:prefetch",u).catch(()=>{}),!y.value&&!m.value&&j(i.value,f).catch(()=>{})])}if(R("visibility")){const l=_();let s,u=null;U(()=>{const h=J();B(()=>{s=E(()=>{var q;(q=b==null?void 0:b.value)!=null&&q.tagName&&(u=h.observe(b.value,async()=>{u==null||u(),u=null,await S(l)}))})})}),I(()=>{s&&V(s),u==null||u(),u=null})}return()=>{var u;if(!y.value&&!m.value&&!d(i.value)){const h={ref:o,to:i.value,activeClass:e.activeClass||t.activeClass,exactActiveClass:e.exactActiveClass||t.exactActiveClass,replace:e.replace,ariaCurrentValue:e.ariaCurrentValue,custom:e.custom};return e.custom||(R("interaction")&&(h.onPointerenter=S.bind(null,void 0),h.onFocus=S.bind(null,void 0)),c.value&&(h.class=e.prefetchedClass||t.prefetchedClass),h.rel=e.rel||void 0),A(L("RouterLink"),h,a.default)}const l=e.target||null,s=$(e.noRel?"":e.rel,t.externalRelAttribute,r.value||m.value?"noopener noreferrer":"")||null;return e.custom?a.default?a.default({href:v.value,navigate:P,prefetch:S,get route(){if(!v.value)return;const h=new URL(v.value,window.location.href);return{path:h.pathname,fullPath:h.pathname,get query(){return F(h.search)},hash:h.hash,params:{},name:void 0,matched:[],redirectedFrom:void 0,meta:{},href:v.value}},rel:s,target:l,isExternal:y.value||m.value,isActive:!1,isExactActive:!1}):null:A("a",{ref:b,href:v.value||null,rel:s,target:l},(u=a.default)==null?void 0:u.call(a))}}})}const Z=G(Q);function k(t,n){const d=n==="append"?W:z;return N(t)&&!t.startsWith("http")?t:d(t,!0)}function J(){const t=_();if(t._observer)return t._observer;let n=null;const d=new Map,p=(e,a)=>(n||(n=new IntersectionObserver(f=>{for(const i of f){const v=d.get(i.target);(i.isIntersecting||i.intersectionRatio>0)&&v&&v()}})),d.set(e,a),n.observe(e),()=>{d.delete(e),n==null||n.unobserve(e),d.size===0&&(n==null||n.disconnect(),n=null)});return t._observer={observe:p}}const K=/2g/;function X(){const t=navigator.connection;return!!(t&&(t.saveData||K.test(t.effectiveType)))}export{Z as _};
2 |
--------------------------------------------------------------------------------
/pages/index.vue:
--------------------------------------------------------------------------------
1 |
2 |
187 |
188 |
189 |
190 |
191 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | Apache License
2 | Version 2.0, January 2004
3 | http://www.apache.org/licenses/
4 |
5 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
6 |
7 | 1. Definitions.
8 |
9 | "License" shall mean the terms and conditions for use, reproduction,
10 | and distribution as defined by Sections 1 through 9 of this document.
11 |
12 | "Licensor" shall mean the copyright owner or entity authorized by
13 | the copyright owner that is granting the License.
14 |
15 | "Legal Entity" shall mean the union of the acting entity and all
16 | other entities that control, are controlled by, or are under common
17 | control with that entity. For the purposes of this definition,
18 | "control" means (i) the power, direct or indirect, to cause the
19 | direction or management of such entity, whether by contract or
20 | otherwise, or (ii) ownership of fifty percent (50%) or more of the
21 | outstanding shares, or (iii) beneficial ownership of such entity.
22 |
23 | "You" (or "Your") shall mean an individual or Legal Entity
24 | exercising permissions granted by this License.
25 |
26 | "Source" form shall mean the preferred form for making modifications,
27 | including but not limited to software source code, documentation
28 | source, and configuration files.
29 |
30 | "Object" form shall mean any form resulting from mechanical
31 | transformation or translation of a Source form, including but
32 | not limited to compiled object code, generated documentation,
33 | and conversions to other media types.
34 |
35 | "Work" shall mean the work of authorship, whether in Source or
36 | Object form, made available under the License, as indicated by a
37 | copyright notice that is included in or attached to the work
38 | (an example is provided in the Appendix below).
39 |
40 | "Derivative Works" shall mean any work, whether in Source or Object
41 | form, that is based on (or derived from) the Work and for which the
42 | editorial revisions, annotations, elaborations, or other modifications
43 | represent, as a whole, an original work of authorship. For the purposes
44 | of this License, Derivative Works shall not include works that remain
45 | separable from, or merely link (or bind by name) to the interfaces of,
46 | the Work and Derivative Works thereof.
47 |
48 | "Contribution" shall mean any work of authorship, including
49 | the original version of the Work and any modifications or additions
50 | to that Work or Derivative Works thereof, that is intentionally
51 | submitted to Licensor for inclusion in the Work by the copyright owner
52 | or by an individual or Legal Entity authorized to submit on behalf of
53 | the copyright owner. For the purposes of this definition, "submitted"
54 | means any form of electronic, verbal, or written communication sent
55 | to the Licensor or its representatives, including but not limited to
56 | communication on electronic mailing lists, source code control systems,
57 | and issue tracking systems that are managed by, or on behalf of, the
58 | Licensor for the purpose of discussing and improving the Work, but
59 | excluding communication that is conspicuously marked or otherwise
60 | designated in writing by the copyright owner as "Not a Contribution."
61 |
62 | "Contributor" shall mean Licensor and any individual or Legal Entity
63 | on behalf of whom a Contribution has been received by Licensor and
64 | subsequently incorporated within the Work.
65 |
66 | 2. Grant of Copyright License. Subject to the terms and conditions of
67 | this License, each Contributor hereby grants to You a perpetual,
68 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable
69 | copyright license to reproduce, prepare Derivative Works of,
70 | publicly display, publicly perform, sublicense, and distribute the
71 | Work and such Derivative Works in Source or Object form.
72 |
73 | 3. Grant of Patent License. Subject to the terms and conditions of
74 | this License, each Contributor hereby grants to You a perpetual,
75 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable
76 | (except as stated in this section) patent license to make, have made,
77 | use, offer to sell, sell, import, and otherwise transfer the Work,
78 | where such license applies only to those patent claims licensable
79 | by such Contributor that are necessarily infringed by their
80 | Contribution(s) alone or by combination of their Contribution(s)
81 | with the Work to which such Contribution(s) was submitted. If You
82 | institute patent litigation against any entity (including a
83 | cross-claim or counterclaim in a lawsuit) alleging that the Work
84 | or a Contribution incorporated within the Work constitutes direct
85 | or contributory patent infringement, then any patent licenses
86 | granted to You under this License for that Work shall terminate
87 | as of the date such litigation is filed.
88 |
89 | 4. Redistribution. You may reproduce and distribute copies of the
90 | Work or Derivative Works thereof in any medium, with or without
91 | modifications, and in Source or Object form, provided that You
92 | meet the following conditions:
93 |
94 | (a) You must give any other recipients of the Work or
95 | Derivative Works a copy of this License; and
96 |
97 | (b) You must cause any modified files to carry prominent notices
98 | stating that You changed the files; and
99 |
100 | (c) You must retain, in the Source form of any Derivative Works
101 | that You distribute, all copyright, patent, trademark, and
102 | attribution notices from the Source form of the Work,
103 | excluding those notices that do not pertain to any part of
104 | the Derivative Works; and
105 |
106 | (d) If the Work includes a "NOTICE" text file as part of its
107 | distribution, then any Derivative Works that You distribute must
108 | include a readable copy of the attribution notices contained
109 | within such NOTICE file, excluding those notices that do not
110 | pertain to any part of the Derivative Works, in at least one
111 | of the following places: within a NOTICE text file distributed
112 | as part of the Derivative Works; within the Source form or
113 | documentation, if provided along with the Derivative Works; or,
114 | within a display generated by the Derivative Works, if and
115 | wherever such third-party notices normally appear. The contents
116 | of the NOTICE file are for informational purposes only and
117 | do not modify the License. You may add Your own attribution
118 | notices within Derivative Works that You distribute, alongside
119 | or as an addendum to the NOTICE text from the Work, provided
120 | that such additional attribution notices cannot be construed
121 | as modifying the License.
122 |
123 | You may add Your own copyright statement to Your modifications and
124 | may provide additional or different license terms and conditions
125 | for use, reproduction, or distribution of Your modifications, or
126 | for any such Derivative Works as a whole, provided Your use,
127 | reproduction, and distribution of the Work otherwise complies with
128 | the conditions stated in this License.
129 |
130 | 5. Submission of Contributions. Unless You explicitly state otherwise,
131 | any Contribution intentionally submitted for inclusion in the Work
132 | by You to the Licensor shall be under the terms and conditions of
133 | this License, without any additional terms or conditions.
134 | Notwithstanding the above, nothing herein shall supersede or modify
135 | the terms of any separate license agreement you may have executed
136 | with Licensor regarding such Contributions.
137 |
138 | 6. Trademarks. This License does not grant permission to use the trade
139 | names, trademarks, service marks, or product names of the Licensor,
140 | except as required for reasonable and customary use in describing the
141 | origin of the Work and reproducing the content of the NOTICE file.
142 |
143 | 7. Disclaimer of Warranty. Unless required by applicable law or
144 | agreed to in writing, Licensor provides the Work (and each
145 | Contributor provides its Contributions) on an "AS IS" BASIS,
146 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
147 | implied, including, without limitation, any warranties or conditions
148 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
149 | PARTICULAR PURPOSE. You are solely responsible for determining the
150 | appropriateness of using or redistributing the Work and assume any
151 | risks associated with Your exercise of permissions under this License.
152 |
153 | 8. Limitation of Liability. In no event and under no legal theory,
154 | whether in tort (including negligence), contract, or otherwise,
155 | unless required by applicable law (such as deliberate and grossly
156 | negligent acts) or agreed to in writing, shall any Contributor be
157 | liable to You for damages, including any direct, indirect, special,
158 | incidental, or consequential damages of any character arising as a
159 | result of this License or out of the use or inability to use the
160 | Work (including but not limited to damages for loss of goodwill,
161 | work stoppage, computer failure or malfunction, or any and all
162 | other commercial damages or losses), even if such Contributor
163 | has been advised of the possibility of such damages.
164 |
165 | 9. Accepting Warranty or Additional Liability. While redistributing
166 | the Work or Derivative Works thereof, You may choose to offer,
167 | and charge a fee for, acceptance of support, warranty, indemnity,
168 | or other liability obligations and/or rights consistent with this
169 | License. However, in accepting such obligations, You may act only
170 | on Your own behalf and on Your sole responsibility, not on behalf
171 | of any other Contributor, and only if You agree to indemnify,
172 | defend, and hold each Contributor harmless for any liability
173 | incurred by, or claims asserted against, such Contributor by reason
174 | of your accepting any such warranty or additional liability.
175 |
176 | END OF TERMS AND CONDITIONS
177 |
178 | APPENDIX: How to apply the Apache License to your work.
179 |
180 | To apply the Apache License to your work, attach the following
181 | boilerplate notice, with the fields enclosed by brackets "[]"
182 | replaced with your own identifying information. (Don't include
183 | the brackets!) The text should be enclosed in the appropriate
184 | comment syntax for the file format. We also recommend that a
185 | file or class name and description of purpose be included on the
186 | same "printed page" as the copyright notice for easier
187 | identification within third-party archives.
188 |
189 | Copyright 2022-2024 Tien Do Nam
190 |
191 | Licensed under the Apache License, Version 2.0 (the "License");
192 | you may not use this file except in compliance with the License.
193 | You may obtain a copy of the License at
194 |
195 | http://www.apache.org/licenses/LICENSE-2.0
196 |
197 | Unless required by applicable law or agreed to in writing, software
198 | distributed under the License is distributed on an "AS IS" BASIS,
199 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
200 | See the License for the specific language governing permissions and
201 | limitations under the License.
202 |
--------------------------------------------------------------------------------
/.output/public/200.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/.output/public/404.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/.output/public/news.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | YiDrop
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/.output/public/download.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | YiDrop - Downloads
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |