-
- {tagData.map(({ name, count, color, frequency }) => (
+
+
+ ))}
);
};
diff --git a/src/components/blog/tagged-posts.tsx b/src/components/blog/tagged-posts.tsx
new file mode 100644
index 0000000..a44ad0b
--- /dev/null
+++ b/src/components/blog/tagged-posts.tsx
@@ -0,0 +1,123 @@
+import { AnimateIn } from "@/components/animate-in";
+import { RssIcon, TagIcon, TrendingUpIcon } from "lucide-react";
+
+type BlogPost = {
+ id: string;
+ data: {
+ title: string;
+ author: string;
+ date: string;
+ tags: string[];
+ description: string;
+ image?: string;
+ imagePosition?: string;
+ };
+};
+
+interface TaggedPostsProps {
+ tag: string;
+ posts: BlogPost[];
+}
+
+const formatDate = (dateString: string) => {
+ return new Date(dateString).toLocaleDateString("en-US", {
+ year: "numeric",
+ month: "long",
+ day: "numeric"
+ });
+};
+
+const TaggedPosts = ({ tag, posts }: TaggedPostsProps) => {
+ return (
+
+ );
+};
+
+export default TaggedPosts;
diff --git a/src/layouts/content.astro b/src/layouts/content.astro
index ced33e5..9ab81e7 100644
--- a/src/layouts/content.astro
+++ b/src/layouts/content.astro
@@ -7,6 +7,7 @@ import Footer from "@/components/footer";
import Background from "@/components/background";
import ThemeSwitcher from "@/components/theme-switcher";
import AnimationSwitcher from "@/components/animation-switcher";
+import VercelAnalytics from "@/components/analytics";
import { THEME_LOADER_SCRIPT, THEME_NAV_SCRIPT } from "@/lib/themes/loader";
import { ANIMATION_LOADER_SCRIPT, ANIMATION_NAV_SCRIPT } from "@/lib/animations/loader";
@@ -68,6 +69,7 @@ const ogImage = "https://timmypidashev.dev/og-image.jpg";