diff --git a/src/components/awards/award-not-complete.tsx b/src/components/awards/award-not-complete.tsx new file mode 100644 index 0000000..c6a5c00 --- /dev/null +++ b/src/components/awards/award-not-complete.tsx @@ -0,0 +1,23 @@ +import { Calendar2, Cup } from "iconsax-react" +import ProgressCircle from "./progress-circle" + +export const AwardNotComplete = () => { + return ( +
+
+
+

75

+ +
+ +
+
+

۲۵۰ هزار تومان تخفیف برای اقامت در تمام ویلاها و کلبه های جاجیگا با حداقل رزرو ۲ میلیون تومان

+
+

1403/06/12

+ +
+
+
+ ) +} \ No newline at end of file diff --git a/src/components/awards/awards-complete.tsx b/src/components/awards/awards-complete.tsx new file mode 100644 index 0000000..7f2f1c8 --- /dev/null +++ b/src/components/awards/awards-complete.tsx @@ -0,0 +1,22 @@ +import { Cup, Transmit } from "iconsax-react" + + +export const AwardComplete = () => { + return ( +
+
+

۲۵۰ هزار تومان تخفیف برای اقامت در تمام ویلاها و کلبه های جاجیگا با حداقل رزرو ۲ میلیون تومان.

+

1403/06/12

+
+
+
+

75

+ +
+
+ +
+
+
+ ) +} \ No newline at end of file diff --git a/src/components/awards/index.tsx b/src/components/awards/index.tsx new file mode 100644 index 0000000..02eb348 --- /dev/null +++ b/src/components/awards/index.tsx @@ -0,0 +1,17 @@ +import { AwardNotComplete } from "./award-not-complete" +import { AwardComplete } from "./awards-complete" + +export const Awards = () => { + return ( +
+
+

جوایز (5)

+

امتیازهای من: 65

+
+
+ + +
+
+ ) +} \ No newline at end of file diff --git a/src/components/awards/progress-circle.tsx b/src/components/awards/progress-circle.tsx new file mode 100644 index 0000000..6953104 --- /dev/null +++ b/src/components/awards/progress-circle.tsx @@ -0,0 +1,42 @@ +import React from 'react'; + +interface ProgressCircleProps { + percentage: number; +} + +export const ProgressCircle: React.FC = ({ percentage }) => { + const radius = 45; + const stroke = 9; + const normalizedRadius = radius - stroke * 2; + const circumference = normalizedRadius * 2 * Math.PI; + const strokeDashoffset = circumference - (percentage / 100) * circumference; + + return ( + + + + + {`${percentage}%`} + + + ); +}; + +export default ProgressCircle; diff --git a/src/index.css b/src/index.css index f31af7d..81bbb46 100644 --- a/src/index.css +++ b/src/index.css @@ -14,7 +14,7 @@ @layer base { - html { + * { font-family: 'vazirmatn', 'vaziren'; direction: rtl; } diff --git a/src/pages/dashboard/awards.tsx b/src/pages/dashboard/awards.tsx new file mode 100644 index 0000000..b09692b --- /dev/null +++ b/src/pages/dashboard/awards.tsx @@ -0,0 +1,7 @@ +import { Awards } from "../../components/awards" + +export const AwardsPage = () => { + return ( + + ) +} \ No newline at end of file diff --git a/src/router/index.tsx b/src/router/index.tsx index 216e0fe..6e3ec8a 100644 --- a/src/router/index.tsx +++ b/src/router/index.tsx @@ -16,6 +16,7 @@ import { InstallationReportsPage } from "../pages/dashboard/installation-reports import { TransactionsPage } from "../pages/dashboard/transactions"; import { ScorePage } from "../pages/dashboard/score"; import { SubscriptionReportPage } from "../pages/dashboard/subscription-report"; +import { AwardsPage } from "../pages/dashboard/awards"; export const router = createBrowserRouter([ @@ -55,6 +56,10 @@ export const router = createBrowserRouter([ path: "subscription-report", element: }, + { + path: "awards", + element: + }, ] }, {