mirror of
https://github.com/zenlm/zen-code-docs.git
synced 2026-10-30 14:58:40 +00:00
1 line
3.9 KiB
JavaScript
1 line
3.9 KiB
JavaScript
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1084],{38147:function(e,r,n){Promise.resolve().then(n.bind(n,20735)),Promise.resolve().then(n.bind(n,25922)),Promise.resolve().then(n.t.bind(n,65878,23)),Promise.resolve().then(n.t.bind(n,72972,23)),Promise.resolve().then(n.bind(n,60208)),Promise.resolve().then(n.bind(n,57651)),Promise.resolve().then(n.bind(n,16016)),Promise.resolve().then(n.bind(n,86297)),Promise.resolve().then(n.bind(n,88212)),Promise.resolve().then(n.bind(n,57191)),Promise.resolve().then(n.bind(n,935)),Promise.resolve().then(n.bind(n,94386)),Promise.resolve().then(n.bind(n,56099)),Promise.resolve().then(n.bind(n,98270)),Promise.resolve().then(n.bind(n,17691)),Promise.resolve().then(n.bind(n,54108)),Promise.resolve().then(n.bind(n,18960)),Promise.resolve().then(n.bind(n,7910)),Promise.resolve().then(n.bind(n,60595)),Promise.resolve().then(n.bind(n,10300)),Promise.resolve().then(n.bind(n,30763)),Promise.resolve().then(n.bind(n,94328)),Promise.resolve().then(n.bind(n,78257)),Promise.resolve().then(n.bind(n,6170)),Promise.resolve().then(n.bind(n,98451)),Promise.resolve().then(n.bind(n,32594))},32594:function(e,r,n){"use strict";n.d(r,{LanguageDropdown:function(){return d}});var s=n(57437),t=n(2265),a=n(99376),o=n(29202),l=n(40875);let i=[{locale:"en",name:"English",flag:"\uD83C\uDDFA\uD83C\uDDF8"},{locale:"zh",name:"中文",flag:"\uD83C\uDDE8\uD83C\uDDF3"},{locale:"de",name:"Deutsch",flag:"\uD83C\uDDE9\uD83C\uDDEA"},{locale:"fr",name:"Fran\xe7ais",flag:"\uD83C\uDDEB\uD83C\uDDF7"},{locale:"ru",name:"Русский",flag:"\uD83C\uDDF7\uD83C\uDDFA"},{locale:"ja",name:"日本語",flag:"\uD83C\uDDEF\uD83C\uDDF5"}],d=e=>{let{currentLang:r}=e,[n,d]=(0,t.useState)(!1),[u,m]=(0,t.useState)(!1),c=(0,t.useRef)(null),b=(0,a.useRouter)(),h=(0,a.usePathname)();(0,t.useEffect)(()=>{m(!0)},[]),(0,t.useEffect)(()=>{let e=e=>{c.current&&!c.current.contains(e.target)&&d(!1)};return n&&document.addEventListener("mousedown",e),()=>{document.removeEventListener("mousedown",e)}},[n]);let g=i.find(e=>e.locale===r),v=e=>{if(!u)return;let r=h.split("/").filter(Boolean);r[0]&&i.some(e=>e.locale===r[0])?r[0]=e:r.unshift(e);let n="/"+r.join("/");b.push(n),d(!1)};return u?(0,s.jsxs)("div",{className:"relative",ref:c,children:[(0,s.jsxs)("button",{onClick:()=>d(!n),className:"flex items-center gap-2 px-3 py-1.5 text-sm text-gray-600 hover:text-gray-900 dark:text-gray-300 dark:hover:text-gray-100 bg-gray-50 hover:bg-gray-100 dark:bg-gray-800 dark:hover:bg-gray-700 rounded-md transition-colors duration-200 border border-gray-200 dark:border-gray-600","aria-label":"选择语言",children:[(0,s.jsxs)("span",{className:"font-medium",children:[null==g?void 0:g.flag," ",(null==g?void 0:g.name)||r]}),(0,s.jsx)(l.Z,{className:"w-4 h-4 transition-transform duration-200 ".concat(n?"rotate-180":"")})]}),n&&(0,s.jsx)("div",{className:"absolute top-full right-0 mt-1 bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-600 rounded-md shadow-lg z-50 min-w-[160px]",children:(0,s.jsx)("div",{className:"py-1",children:i.map(e=>(0,s.jsxs)("button",{onClick:()=>v(e.locale),className:"w-full text-left px-3 py-2 text-sm hover:bg-gray-50 dark:hover:bg-gray-700 transition-colors duration-150 flex items-center gap-2 ".concat(e.locale===r?"bg-blue-50 dark:bg-blue-900/20 text-blue-700 dark:text-blue-300":"text-gray-700 dark:text-gray-200"),children:[(0,s.jsx)("span",{className:"text-base",children:e.flag}),(0,s.jsx)("span",{className:"font-medium",children:e.name}),e.locale===r&&(0,s.jsx)("span",{className:"ml-auto text-blue-500 dark:text-blue-400",children:"✓"})]},e.locale))})})]}):(0,s.jsxs)("div",{className:"flex items-center gap-2 px-3 py-1.5 text-sm text-gray-600 dark:text-gray-300 bg-gray-50 dark:bg-gray-800 rounded-md",children:[(0,s.jsx)(o.Z,{className:"w-4 h-4"}),(0,s.jsx)("span",{children:(null==g?void 0:g.name)||r})]})}}},function(e){e.O(0,[5501,1105,5524,2770,2971,2117,1744],function(){return e(e.s=38147)}),_N_E=e.O()}]); |