diff --git a/.prettierrc b/.prettierrc index 04d142a..4aed9e0 100644 --- a/.prettierrc +++ b/.prettierrc @@ -1,6 +1,7 @@ { - "semi": true, - "trailingComma": "es5", - "singleQuote": false, - "useTabs": true + "semi": true, + "trailingComma": "all", + "singleQuote": false, + "useTabs": true, + "printWidth": 150 } diff --git a/package-lock.json b/package-lock.json index 6e506a8..1ee6b26 100644 --- a/package-lock.json +++ b/package-lock.json @@ -49,6 +49,7 @@ "@types/mercadopago": "^1.5.11", "@types/node-cron": "^3.0.11", "@types/react": "^18.3.12", + "@types/sanitize-html": "^2.13.0", "@types/speakeasy": "^2.0.10", "@types/yup": "^0.29.14", "autoprefixer": "^10.4.20", @@ -3412,6 +3413,15 @@ "@types/react": "*" } }, + "node_modules/@types/sanitize-html": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/@types/sanitize-html/-/sanitize-html-2.13.0.tgz", + "integrity": "sha512-X31WxbvW9TjIhZZNyNBZ/p5ax4ti7qsNDBDEnH4zAgmEh35YnFD1UiS6z9Cd34kKm0LslFW0KPmTQzu/oGtsqQ==", + "dev": true, + "dependencies": { + "htmlparser2": "^8.0.0" + } + }, "node_modules/@types/send": { "version": "0.17.4", "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz", diff --git a/package.json b/package.json index 1fdc414..a11d3fb 100644 --- a/package.json +++ b/package.json @@ -60,6 +60,7 @@ "@types/mercadopago": "^1.5.11", "@types/node-cron": "^3.0.11", "@types/react": "^18.3.12", + "@types/sanitize-html": "^2.13.0", "@types/speakeasy": "^2.0.10", "@types/yup": "^0.29.14", "autoprefixer": "^10.4.20", diff --git a/src/components/Button.tsx b/src/components/Button.tsx index 60cd372..34e86c3 100644 --- a/src/components/Button.tsx +++ b/src/components/Button.tsx @@ -13,9 +13,9 @@ export interface ButtonProps { type?: ButtonType; href?: string; btnColorType?: ButtonColorType; - isLoading: boolean; - isActive: boolean; - loadingText: string; + isLoading?: boolean; + isActive?: boolean; + loadingText?: string; } const Button = ({ @@ -24,8 +24,8 @@ const Button = ({ btnColorType = "primary", size = "md", href, - isLoading, - isActive, + isLoading = false, + isActive = false, loadingText, }: ButtonProps) => { const btn = ( diff --git a/src/components/DropdownButton.tsx b/src/components/DropdownButton.tsx index 2bbba1f..b2c1fde 100644 --- a/src/components/DropdownButton.tsx +++ b/src/components/DropdownButton.tsx @@ -5,22 +5,15 @@ import { IoChevronDown } from "react-icons/io5"; import { Menu, MenuButton, MenuList, MenuItem, Button } from "@chakra-ui/react"; export interface DropdownButtonProps { - hasMenu: boolean; + hasMenu?: boolean; text: string; href?: string; list?: { text: string; url: string; isActive?: boolean }[]; } -const DropdownButton = ({ - hasMenu = false, - text, - href, - list, -}: DropdownButtonProps) => { +const DropdownButton = ({ hasMenu = false, text, href, list }: DropdownButtonProps) => { const router = useRouter(); - const isActive = hasMenu - ? list?.some((item) => router.asPath.startsWith(item.url)) - : router.asPath === href; + const isActive = hasMenu ? list?.some((item) => router.asPath.startsWith(item.url)) : router.asPath === href; if (hasMenu) { return ( diff --git a/src/components/FormWrapper.tsx b/src/components/FormWrapper.tsx index 4e7147a..d71e58f 100644 --- a/src/components/FormWrapper.tsx +++ b/src/components/FormWrapper.tsx @@ -19,7 +19,7 @@ export interface FormField { name: string; label: { text: string }; placeholder?: string; - as?: JSX.Element; + as?: any; options?: { value: string; text: string }[]; } diff --git a/src/components/Link.jsx b/src/components/Link.tsx similarity index 54% rename from src/components/Link.jsx rename to src/components/Link.tsx index 7798d42..d4b275b 100644 --- a/src/components/Link.jsx +++ b/src/components/Link.tsx @@ -2,10 +2,15 @@ import React from "react"; import { Link as ChakraLink } from "@chakra-ui/react"; import NextLink from "next/link"; -const Link = ({ href, text }) => { +export interface LinkProps { + href: string; + text?: string; +} + +const Link = ({ href, text }: LinkProps) => { return ( - {text ? text : href} + {text ?? href} ); }; diff --git a/src/layout/Footer.jsx b/src/layout/Footer.jsx deleted file mode 100644 index da62852..0000000 --- a/src/layout/Footer.jsx +++ /dev/null @@ -1,18 +0,0 @@ -import React from "react"; -import { Box } from "@chakra-ui/react"; - -const Footer = () => { - return ( - - Copyright © 2021-2023 ShibAAC Devs - - ); -}; - -export default Footer; diff --git a/src/layout/Footer.tsx b/src/layout/Footer.tsx new file mode 100644 index 0000000..d499915 --- /dev/null +++ b/src/layout/Footer.tsx @@ -0,0 +1,12 @@ +import React from "react"; +import { Box } from "@chakra-ui/react"; + +const Footer = () => { + return ( + + Copyright © 2021-2023 Shibaac + + ); +}; + +export default Footer; diff --git a/src/layout/Head.tsx b/src/layout/Head.tsx index 75bf5f6..a3916b5 100644 --- a/src/layout/Head.tsx +++ b/src/layout/Head.tsx @@ -3,24 +3,17 @@ import React from "react"; import NextHead from "next/head"; import { NextSeo } from "next-seo"; -type HeadProps = { - title: string; +export interface HeadProps { + title?: string; description?: string; -}; +} -const Head = ({ - title = "shibaac", - description = "Automatic Account Creator", -}: HeadProps) => { +const Head = ({ title = "shibaac", description = "Automatic Account Creator" }: HeadProps) => { return ( <> - + { return ( - + { const router = useRouter(); return ( - + {navigationItems.map((item) => ( - + ))} @@ -164,7 +134,7 @@ const NavBar = () => { }, { fallback: "md", - } + }, ); return ; diff --git a/src/layout/SideBar.tsx b/src/layout/SideBar.tsx index 20ec270..6bfa504 100644 --- a/src/layout/SideBar.tsx +++ b/src/layout/SideBar.tsx @@ -18,7 +18,7 @@ const SideBar = (props: LayoutProps) => { setIsLoading(true); const [players, status] = await Promise.all([ - fetchApi<{ players: player[] }>("GET", `/api/player/top5`), + fetchApi<{ players: any[] }>("GET", `/api/player/top5`), fetchApi<{ status: ProtocolStatusCache }>("GET", `/api/status`), ]); @@ -38,23 +38,10 @@ const SideBar = (props: LayoutProps) => { - + - +
- {serverStatus?.online ? ( - - ) : ( - - )} - {serverStatus?.online ? : }
- {serverStatus && ( - - )} - {serverStatus && }
@@ -73,7 +60,7 @@ const SideBar = (props: LayoutProps) => { { text: player.level, }, - ]) + ]) : [ [ { @@ -81,7 +68,7 @@ const SideBar = (props: LayoutProps) => { colspan: 2, }, ], - ] + ] } /> diff --git a/src/layout/index.jsx b/src/layout/index.tsx similarity index 53% rename from src/layout/index.jsx rename to src/layout/index.tsx index 18fcd53..c0280a1 100644 --- a/src/layout/index.jsx +++ b/src/layout/index.tsx @@ -3,33 +3,16 @@ import Head from "./Head"; import NavBar from "./NavBar"; import SideBar from "./SideBar"; import Footer from "./Footer"; - import { Box, Image, Flex } from "@chakra-ui/react"; const Layout = ({ children }) => { return ( - - - shibaac + + + shibaac - + {children}