From 8b26751431a2d70ead6e49772be60eb4044be4fd Mon Sep 17 00:00:00 2001 From: immi Date: Sat, 28 Sep 2024 00:39:59 +0500 Subject: [PATCH] bing | footer | more --- app/public/BingSiteAuth.xml | 4 +++ app/src/app/layout.tsx | 11 ++++++-- app/src/app/sitemap.ts | 11 ++++++++ app/src/components/display-container.tsx | 22 ++++++++-------- app/src/components/pages/home/display.tsx | 31 +++++++++++++++-------- app/src/components/theme-editor.tsx | 3 ++- app/src/lib/site-config.ts | 1 + 7 files changed, 59 insertions(+), 24 deletions(-) create mode 100644 app/public/BingSiteAuth.xml create mode 100644 app/src/app/sitemap.ts diff --git a/app/public/BingSiteAuth.xml b/app/public/BingSiteAuth.xml new file mode 100644 index 0000000..edf9d5c --- /dev/null +++ b/app/public/BingSiteAuth.xml @@ -0,0 +1,4 @@ + + + 50D575324B09D3BA4B8E40A743D0BD10 + \ No newline at end of file diff --git a/app/src/app/layout.tsx b/app/src/app/layout.tsx index 4071e88..4e8f572 100644 --- a/app/src/app/layout.tsx +++ b/app/src/app/layout.tsx @@ -10,6 +10,7 @@ import { joinPaths } from "@/lib/utils"; import { siteConfig } from "@/lib/site-config"; import { RiTwitterXLine, RiGithubFill } from "react-icons/ri"; import { TbMail } from "react-icons/tb"; +import DisplayContainer from "@/components/display-container"; const inter = Inter({ subsets: ["latin"] }); @@ -44,6 +45,12 @@ export const metadata: Metadata = { alternates: { canonical: { url: siteConfig.url, title: "Home" }, languages: { en: [{ url: siteConfig.url, title: "Home" }] }, + types: { + "Home" : siteConfig.url, + "NPM Package": siteConfig.npm, + "GitHub Repository": siteConfig.github, + "Docs": siteConfig.docs + } }, openGraph: { type: "website", @@ -111,7 +118,7 @@ export default async function RootLayout({ -
+ {/* */}

Built with ♥️ by immi

@@ -129,7 +136,7 @@ export default async function RootLayout({ ))}
{/*
*/} -
+ diff --git a/app/src/app/sitemap.ts b/app/src/app/sitemap.ts new file mode 100644 index 0000000..df83a81 --- /dev/null +++ b/app/src/app/sitemap.ts @@ -0,0 +1,11 @@ +import { siteConfig } from "@/lib/site-config"; +import { MetadataRoute } from "next"; + +export default async function sitemap(): Promise { + return [ + siteConfig.url, + siteConfig.github, + siteConfig.npm, + siteConfig.docs, + ].map((url) => ({ url })); +} diff --git a/app/src/components/display-container.tsx b/app/src/components/display-container.tsx index 65eba9d..61c4e31 100644 --- a/app/src/components/display-container.tsx +++ b/app/src/components/display-container.tsx @@ -1,18 +1,20 @@ -import { cn } from "@/lib/utils"; +import { clsx, cn } from "@/lib/utils"; import React, { SVGProps } from "react"; -function DisplayContainer({ children, className }: { children: React.ReactNode, className?: string }) { +function DisplayContainer({ children, className, bottom, As='div', containerClassName, waveColors }: { children: React.ReactNode, className?: string, bottom?:boolean, As?: keyof JSX.IntrinsicElements, containerClassName?:string, waveColors?: SVGWaveColors }) { return ( -
-
+ +
{children}
- -
+ + ); } -const SVGComponent = (props: SVGProps) => ( +type SVGWaveColors = {c1?:string, c2?:string, c3?:string} + +export const SVGWave = ({c1, c2, c3, ...props}: SVGProps & SVGWaveColors) => ( ) => ( > @@ -38,7 +40,7 @@ const SVGComponent = (props: SVGProps) => ( d="m1447,136.18V0H0v71.23h0c0,12.62,8.46,23.69,20.65,27,388.24,105.43,592.19,42.39,769.5-2.3,180.93-45.61,334.11-84.22,627.06,58.08,13.44,6.53,29.8-2.88,29.8-17.82Z" fillRule="evenodd" // strokeWidth={0} - className="fill-card drop-shadow-xl" + className={c1 || "fill-card drop-shadow-xl"} /> ); diff --git a/app/src/components/pages/home/display.tsx b/app/src/components/pages/home/display.tsx index 0b135c0..e714186 100644 --- a/app/src/components/pages/home/display.tsx +++ b/app/src/components/pages/home/display.tsx @@ -4,10 +4,11 @@ import { IoLogoGithub } from "react-icons/io"; import { CgNpm } from "react-icons/cg"; import DisplayContainer from "@/components/display-container"; import { siteConfig } from "@/lib/site-config"; +import { ChevronRight } from "lucide-react"; function Display() { return ( - + {siteConfig.name} @@ -19,16 +20,24 @@ function Display() { the process of managing and customizing theme colors in Shadcn-based projects

- +
diff --git a/app/src/components/theme-editor.tsx b/app/src/components/theme-editor.tsx index ccf439c..8917c2e 100644 --- a/app/src/components/theme-editor.tsx +++ b/app/src/components/theme-editor.tsx @@ -26,10 +26,11 @@ function ThemeEditor() { aria-label={(isOpen? 'Close': "Open")+' Editor'} variant={isOpen ? "secondary" : "default"} className={clsx( - "rounded-full px-3 py-3 fixed bottom-2 right-2 border shadow-md drop-shadow-sm z-20", !isOpen && 'opacity-70 hover:opacity-100 animate-bounce hover:animate-none' + "rounded-full px-3 py-3 fixed transition-all duration-300 border shadow-md drop-shadow-sm z-20 group overflow-hidden bottom-2 left-1/2 -translate-x-1/2", isOpen ? 'opacity-0': '' )} > + Shadcn Theme Editor