From 98d81ce296cec47b12d4271d4792094041348ef2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sedat=20=C3=96zt=C3=BCrk?= Date: Sun, 26 Oct 2025 23:37:08 +0300 Subject: [PATCH] =?UTF-8?q?Dashboard=20k=C4=B1sm=C4=B1nda=20Widgetlar=20ye?= =?UTF-8?q?tkiye=20ba=C4=9Fland=C4=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ui/src/mocks/mockIntranet.ts | 96 ++++++++++++++--------------- ui/src/views/intranet/Dashboard.tsx | 38 ++++++++---- 2 files changed, 73 insertions(+), 61 deletions(-) diff --git a/ui/src/mocks/mockIntranet.ts b/ui/src/mocks/mockIntranet.ts index 64e90a56..aa1c6eb2 100644 --- a/ui/src/mocks/mockIntranet.ts +++ b/ui/src/mocks/mockIntranet.ts @@ -14,54 +14,6 @@ import { SocialPost, } from '@/types/intranet' -export const mockDocuments: Document[] = [ - { - id: 'doc1', - name: 'Çalışan El Kitabı 2024', - type: 'pdf', - category: 'policy', - size: '3.2 MB', - uploadedBy: mockEmployees[3], - uploadDate: new Date('2024-01-15'), - version: '2.0', - url: '#', - description: 'Şirket politikaları ve prosedürleri', - departments: ['Tüm Departmanlar'], - downloadCount: 234, - tags: ['politika', 'prosedür', 'çalışan hakları'], - }, - { - id: 'doc2', - name: 'İzin Talep Formu', - type: 'doc', - category: 'form', - size: '124 KB', - uploadedBy: mockEmployees[3], - uploadDate: new Date('2024-02-01'), - version: '1.5', - url: '#', - description: 'İzin talepleri için kullanılacak form', - departments: ['Tüm Departmanlar'], - downloadCount: 567, - tags: ['form', 'izin', 'HR'], - }, - { - id: 'doc3', - name: 'Yazılım Geliştirme Standartları', - type: 'pdf', - category: 'procedure', - size: '1.8 MB', - uploadedBy: mockEmployees[4], - uploadDate: new Date('2024-03-10'), - version: '3.1', - url: '#', - description: 'Kod standartları ve best practices', - departments: ['Yazılım Geliştirme'], - downloadCount: 89, - tags: ['development', 'standards', 'coding'], - }, -] - export const mockSurveys: Survey[] = [ { id: 'survey1', @@ -1066,3 +1018,51 @@ export const mockExpenseRequests: ExpenseRequest[] = [ creationTime: new Date('2024-10-14T22:00:00'), }, ] + +export const mockDocuments: Document[] = [ + { + id: 'doc1', + name: 'Çalışan El Kitabı 2024', + type: 'pdf', + category: 'policy', + size: '3.2 MB', + uploadedBy: mockEmployees[3], + uploadDate: new Date('2024-01-15'), + version: '2.0', + url: '#', + description: 'Şirket politikaları ve prosedürleri', + departments: ['Tüm Departmanlar'], + downloadCount: 234, + tags: ['politika', 'prosedür', 'çalışan hakları'], + }, + { + id: 'doc2', + name: 'İzin Talep Formu', + type: 'doc', + category: 'form', + size: '124 KB', + uploadedBy: mockEmployees[3], + uploadDate: new Date('2024-02-01'), + version: '1.5', + url: '#', + description: 'İzin talepleri için kullanılacak form', + departments: ['Tüm Departmanlar'], + downloadCount: 567, + tags: ['form', 'izin', 'HR'], + }, + { + id: 'doc3', + name: 'Yazılım Geliştirme Standartları', + type: 'pdf', + category: 'procedure', + size: '1.8 MB', + uploadedBy: mockEmployees[4], + uploadDate: new Date('2024-03-10'), + version: '3.1', + url: '#', + description: 'Kod standartları ve best practices', + departments: ['Yazılım Geliştirme'], + downloadCount: 89, + tags: ['development', 'standards', 'coding'], + }, +] \ No newline at end of file diff --git a/ui/src/views/intranet/Dashboard.tsx b/ui/src/views/intranet/Dashboard.tsx index 499fd748..a892cbf3 100644 --- a/ui/src/views/intranet/Dashboard.tsx +++ b/ui/src/views/intranet/Dashboard.tsx @@ -33,6 +33,7 @@ import AnnouncementDetailModal from './modals/AnnouncementDetailModal' import SocialWall from './SocialWall' import { Announcement, Survey, SurveyAnswer } from '@/types/intranet' import { Container } from '@/components/shared' +import { usePermission } from '@/utils/hooks/usePermission' dayjs.locale('tr') dayjs.extend(relativeTime) @@ -46,6 +47,7 @@ const IntranetDashboard: React.FC = () => { const [showOvertimeModal, setShowOvertimeModal] = useState(false) const [showExpenseModal, setShowExpenseModal] = useState(false) const [showReservationModal, setShowReservationModal] = useState(false) + const { checkPermission } = usePermission() const handleTakeSurvey = (survey: Survey) => { setSelectedSurvey(survey) @@ -89,14 +91,18 @@ const IntranetDashboard: React.FC = () => {
- - - - - setShowReservationModal(true)} /> + {checkPermission('App.Intranet.Events.Event.Widget') && } + {checkPermission('App.Hr.Employee.Widget') && } + {checkPermission('App.Files.Widget') && } + {checkPermission('App.Hr.Training.Widget') && } + {checkPermission('App.Intranet.Reservation.Widget') && ( + setShowReservationModal(true)} /> + )} - - setShowExpenseModal(true)} /> + {checkPermission('App.Intranet.Visitor.Widget') && } + {checkPermission('App.Hr.Expense.Widget') && ( + setShowExpenseModal(true)} /> + )}
@@ -104,12 +110,18 @@ const IntranetDashboard: React.FC = () => {
- - - - - setShowLeaveModal(true)} /> - setShowOvertimeModal(true)} /> + {checkPermission('App.Intranet.Announcement.Widget') && ( + + )} + {checkPermission('App.Projects.Tasks.Widget') && } + {checkPermission('App.Intranet.Meal.Widget') && } + {checkPermission('App.Intranet.ShuttleRoute.Widget') && } + {checkPermission('App.Hr.Leave.Widget') && ( + setShowLeaveModal(true)} /> + )} + {checkPermission('App.Hr.Overtime.Widget') && ( + setShowOvertimeModal(true)} /> + )}