+
{currentNotification?.title}
{currentNotification?.message}
diff --git a/src/components/Layouts/header/notification/notification-list.tsx b/src/components/Layouts/header/notification/notification-list.tsx
index d80d11f..0006ac7 100644
--- a/src/components/Layouts/header/notification/notification-list.tsx
+++ b/src/components/Layouts/header/notification/notification-list.tsx
@@ -16,7 +16,7 @@ const NotificationList = ({
setUnreadNotificationCount,
onNotificationClick,
}: IProps) => {
- const { data, isLoading } = useGetMyNotifications({seen:false});
+ const { data, isLoading } = useGetMyNotifications({ seen: false });
useEffect(() => {
setUnreadNotificationCount(data?.data.length ?? 0);
}, [data, isLoading]);
@@ -34,7 +34,7 @@ const NotificationList = ({
key={notification.id}
onClick={() => onNotificationClick(notification)}
>
-
+
{notification.title}
diff --git a/src/components/Layouts/header/user-info/index.tsx b/src/components/Layouts/header/user-info/index.tsx
index 640e94e..c73f290 100644
--- a/src/components/Layouts/header/user-info/index.tsx
+++ b/src/components/Layouts/header/user-info/index.tsx
@@ -16,11 +16,6 @@ import { LogOutIcon, SettingsIcon, UserIcon } from "./icons";
export function UserInfo() {
const [isOpen, setIsOpen] = useState(false);
const { logout, user } = useUser();
- const USER = {
- name: "John Smith",
- email: "johnson@nextadmin.com",
- img: "/images/user/user-03.png",
- };
return (
@@ -31,14 +26,7 @@ export function UserInfo() {
- {/* */}
+
{user?.full_name}
@@ -61,21 +49,27 @@ export function UserInfo() {
User information
-
+ {user?.profile_image ? (
+
+ ) : (
+
+
+
+ )}
- {USER.name}
+ {user?.full_name}
- {USER.email}
+ {user?.email}
diff --git a/src/components/Tables/notification-history/index.tsx b/src/components/Tables/notification-history/index.tsx
index 670ff2a..156440f 100644
--- a/src/components/Tables/notification-history/index.tsx
+++ b/src/components/Tables/notification-history/index.tsx
@@ -1,5 +1,5 @@
"use client";
-import { CheckIcon, CrossIcon, EyeIcon } from "@/assets/icons";
+import { EyeIcon } from "@/assets/icons";
import { ShowcaseSection } from "@/components/Layouts/showcase-section";
import Pagination from "@/components/ui/pagination";
import Status from "@/components/ui/Status";
@@ -13,9 +13,11 @@ import {
} from "@/components/ui/table";
import TableSkeleton from "@/components/ui/TableSkeleton";
import { _TooltipDefaultParams } from "@/constants/tooltip";
-import { unixToDate } from "@/utils/shared";
+import { truncateString, unixToDate } from "@/utils/shared";
import Link from "next/link";
import { Tooltip } from "react-tooltip";
+
+import Boolean from "@/components/ui/Boolean";
import useNotificationHistoryTablePresenter from "./useNotificationHistoryTablePresenter";
const NotificationHistoryTable = () => {
@@ -64,7 +66,9 @@ const NotificationHistoryTable = () => {
unix: item.created_at,
})}
- {item.message}
+
+ {truncateString(item.message, 20, 20)}
+
{item.priority}
@@ -72,11 +76,7 @@ const NotificationHistoryTable = () => {
{item.type}
- {item.seen ? (
-
- ) : (
-
- )}
+
{item.status}
diff --git a/src/components/ui/Boolean.tsx b/src/components/ui/Boolean.tsx
new file mode 100644
index 0000000..90d5d13
--- /dev/null
+++ b/src/components/ui/Boolean.tsx
@@ -0,0 +1,19 @@
+import { CheckIcon, CrossIcon } from "@/assets/icons";
+
+interface IProps {
+ value: boolean;
+}
+
+const Boolean = ({ value }: IProps) => {
+ return (
+ <>
+ {value ? (
+
+ ) : (
+
+ )}
+ >
+ );
+};
+
+export default Boolean;
diff --git a/src/components/ui/Status.tsx b/src/components/ui/Status.tsx
index a8d4274..a025b83 100644
--- a/src/components/ui/Status.tsx
+++ b/src/components/ui/Status.tsx
@@ -2,11 +2,11 @@ import { cn } from "@/lib/utils";
import { ReactNode } from "react";
interface IProps {
- status: string;
+ status?: string;
children: ReactNode;
}
-const Status = ({ status, children }: IProps) => {
+const Status = ({ status = "draft", children }: IProps) => {
const reds = [
"cancelled",
"inactive",
@@ -22,7 +22,7 @@ const Status = ({ status, children }: IProps) => {
"success",
"verified",
"published",
- "sent"
+ "sent",
];
const blues = ["awarded", "processing", "in-review", "scheduled"];
const yellows = ["pending", "warning", "on-hold", "delayed"];
diff --git a/src/components/ui/modal.tsx b/src/components/ui/modal.tsx
index ffb4a80..ae6fe36 100644
--- a/src/components/ui/modal.tsx
+++ b/src/components/ui/modal.tsx
@@ -2,6 +2,7 @@ import { CrossIcon } from "@/assets/icons";
import { useIsMutating } from "@tanstack/react-query";
import { ReactNode, useEffect, useState } from "react";
import { createPortal } from "react-dom";
+import IsVisible from "./IsVisible";
interface ModalProps {
isOpen: boolean;
@@ -10,6 +11,7 @@ interface ModalProps {
children: ReactNode;
confirmText?: string;
cancelText?: string;
+ showButtons?: boolean;
}
const Modal: React.FC = ({
@@ -19,6 +21,7 @@ const Modal: React.FC = ({
onConfirm,
confirmText = "confirm",
cancelText = "close",
+ showButtons = true,
}) => {
const [mounted, setMounted] = useState(false);
const isMutating = useIsMutating();
@@ -57,24 +60,26 @@ const Modal: React.FC = ({
{children}
-
-
+
+
+
+
diff --git a/src/css/style.css b/src/css/style.css
index c443050..cca10e3 100644
--- a/src/css/style.css
+++ b/src/css/style.css
@@ -53,6 +53,12 @@
.rmdp-calendar {
@apply !p-6 dark:!bg-gray-dark;
}
+.rmdp-time-picker {
+ @apply dark:!bg-gray-dark;
+}
+.rmdp-time-picker div input {
+ @apply dark:!bg-gray-dark dark:!text-gray-5;
+}
.rmdp-month-picker {
@apply dark:!bg-gray-dark;
}
@@ -95,10 +101,10 @@
color: inherit !important;
}
.rmdp-day.rmdp-range.start {
- @apply !bg-gray-2 !shadow-none dark:!bg-dark-2 !text-white;
+ @apply !bg-gray-2 !text-white !shadow-none dark:!bg-dark-2;
}
.rmdp-day.rmdp-range.end {
- @apply !bg-gray-2 !shadow-none dark:!bg-dark-2 !text-white;
+ @apply !bg-gray-2 !text-white !shadow-none dark:!bg-dark-2;
}
.rmdp-day.rmdp-range.start,