announcement detail and reponsive announcement list and responsive citixisms and learning and ...
This commit is contained in:
+4
-1
@@ -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
@@ -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": "ثبت انتقاد شما",
|
||||||
|
|||||||
@@ -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
|
||||||
@@ -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'>
|
||||||
متن اطلاعیه
|
متن اطلاعیه
|
||||||
|
|||||||
@@ -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
@@ -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
@@ -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 />} />
|
||||||
|
|||||||
@@ -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]'>
|
||||||
|
|||||||
Reference in New Issue
Block a user