announcements
This commit is contained in:
@@ -40,7 +40,7 @@ const AnnouncementtList: FC = () => {
|
||||
<Input
|
||||
variant='search'
|
||||
placeholder={t('announcement.search')}
|
||||
className='-mt-1'
|
||||
className='-mt-1 bg-[#F8F9FB]'
|
||||
onChangeSearchFinal={(value) => setSearch(value)}
|
||||
/>
|
||||
</div>
|
||||
|
||||
@@ -1,130 +1,11 @@
|
||||
// import axios from "../../../config/axios";
|
||||
|
||||
// دادههای استاتیک برای نمایش
|
||||
const mockAnnoncementsData = {
|
||||
data: {
|
||||
announcements: [
|
||||
{
|
||||
id: "1",
|
||||
createdAt: "2024-01-15T10:00:00Z",
|
||||
updatedAt: "2024-01-15T10:00:00Z",
|
||||
announcement: {
|
||||
id: "ann1",
|
||||
createdAt: "2024-01-15T10:00:00Z",
|
||||
title: "بهروزرسانی سیستم اطلاعرسانی",
|
||||
content:
|
||||
"سیستم اطلاعرسانی با ویژگیهای جدید بهروزرسانی شد. لطفاً از طریق بخش تنظیمات، تنظیمات خود را بررسی کنید.",
|
||||
publishAt: "2024-01-15T10:00:00Z",
|
||||
targetService: {
|
||||
id: "1",
|
||||
name: "سرویس عمومی",
|
||||
},
|
||||
isImportant: true,
|
||||
},
|
||||
isRead: false,
|
||||
},
|
||||
{
|
||||
id: "2",
|
||||
createdAt: "2024-01-14T08:00:00Z",
|
||||
updatedAt: "2024-01-14T08:00:00Z",
|
||||
announcement: {
|
||||
id: "ann2",
|
||||
createdAt: "2024-01-14T08:00:00Z",
|
||||
title: "نگهداری برنامهریزی شده",
|
||||
content:
|
||||
"در تاریخ ۲۰ دی ماه، بهدلیل انجام نگهداری برنامهریزی شده، سرویسها به مدت ۲ ساعت در دسترس نخواهند بود.",
|
||||
publishAt: "2024-01-14T08:00:00Z",
|
||||
targetService: {
|
||||
id: "1",
|
||||
name: "سرویس عمومی",
|
||||
},
|
||||
isImportant: false,
|
||||
},
|
||||
isRead: false,
|
||||
},
|
||||
{
|
||||
id: "3",
|
||||
createdAt: "2024-01-13T15:30:00Z",
|
||||
updatedAt: "2024-01-13T15:30:00Z",
|
||||
announcement: {
|
||||
id: "ann3",
|
||||
createdAt: "2024-01-13T15:30:00Z",
|
||||
title: "ویژگی جدید: پشتیبانی از پرداخت آنلاین",
|
||||
content:
|
||||
"ویژگی پرداخت آنلاین به سیستم اضافه شد. از این پس میتوانید بهراحتی از طریق درگاههای بانکی پرداخت خود را انجام دهید.",
|
||||
publishAt: "2024-01-13T15:30:00Z",
|
||||
targetService: {
|
||||
id: "2",
|
||||
name: "سرویس پرداخت",
|
||||
},
|
||||
isImportant: false,
|
||||
},
|
||||
isRead: true,
|
||||
},
|
||||
],
|
||||
},
|
||||
};
|
||||
|
||||
const mockAnnoncementDetailData = (id: string) => {
|
||||
const announcement = mockAnnoncementsData.data.announcements.find(
|
||||
(item) => item.announcement.id === id
|
||||
);
|
||||
|
||||
if (!announcement) {
|
||||
return {
|
||||
data: {
|
||||
announcement: {
|
||||
id: id,
|
||||
createdAt: "2024-01-15T10:00:00Z",
|
||||
title: "اطلاعیه نمونه",
|
||||
content:
|
||||
"<p>این یک اطلاعیه نمونه است. محتوای این اطلاعیه برای نمایش داده شده است.</p>",
|
||||
publishAt: "2024-01-15T10:00:00Z",
|
||||
targetService: {
|
||||
id: "1",
|
||||
name: "سرویس عمومی",
|
||||
},
|
||||
isImportant: false,
|
||||
},
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
return {
|
||||
data: {
|
||||
announcement: announcement.announcement,
|
||||
},
|
||||
};
|
||||
};
|
||||
import axios from "@/config/axios";
|
||||
|
||||
export const getAnnoncements = async (search: string) => {
|
||||
// ارتباط با سرور کامنت شده - از داده استاتیک استفاده میشود
|
||||
// const { data } = await axios.get(`/announcements/user?q=${search}`);
|
||||
// return data;
|
||||
|
||||
// شبیهسازی تاخیر شبکه
|
||||
await new Promise((resolve) => setTimeout(resolve, 500));
|
||||
|
||||
// فیلتر بر اساس جستجو
|
||||
let filteredData = { ...mockAnnoncementsData };
|
||||
if (search && search.trim()) {
|
||||
filteredData.data.announcements = mockAnnoncementsData.data.announcements.filter(
|
||||
(item) =>
|
||||
item.announcement.title.includes(search) ||
|
||||
item.announcement.content.includes(search)
|
||||
);
|
||||
}
|
||||
|
||||
return filteredData;
|
||||
const { data } = await axios.get(`/public/announcements/user?q=${search}`);
|
||||
return data;
|
||||
};
|
||||
|
||||
export const getAnnoncementDetail = async (id: string) => {
|
||||
// ارتباط با سرور کامنت شده - از داده استاتیک استفاده میشود
|
||||
// const { data } = await axios.get(`/announcements/${id}`);
|
||||
// return data;
|
||||
|
||||
// شبیهسازی تاخیر شبکه
|
||||
await new Promise((resolve) => setTimeout(resolve, 500));
|
||||
|
||||
return mockAnnoncementDetailData(id);
|
||||
const { data } = await axios.get(`/public/announcements/${id}`);
|
||||
return data;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user