announcements
This commit is contained in:
@@ -40,7 +40,7 @@ const AnnouncementtList: FC = () => {
|
|||||||
<Input
|
<Input
|
||||||
variant='search'
|
variant='search'
|
||||||
placeholder={t('announcement.search')}
|
placeholder={t('announcement.search')}
|
||||||
className='-mt-1'
|
className='-mt-1 bg-[#F8F9FB]'
|
||||||
onChangeSearchFinal={(value) => setSearch(value)}
|
onChangeSearchFinal={(value) => setSearch(value)}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1,130 +1,11 @@
|
|||||||
// import axios from "../../../config/axios";
|
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,
|
|
||||||
},
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
export const getAnnoncements = async (search: string) => {
|
export const getAnnoncements = async (search: string) => {
|
||||||
// ارتباط با سرور کامنت شده - از داده استاتیک استفاده میشود
|
const { data } = await axios.get(`/public/announcements/user?q=${search}`);
|
||||||
// const { data } = await axios.get(`/announcements/user?q=${search}`);
|
return data;
|
||||||
// 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;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
export const getAnnoncementDetail = async (id: string) => {
|
export const getAnnoncementDetail = async (id: string) => {
|
||||||
// ارتباط با سرور کامنت شده - از داده استاتیک استفاده میشود
|
const { data } = await axios.get(`/public/announcements/${id}`);
|
||||||
// const { data } = await axios.get(`/announcements/${id}`);
|
return data;
|
||||||
// return data;
|
|
||||||
|
|
||||||
// شبیهسازی تاخیر شبکه
|
|
||||||
await new Promise((resolve) => setTimeout(resolve, 500));
|
|
||||||
|
|
||||||
return mockAnnoncementDetailData(id);
|
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user