This commit is contained in:
quantulr
2023-11-03 17:25:10 +08:00
parent 2423f8c2e8
commit b6a722fa79
62 changed files with 415 additions and 260 deletions

64
.idea/codeStyles/Project.xml generated Normal file
View File

@ -0,0 +1,64 @@
<component name="ProjectCodeStyleConfiguration">
<code_scheme name="Project" version="173">
<HTMLCodeStyleSettings>
<option name="HTML_SPACE_INSIDE_EMPTY_TAG" value="true" />
<option name="HTML_ENFORCE_QUOTES" value="true" />
</HTMLCodeStyleSettings>
<JSCodeStyleSettings version="0">
<option name="FORCE_SEMICOLON_STYLE" value="true" />
<option name="SPACE_BEFORE_FUNCTION_LEFT_PARENTH" value="false" />
<option name="FORCE_QUOTE_STYlE" value="true" />
<option name="ENFORCE_TRAILING_COMMA" value="Remove" />
<option name="SPACES_WITHIN_OBJECT_LITERAL_BRACES" value="true" />
<option name="SPACES_WITHIN_IMPORTS" value="true" />
</JSCodeStyleSettings>
<JetCodeStyleSettings>
<option name="CODE_STYLE_DEFAULTS" value="KOTLIN_OFFICIAL" />
</JetCodeStyleSettings>
<TypeScriptCodeStyleSettings version="0">
<option name="FORCE_SEMICOLON_STYLE" value="true" />
<option name="SPACE_BEFORE_FUNCTION_LEFT_PARENTH" value="false" />
<option name="FORCE_QUOTE_STYlE" value="true" />
<option name="ENFORCE_TRAILING_COMMA" value="Remove" />
<option name="SPACES_WITHIN_OBJECT_LITERAL_BRACES" value="true" />
<option name="SPACES_WITHIN_IMPORTS" value="true" />
</TypeScriptCodeStyleSettings>
<VueCodeStyleSettings>
<option name="INTERPOLATION_NEW_LINE_AFTER_START_DELIMITER" value="false" />
<option name="INTERPOLATION_NEW_LINE_BEFORE_END_DELIMITER" value="false" />
</VueCodeStyleSettings>
<codeStyleSettings language="HTML">
<option name="SOFT_MARGINS" value="80" />
<indentOptions>
<option name="INDENT_SIZE" value="2" />
<option name="CONTINUATION_INDENT_SIZE" value="2" />
<option name="TAB_SIZE" value="2" />
</indentOptions>
</codeStyleSettings>
<codeStyleSettings language="JavaScript">
<option name="SOFT_MARGINS" value="80" />
<indentOptions>
<option name="INDENT_SIZE" value="2" />
<option name="CONTINUATION_INDENT_SIZE" value="2" />
<option name="TAB_SIZE" value="2" />
</indentOptions>
</codeStyleSettings>
<codeStyleSettings language="TypeScript">
<option name="SOFT_MARGINS" value="80" />
<indentOptions>
<option name="INDENT_SIZE" value="2" />
<option name="CONTINUATION_INDENT_SIZE" value="2" />
<option name="TAB_SIZE" value="2" />
</indentOptions>
</codeStyleSettings>
<codeStyleSettings language="Vue">
<option name="SOFT_MARGINS" value="80" />
<indentOptions>
<option name="CONTINUATION_INDENT_SIZE" value="2" />
</indentOptions>
</codeStyleSettings>
<codeStyleSettings language="kotlin">
<option name="CODE_STYLE_DEFAULTS" value="KOTLIN_OFFICIAL" />
</codeStyleSettings>
</code_scheme>
</component>

5
.idea/codeStyles/codeStyleConfig.xml generated Normal file
View File

@ -0,0 +1,5 @@
<component name="ProjectCodeStyleConfiguration">
<state>
<option name="USE_PER_PROJECT_SETTINGS" value="true" />
</state>
</component>

2
.prettierrc Normal file
View File

@ -0,0 +1,2 @@
plugins:
- prettier-plugin-tailwindcss

View File

@ -4,7 +4,7 @@ const Page = () => {
return ( return (
<> <>
<ArticleHeading text={"政府政策"} /> <ArticleHeading text={"政府政策"} />
<ol className={"list-decimal list-inside indent-8"}> <ol className={"list-inside list-decimal indent-8"}>
<li></li> <li></li>
<li></li> <li></li>
<li></li> <li></li>

View File

@ -4,7 +4,7 @@ const Page = () => {
return ( return (
<> <>
<ArticleHeading text={"产业对接"} /> <ArticleHeading text={"产业对接"} />
<ol className={"list-decimal list-inside indent-8"}> <ol className={"list-inside list-decimal indent-8"}>
<li></li> <li></li>
<li></li> <li></li>
<li></li> <li></li>

View File

@ -4,10 +4,10 @@ const Page = () => {
return ( return (
<> <>
<ArticleHeading text={"知识产权服务"} /> <ArticleHeading text={"知识产权服务"} />
<p className={"text-base indent-8 my-1 text-center"}> <p className={"my-1 text-center indent-8 text-base"}>
</p> </p>
<ol className={"list-decimal list-inside indent-8 text-center"}> <ol className={"list-inside list-decimal text-center indent-8"}>
<li></li> <li></li>
<li></li> <li></li>
<li></li> <li></li>

View File

@ -4,7 +4,7 @@ const Page = () => {
return ( return (
<> <>
<ArticleHeading text={"情报服务"} /> <ArticleHeading text={"情报服务"} />
<ol className={"list-decimal list-inside indent-8"}> <ol className={"list-inside list-decimal indent-8"}>
<li> <li>
</li> </li>

View File

@ -4,7 +4,7 @@ const Page = () => {
return ( return (
<> <>
<ArticleHeading text={"投融资"} /> <ArticleHeading text={"投融资"} />
<ol className={"list-decimal list-inside indent-8"}> <ol className={"list-inside list-decimal indent-8"}>
<li></li> <li></li>
<li></li> <li></li>
<li></li> <li></li>

View File

@ -4,7 +4,7 @@ const Page = () => {
return ( return (
<> <>
<ArticleHeading text={"科研项目申报"} /> <ArticleHeading text={"科研项目申报"} />
<ol className={"list-decimal list-inside indent-8"}> <ol className={"list-inside list-decimal indent-8"}>
<li></li> <li></li>
<li></li> <li></li>
<li> <li>

View File

@ -4,7 +4,7 @@ const Page = () => {
return ( return (
<> <>
<ArticleHeading text={"科技评估"} /> <ArticleHeading text={"科技评估"} />
<ol className={"list-decimal list-inside indent-8"}> <ol className={"list-inside list-decimal indent-8"}>
<li></li> <li></li>
<li></li> <li></li>
<li></li> <li></li>

View File

@ -9,9 +9,9 @@ const breadcrumb = [
const Layout = ({ children }: { children: ReactNode }) => { const Layout = ({ children }: { children: ReactNode }) => {
return ( return (
<ArticleLayout leftNavTitle={"联系我们"}> <ArticleLayout leftNavTitle={"联系我们"}>
<div className={"flex flex-col h-full"}> <div className={"flex h-full flex-col"}>
<Breadcrumb navigations={breadcrumb} /> <Breadcrumb navigations={breadcrumb} />
<div className={"bg-white px-5 py-4 flex-1 mt-2"}>{children}</div> <div className={"mt-2 flex-1 bg-white px-5 py-4"}>{children}</div>
</div> </div>
</ArticleLayout> </ArticleLayout>
); );

View File

@ -1,22 +1,22 @@
const Page = () => { const Page = () => {
return ( return (
<> <>
<h2 className={"text-center text-lg font-bold text-[#054786] mb-8"}> <h2 className={"mb-8 text-center text-lg font-bold text-[#054786]"}>
</h2> </h2>
<p className={"text-base indent-8 my-1"}> <p className={"my-1 indent-8 text-base"}>
绿 绿
</p> </p>
<p className={"text-base indent-8 my-1"}> <p className={"my-1 indent-8 text-base"}>
8:3018:00 8:3018:00
</p> </p>
<p className={"text-base indent-8 my-1"}> <p className={"my-1 indent-8 text-base"}>
18156053255 18156054143 18156053255 18156054143
</p> </p>
<p className={"text-base indent-8 my-1"}> <p className={"my-1 indent-8 text-base"}>
D1 7 D1 7
</p> </p>
<p className={"text-base indent-8 my-1"}>230022</p> <p className={"my-1 indent-8 text-base"}>230022</p>
</> </>
); );
}; };

View File

@ -10,9 +10,9 @@ const breadcrumb = [
const Layout = ({ children }: { children: ReactNode }) => { const Layout = ({ children }: { children: ReactNode }) => {
return ( return (
<div className={"flex flex-col h-full"}> <div className={"flex h-full flex-col"}>
<Breadcrumb navigations={breadcrumb} /> <Breadcrumb navigations={breadcrumb} />
<div className={"bg-white px-5 py-4 flex-1 mt-2"}>{children}</div> <div className={"mt-2 flex-1 bg-white px-5 py-4"}>{children}</div>
</div> </div>
); );
}; };

View File

@ -4,9 +4,9 @@ const Page = () => {
return ( return (
<> <>
<ArticleHeading text={"资产财务处"} /> <ArticleHeading text={"资产财务处"} />
<p className={"text-base indent-8 my-1"}> <p className={"my-1 indent-8 text-base"}>
<ol className={"list-decimal list-inside"}> <ol className={"list-inside list-decimal"}>
<li> <li>
</li> </li>

View File

@ -10,9 +10,9 @@ const breadcrumb = [
const Layout = ({ children }: { children: ReactNode }) => { const Layout = ({ children }: { children: ReactNode }) => {
return ( return (
<div className={"flex flex-col h-full"}> <div className={"flex h-full flex-col"}>
<Breadcrumb navigations={breadcrumb} /> <Breadcrumb navigations={breadcrumb} />
<div className={"bg-white px-5 py-4 flex-1 mt-2"}>{children}</div> <div className={"mt-2 flex-1 bg-white px-5 py-4"}>{children}</div>
</div> </div>
); );
}; };

View File

@ -4,9 +4,9 @@ const Page = () => {
return ( return (
<> <>
<ArticleHeading text={"综合办公室"} /> <ArticleHeading text={"综合办公室"} />
<p className={"text-base indent-8 my-1"}> <p className={"my-1 indent-8 text-base"}>
<ol className={"list-decimal list-inside"}> <ol className={"list-inside list-decimal"}>
<li> <li>
</li> </li>
@ -32,7 +32,7 @@ const Page = () => {
<li></li> <li></li>
</ol> </ol>
</p> </p>
<p className={"text-base indent-8 my-1"}> <p className={"my-1 indent-8 text-base"}>
</p> </p>
</> </>

View File

@ -10,9 +10,9 @@ const breadcrumb = [
const Layout = ({ children }: { children: ReactNode }) => { const Layout = ({ children }: { children: ReactNode }) => {
return ( return (
<div className={"flex flex-col h-full"}> <div className={"flex h-full flex-col"}>
<Breadcrumb navigations={breadcrumb} /> <Breadcrumb navigations={breadcrumb} />
<div className={"bg-white px-5 py-4 flex-1 mt-2"}>{children}</div> <div className={"mt-2 flex-1 bg-white px-5 py-4"}>{children}</div>
</div> </div>
); );
}; };

View File

@ -4,9 +4,9 @@ const Page = () => {
return ( return (
<> <>
<ArticleHeading text={"产业处"} /> <ArticleHeading text={"产业处"} />
<p className={"text-base indent-8 my-1"}> <p className={"my-1 indent-8 text-base"}>
<ol className={"list-decimal list-inside"}> <ol className={"list-inside list-decimal"}>
<li></li> <li></li>
<li></li> <li></li>
<li></li> <li></li>

View File

@ -10,9 +10,9 @@ const breadcrumb = [
const Layout = ({ children }: { children: ReactNode }) => { const Layout = ({ children }: { children: ReactNode }) => {
return ( return (
<div className={"flex flex-col h-full"}> <div className={"flex h-full flex-col"}>
<Breadcrumb navigations={breadcrumb} /> <Breadcrumb navigations={breadcrumb} />
<div className={"bg-white px-5 py-4 flex-1 mt-2"}>{children}</div> <div className={"mt-2 flex-1 bg-white px-5 py-4"}>{children}</div>
</div> </div>
); );
}; };

View File

@ -4,9 +4,9 @@ const Page = () => {
return ( return (
<> <>
<ArticleHeading text={"人事处"} /> <ArticleHeading text={"人事处"} />
<p className={"text-base indent-8 my-1"}> <p className={"my-1 indent-8 text-base"}>
<ol className={"list-decimal list-inside"}> <ol className={"list-inside list-decimal"}>
<li></li> <li></li>
<li></li> <li></li>
<li> <li>

View File

@ -10,9 +10,9 @@ const breadcrumb = [
const Layout = ({ children }: { children: ReactNode }) => { const Layout = ({ children }: { children: ReactNode }) => {
return ( return (
<div className={"flex flex-col h-full"}> <div className={"flex h-full flex-col"}>
<Breadcrumb navigations={breadcrumb} /> <Breadcrumb navigations={breadcrumb} />
<div className={"bg-white px-5 py-4 flex-1 mt-2"}>{children}</div> <div className={"mt-2 flex-1 bg-white px-5 py-4"}>{children}</div>
</div> </div>
); );
}; };

View File

@ -4,10 +4,10 @@ const Page = () => {
return ( return (
<> <>
<ArticleHeading text={"科技处"} /> <ArticleHeading text={"科技处"} />
<p className={"text-base indent-8 my-1"}> <p className={"my-1 indent-8 text-base"}>
</p> </p>
<ol className={"list-decimal list-inside indent-8"}> <ol className={"list-inside list-decimal indent-8"}>
<li> <li>
, ,
</li> </li>

View File

@ -9,9 +9,9 @@ const breadcrumb = [
const Layout = ({ children }: { children: ReactNode }) => { const Layout = ({ children }: { children: ReactNode }) => {
return ( return (
<div className={"flex flex-col h-full"}> <div className={"flex h-full flex-col"}>
<Breadcrumb navigations={breadcrumb} /> <Breadcrumb navigations={breadcrumb} />
<div className={"bg-white px-5 py-4 flex-1 mt-2"}>{children}</div> <div className={"mt-2 flex-1 bg-white px-5 py-4"}>{children}</div>
</div> </div>
); );
}; };

View File

@ -9,9 +9,9 @@ const breadcrumb = [
const Layout = ({ children }: { children: ReactNode }) => { const Layout = ({ children }: { children: ReactNode }) => {
return ( return (
<div className={"flex flex-col h-full"}> <div className={"flex h-full flex-col"}>
<Breadcrumb navigations={breadcrumb} /> <Breadcrumb navigations={breadcrumb} />
<div className={"bg-white px-5 py-4 flex-1 mt-2"}>{children}</div> <div className={"mt-2 flex-1 bg-white px-5 py-4"}>{children}</div>
</div> </div>
); );
}; };

View File

@ -4,17 +4,17 @@ const Page = () => {
return ( return (
<> <>
<ArticleHeading text={"院长致辞"} /> <ArticleHeading text={"院长致辞"} />
<p className={"text-base indent-8 my-1"}> <p className={"my-1 indent-8 text-base"}>
</p> </p>
<p className={"text-base indent-8 my-1"}> <p className={"my-1 indent-8 text-base"}>
绿绿 绿绿
</p> </p>
<p className={"text-base indent-8 my-1"}> <p className={"my-1 indent-8 text-base"}>
5G物联网等领域进行科技布局绿沿 5G物联网等领域进行科技布局绿沿
</p> </p>
<p className={"text-base indent-8 my-1"}> <p className={"my-1 indent-8 text-base"}>
</p> </p>
</> </>

View File

@ -9,9 +9,9 @@ const breadcrumb = [
const Layout = ({ children }: { children: ReactNode }) => { const Layout = ({ children }: { children: ReactNode }) => {
return ( return (
<div className={"flex flex-col h-full"}> <div className={"flex h-full flex-col"}>
<Breadcrumb navigations={breadcrumb} /> <Breadcrumb navigations={breadcrumb} />
<div className={"bg-white px-5 py-4 flex-1 mt-2"}>{children}</div> <div className={"mt-2 flex-1 bg-white px-5 py-4"}>{children}</div>
</div> </div>
); );
}; };

View File

@ -4,7 +4,7 @@ const Page = () => {
return ( return (
<> <>
<ArticleHeading text={"研究中心"} /> <ArticleHeading text={"研究中心"} />
<p className={"text-base indent-8 my-1"}>...</p> <p className={"my-1 indent-8 text-base"}>...</p>
</> </>
); );
}; };

View File

@ -9,9 +9,9 @@ const breadcrumb = [
const Layout = ({ children }: { children: ReactNode }) => { const Layout = ({ children }: { children: ReactNode }) => {
return ( return (
<div className={"flex flex-col h-full"}> <div className={"flex h-full flex-col"}>
<Breadcrumb navigations={breadcrumb} /> <Breadcrumb navigations={breadcrumb} />
<div className={"bg-white px-5 py-4 flex-1 mt-2"}>{children}</div> <div className={"mt-2 flex-1 bg-white px-5 py-4"}>{children}</div>
</div> </div>
); );
}; };

View File

@ -4,7 +4,7 @@ const Page = () => {
return ( return (
<> <>
<ArticleHeading text={"合作企业"} /> <ArticleHeading text={"合作企业"} />
<p className={"text-base indent-8 my-1"}>...</p> <p className={"my-1 indent-8 text-base"}>...</p>
</> </>
); );
}; };

View File

@ -9,9 +9,9 @@ const breadcrumb = [
const Layout = ({ children }: { children: ReactNode }) => { const Layout = ({ children }: { children: ReactNode }) => {
return ( return (
<div className={"flex flex-col h-full"}> <div className={"flex h-full flex-col"}>
<Breadcrumb navigations={breadcrumb} /> <Breadcrumb navigations={breadcrumb} />
<div className={"bg-white px-5 py-4 flex-1 mt-2"}>{children}</div> <div className={"mt-2 flex-1 bg-white px-5 py-4"}>{children}</div>
</div> </div>
); );
}; };

View File

@ -4,13 +4,13 @@ const Page = () => {
return ( return (
<> <>
<ArticleHeading text={"中国科学院重庆绿色智能技术研究院合肥分院"} /> <ArticleHeading text={"中国科学院重庆绿色智能技术研究院合肥分院"} />
<p className={"text-base indent-8 my-1"}> <p className={"my-1 indent-8 text-base"}>
绿绿201822020181220 绿绿201822020181220
</p> </p>
<p className={"text-base indent-8 my-1"}> <p className={"my-1 indent-8 text-base"}>
5G物联绿绿 5G物联绿绿
</p> </p>
<p className={"text-base indent-8 my-1"}> <p className={"my-1 indent-8 text-base"}>
</p> </p>
</> </>

View File

@ -9,9 +9,9 @@ const breadcrumb = [
const Layout = ({ children }: { children: ReactNode }) => { const Layout = ({ children }: { children: ReactNode }) => {
return ( return (
<div className={"flex flex-col h-full"}> <div className={"flex h-full flex-col"}>
<Breadcrumb navigations={breadcrumb} /> <Breadcrumb navigations={breadcrumb} />
<div className={"bg-white px-5 py-4 flex-1 mt-2"}>{children}</div> <div className={"mt-2 flex-1 bg-white px-5 py-4"}>{children}</div>
</div> </div>
); );
}; };

View File

@ -4,7 +4,7 @@ const Page = () => {
return ( return (
<> <>
<ArticleHeading text={"科研平台"} /> <ArticleHeading text={"科研平台"} />
<p className={"text-base indent-8 my-1"}>...</p> <p className={"my-1 indent-8 text-base"}>...</p>
</> </>
); );
}; };

View File

@ -9,9 +9,9 @@ const breadcrumb = [
const Layout = ({ children }: { children: ReactNode }) => { const Layout = ({ children }: { children: ReactNode }) => {
return ( return (
<div className={"flex flex-col h-full"}> <div className={"flex h-full flex-col"}>
<Breadcrumb navigations={breadcrumb} /> <Breadcrumb navigations={breadcrumb} />
<div className={"bg-white px-5 py-4 flex-1 mt-2"}>{children}</div> <div className={"mt-2 flex-1 bg-white px-5 py-4"}>{children}</div>
</div> </div>
); );
}; };

View File

@ -4,7 +4,7 @@ const Page = () => {
return ( return (
<> <>
<ArticleHeading text={"科技产业发展委员会"} /> <ArticleHeading text={"科技产业发展委员会"} />
<p className={"text-base indent-8 my-1"}>...</p> <p className={"my-1 indent-8 text-base"}>...</p>
</> </>
); );
}; };

View File

@ -9,9 +9,9 @@ const breadcrumb = [
const Layout = ({ children }: { children: ReactNode }) => { const Layout = ({ children }: { children: ReactNode }) => {
return ( return (
<div className={"flex flex-col h-full"}> <div className={"flex h-full flex-col"}>
<Breadcrumb navigations={breadcrumb} /> <Breadcrumb navigations={breadcrumb} />
<div className={"bg-white px-5 py-4 flex-1 mt-2"}>{children}</div> <div className={"mt-2 flex-1 bg-white px-5 py-4"}>{children}</div>
</div> </div>
); );
}; };

View File

@ -5,8 +5,8 @@ const Page = () => {
return ( return (
<> <>
<ArticleHeading text={"两院院士"} /> <ArticleHeading text={"两院院士"} />
<p className={"text-base text-center"}></p> <p className={"text-center text-base"}></p>
<p className={"flex justify-center mt-2"}> <p className={"mt-2 flex justify-center"}>
<img <img
src={`${process.env.NEXT_PUBLIC_ADMIN_BASE_URL}/uploads/image/20231030/8d05e613-e2c6-47d1-81a9-08bd70b8ba73.jpeg`} src={`${process.env.NEXT_PUBLIC_ADMIN_BASE_URL}/uploads/image/20231030/8d05e613-e2c6-47d1-81a9-08bd70b8ba73.jpeg`}
alt={"张景中"} alt={"张景中"}

View File

@ -9,9 +9,9 @@ const breadcrumb = [
const Layout = ({ children }: { children: ReactNode }) => { const Layout = ({ children }: { children: ReactNode }) => {
return ( return (
<div className={"flex flex-col h-full"}> <div className={"flex h-full flex-col"}>
<Breadcrumb navigations={breadcrumb} /> <Breadcrumb navigations={breadcrumb} />
<div className={"bg-white px-5 py-4 flex-1 mt-2"}>{children}</div> <div className={"mt-2 flex-1 bg-white px-5 py-4"}>{children}</div>
</div> </div>
); );
}; };

View File

@ -5,7 +5,7 @@ const Page = () => {
<> <>
<ArticleHeading text={"人才概况"} /> <ArticleHeading text={"人才概况"} />
<p className={"text-base indent-8 my-1"}> <p className={"my-1 indent-8 text-base"}>
20171033340611362120171025381173973 20171033340611362120171025381173973
5 5
</p> </p>

View File

@ -9,9 +9,9 @@ const breadcrumb = [
const Layout = ({ children }: { children: ReactNode }) => { const Layout = ({ children }: { children: ReactNode }) => {
return ( return (
<div className={"flex flex-col h-full"}> <div className={"flex h-full flex-col"}>
<Breadcrumb navigations={breadcrumb} /> <Breadcrumb navigations={breadcrumb} />
<div className={"bg-white px-5 py-4 flex-1 mt-2"}>{children}</div> <div className={"mt-2 flex-1 bg-white px-5 py-4"}>{children}</div>
</div> </div>
); );
}; };

View File

@ -55,7 +55,7 @@ const Page = () => {
{academicians.map((academician) => ( {academicians.map((academician) => (
<div <div
key={academician.name} key={academician.name}
className={`${styles.academician} flex flex-col items-center w-1/5 mb-4`} className={`${styles.academician} mb-4 flex w-1/5 flex-col items-center`}
> >
<img <img
className={"h-[138px]"} className={"h-[138px]"}

View File

@ -9,9 +9,9 @@ const breadcrumb = [
const Layout = ({ children }: { children: ReactNode }) => { const Layout = ({ children }: { children: ReactNode }) => {
return ( return (
<div className={"flex flex-col h-full"}> <div className={"flex h-full flex-col"}>
<Breadcrumb navigations={breadcrumb} /> <Breadcrumb navigations={breadcrumb} />
<div className={"bg-white px-5 py-4 flex-1 mt-2"}>{children}</div> <div className={"mt-2 flex-1 bg-white px-5 py-4"}>{children}</div>
</div> </div>
); );
}; };

View File

@ -24,7 +24,7 @@ const Page = () => {
{academicians.map((academician) => ( {academicians.map((academician) => (
<div <div
key={academician.name} key={academician.name}
className={`flex flex-col items-center w-1/5`} className={`flex w-1/5 flex-col items-center`}
> >
<img <img
className={"h-[138px]"} className={"h-[138px]"}

View File

@ -1,12 +1,14 @@
"use client"; "use client";
import React, { useEffect, useState } from "react"; import React, { useEffect } from "react";
import { register } from "swiper/element/bundle";
import axios from "axios";
import request from "@/app/lib/request";
import { BaseResponse, PageData } from "@/app/types/base";
import { Album } from "@/app/types/album";
register(); import Swiper from "swiper";
import { Pagination, EffectCoverflow, Autoplay } from "swiper/modules";
// import Swiper and modules styles
import "swiper/css";
import "swiper/css/pagination";
import "swiper/css/effect-coverflow";
import "swiper/css/autoplay";
const albums = [ const albums = [
{ {
@ -111,59 +113,50 @@ const albums = [
]; ];
const AnhuiSwiper = () => { const AnhuiSwiper = () => {
// const [albums, setAlbums] = useState<Album[]>([]); useEffect(() => {
// useEffect(() => { let swiper: Swiper | null = null;
// request swiper = new Swiper(".swiper", {
// .get<never, BaseResponse<PageData<Album>>>(`/albums/albumList`, { modules: [Pagination, EffectCoverflow, Autoplay],
// // baseURL: `${process.env.NEXT_PUBLIC_ADMIN_BASE_URL}`, autoplay: {
// baseURL: `http://localhost:8082/api}`, delay: 2000,
// params: { },
// cid: 3, loop: true,
// }, slidesPerView: 3,
// }) effect: "coverflow",
// .then((res) => { pagination: {
// setAlbums(() => res.data.lists); el: ".swiper-pagination",
// }); dynamicBullets: true,
// }, []); },
});
return () => {
swiper?.destroy();
swiper = null;
};
}, []);
return ( return (
<div className={"h-[205px] bg-white flex flex-col"}> <div className={"flex h-[205px] flex-col bg-white"}>
<div <div
className={ className={
"bg-[#1f87e8] text-white h-[30px] pl-[5px] flex items-center" "flex h-[30px] items-center bg-[#1f87e8] pl-[5px] text-white"
} }
> >
</div> </div>
<div className={"flex-1 h-0"}> <div className={"h-0 flex-1"}>
{/* @ts-ignore*/} <div className={"swiper h-full"}>
<swiper-container <div className={"swiper-wrapper"}>
effect={"coverflow"} {albums.map((el) => (
autoplay <div className={"swiper-slide"} key={el.id}>
slides-per-view="3" <img
loop className={"h-full w-full object-contain"}
style={{ src={`${process.env.NEXT_PUBLIC_ADMIN_BASE_URL}${el.path}`}
height: "100%", alt={""}
}} />
> </div>
{/* @ts-ignore*/} ))}
{albums.map((el) => ( </div>
// @ts-ignore <div className={"swiper-pagination"}></div>
<swiper-slide </div>
key={el.id}
style={{
display: "flex",
alignItems: "center",
}}
>
<img
src={`${process.env.NEXT_PUBLIC_ADMIN_BASE_URL}${el.path}`}
alt={""}
/>
{/*@ts-ignore*/}
</swiper-slide>
))}
{/* @ts-ignore */}
</swiper-container>
</div> </div>
</div> </div>
); );

View File

@ -37,24 +37,24 @@ const ArticleBlock = async ({
className={"flex flex-col overflow-hidden"} className={"flex flex-col overflow-hidden"}
> >
<div <div
className={`title-bar text-white flex items-center px-2 font-bold ${styles.articleBlockTitleBar} relative`} className={`title-bar flex items-center px-2 font-bold text-white ${styles.articleBlockTitleBar} relative`}
> >
<Image width={30} height={30} src={trumpetIcon} alt={"trumpet icon"} /> <Image width={30} height={30} src={trumpetIcon} alt={"trumpet icon"} />
<span className={"ml-2 text-[14px]"}>{title}</span> <span className={"ml-2 text-[14px]"}>{title}</span>
<Link <Link
className={"absolute right-3 text-white text-xs"} className={"absolute right-3 text-xs text-white"}
href={`${linkPrefix}/pages/1`} href={`${linkPrefix}/pages/1`}
> >
+ +
</Link> </Link>
</div> </div>
<div className={`${styles.articlesList} bg-[#e1f1fd] flex-1`}> <div className={`${styles.articlesList} flex-1 bg-[#e1f1fd]`}>
<ul> <ul>
{data.lists?.map((article) => ( {data.lists?.map((article) => (
<li className={"h-8"} key={article.id}> <li className={"h-8"} key={article.id}>
<Link <Link
className={ className={
"w-full px-1 h-full flex items-center text-xs justify-between" "flex h-full w-full items-center justify-between px-1 text-xs"
} }
href={`${linkPrefix}/${article.id}`} href={`${linkPrefix}/${article.id}`}
> >

View File

@ -1,6 +1,6 @@
const ArticleHeading = ({ text }: { text: string }) => { const ArticleHeading = ({ text }: { text: string }) => {
return ( return (
<h2 className={"text-center text-lg font-bold text-[#054786] mb-8"}> <h2 className={"mb-8 text-center text-lg font-bold text-[#054786]"}>
{text} {text}
</h2> </h2>
); );

View File

@ -15,7 +15,7 @@ const ArticleLayout = ({
<div className={"left-side w-[325px]"}> <div className={"left-side w-[325px]"}>
<LeftNav navigations={navigations} title={leftNavTitle} /> <LeftNav navigations={navigations} title={leftNavTitle} />
</div> </div>
<div className={"flex-1 ml-3 w-0"}>{children}</div> <div className={"ml-3 w-0 flex-1"}>{children}</div>
</div> </div>
); );
}; };

View File

@ -22,15 +22,15 @@ const ArticleList = async ({
}); });
return ( return (
<> <>
<h2 className={"text-[#0f6fca] text-sm"}>{title}</h2> <h2 className={"text-sm text-[#0f6fca]"}>{title}</h2>
<ul className={`${styles.articles} mt-5`}> <ul className={`${styles.articles} mt-5`}>
{data.lists.map((article, index) => ( {data.lists.map((article, index) => (
<li className={`${styles.article}`} key={article.id}> <li className={`${styles.article}`} key={article.id}>
<Link <Link
className={"flex h-8 text-sm text-[#666666] items-center"} className={"flex h-8 items-center text-sm text-[#666666]"}
href={`../${article.id}`} href={`../${article.id}`}
> >
<span className={"flex-1 w-0 truncate"}>{article.title}</span> <span className={"w-0 flex-1 truncate"}>{article.title}</span>
<span>{dayjs(article.createTime).format("YYYY-MM-DD")}</span> <span>{dayjs(article.createTime).format("YYYY-MM-DD")}</span>
</Link> </Link>
</li> </li>

View File

@ -7,11 +7,11 @@ const ArticleRender = ({ article }: { article: ArticleDetail }) => {
<div className={"h-full"}> <div className={"h-full"}>
<ArticleHeading text={article.title} /> <ArticleHeading text={article.title} />
<div dangerouslySetInnerHTML={{ __html: article.content }}></div> <div dangerouslySetInnerHTML={{ __html: article.content }}></div>
<div className={"bottom-nav mt-[27px] mb-[50px]"}> <div className={"bottom-nav mb-[50px] mt-[27px]"}>
<div className={"prev"}> <div className={"prev"}>
<span className={"text-base"}></span> <span className={"text-base"}></span>
<Link <Link
className={"text-sm text-[#666] ml-8"} className={"ml-8 text-sm text-[#666]"}
href={`./${article.prev?.id}`} href={`./${article.prev?.id}`}
> >
{article.prev?.title ?? "没有了"} {article.prev?.title ?? "没有了"}
@ -20,7 +20,7 @@ const ArticleRender = ({ article }: { article: ArticleDetail }) => {
<div className={"next mt-8"}> <div className={"next mt-8"}>
<span className={"text-base"}></span> <span className={"text-base"}></span>
<Link <Link
className={"text-sm text-[#666] ml-8"} className={"ml-8 text-sm text-[#666]"}
href={`./${article.next?.id}`} href={`./${article.next?.id}`}
> >
{article.next?.title ?? "没有了"} {article.next?.title ?? "没有了"}

View File

@ -9,9 +9,9 @@ const ArticleWithBreadcrumb = ({
children: ReactNode; children: ReactNode;
}) => { }) => {
return ( return (
<div className={"flex flex-col h-full"}> <div className={"flex h-full flex-col"}>
<Breadcrumb navigations={breadcrumb} /> <Breadcrumb navigations={breadcrumb} />
<div className={"bg-white px-5 py-4 flex-1 mt-2"}>{children}</div> <div className={"mt-2 flex-1 bg-white px-5 py-4"}>{children}</div>
</div> </div>
); );
}; };

View File

@ -1,14 +1,28 @@
"use client"; "use client";
import backTop from "@/app/assets/backtop.png"; import backTop from "@/app/assets/backtop.png";
import Image from "next/image"; import Image from "next/image";
// import { useScroll } from "ahooks"; import { useScroll } from "ahooks";
/**
* 返回到顶部
* @constructor
*/
const BackToTop = () => { const BackToTop = () => {
// const position = useScroll(); const position = useScroll();
return ( return (
<div className={`fixed bottom-4 right-10 w-[50px] h-[50px]`}> <div
className={`fixed bottom-4 right-10 h-[50px] w-[50px] overflow-hidden`}
>
<Image <Image
className={"w-full h-full cursor-pointer"} onClick={() => {
window.scroll({
top: 0,
behavior: "smooth",
});
}}
className={`${
(position?.top ?? 0) > 100 ? "top-0" : "top-full"
} absolute left-0 h-full w-full cursor-pointer transition-all`}
src={backTop} src={backTop}
alt={""} alt={""}
/> />

View File

@ -19,7 +19,7 @@ const BranchLifeSketch = async () => {
return ( return (
<> <>
<div <div
className={`title-bar text-white flex items-center px-2 font-bold ${styles.articleBlockTitleBar} relative`} className={`title-bar flex items-center px-2 font-bold text-white ${styles.articleBlockTitleBar} relative`}
> >
<Image width={30} height={30} src={trumpetIcon} alt={"trumpet icon"} /> <Image width={30} height={30} src={trumpetIcon} alt={"trumpet icon"} />
<span className={"ml-2 text-[14px]"}></span> <span className={"ml-2 text-[14px]"}></span>
@ -51,28 +51,28 @@ const BranchLifeSketch = async () => {
return ( return (
// @ts-ignore // @ts-ignore
<swiper-slide key={article.id}> <swiper-slide key={article.id}>
<div className={"w-full h-[108px] px-2 py-4 flex"}> <div className={"flex h-[108px] w-full px-2 py-4"}>
<Link <Link
className={"aspect-square"} className={"aspect-square"}
href={`/branch-life-sketch/${article.id}`} href={`/branch-life-sketch/${article.id}`}
> >
<img <img
alt={article.title} alt={article.title}
className={"w-full h-full"} className={"h-full w-full"}
src={article.image.replace( src={article.image.replace(
"http://101.34.131.16:8084/api/uploads/", "http://101.34.131.16:8084/api/uploads/",
"", "",
)} )}
/> />
</Link> </Link>
<div className={"flex-1 w-0 ml-1"}> <div className={"ml-1 w-0 flex-1"}>
<Link <Link
href={`/branch-life-sketch/${article.id}`} href={`/branch-life-sketch/${article.id}`}
className={"text-xs truncate text-[#144673]"} className={"truncate text-xs text-[#144673]"}
> >
{article.title} {article.title}
</Link> </Link>
<div className={"text-xs text-[#797979] line-clamp-4 mt-3"}> <div className={"mt-3 line-clamp-4 text-xs text-[#797979]"}>
{articleText} {articleText}
</div> </div>
</div> </div>

View File

@ -8,7 +8,7 @@ export interface BreadcrumbItem {
const Breadcrumb = ({ navigations }: { navigations: BreadcrumbItem[] }) => { const Breadcrumb = ({ navigations }: { navigations: BreadcrumbItem[] }) => {
return ( return (
<div className={"flex text-xs text-[#13426e] truncate"}> <div className={"flex truncate text-xs text-[#13426e]"}>
<span className={"mr-2"}>:</span> <span className={"mr-2"}>:</span>
{navigations.map((navigation, index) => { {navigations.map((navigation, index) => {
if (index === navigations.length - 1) { if (index === navigations.length - 1) {

View File

@ -53,7 +53,7 @@ const FriendLinks = () => {
return ( return (
<div className={"h-[360px] bg-white"}> <div className={"h-[360px] bg-white"}>
<div <div
className={`title-bar text-black flex items-center px-2 font-bold ${styles.titleBar} relative`} className={`title-bar flex items-center px-2 font-bold text-black ${styles.titleBar} relative`}
> >
<Image width={30} height={30} src={pin} alt={"trumpet icon"} /> <Image width={30} height={30} src={pin} alt={"trumpet icon"} />
<span className={"ml-2 text-[14px]"}></span> <span className={"ml-2 text-[14px]"}></span>
@ -64,7 +64,7 @@ const FriendLinks = () => {
<Link <Link
target={"_blank"} target={"_blank"}
href={link.href} href={link.href}
className={"flex items-center text-xs hover:underline h-7"} className={"flex h-7 items-center text-xs hover:underline"}
> >
{link.title} {link.title}
</Link> </Link>

View File

@ -23,33 +23,33 @@ const LatestNews = async () => {
}); });
return ( return (
<div className={"h-[180px] bg-white p-2 flex"}> <div className={"flex h-[180px] bg-white p-2"}>
<Link <Link
href={`general-news/${lists[0].id}`} href={`general-news/${lists[0].id}`}
className={"article-cover w-[207px]"} className={"article-cover w-[207px]"}
> >
<img <img
className={"w-full h-full object-cover"} className={"h-full w-full object-cover"}
src={`${process.env.NEXT_PUBLIC_ADMIN_BASE_URL}/uploads/${article.image}`} src={`${process.env.NEXT_PUBLIC_ADMIN_BASE_URL}/uploads/${article.image}`}
alt={""} alt={""}
/> />
</Link> </Link>
<div className={"w-0 flex-1 ml-1 relative"}> <div className={"relative ml-1 w-0 flex-1"}>
<Link <Link
href={`general-news/${lists[0].id}`} href={`general-news/${lists[0].id}`}
className={"title block truncate text-[#186ab6] text-base"} className={"title block truncate text-base text-[#186ab6]"}
> >
{article.title} {article.title}
</Link> </Link>
<Link <Link
href={`general-news/${lists[0].id}`} href={`general-news/${lists[0].id}`}
className={"content text-xs line-clamp-4 leading-7"} className={"content line-clamp-4 text-xs leading-7"}
> >
{content} {content}
</Link> </Link>
<Link <Link
href={"/general-news/pages/1"} href={"/general-news/pages/1"}
className={"text-xs text-[#ffc001] absolute left-0 bottom-0"} className={"absolute bottom-0 left-0 text-xs text-[#ffc001]"}
> >
</Link> </Link>

View File

@ -17,24 +17,24 @@ const LeftNav = ({
return ( return (
<div <div
className={ className={
"left-nav min-h-[600px] h-full bg-[#d7ecfd] rounded shadow pt-2" "left-nav h-full min-h-[600px] rounded bg-[#d7ecfd] pt-2 shadow"
} }
> >
<div className={"flex items-center pl-2 h-7"}> <div className={"flex h-7 items-center pl-2"}>
<Image src={circle} alt={"circle icon"} height={16} width={16} /> <Image src={circle} alt={"circle icon"} height={16} width={16} />
<span className={"pl-2"}>{title}</span> <span className={"pl-2"}>{title}</span>
</div> </div>
{(navigations?.length ?? 0) > 0 && ( {(navigations?.length ?? 0) > 0 && (
<div <div
className={`${styles.navContent} mt-3 mx-3 rounded-lg px-2.5 py-[5px]`} className={`${styles.navContent} mx-3 mt-3 rounded-lg px-2.5 py-[5px]`}
> >
<ul className={styles.navItems}> <ul className={styles.navItems}>
{navigations?.map((navigation) => ( {navigations?.map((navigation) => (
<li key={navigation.href}> <li key={navigation.href}>
<Link <Link
className={`text-sm px-[9px] h-[34px] flex items-center font-bold transition-all hover:text-[#fff176] hover:text-xs ${ className={`flex h-[34px] items-center px-[9px] text-sm font-bold transition-all hover:text-xs hover:text-[#fff176] ${
navigation.href === pathname navigation.href === pathname
? "text-[#fff176] text-xs" ? "text-xs text-[#fff176]"
: "text-white" : "text-white"
}`} }`}
href={navigation.href} href={navigation.href}

View File

@ -51,8 +51,8 @@ const MainNav = () => {
const pathname = usePathname(); const pathname = usePathname();
const [activePopup, setActivePopup] = useState(-1); const [activePopup, setActivePopup] = useState(-1);
return ( return (
<nav className={"main-nav bg-[#1958a7] h-[38px]"}> <nav className={"main-nav h-[38px] bg-[#1958a7]"}>
<ul className={"w-full h-full flex"}> <ul className={"flex h-full w-full"}>
{navigations.map((navigation, index) => ( {navigations.map((navigation, index) => (
<li <li
className={"relative"} className={"relative"}
@ -74,17 +74,17 @@ const MainNav = () => {
isActive(navigation.href, pathname) isActive(navigation.href, pathname)
? "text-[#dedede]" ? "text-[#dedede]"
: "text-white" : "text-white"
} hover:text-[#dedede] text-sm h-[38px] flex justify-center items-center min-w-[60px] mx-2.5`} } mx-2.5 flex h-[38px] min-w-[60px] items-center justify-center text-sm hover:text-[#dedede]`}
> >
{navigation.title} {navigation.title}
</Link> </Link>
{index === activePopup && navigation.children?.length && ( {index === activePopup && navigation.children?.length && (
<div <div
className={`z-40 popup-menu min-w-[120px] absolute top-full left-1/2 -translate-x-1/2`} className={`popup-menu absolute left-1/2 top-full z-40 min-w-[120px] -translate-x-1/2`}
> >
<div <div
className={ className={
"w-0 h-0 mx-auto border-b-[12px] border-l-[12px] border-r-[12px] border-b-[#b0d3eb] border-l-transparent border-r-transparent" "mx-auto h-0 w-0 border-b-[12px] border-l-[12px] border-r-[12px] border-b-[#b0d3eb] border-l-transparent border-r-transparent"
} }
></div> ></div>
<ul className={"whitespace-nowrap bg-[#b0d3eb]"}> <ul className={"whitespace-nowrap bg-[#b0d3eb]"}>
@ -95,7 +95,7 @@ const MainNav = () => {
setActivePopup(() => -1); setActivePopup(() => -1);
}} }}
className={ className={
"h-10 flex justify-center items-center text-[13px] px-2 hover:text-[#fe5722]" "flex h-10 items-center justify-center px-2 text-[13px] hover:text-[#fe5722]"
} }
href={child.href} href={child.href}
> >

View File

@ -12,14 +12,14 @@ const Pagination = ({
const pageCount = Math.ceil(total / perPage); const pageCount = Math.ceil(total / perPage);
return ( return (
<div <div
className={"w-full flex justify-center mt-2.5 h-10 items-center text-sm"} className={"mt-2.5 flex h-10 w-full items-center justify-center text-sm"}
> >
{page <= 1 ? ( {page <= 1 ? (
<div className={"prev mx-3 text-gray-500 cursor-not-allowed"}> <div className={"prev mx-3 cursor-not-allowed text-gray-500"}>
</div> </div>
) : ( ) : (
<Link className={"next block mx-3"} href={`./${page - 1}`}> <Link className={"next mx-3 block"} href={`./${page - 1}`}>
</Link> </Link>
)} )}
@ -39,11 +39,11 @@ const Pagination = ({
), ),
)} )}
{page >= pageCount ? ( {page >= pageCount ? (
<div className={"next mx-3 text-gray-500 cursor-not-allowed"}> <div className={"next mx-3 cursor-not-allowed text-gray-500"}>
</div> </div>
) : ( ) : (
<Link className={"next block mx-3"} href={`./${page + 1}`}> <Link className={"next mx-3 block"} href={`./${page + 1}`}>
</Link> </Link>
)} )}

View File

@ -19,7 +19,7 @@ export default function RootLayout({ children }: { children: ReactNode }) {
return ( return (
<html lang="en"> <html lang="en">
<body className={inter.className}> <body className={inter.className}>
<main className={"w-[1000px] m-auto"}> <main className={"m-auto w-[1000px]"}>
<Image className={"w-full"} src={banner} alt={"banner"} /> <Image className={"w-full"} src={banner} alt={"banner"} />
<MainNav /> <MainNav />
{children} {children}

View File

@ -9,7 +9,7 @@ import BranchLifeSketch from "@/app/components/BranchLifeSketch";
export default async function Home() { export default async function Home() {
return ( return (
<main className={"flex justify-between bg-[#f5fafe] mt-1"}> <main className={"mt-1 flex justify-between bg-[#f5fafe]"}>
<div className={"left-side w-[222px]"}> <div className={"left-side w-[222px]"}>
<Image <Image
src={leftBanner} src={leftBanner}
@ -94,7 +94,7 @@ export default async function Home() {
showDate={true} showDate={true}
></ArticleBlock> ></ArticleBlock>
</div> </div>
<div className={"flex justify-between mt-1"}> <div className={"mt-1 flex justify-between"}>
<ArticleBlock <ArticleBlock
width={"49.5%"} width={"49.5%"}
height={221} height={221}
@ -110,7 +110,7 @@ export default async function Home() {
linkPrefix={"/academic-exchange/academic-events"} linkPrefix={"/academic-exchange/academic-events"}
></ArticleBlock> ></ArticleBlock>
</div> </div>
<div className={"flex justify-between mt-1"}> <div className={"mt-1 flex justify-between"}>
<ArticleBlock <ArticleBlock
width={"49.5%"} width={"49.5%"}
height={221} height={221}

View File

@ -17,18 +17,20 @@
"next": "14.0.0", "next": "14.0.0",
"react": "^18.2.0", "react": "^18.2.0",
"react-dom": "^18.2.0", "react-dom": "^18.2.0",
"swiper": "^11.0.3" "swiper": "^11.0.3",
"swr": "^2.2.4"
}, },
"devDependencies": { "devDependencies": {
"@types/html-to-text": "^9.0.3", "@types/html-to-text": "^9.0.3",
"@types/node": "^20.8.9", "@types/node": "^20.8.10",
"@types/react": "^18.2.33", "@types/react": "^18.2.34",
"@types/react-dom": "^18.2.14", "@types/react-dom": "^18.2.14",
"autoprefixer": "^10.4.16", "autoprefixer": "^10.4.16",
"eslint": "^8.52.0", "eslint": "^8.52.0",
"eslint-config-next": "14.0.0", "eslint-config-next": "14.0.0",
"postcss": "^8.4.31", "postcss": "^8.4.31",
"prettier": "^3.0.3", "prettier": "^3.0.3",
"prettier-plugin-tailwindcss": "^0.5.6",
"sass": "^1.69.5", "sass": "^1.69.5",
"tailwindcss": "^3.3.5", "tailwindcss": "^3.3.5",
"typescript": "^5.2.2" "typescript": "^5.2.2"

227
pnpm-lock.yaml generated
View File

@ -29,17 +29,20 @@ dependencies:
swiper: swiper:
specifier: ^11.0.3 specifier: ^11.0.3
version: 11.0.3 version: 11.0.3
swr:
specifier: ^2.2.4
version: 2.2.4(react@18.2.0)
devDependencies: devDependencies:
'@types/html-to-text': '@types/html-to-text':
specifier: ^9.0.3 specifier: ^9.0.3
version: 9.0.3 version: 9.0.3
'@types/node': '@types/node':
specifier: ^20.8.9 specifier: ^20.8.10
version: 20.8.9 version: 20.8.10
'@types/react': '@types/react':
specifier: ^18.2.33 specifier: ^18.2.34
version: 18.2.33 version: 18.2.34
'@types/react-dom': '@types/react-dom':
specifier: ^18.2.14 specifier: ^18.2.14
version: 18.2.14 version: 18.2.14
@ -58,6 +61,9 @@ devDependencies:
prettier: prettier:
specifier: ^3.0.3 specifier: ^3.0.3
version: 3.0.3 version: 3.0.3
prettier-plugin-tailwindcss:
specifier: ^0.5.6
version: 0.5.6(prettier@3.0.3)
sass: sass:
specifier: ^1.69.5 specifier: ^1.69.5
version: 1.69.5 version: 1.69.5
@ -318,8 +324,8 @@ packages:
resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==}
dev: true dev: true
/@types/node@20.8.9: /@types/node@20.8.10:
resolution: {integrity: sha512-UzykFsT3FhHb1h7yD4CA4YhBHq545JC0YnEz41xkipN88eKQtL6rSgocL5tbAP6Ola9Izm/Aw4Ora8He4x0BHg==} resolution: {integrity: sha512-TlgT8JntpcbmKUFzjhsyhGfP2fsiz1Mv56im6enJ905xG1DAYesxJaeSbGqQmAw8OWPdhyJGhGSQGKRNJ45u9w==}
dependencies: dependencies:
undici-types: 5.26.5 undici-types: 5.26.5
dev: true dev: true
@ -331,11 +337,11 @@ packages:
/@types/react-dom@18.2.14: /@types/react-dom@18.2.14:
resolution: {integrity: sha512-V835xgdSVmyQmI1KLV2BEIUgqEuinxp9O4G6g3FqO/SqLac049E53aysv0oEFD2kHfejeKU+ZqL2bcFWj9gLAQ==} resolution: {integrity: sha512-V835xgdSVmyQmI1KLV2BEIUgqEuinxp9O4G6g3FqO/SqLac049E53aysv0oEFD2kHfejeKU+ZqL2bcFWj9gLAQ==}
dependencies: dependencies:
'@types/react': 18.2.33 '@types/react': 18.2.34
dev: true dev: true
/@types/react@18.2.33: /@types/react@18.2.34:
resolution: {integrity: sha512-v+I7S+hu3PIBoVkKGpSYYpiBT1ijqEzWpzQD62/jm4K74hPpSP7FF9BnKG6+fg2+62weJYkkBWDJlZt5JO/9hg==} resolution: {integrity: sha512-U6eW/alrRk37FU/MS2RYMjx0Va2JGIVXELTODaTIYgvWGCV4Y4TfTUzG8DdmpDNIT0Xpj/R7GfyHOJJrDttcvg==}
dependencies: dependencies:
'@types/prop-types': 15.7.9 '@types/prop-types': 15.7.9
'@types/scheduler': 0.16.5 '@types/scheduler': 0.16.5
@ -346,8 +352,8 @@ packages:
resolution: {integrity: sha512-s/FPdYRmZR8SjLWGMCuax7r3qCWQw9QKHzXVukAuuIJkXkDRwp+Pu5LMIVFi0Fxbav35WURicYr8u1QsoybnQw==} resolution: {integrity: sha512-s/FPdYRmZR8SjLWGMCuax7r3qCWQw9QKHzXVukAuuIJkXkDRwp+Pu5LMIVFi0Fxbav35WURicYr8u1QsoybnQw==}
dev: true dev: true
/@typescript-eslint/parser@6.9.0(eslint@8.52.0)(typescript@5.2.2): /@typescript-eslint/parser@6.9.1(eslint@8.52.0)(typescript@5.2.2):
resolution: {integrity: sha512-GZmjMh4AJ/5gaH4XF2eXA8tMnHWP+Pm1mjQR2QN4Iz+j/zO04b9TOvJYOX2sCNIQHtRStKTxRY1FX7LhpJT4Gw==} resolution: {integrity: sha512-C7AK2wn43GSaCUZ9do6Ksgi2g3mwFkMO3Cis96kzmgudoVaKyt62yNzJOktP0HDLb/iO2O0n2lBOzJgr6Q/cyg==}
engines: {node: ^16.0.0 || >=18.0.0} engines: {node: ^16.0.0 || >=18.0.0}
peerDependencies: peerDependencies:
eslint: ^7.0.0 || ^8.0.0 eslint: ^7.0.0 || ^8.0.0
@ -356,10 +362,10 @@ packages:
typescript: typescript:
optional: true optional: true
dependencies: dependencies:
'@typescript-eslint/scope-manager': 6.9.0 '@typescript-eslint/scope-manager': 6.9.1
'@typescript-eslint/types': 6.9.0 '@typescript-eslint/types': 6.9.1
'@typescript-eslint/typescript-estree': 6.9.0(typescript@5.2.2) '@typescript-eslint/typescript-estree': 6.9.1(typescript@5.2.2)
'@typescript-eslint/visitor-keys': 6.9.0 '@typescript-eslint/visitor-keys': 6.9.1
debug: 4.3.4 debug: 4.3.4
eslint: 8.52.0 eslint: 8.52.0
typescript: 5.2.2 typescript: 5.2.2
@ -367,21 +373,21 @@ packages:
- supports-color - supports-color
dev: true dev: true
/@typescript-eslint/scope-manager@6.9.0: /@typescript-eslint/scope-manager@6.9.1:
resolution: {integrity: sha512-1R8A9Mc39n4pCCz9o79qRO31HGNDvC7UhPhv26TovDsWPBDx+Sg3rOZdCELIA3ZmNoWAuxaMOT7aWtGRSYkQxw==} resolution: {integrity: sha512-38IxvKB6NAne3g/+MyXMs2Cda/Sz+CEpmm+KLGEM8hx/CvnSRuw51i8ukfwB/B/sESdeTGet1NH1Wj7I0YXswg==}
engines: {node: ^16.0.0 || >=18.0.0} engines: {node: ^16.0.0 || >=18.0.0}
dependencies: dependencies:
'@typescript-eslint/types': 6.9.0 '@typescript-eslint/types': 6.9.1
'@typescript-eslint/visitor-keys': 6.9.0 '@typescript-eslint/visitor-keys': 6.9.1
dev: true dev: true
/@typescript-eslint/types@6.9.0: /@typescript-eslint/types@6.9.1:
resolution: {integrity: sha512-+KB0lbkpxBkBSiVCuQvduqMJy+I1FyDbdwSpM3IoBS7APl4Bu15lStPjgBIdykdRqQNYqYNMa8Kuidax6phaEw==} resolution: {integrity: sha512-BUGslGOb14zUHOUmDB2FfT6SI1CcZEJYfF3qFwBeUrU6srJfzANonwRYHDpLBuzbq3HaoF2XL2hcr01c8f8OaQ==}
engines: {node: ^16.0.0 || >=18.0.0} engines: {node: ^16.0.0 || >=18.0.0}
dev: true dev: true
/@typescript-eslint/typescript-estree@6.9.0(typescript@5.2.2): /@typescript-eslint/typescript-estree@6.9.1(typescript@5.2.2):
resolution: {integrity: sha512-NJM2BnJFZBEAbCfBP00zONKXvMqihZCrmwCaik0UhLr0vAgb6oguXxLX1k00oQyD+vZZ+CJn3kocvv2yxm4awQ==} resolution: {integrity: sha512-U+mUylTHfcqeO7mLWVQ5W/tMLXqVpRv61wm9ZtfE5egz7gtnmqVIw9ryh0mgIlkKk9rZLY3UHygsBSdB9/ftyw==}
engines: {node: ^16.0.0 || >=18.0.0} engines: {node: ^16.0.0 || >=18.0.0}
peerDependencies: peerDependencies:
typescript: '*' typescript: '*'
@ -389,8 +395,8 @@ packages:
typescript: typescript:
optional: true optional: true
dependencies: dependencies:
'@typescript-eslint/types': 6.9.0 '@typescript-eslint/types': 6.9.1
'@typescript-eslint/visitor-keys': 6.9.0 '@typescript-eslint/visitor-keys': 6.9.1
debug: 4.3.4 debug: 4.3.4
globby: 11.1.0 globby: 11.1.0
is-glob: 4.0.3 is-glob: 4.0.3
@ -401,11 +407,11 @@ packages:
- supports-color - supports-color
dev: true dev: true
/@typescript-eslint/visitor-keys@6.9.0: /@typescript-eslint/visitor-keys@6.9.1:
resolution: {integrity: sha512-dGtAfqjV6RFOtIP8I0B4ZTBRrlTT8NHHlZZSchQx3qReaoDeXhYM++M4So2AgFK9ZB0emRPA6JI1HkafzA2Ibg==} resolution: {integrity: sha512-MUaPUe/QRLEffARsmNfmpghuQkW436DvESW+h+M52w0coICHRfD6Np9/K6PdACwnrq1HmuLl+cSPZaJmeVPkSw==}
engines: {node: ^16.0.0 || >=18.0.0} engines: {node: ^16.0.0 || >=18.0.0}
dependencies: dependencies:
'@typescript-eslint/types': 6.9.0 '@typescript-eslint/types': 6.9.1
eslint-visitor-keys: 3.4.3 eslint-visitor-keys: 3.4.3
dev: true dev: true
@ -573,8 +579,8 @@ packages:
is-shared-array-buffer: 1.0.2 is-shared-array-buffer: 1.0.2
dev: true dev: true
/ast-types-flow@0.0.7: /ast-types-flow@0.0.8:
resolution: {integrity: sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==} resolution: {integrity: sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==}
dev: true dev: true
/asynciterator.prototype@1.0.0: /asynciterator.prototype@1.0.0:
@ -595,7 +601,7 @@ packages:
postcss: ^8.1.0 postcss: ^8.1.0
dependencies: dependencies:
browserslist: 4.22.1 browserslist: 4.22.1
caniuse-lite: 1.0.30001557 caniuse-lite: 1.0.30001559
fraction.js: 4.3.7 fraction.js: 4.3.7
normalize-range: 0.1.2 normalize-range: 0.1.2
picocolors: 1.0.0 picocolors: 1.0.0
@ -608,8 +614,8 @@ packages:
engines: {node: '>= 0.4'} engines: {node: '>= 0.4'}
dev: true dev: true
/axe-core@4.8.2: /axe-core@4.7.0:
resolution: {integrity: sha512-/dlp0fxyM3R8YW7MFzaHWXrf4zzbr0vaYb23VBFCl83R7nWNPg/yaQw2Dc8jzCMmDVLhSdzH8MjrsuIUuvX+6g==} resolution: {integrity: sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ==}
engines: {node: '>=4'} engines: {node: '>=4'}
dev: true dev: true
@ -655,8 +661,8 @@ packages:
engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
hasBin: true hasBin: true
dependencies: dependencies:
caniuse-lite: 1.0.30001557 caniuse-lite: 1.0.30001559
electron-to-chromium: 1.4.569 electron-to-chromium: 1.4.575
node-releases: 2.0.13 node-releases: 2.0.13
update-browserslist-db: 1.0.13(browserslist@4.22.1) update-browserslist-db: 1.0.13(browserslist@4.22.1)
dev: true dev: true
@ -686,8 +692,8 @@ packages:
engines: {node: '>= 6'} engines: {node: '>= 6'}
dev: true dev: true
/caniuse-lite@1.0.30001557: /caniuse-lite@1.0.30001559:
resolution: {integrity: sha512-91oR7hLNUP3gG6MLU+n96em322a8Xzes8wWdBKhLgUoiJsAF5irZnxSUCbc+qUZXNnPCfUwLOi9ZCZpkvjQajw==} resolution: {integrity: sha512-cPiMKZgqgkg5LY3/ntGeLFUpi6tzddBNS58A4tnTgQw1zON7u2sZMU7SzOeVH4tj20++9ggL+V6FDOFMTaFFYA==}
/chalk@4.1.2: /chalk@4.1.2:
resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
@ -885,8 +891,8 @@ packages:
domhandler: 5.0.3 domhandler: 5.0.3
dev: false dev: false
/electron-to-chromium@1.4.569: /electron-to-chromium@1.4.575:
resolution: {integrity: sha512-LsrJjZ0IbVy12ApW3gpYpcmHS3iRxH4bkKOW98y1/D+3cvDUWGcbzbsFinfUS8knpcZk/PG/2p/RnkMCYN7PVg==} resolution: {integrity: sha512-kY2BGyvgAHiX899oF6xLXSIf99bAvvdPhDoJwG77nxCSyWYuRH6e9a9a3gpXBvCs6lj4dQZJkfnW2hdKWHEISg==}
dev: true dev: true
/emoji-regex@9.2.2: /emoji-regex@9.2.2:
@ -1015,12 +1021,12 @@ packages:
dependencies: dependencies:
'@next/eslint-plugin-next': 14.0.0 '@next/eslint-plugin-next': 14.0.0
'@rushstack/eslint-patch': 1.5.1 '@rushstack/eslint-patch': 1.5.1
'@typescript-eslint/parser': 6.9.0(eslint@8.52.0)(typescript@5.2.2) '@typescript-eslint/parser': 6.9.1(eslint@8.52.0)(typescript@5.2.2)
eslint: 8.52.0 eslint: 8.52.0
eslint-import-resolver-node: 0.3.9 eslint-import-resolver-node: 0.3.9
eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.9.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.0)(eslint@8.52.0) eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.9.1)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.0)(eslint@8.52.0)
eslint-plugin-import: 2.29.0(@typescript-eslint/parser@6.9.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.52.0) eslint-plugin-import: 2.29.0(@typescript-eslint/parser@6.9.1)(eslint-import-resolver-typescript@3.6.1)(eslint@8.52.0)
eslint-plugin-jsx-a11y: 6.7.1(eslint@8.52.0) eslint-plugin-jsx-a11y: 6.8.0(eslint@8.52.0)
eslint-plugin-react: 7.33.2(eslint@8.52.0) eslint-plugin-react: 7.33.2(eslint@8.52.0)
eslint-plugin-react-hooks: 4.6.0(eslint@8.52.0) eslint-plugin-react-hooks: 4.6.0(eslint@8.52.0)
typescript: 5.2.2 typescript: 5.2.2
@ -1039,7 +1045,7 @@ packages:
- supports-color - supports-color
dev: true dev: true
/eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.9.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.0)(eslint@8.52.0): /eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.9.1)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.0)(eslint@8.52.0):
resolution: {integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==} resolution: {integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==}
engines: {node: ^14.18.0 || >=16.0.0} engines: {node: ^14.18.0 || >=16.0.0}
peerDependencies: peerDependencies:
@ -1049,8 +1055,8 @@ packages:
debug: 4.3.4 debug: 4.3.4
enhanced-resolve: 5.15.0 enhanced-resolve: 5.15.0
eslint: 8.52.0 eslint: 8.52.0
eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.9.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.52.0) eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.9.1)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.52.0)
eslint-plugin-import: 2.29.0(@typescript-eslint/parser@6.9.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.52.0) eslint-plugin-import: 2.29.0(@typescript-eslint/parser@6.9.1)(eslint-import-resolver-typescript@3.6.1)(eslint@8.52.0)
fast-glob: 3.3.1 fast-glob: 3.3.1
get-tsconfig: 4.7.2 get-tsconfig: 4.7.2
is-core-module: 2.13.1 is-core-module: 2.13.1
@ -1062,7 +1068,7 @@ packages:
- supports-color - supports-color
dev: true dev: true
/eslint-module-utils@2.8.0(@typescript-eslint/parser@6.9.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.52.0): /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.9.1)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.52.0):
resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==}
engines: {node: '>=4'} engines: {node: '>=4'}
peerDependencies: peerDependencies:
@ -1083,16 +1089,16 @@ packages:
eslint-import-resolver-webpack: eslint-import-resolver-webpack:
optional: true optional: true
dependencies: dependencies:
'@typescript-eslint/parser': 6.9.0(eslint@8.52.0)(typescript@5.2.2) '@typescript-eslint/parser': 6.9.1(eslint@8.52.0)(typescript@5.2.2)
debug: 3.2.7 debug: 3.2.7
eslint: 8.52.0 eslint: 8.52.0
eslint-import-resolver-node: 0.3.9 eslint-import-resolver-node: 0.3.9
eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.9.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.0)(eslint@8.52.0) eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.9.1)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.0)(eslint@8.52.0)
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
dev: true dev: true
/eslint-plugin-import@2.29.0(@typescript-eslint/parser@6.9.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.52.0): /eslint-plugin-import@2.29.0(@typescript-eslint/parser@6.9.1)(eslint-import-resolver-typescript@3.6.1)(eslint@8.52.0):
resolution: {integrity: sha512-QPOO5NO6Odv5lpoTkddtutccQjysJuFxoPS7fAHO+9m9udNHvTCPSAMW9zGAYj8lAIdr40I8yPCdUYrncXtrwg==} resolution: {integrity: sha512-QPOO5NO6Odv5lpoTkddtutccQjysJuFxoPS7fAHO+9m9udNHvTCPSAMW9zGAYj8lAIdr40I8yPCdUYrncXtrwg==}
engines: {node: '>=4'} engines: {node: '>=4'}
peerDependencies: peerDependencies:
@ -1102,7 +1108,7 @@ packages:
'@typescript-eslint/parser': '@typescript-eslint/parser':
optional: true optional: true
dependencies: dependencies:
'@typescript-eslint/parser': 6.9.0(eslint@8.52.0)(typescript@5.2.2) '@typescript-eslint/parser': 6.9.1(eslint@8.52.0)(typescript@5.2.2)
array-includes: 3.1.7 array-includes: 3.1.7
array.prototype.findlastindex: 1.2.3 array.prototype.findlastindex: 1.2.3
array.prototype.flat: 1.3.2 array.prototype.flat: 1.3.2
@ -1111,7 +1117,7 @@ packages:
doctrine: 2.1.0 doctrine: 2.1.0
eslint: 8.52.0 eslint: 8.52.0
eslint-import-resolver-node: 0.3.9 eslint-import-resolver-node: 0.3.9
eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.9.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.52.0) eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.9.1)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.52.0)
hasown: 2.0.0 hasown: 2.0.0
is-core-module: 2.13.1 is-core-module: 2.13.1
is-glob: 4.0.3 is-glob: 4.0.3
@ -1127,8 +1133,8 @@ packages:
- supports-color - supports-color
dev: true dev: true
/eslint-plugin-jsx-a11y@6.7.1(eslint@8.52.0): /eslint-plugin-jsx-a11y@6.8.0(eslint@8.52.0):
resolution: {integrity: sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==} resolution: {integrity: sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA==}
engines: {node: '>=4.0'} engines: {node: '>=4.0'}
peerDependencies: peerDependencies:
eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8
@ -1137,19 +1143,19 @@ packages:
aria-query: 5.3.0 aria-query: 5.3.0
array-includes: 3.1.7 array-includes: 3.1.7
array.prototype.flatmap: 1.3.2 array.prototype.flatmap: 1.3.2
ast-types-flow: 0.0.7 ast-types-flow: 0.0.8
axe-core: 4.8.2 axe-core: 4.7.0
axobject-query: 3.2.1 axobject-query: 3.2.1
damerau-levenshtein: 1.0.8 damerau-levenshtein: 1.0.8
emoji-regex: 9.2.2 emoji-regex: 9.2.2
es-iterator-helpers: 1.0.15
eslint: 8.52.0 eslint: 8.52.0
has: 1.0.4 hasown: 2.0.0
jsx-ast-utils: 3.3.5 jsx-ast-utils: 3.3.5
language-tags: 1.0.5 language-tags: 1.0.9
minimatch: 3.1.2 minimatch: 3.1.2
object.entries: 1.1.7 object.entries: 1.1.7
object.fromentries: 2.0.7 object.fromentries: 2.0.7
semver: 6.3.1
dev: true dev: true
/eslint-plugin-react-hooks@4.6.0(eslint@8.52.0): /eslint-plugin-react-hooks@4.6.0(eslint@8.52.0):
@ -1544,11 +1550,6 @@ packages:
has-symbols: 1.0.3 has-symbols: 1.0.3
dev: true dev: true
/has@1.0.4:
resolution: {integrity: sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==}
engines: {node: '>= 0.4.0'}
dev: true
/hasown@2.0.0: /hasown@2.0.0:
resolution: {integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==} resolution: {integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==}
engines: {node: '>= 0.4'} engines: {node: '>= 0.4'}
@ -1796,8 +1797,8 @@ packages:
set-function-name: 2.0.1 set-function-name: 2.0.1
dev: true dev: true
/jiti@1.20.0: /jiti@1.21.0:
resolution: {integrity: sha512-3TV69ZbrvV6U5DfQimop50jE9Dl6J8O1ja1dvBbMba/sZ3YBEQqJ2VZRoQPVnhlzjNtU1vaXRZVrVjU4qtm8yA==} resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==}
hasBin: true hasBin: true
dev: true dev: true
@ -1854,8 +1855,9 @@ packages:
resolution: {integrity: sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==} resolution: {integrity: sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==}
dev: true dev: true
/language-tags@1.0.5: /language-tags@1.0.9:
resolution: {integrity: sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==} resolution: {integrity: sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==}
engines: {node: '>=0.10'}
dependencies: dependencies:
language-subtag-registry: 0.3.22 language-subtag-registry: 0.3.22
dev: true dev: true
@ -1987,7 +1989,7 @@ packages:
'@next/env': 14.0.0 '@next/env': 14.0.0
'@swc/helpers': 0.5.2 '@swc/helpers': 0.5.2
busboy: 1.6.0 busboy: 1.6.0
caniuse-lite: 1.0.30001557 caniuse-lite: 1.0.30001559
postcss: 8.4.31 postcss: 8.4.31
react: 18.2.0 react: 18.2.0
react-dom: 18.2.0(react@18.2.0) react-dom: 18.2.0(react@18.2.0)
@ -2221,7 +2223,7 @@ packages:
dependencies: dependencies:
lilconfig: 2.1.0 lilconfig: 2.1.0
postcss: 8.4.31 postcss: 8.4.31
yaml: 2.3.3 yaml: 2.3.4
dev: true dev: true
/postcss-nested@6.0.1(postcss@8.4.31): /postcss-nested@6.0.1(postcss@8.4.31):
@ -2259,6 +2261,61 @@ packages:
engines: {node: '>= 0.8.0'} engines: {node: '>= 0.8.0'}
dev: true dev: true
/prettier-plugin-tailwindcss@0.5.6(prettier@3.0.3):
resolution: {integrity: sha512-2Xgb+GQlkPAUCFi3sV+NOYcSI5XgduvDBL2Zt/hwJudeKXkyvRS65c38SB0yb9UB40+1rL83I6m0RtlOQ8eHdg==}
engines: {node: '>=14.21.3'}
peerDependencies:
'@ianvs/prettier-plugin-sort-imports': '*'
'@prettier/plugin-pug': '*'
'@shopify/prettier-plugin-liquid': '*'
'@shufo/prettier-plugin-blade': '*'
'@trivago/prettier-plugin-sort-imports': '*'
prettier: ^3.0
prettier-plugin-astro: '*'
prettier-plugin-css-order: '*'
prettier-plugin-import-sort: '*'
prettier-plugin-jsdoc: '*'
prettier-plugin-marko: '*'
prettier-plugin-organize-attributes: '*'
prettier-plugin-organize-imports: '*'
prettier-plugin-style-order: '*'
prettier-plugin-svelte: '*'
prettier-plugin-twig-melody: '*'
peerDependenciesMeta:
'@ianvs/prettier-plugin-sort-imports':
optional: true
'@prettier/plugin-pug':
optional: true
'@shopify/prettier-plugin-liquid':
optional: true
'@shufo/prettier-plugin-blade':
optional: true
'@trivago/prettier-plugin-sort-imports':
optional: true
prettier-plugin-astro:
optional: true
prettier-plugin-css-order:
optional: true
prettier-plugin-import-sort:
optional: true
prettier-plugin-jsdoc:
optional: true
prettier-plugin-marko:
optional: true
prettier-plugin-organize-attributes:
optional: true
prettier-plugin-organize-imports:
optional: true
prettier-plugin-style-order:
optional: true
prettier-plugin-svelte:
optional: true
prettier-plugin-twig-melody:
optional: true
dependencies:
prettier: 3.0.3
dev: true
/prettier@3.0.3: /prettier@3.0.3:
resolution: {integrity: sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg==} resolution: {integrity: sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg==}
engines: {node: '>=14'} engines: {node: '>=14'}
@ -2277,8 +2334,8 @@ packages:
resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==}
dev: false dev: false
/punycode@2.3.0: /punycode@2.3.1:
resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
engines: {node: '>=6'} engines: {node: '>=6'}
dev: true dev: true
@ -2606,6 +2663,16 @@ packages:
engines: {node: '>= 4.7.0'} engines: {node: '>= 4.7.0'}
dev: false dev: false
/swr@2.2.4(react@18.2.0):
resolution: {integrity: sha512-njiZ/4RiIhoOlAaLYDqwz5qH/KZXVilRLvomrx83HjzCWTfa+InyfAjv05PSFxnmLzZkNO9ZfvgoqzAaEI4sGQ==}
peerDependencies:
react: ^16.11.0 || ^17.0.0 || ^18.0.0
dependencies:
client-only: 0.0.1
react: 18.2.0
use-sync-external-store: 1.2.0(react@18.2.0)
dev: false
/tailwindcss@3.3.5: /tailwindcss@3.3.5:
resolution: {integrity: sha512-5SEZU4J7pxZgSkv7FP1zY8i2TIAOooNZ1e/OGtxIEv6GltpoiXUqWvLy89+a10qYTB1N5Ifkuw9lqQkN9sscvA==} resolution: {integrity: sha512-5SEZU4J7pxZgSkv7FP1zY8i2TIAOooNZ1e/OGtxIEv6GltpoiXUqWvLy89+a10qYTB1N5Ifkuw9lqQkN9sscvA==}
engines: {node: '>=14.0.0'} engines: {node: '>=14.0.0'}
@ -2619,7 +2686,7 @@ packages:
fast-glob: 3.3.1 fast-glob: 3.3.1
glob-parent: 6.0.2 glob-parent: 6.0.2
is-glob: 4.0.3 is-glob: 4.0.3
jiti: 1.20.0 jiti: 1.21.0
lilconfig: 2.1.0 lilconfig: 2.1.0
micromatch: 4.0.5 micromatch: 4.0.5
normalize-path: 3.0.0 normalize-path: 3.0.0
@ -2774,9 +2841,17 @@ packages:
/uri-js@4.4.1: /uri-js@4.4.1:
resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
dependencies: dependencies:
punycode: 2.3.0 punycode: 2.3.1
dev: true dev: true
/use-sync-external-store@1.2.0(react@18.2.0):
resolution: {integrity: sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==}
peerDependencies:
react: ^16.8.0 || ^17.0.0 || ^18.0.0
dependencies:
react: 18.2.0
dev: false
/util-deprecate@1.0.2: /util-deprecate@1.0.2:
resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
dev: true dev: true
@ -2853,8 +2928,8 @@ packages:
resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
dev: true dev: true
/yaml@2.3.3: /yaml@2.3.4:
resolution: {integrity: sha512-zw0VAJxgeZ6+++/su5AFoqBbZbrEakwu+X0M5HmcwUiBL7AzcuPKjj5we4xfQLp78LkEMpD0cOnUhmgOVy3KdQ==} resolution: {integrity: sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==}
engines: {node: '>= 14'} engines: {node: '>= 14'}
dev: true dev: true