diff --git a/src/components/ui/Timeline.jsx b/src/components/ui/Timeline.jsx
new file mode 100644
index 0000000..7dcda3d
--- /dev/null
+++ b/src/components/ui/Timeline.jsx
@@ -0,0 +1,180 @@
+export function Timeline({ children, className = "" }) {
+ return (
+
+ {/* Center Dot (Desktop) */}
+
+ {icon ? icon : config.iconNode}
+
+
+ {/* Center Dot (Mobile) */}
+
+ {icon ? icon : config.iconNode}
+
+
+ {/* Left Side Container (Title & Date on Desktop, everything on Mobile) */}
+
+ {date && (
+
+ {date}
+ {status === "active" && (
+ • CURRENT PHASE
+ )}
+
+ )}
+
+ {title}
+
+
+ {/* On mobile, we render children here if there's no rightContent, or both. */}
+
+ {rightContent ? (
+ <>
+ {children}
+
{rightContent}
+ >
+ ) : (
+ children
+ )}
+
+
+ {/* On Desktop, if rightContent exists, children goes on the left */}
+ {rightContent && (
+
+ {children}
+
+ )}
+
+
+ {/* Right Side Container (Desktop only, or hidden on mobile) */}
+
+ {rightContent ? (
+ rightContent
+ ) : (
+
+ {children}
+
+ )}
+
+
+ );
+}
+
+Timeline.Item = TimelineItem;
+export default Timeline;