announcement detail and reponsive announcement list and responsive citixisms and learning and ...

This commit is contained in:
hamid zarghami
2025-01-10 12:15:27 +03:30
parent e2670408fc
commit 037c08d80d
8 changed files with 76 additions and 27 deletions
+4 -1
View File
@@ -19,7 +19,10 @@ export const Pages = {
create: "/tickets/create", create: "/tickets/create",
detail: "/tickets/messages/", detail: "/tickets/messages/",
}, },
announcement: "/announcement", announcement: {
list: "/announcement",
detail: "/announcement/",
},
criticisms: "/criticisms", criticisms: "/criticisms",
learning: "/learning", learning: "/learning",
setting: "/setting", setting: "/setting",
+3 -1
View File
@@ -182,8 +182,10 @@
"announcements": "اطلاعیه ها", "announcements": "اطلاعیه ها",
"search": "جستجو در اطلاعیه ها", "search": "جستجو در اطلاعیه ها",
"new": "جدید", "new": "جدید",
"important": "مهم" "important": "مهم",
"text_announcement": "متن اطلاعیه"
}, },
"back": "بازگشت",
"criticisms": { "criticisms": {
"criticisms": "انتقادات", "criticisms": "انتقادات",
"submit_your_criticisms": "ثبت انتقاد شما", "submit_your_criticisms": "ثبت انتقاد شما",
+39
View File
@@ -0,0 +1,39 @@
import { FC } from 'react'
import { useTranslation } from 'react-i18next'
import StatusWithText from '../../components/StatusWithText'
const AnnouncementDetail: FC = () => {
const { t } = useTranslation('global')
return (
<div className='mt-4'>
<div className='flex justify-between'>
<div>
{t('announcement.text_announcement')}
</div>
<div className='text-xs font-extralight'>
{t('back')}
</div>
</div>
<div className='flex-1 mt-4 bg-white py-6 px-4 rounded-2xl'>
<div className='flex justify-between items-start'>
<div className='text-sm max-w-[70%] leading-67'>
لورم ایپسوم متن ساختگی با تولید سادگی نامفهوم از صنعت چاپ
</div>
<StatusWithText
variant='success'
text={t('announcement.new')}
/>
</div>
<div className='mt-5 leading-7 text-xs font-light'>
لورم ایپسوم متن ساختگی با تولید سادگی نامفهوم از صنعت چاپ، و با استفاده از طراحان گرافیک است، چاپگرها و متون بلکه روزنامه و مجله در ستون و سطرآنچنان که لازم است، و برای شرایط فعلی تکنولوژی مورد نیاز، و کاربردهای متنوع با هدف بهبود ابزارهای کاربردی می باشد، کتابهای زیادی در شصت و سه درصد گذشته حال و آینده، شناخت فراوان جامعه و متخصصان را می طلبد، تا با نرم افزارها شناخت بیشتری را برای طراحان رایانه ای علی الخصوص طراحان خلاقی، و فرهنگ پیشرو در زبان فارسی ایجاد کرد، در این صورت می توان امید داشت که تمام و دشواری موجود در ارائه راهکارها، و شرایط سخت تایپ به پایان رسد و زمان مورد نیاز شامل حروفچینی دستاوردهای اصلی، و جوابگوی سوالات پیوسته اهل دنیای موجود طراحی اساسا مورد استفاده قرار گیرد.
</div>
</div>
</div>
)
}
export default AnnouncementDetail
+4 -4
View File
@@ -16,7 +16,7 @@ const AnnouncementtList: FC = () => {
</div> </div>
<div className='mt-10 flex gap-8'> <div className='mt-10 flex gap-8'>
<div className='bg-white w-[400px] rounded-2xl p-6'> <div className='bg-white xl:w-[400px] w-full rounded-2xl p-6'>
<div className='flex gap-3 items-center'> <div className='flex gap-3 items-center'>
<div className='flex-1'> <div className='flex-1'>
<Input <Input
@@ -44,7 +44,7 @@ const AnnouncementtList: FC = () => {
'bg-[#F8F9FB]' 'bg-[#F8F9FB]'
)}> )}>
<div className='flex justify-between'> <div className='flex justify-between'>
<div className='leading-6 max-w-[70%]'> <div className='leading-6 text-xs xl:text-sm max-w-[70%]'>
لورم ایپسوم متن ساختگی با تولید سادگی نامفهوم از صنعت چاپ لورم ایپسوم متن ساختگی با تولید سادگی نامفهوم از صنعت چاپ
</div> </div>
@@ -73,7 +73,7 @@ const AnnouncementtList: FC = () => {
'p-4 rounded-2xl', 'p-4 rounded-2xl',
)}> )}>
<div className='flex justify-between'> <div className='flex justify-between'>
<div className='leading-6 max-w-[70%]'> <div className='leading-6 text-xs xl:text-sm max-w-[70%]'>
لورم ایپسوم متن ساختگی با تولید سادگی نامفهوم از صنعت چاپ لورم ایپسوم متن ساختگی با تولید سادگی نامفهوم از صنعت چاپ
</div> </div>
@@ -101,7 +101,7 @@ const AnnouncementtList: FC = () => {
</div> </div>
</div> </div>
<div className='flex-1 bg-white py-7 px-5 rounded-2xl'> <div className='flex-1 hidden xl:block bg-white py-7 px-5 rounded-2xl'>
<div className='flex justify-between items-center'> <div className='flex justify-between items-center'>
<div className='text-lg'> <div className='text-lg'>
متن اطلاعیه متن اطلاعیه
+3 -3
View File
@@ -17,8 +17,8 @@ const AddCriticisms: FC = () => {
{t('criticisms.criticisms')} {t('criticisms.criticisms')}
</div> </div>
<div className='flex gap-6 mt-8'> <div className='flex gap-6 xl:mt-8 mt-5'>
<div className='flex-1 bg-white py-8 px-10 rounded-3xl'> <div className='flex-1 bg-white py-8 xl:px-10 px-5 rounded-3xl'>
<div> <div>
{t('criticisms.submit_your_criticisms')} {t('criticisms.submit_your_criticisms')}
</div> </div>
@@ -56,7 +56,7 @@ const AddCriticisms: FC = () => {
</div> </div>
</div> </div>
<div style={{ width: SIDEBAR_SIZE_LEFT }} className='bg-white py-10 px-5 h-fit rounded-3xl'> <div style={{ width: SIDEBAR_SIZE_LEFT }} className='bg-white hidden xl:block py-10 px-5 h-fit rounded-3xl'>
<div className='text-sm'> <div className='text-sm'>
{t('ticket.title_hint')} {t('ticket.title_hint')}
</div> </div>
+19 -16
View File
@@ -17,8 +17,8 @@ const LearningList: FC = () => {
{t('learning.learning')} {t('learning.learning')}
</div> </div>
<div className='mt-8 flex gap-6 items-center'> <div className='xl:mt-8 mt-4 flex xl:gap-6 gap-4 items-center'>
<div className='w-[300px]'> <div className='xl:w-[300px] w-full'>
<Input <Input
variant='search' variant='search'
placeholder={t('service.search')} placeholder={t('service.search')}
@@ -26,18 +26,20 @@ const LearningList: FC = () => {
/> />
</div> </div>
<Select <div>
items={[ <Select
{ label: t('all'), value: 'all' }, items={[
{ label: 'Active', value: 'active' }, { label: t('all'), value: 'all' },
{ label: 'Inactive', value: 'inactive' }, { label: 'Active', value: 'active' },
]} { label: 'Inactive', value: 'inactive' },
className='max-w-[100px]' ]}
/> className='max-w-[100px]'
/>
</div>
</div> </div>
<div className='mt-9 flex flex-wrap gap-8 text-sm'> <div className='xl:mt-9 mt-4 flex flex-wrap xl:gap-8 gap-6 text-sm'>
<div className='bg-white p-4 rounded-3xl min-w-[30%] flex-1'> <div className='bg-white p-4 rounded-3xl xl:min-w-[30%] min-w-full flex-1'>
<img src={LearningImage} className='w-full rounded-[20px]' /> <img src={LearningImage} className='w-full rounded-[20px]' />
<div className='mt-4'> <div className='mt-4'>
لورم ایپسوم متن ساختگی با تولید سادگی لورم ایپسوم متن ساختگی با تولید سادگی
@@ -51,7 +53,7 @@ const LearningList: FC = () => {
آذر ماه 1403 آذر ماه 1403
</div> </div>
</div> </div>
<div className='bg-white p-4 rounded-3xl min-w-[30%] flex-1'> <div className='bg-white p-4 rounded-3xl xl:min-w-[30%] min-w-full flex-1'>
<img src={LearningImage} className='w-full rounded-[20px]' /> <img src={LearningImage} className='w-full rounded-[20px]' />
<div className='mt-4'> <div className='mt-4'>
لورم ایپسوم متن ساختگی با تولید سادگی لورم ایپسوم متن ساختگی با تولید سادگی
@@ -66,7 +68,7 @@ const LearningList: FC = () => {
</div> </div>
</div> </div>
<div className='bg-white p-4 rounded-3xl min-w-[30%] flex-1'> <div className='bg-white p-4 rounded-3xl xl:min-w-[30%] min-w-full flex-1'>
<img src={LearningImage} className='w-full rounded-[20px]' /> <img src={LearningImage} className='w-full rounded-[20px]' />
<div className='mt-4'> <div className='mt-4'>
لورم ایپسوم متن ساختگی با تولید سادگی لورم ایپسوم متن ساختگی با تولید سادگی
@@ -80,7 +82,7 @@ const LearningList: FC = () => {
آذر ماه 1403 آذر ماه 1403
</div> </div>
</div> </div>
<div className='bg-white p-4 rounded-3xl min-w-[30%] flex-1'> <div className='bg-white p-4 rounded-3xl xl:min-w-[30%] min-w-full flex-1'>
<img src={LearningImage} className='w-full rounded-[20px]' /> <img src={LearningImage} className='w-full rounded-[20px]' />
<div className='mt-4'> <div className='mt-4'>
لورم ایپسوم متن ساختگی با تولید سادگی لورم ایپسوم متن ساختگی با تولید سادگی
@@ -99,9 +101,10 @@ const LearningList: FC = () => {
<div className='min-w-[30%] flex-1 px-4'></div> <div className='min-w-[30%] flex-1 px-4'></div>
<div className='min-w-[30%] flex-1 px-4'></div> <div className='min-w-[30%] flex-1 px-4'></div>
</div> </div>
<div className='h-14 xl:hidden'></div>
</div> </div>
<div style={{ width: SIDEBAR_SIZE_LEFT }} className='bg-white h-fit rounded-3xl overflow-hidden relative'> <div style={{ width: SIDEBAR_SIZE_LEFT }} className='bg-white hidden xl:block h-fit rounded-3xl overflow-hidden relative'>
<img <img
src={BannerImage} src={BannerImage}
className='w-full backdrop-blur-[100px] h-[550px] object-cover' className='w-full backdrop-blur-[100px] h-[550px] object-cover'
+3 -1
View File
@@ -19,6 +19,7 @@ import ReceiptsDetail from '../pages/receipts/Detail'
import Profile from '../pages/profile/Profile' import Profile from '../pages/profile/Profile'
import OtherServices from '../pages/service/OtherServices' import OtherServices from '../pages/service/OtherServices'
import Footer from '../shared/Footer' import Footer from '../shared/Footer'
import AnnouncementDetail from '../pages/annoncement/Detail'
const MainRouter: FC = () => { const MainRouter: FC = () => {
return ( return (
@@ -38,7 +39,8 @@ const MainRouter: FC = () => {
<Route path={Pages.transactions} element={<TransactionList />} /> <Route path={Pages.transactions} element={<TransactionList />} />
<Route path={Pages.receipts.index} element={<ReceiptsList />} /> <Route path={Pages.receipts.index} element={<ReceiptsList />} />
<Route path={Pages.receipts.detail + ':id'} element={<ReceiptsDetail />} /> <Route path={Pages.receipts.detail + ':id'} element={<ReceiptsDetail />} />
<Route path={Pages.announcement} element={<AnnouncementtList />} /> <Route path={Pages.announcement.list} element={<AnnouncementtList />} />
<Route path={Pages.announcement.detail + ':id'} element={<AnnouncementDetail />} />
<Route path={Pages.criticisms} element={<AddCriticisms />} /> <Route path={Pages.criticisms} element={<AddCriticisms />} />
<Route path={Pages.learning} element={<LearningList />} /> <Route path={Pages.learning} element={<LearningList />} />
<Route path={Pages.setting} element={<Setting />} /> <Route path={Pages.setting} element={<Setting />} />
+1 -1
View File
@@ -90,7 +90,7 @@ const SideBar: FC = () => {
icon={<NotificationStatus variant={isActive('announcement') ? 'Bold' : 'Outline'} color={isActive('announcement') ? 'black' : '#8C90A3'} size={iconSizeSideBar} />} icon={<NotificationStatus variant={isActive('announcement') ? 'Bold' : 'Outline'} color={isActive('announcement') ? 'black' : '#8C90A3'} size={iconSizeSideBar} />}
title={t('sidebar.announcement')} title={t('sidebar.announcement')}
isActive={isActive('announcement')} isActive={isActive('announcement')}
link={Pages.announcement} link={Pages.announcement.list}
/> />
</div> </div>
<div className='text-xs text-[#8C90A3]'> <div className='text-xs text-[#8C90A3]'>