Skip to content

Commit a479681

Browse files
seo
1 parent 77e5cdc commit a479681

File tree

12 files changed

+290
-283
lines changed

12 files changed

+290
-283
lines changed

app/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@
6262
"react-icons": "^5.3.0",
6363
"react-wrap-balancer": "^1.1.1",
6464
"recharts": "^2.12.7",
65-
"shadcn-theme-editor": "1.3.2",
65+
"shadcn-theme-editor": "1.3.3",
6666
"sonner": "^1.5.0",
6767
"tailwind-merge": "^2.4.0",
6868
"tailwindcss-animate": "^1.0.7",

app/pnpm-lock.yaml

Lines changed: 8 additions & 8 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
google-site-verification: google0297be4585eb90db.html

app/src/app/globals.css

Lines changed: 30 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,6 @@
22
@tailwind components;
33
@tailwind utilities;
44

5-
/* .masked-element {
6-
-webkit-mask-image: url('/wave-haikei (1).svg');
7-
-webkit-mask-repeat: no-repeat;
8-
-webkit-mask-size: cover;
9-
mask-image: url('/wave-haikei (1).svg');
10-
mask-repeat: no-repeat;
11-
mask-size: cover;
12-
} */
13-
145
:root {
156
--main-gradient: linear-gradient(
167
35deg,
@@ -143,6 +134,35 @@ div[role="dialog"] > #shadcn-theme-editor > aside {
143134
@apply border-border;
144135
}
145136
body {
146-
@apply bg-background text-foreground;
137+
@apply bg-background text-foreground size-full;
147138
}
148139
}
140+
141+
:host,
142+
html,
143+
body {
144+
-webkit-text-size-adjust: 100%;
145+
-moz-text-size-adjust: 100%;
146+
text-size-adjust: 100%;
147+
-webkit-font-smoothing: antialiased;
148+
-moz-osx-font-smoothing: grayscale;
149+
text-rendering: optimizeLegibility;
150+
scrollbar-gutter: stable;
151+
scroll-behavior: smooth;
152+
font-feature-settings:
153+
'rlig' 1,
154+
'calt' 1;
155+
}
156+
157+
svg {
158+
shape-rendering: crispEdges;
159+
}
160+
161+
svg circle,
162+
svg line,
163+
svg path,
164+
svg polygon,
165+
svg rect {
166+
shape-rendering: geometricprecision;
167+
}
168+

app/src/app/layout.tsx

Lines changed: 97 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,93 @@
1-
import type { Metadata } from "next";
1+
import type { Metadata, Viewport } from "next";
22
import { Inter } from "next/font/google";
33
import "./globals.css";
44
import clsx from "clsx";
55
import { ThemeProvider } from "next-themes";
66
import ShadcnThemeEditor from "shadcn-theme-editor";
77
import ThemeEditor from "@/components/theme-editor";
88
import GithubCorner from "@/components/github-corner";
9+
import { joinPaths } from "@/lib/utils";
10+
import { siteConfig } from "@/lib/site-config";
11+
import { RiTwitterXLine, RiGithubFill } from "react-icons/ri";
12+
import { TbMail } from "react-icons/tb";
13+
914
const inter = Inter({ subsets: ["latin"] });
1015

16+
export const viewport: Viewport = {
17+
themeColor: [{ media: "(prefers-color-scheme: dark)", color: "#030014" }],
18+
};
19+
1120
export const metadata: Metadata = {
12-
title: "Shadcn Theme Editor",
13-
description: "Shadcn Theme Editor is a user-friendly component designed to simplify the process of managing and customizing theme colors in Shadcn-based projects.",
21+
title: {
22+
default: siteConfig.name,
23+
template: `%s | ${siteConfig.name}`,
24+
},
25+
description: siteConfig.description,
26+
applicationName: siteConfig.name,
27+
appleWebApp: { title: siteConfig.name, statusBarStyle: "default" },
28+
abstract: siteConfig.description,
29+
archives: siteConfig.url,
30+
category: "Developer Tools",
31+
classification: "",
32+
keywords: siteConfig.keywords,
33+
authors: { url: "https://oimmi.com", name: "immi" },
34+
twitter: {
35+
creator: "@o_immi",
36+
creatorId: "1813232551131291651",
37+
description: siteConfig.description,
38+
title: siteConfig.name,
39+
card: "summary_large_image",
40+
images: siteConfig.images.map(img=>img.url),
41+
},
42+
creator: "immi",
43+
publisher: siteConfig.name,
44+
alternates: {
45+
canonical: { url: siteConfig.url, title: "Home" },
46+
languages: { en: [{ url: siteConfig.url, title: "Home" }] },
47+
},
48+
openGraph: {
49+
type: "website",
50+
locale: "en_US",
51+
url: siteConfig.url,
52+
title: siteConfig.name,
53+
description: siteConfig.description,
54+
siteName: siteConfig.name,
55+
images: siteConfig.images,
56+
},
57+
// icons: {
58+
// icon: [
59+
// {
60+
// url: joinPaths(siteConfig.url, "artgalestudio-logo.ico"),
61+
// sizes: "16x16 32x32 48x48 192x192 256x256",
62+
// },
63+
// joinPaths(siteConfig.url, "/favicon.ico"),
64+
// ],
65+
// },
1466
};
1567

68+
const SOCIALS: {
69+
title: string;
70+
url: string;
71+
icon: (props: React.SVGProps<SVGSVGElement>) => React.JSX.Element;
72+
}[] = [
73+
{
74+
title: "Github",
75+
url: "https://github.com/programming-with-ia",
76+
icon: RiGithubFill,
77+
},
78+
{
79+
title: "X (Twitter)",
80+
url: "https://x.com/o_immi",
81+
icon: RiTwitterXLine,
82+
},
83+
{
84+
title: "GMail",
85+
url: "mailto:" + "[email protected]",
86+
icon: TbMail,
87+
},
88+
];
89+
90+
1691
export default async function RootLayout({
1792
children,
1893
}: Readonly<{
@@ -36,6 +111,25 @@ export default async function RootLayout({
36111
<ThemeEditor />
37112
</main>
38113
<GithubCorner />
114+
<footer className="py-8 flex md:flex-row flex-col items-center md:px-8 px-4 lg:px-12 max-w-[1700px] mx-auto bg-accent text-accent-foreground mt-10 md:mt-16">
115+
{/* <Container> */}
116+
<p>Built with <span className="text-destructive-foreground font-extrabold text-red-500" title="love" aria-label="love" style={{fontFamily: '"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol"'}}>♥️</span> by <a href='https://github.com/programming-with-ia' className="underline underline-offset-1" target="_blank">immi</a></p>
117+
<div className="flex items-center mt-4 sm:mt-0 md:ml-auto">
118+
{SOCIALS.map((social, idx) => (
119+
<a
120+
className="p-2 rounded-md hover:bg-background hover:text-foreground"
121+
href={social.url}
122+
title={social.title}
123+
aria-label={social.title}
124+
key={idx}
125+
target="_blank"
126+
>
127+
{<social.icon className="size-5" />}
128+
</a>
129+
))}
130+
</div>
131+
{/* </Container> */}
132+
</footer>
39133
</ThemeProvider>
40134
</body>
41135
</html>

app/src/components/github-corner.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
1-
import { brandConfig } from "@/lib/brand-config";
1+
import { siteConfig } from "@/lib/site-config";
22
import React from "react";
33

44
function GithubCorner() {
55
return (
66
<>
77
<a
8-
href={brandConfig.github}
8+
target="_blank"
9+
href={siteConfig.github}
910
className="github-corner"
1011
aria-label="View source on GitHub"
1112
>

app/src/components/pages/cards/cards.tsx

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,9 @@ import { cn } from "@/lib/utils";
2020
export const Cards = () => {
2121
return (
2222
<div>
23-
<div className="mx-auto flex max-w-screen-md flex-col gap-2 pb-8 text-center text-sm"></div>
24-
<div className="items-start gap-6 md:grid lg:grid-cols-2 xl:grid-cols-3">
25-
<div className="flex flex-col gap-6">
23+
<div className="mx-auto flex max-w-screen-md flex-col gap-2 pb-8 text-center text-sm overflow-visible min-h-fit"></div>
24+
<div className="columns-sm gap-4 space-y-4 [&>*]:break-inside-avoid">
25+
{/* <div className="flex flex-col gap-6"> */}
2626
<DemoContainer>
2727
<Notifications />
2828
</DemoContainer>
@@ -38,9 +38,9 @@ export const Cards = () => {
3838
<DemoContainer>
3939
<CreateAccount />
4040
</DemoContainer>
41-
</div>
41+
{/* </div> */}
4242

43-
<div className="flex flex-col gap-6">
43+
{/* <div className="flex flex-col gap-6"> */}
4444
<DemoContainer>
4545
<ShareDocument />
4646
</DemoContainer>
@@ -56,8 +56,8 @@ export const Cards = () => {
5656
<DemoContainer className="py-12">
5757
<PopoverDemo />
5858
</DemoContainer>
59-
</div>
60-
<div className="flex flex-col gap-6">
59+
{/* </div> */}
60+
{/* <div className="flex flex-col gap-6"> */}
6161
<DemoContainer>
6262
<Chat />
6363
</DemoContainer>
@@ -73,7 +73,7 @@ export const Cards = () => {
7373
<DemoContainer>
7474
<Invoices />
7575
</DemoContainer>
76-
</div>
76+
{/* </div> */}
7777
</div>
7878
</div>
7979
);

0 commit comments

Comments
 (0)