diff --git a/api/src/frontend/pages/briefs/brief-dashboard.tsx b/api/src/frontend/pages/briefs/brief-dashboard.tsx
new file mode 100644
index 00000000..bdf88d37
--- /dev/null
+++ b/api/src/frontend/pages/briefs/brief-dashboard.tsx
@@ -0,0 +1,234 @@
+import TimeAgo from "javascript-time-ago";
+import en from "javascript-time-ago/locale/en";
+import React, { useState } from "react";
+import ReactDOMClient from "react-dom/client";
+import { Brief } from "../../models";
+import { getBrief } from "../../services/briefsService";
+import { getCurrentUser, redirect } from "../../utils";
+import "../../../../public/brief-dashboard.css";
+import { RiShieldUserLine } from "react-icons/ri";
+import { FaDollarSign, FaRegCalendarAlt } from "react-icons/fa";
+import { ProjectState } from "../../models";
+
+interface BriefDashboardProps {
+ brief: Brief;
+}
+
+TimeAgo.addDefaultLocale(en);
+
+export const BriefDashboard = ({ brief }: BriefDashboardProps) => {
+ const timeAgo = new TimeAgo("en-US");
+ const timePosted = timeAgo.format(new Date(brief.created));
+ const milestonecompleted = 2;
+
+ const viewFullBrief = () => {
+ redirect(`briefs/${brief.id}/`);
+ };
+
+ const milestones = [
+ {
+ name: "C++ Network Experts for banking app",
+ date: "25 February 2023",
+ percentToRelease: "45%",
+ fundToRelease: "$45,000",
+ description:
+ "Lorem ipsum dolor sit amet, consectetur adipiscing elit ut aliquam, purus sit amet luctus venenatis, lectus magna fringilla urna, porttitor rhoncus dolor purus non enim praesent elementum facilisis leo, vel fringilla est ullamcorper eget nulla facilisi etiam dignissim diam quis enim lobortis scelerisque fermentum dui faucibus in ornare quam viverra orci sagittis eu volutpat odio facilisis mauris sit amet massa vitae tortor condimentum lacinia quis vel eros donec ac odio tempor orci dapibus ultrices in iaculis nunc sed augue lacus, viverra vitae congue eu, consequat ac felis donec et odio pellentesque diam volutpat commodo sed egestas egestas fringilla phasellus faucibus",
+ status: "Completed",
+ },
+ {
+ name: "C++ Network Experts for banking app",
+ date: "25 February 2023",
+ percentToRelease: "45%",
+ fundToRelease: "$45,000",
+ description:
+ "Lorem ipsum dolor sit amet, consectetur adipiscing elit ut aliquam, purus sit amet luctus venenatis, lectus magna fringilla urna, porttitor rhoncus dolor purus non enim praesent elementum facilisis leo, vel fringilla est ullamcorper eget nulla facilisi etiam dignissim diam quis enim lobortis scelerisque fermentum dui faucibus in ornare quam viverra orci sagittis eu volutpat odio facilisis mauris sit amet massa vitae tortor condimentum lacinia quis vel eros donec ac odio tempor orci dapibus ultrices in iaculis nunc sed augue lacus, viverra vitae congue eu, consequat ac felis donec et odio pellentesque diam volutpat commodo sed egestas egestas fringilla phasellus faucibus",
+ status: "Open for Voting",
+ },
+ {
+ name: "C++ Network Experts for banking app",
+ date: "25 February 2023",
+ percentToRelease: "45%",
+ fundToRelease: "$45,000",
+ description:
+ "Lorem ipsum dolor sit amet, consectetur adipiscing elit ut aliquam, purus sit amet luctus venenatis, lectus magna fringilla urna, porttitor rhoncus dolor purus non enim praesent elementum facilisis leo, vel fringilla est ullamcorper eget nulla facilisi etiam dignissim diam quis enim lobortis scelerisque fermentum dui faucibus in ornare quam viverra orci sagittis eu volutpat odio facilisis mauris sit amet massa vitae tortor condimentum lacinia quis vel eros donec ac odio tempor orci dapibus ultrices in iaculis nunc sed augue lacus, viverra vitae congue eu, consequat ac felis donec et odio pellentesque diam volutpat commodo sed egestas egestas fringilla phasellus faucibus",
+ status: "In Progress",
+ },
+ {
+ name: "C++ Network Experts for banking app",
+ date: "25 February 2023",
+ percentToRelease: "45%",
+ fundToRelease: "$45,000",
+ description:
+ "Lorem ipsum dolor sit amet, consectetur adipiscing elit ut aliquam, purus sit amet luctus venenatis, lectus magna fringilla urna, porttitor rhoncus dolor purus non enim praesent elementum facilisis leo, vel fringilla est ullamcorper eget nulla facilisi etiam dignissim diam quis enim lobortis scelerisque fermentum dui faucibus in ornare quam viverra orci sagittis eu volutpat odio facilisis mauris sit amet massa vitae tortor condimentum lacinia quis vel eros donec ac odio tempor orci dapibus ultrices in iaculis nunc sed augue lacus, viverra vitae congue eu, consequat ac felis donec et odio pellentesque diam volutpat commodo sed egestas egestas fringilla phasellus faucibus",
+ status: "Not Started",
+ },
+ ];
+
+ const [milestoneVisible, showMilestone] = useState({});
+
+ const toggleMilestone = (index: number) => {
+ const current = milestoneVisible[index] || false;
+ showMilestone({ ...milestoneVisible, [index]: !current });
+ };
+
+ return (
+ <>
+
+
+
+
+
{brief.headline}
+
+ View full brief
+
+
+
+
{brief.description}
+
+
+ Posted {timePosted}{" "}
+
+
+
+
+
+
+
Milestone
+
+ 2/4
+
+
+
+
+
+
+
+ {milestones.map((milestone, index) => (
+
=(index+1)?"bg-[#b2ff0b]" :"bg-[#1c2608]"} `}>
+ ))}
+
+ {/*
+ 50%
+
*/}
+
+
+
+
+
+ ${Number(brief.budget).toLocaleString()}
+
+
+ Budget - fixed
+
+
+
+
+
+
+
{brief.duration}
+
Timeline
+
+
+
+
+
+
Freelancer Hired
+
+
+
Idris Muhammad
+
+
+
+
+
+ {milestones.map((m, index) => (
+
+
+
+ {`Milestone ${index + 1}`}
+
+
{m.name}
+
{m.date}
+
+ {m.status}
+
+
+
+ {milestoneVisible[index] && (
+
+
+
+ Percentage of funds to be released
+ {" "}
+
+ {m.percentToRelease}
+
+
+
+ Funding to be released{" "}
+
+ {m.fundToRelease}
+
+