erp-platform/ui/src/mocks/mockIntranetData.ts

1046 lines
28 KiB
TypeScript
Raw Normal View History

2025-10-18 22:37:20 +00:00
// Intranet Mock Data Types and Sample Data
import { mockEmployees } from './mockEmployees'
import { mockEmployeeLeaves } from './mockEmployeeLeaves'
import { mockOvertimes } from './mockOvertimes'
import type { HrEmployee, HrOvertime } from '../types/hr'
import { mockDepartments } from './mockDepartments'
// Duyuru
export interface Announcement {
id: string
title: string
content: string
excerpt: string
category: 'general' | 'hr' | 'it' | 'event' | 'urgent'
author: HrEmployee
publishDate: Date
expiryDate?: Date
isPinned: boolean
attachments?: { name: string; url: string; size: string }[]
departments?: string[]
viewCount: number
imageUrl?: string
}
// Etkinlik Yorumu
export interface EventComment {
id: string
author: HrEmployee
content: string
createdAt: Date
likes: number
}
// Etkinlik
export interface CalendarEvent {
id: string
title: string
description: string
type: 'social' | 'training' | 'company' | 'sport' | 'culture'
date: Date
location: string
organizer: HrEmployee
participants: number
photos: string[]
comments: EventComment[]
likes: number
isPublished: boolean
}
// Harcama
export interface ExpenseRequest {
id: string
employee: HrEmployee
category: 'travel' | 'meal' | 'accommodation' | 'transport' | 'other'
amount: number
currency: string
date: Date
description: string
project?: string
receipts: { name: string; url: string; size: string }[]
status: 'pending' | 'approved' | 'rejected'
approver?: HrEmployee
approvalDate?: Date
notes?: string
createdAt: Date
}
// Görev
export interface Task {
id: string
title: string
description: string
project: string
assignedTo: HrEmployee[]
assignedBy: HrEmployee
priority: 'low' | 'medium' | 'high' | 'urgent'
status: 'todo' | 'in-progress' | 'review' | 'done'
dueDate: Date
createdAt: Date
labels: string[]
attachments?: { name: string; url: string }[]
comments: number
}
// Doküman
export interface Document {
id: string
name: string
type: 'pdf' | 'doc' | 'xls' | 'ppt' | 'other'
category: 'policy' | 'procedure' | 'form' | 'template' | 'report' | 'other'
size: string
uploadedBy: HrEmployee
uploadDate: Date
version: string
url: string
description: string
departments: string[]
downloadCount: number
tags: string[]
}
// Doğum günü
export interface Birthday {
employee: HrEmployee
date: Date
age?: number
}
// İş yıldönümü
export interface WorkAnniversary {
employee: HrEmployee
hireDate: Date
years: number
}
// Hızlı Erişim
export interface QuickLink {
id: string
name: string
description: string
icon: string
url: string
color: string
category: string
}
// Eğitim
export interface Training {
id: string
title: string
description: string
instructor: string
category: 'technical' | 'soft-skills' | 'management' | 'compliance' | 'other'
type: 'online' | 'classroom' | 'hybrid'
duration: number // saat
startDate: Date
endDate: Date
maxParticipants: number
enrolled: number
status: 'upcoming' | 'ongoing' | 'completed'
location?: string
thumbnail?: string
}
// Sertifika
export interface Certificate {
id: string
employee: HrEmployee
trainingTitle: string
issueDate: Date
expiryDate?: Date
certificateUrl: string
score?: number
}
// Rezervasyon
export interface Reservation {
id: string
type: 'room' | 'vehicle' | 'equipment'
resourceName: string
bookedBy: HrEmployee
startDate: Date
endDate: Date
purpose: string
status: 'pending' | 'approved' | 'rejected' | 'completed'
participants?: number
notes?: string
}
// Yemek Menüsü
export interface MealMenu {
id: string
date: Date
dayOfWeek: string
meals: {
type: 'breakfast' | 'lunch' | 'dinner'
items: string[]
calories?: number
}[]
}
// Servis
export interface ShuttleRoute {
id: string
name: string
route: string[]
departureTime: string
arrivalTime: string
capacity: number
available: number
type: 'morning' | 'evening'
}
// Anket
export interface Survey {
id: string
title: string
description: string
createdBy: HrEmployee
createdAt: Date
deadline: Date
totalQuestions: number
responses: number
targetAudience: string[]
status: 'draft' | 'active' | 'closed'
isAnonymous: boolean
}
// Ziyaretçi
export interface Visitor {
id: string
fullName: string
company: string
email: string
phone: string
visitDate: Date
checkIn?: Date
checkOut?: Date
host: HrEmployee
purpose: string
status: 'scheduled' | 'checked-in' | 'checked-out' | 'cancelled'
badgeNumber?: string
photo?: string
}
// ============== SAMPLE DATA ==============
export const mockAnnouncements: Announcement[] = [
{
id: 'ann1',
title: '🎉 Yeni Ofis Açılışı',
content:
'Ankara ofisimiz 1 Kasım tarihinde hizmete başlıyor! Tüm çalışanlarımızıılış törenimize davet ediyoruz.',
excerpt: 'Ankara ofisimiz 1 Kasım tarihinde hizmete başlıyor!',
category: 'general',
author: mockEmployees[4],
publishDate: new Date('2024-10-15T09:00:00'),
isPinned: true,
viewCount: 156,
imageUrl: 'https://images.unsplash.com/photo-1497366216548-37526070297c?w=800&q=80',
},
{
id: 'ann2',
title: '📅 Performans Değerlendirme Dönemi',
content:
'Yıl sonu performans değerlendirmelerimiz 20 Ekim - 5 Kasım tarihleri arasında gerçekleştirilecektir. Lütfen formları zamanında doldurunuz.',
excerpt: 'Yıl sonu performans değerlendirmeleri başlıyor.',
category: 'hr',
author: mockEmployees[3],
publishDate: new Date('2024-10-18T10:30:00'),
expiryDate: new Date('2024-11-05'),
isPinned: true,
viewCount: 89,
departments: ['Tüm Departmanlar'],
},
{
id: 'ann3',
title: '💻 Sistem Bakımı Duyurusu',
content:
'Bu Cumartesi saat 02:00-06:00 arası sistemlerimizde bakım çalışması yapılacaktır. Bu süre içinde sistemlere erişim sağlanamayacaktır.',
excerpt: 'Cumartesi gecesi planlı bakım çalışması',
category: 'it',
author: mockEmployees[2],
publishDate: new Date('2024-10-17T14:00:00'),
isPinned: false,
viewCount: 234,
},
{
id: 'ann4',
title: '🎓 React İleri Seviye Eğitimi',
content:
'Yazılım Geliştirme ekibimiz için React İleri Seviye eğitimi 25-26 Ekim tarihlerinde düzenlenecektir. Katılım için IK birimine başvurunuz.',
excerpt: 'React İleri Seviye eğitimi kayıtları başladı',
category: 'event',
author: mockEmployees[0],
publishDate: new Date('2024-10-16T11:00:00'),
isPinned: false,
viewCount: 67,
departments: ['Yazılım Geliştirme'],
},
{
id: 'ann5',
title: '⚠️ Güvenlik Politikası Güncellemesi',
content:
'Bilgi güvenliği politikamız güncellenmiştir. Tüm çalışanlarımızın yeni politikayı okuması ve onaylaması gerekmektedir.',
excerpt: 'Güvenlik politikası güncellendi - Onay gerekli',
category: 'urgent',
author: mockEmployees[4],
publishDate: new Date('2024-10-18T08:00:00'),
isPinned: true,
viewCount: 312,
attachments: [{ name: 'Bilgi_Guvenligi_Politikasi_v2.pdf', url: '#', size: '2.4 MB' }],
},
]
export const mockEvents: CalendarEvent[] = [
{
id: 'evt1',
title: 'Yaz Pikniği 2025',
description:
'Şirket çalışanları olarak doğayla iç içe harika bir gün geçirdik. Takım oyunları, barbekü ve çok eğlence!',
type: 'social',
date: new Date('2025-07-15'),
location: 'Polonezköy Piknik Alanı',
organizer: mockEmployees[4],
participants: 45,
photos: [
'https://images.unsplash.com/photo-1530541930197-ff16ac917b0e?w=800',
'https://images.unsplash.com/photo-1527529482837-4698179dc6ce?w=800',
'https://images.unsplash.com/photo-1528605105345-5344ea20e269?w=800',
'https://images.unsplash.com/photo-1504196606672-aef5c9cefc92?w=800',
],
comments: [
{
id: 'c1',
author: mockEmployees[0],
content: 'Muhteşem bir gündü! Yılın en güzel etkinliği 🎉',
createdAt: new Date('2025-07-16T10:30:00'),
likes: 12,
},
{
id: 'c2',
author: mockEmployees[2],
content: 'Voleybol turnuvası harikaydı, gelecek yıl yine yapalım!',
createdAt: new Date('2025-07-16T14:20:00'),
likes: 8,
},
],
likes: 34,
isPublished: true,
},
{
id: 'evt2',
title: 'Hackathon 2025',
description: '24 saatlik yazılım geliştirme maratonu. İnovasyon, teknoloji ve takım çalışması!',
type: 'training',
date: new Date('2025-09-10'),
location: 'Ofis - Ana Salon',
organizer: mockEmployees[0],
participants: 28,
photos: [
'https://images.unsplash.com/photo-1504384308090-c894fdcc538d?w=800',
'https://images.unsplash.com/photo-1522071820081-009f0129c71c?w=800',
'https://images.unsplash.com/photo-1531482615713-2afd69097998?w=800',
],
comments: [
{
id: 'c3',
author: mockEmployees[1],
content: 'Ekibimiz 2. oldu! Çok gurur duydum herkesle 💪',
createdAt: new Date('2025-09-11T09:00:00'),
likes: 15,
},
{
id: 'c4',
author: mockEmployees[3],
content: 'Gece boyunca kod yazmak ve pizza yemek priceless! 🍕',
createdAt: new Date('2025-09-11T11:45:00'),
likes: 10,
},
],
likes: 42,
isPublished: true,
},
{
id: 'evt3',
title: 'Kurumsal Futbol Turnuvası',
description: 'Departmanlar arası futbol turnuvasında ter döktük, gol attık ve kazandık! 🏆',
type: 'sport',
date: new Date('2025-06-20'),
location: 'Spor Kompleksi Halı Saha',
organizer: mockEmployees[2],
participants: 32,
photos: [
'https://images.unsplash.com/photo-1579952363873-27f3bade9f55?w=800',
'https://images.unsplash.com/photo-1574629810360-7efbbe195018?w=800',
'https://images.unsplash.com/photo-1431324155629-1a6deb1dec8d?w=800',
'https://images.unsplash.com/photo-1553778263-73a83bab9b0c?w=800',
],
comments: [
{
id: 'c5',
author: mockEmployees[4],
content: 'İT departmanı şampiyon oldu! Gelecek sene kupayı koruyacağız 🏆',
createdAt: new Date('2025-06-21T08:30:00'),
likes: 18,
},
],
likes: 28,
isPublished: true,
},
{
id: 'evt4',
title: 'Yılbaşı Gala Gecesi 2024',
description: 'Harika bir yıla muhteşem bir gala ile veda ettik. Müzik, dans ve sürprizler!',
type: 'company',
date: new Date('2024-12-28'),
location: 'Grand Hotel - Balo Salonu',
organizer: mockEmployees[3],
participants: 68,
photos: [
'https://images.unsplash.com/photo-1511795409834-ef04bbd61622?w=800',
'https://images.unsplash.com/photo-1519167758481-83f29da8c2b9?w=800',
'https://images.unsplash.com/photo-1464366400600-7168b8af9bc3?w=800',
'https://images.unsplash.com/photo-1478147427282-58a87a120781?w=800',
'https://images.unsplash.com/photo-1492684223066-81342ee5ff30?w=800',
],
comments: [
{
id: 'c6',
author: mockEmployees[0],
content: 'Yılın en şık gecesi! Organizasyon mükemmeldi 👏',
createdAt: new Date('2024-12-29T10:00:00'),
likes: 25,
},
{
id: 'c7',
author: mockEmployees[1],
content: 'Tombala hediyelerim harika, çok teşekkürler! 🎁',
createdAt: new Date('2024-12-29T12:30:00'),
likes: 14,
},
{
id: 'c8',
author: mockEmployees[2],
content: 'Müzik grubunuz süperdi, dans pistinden ayrılamadık! 🎵',
createdAt: new Date('2024-12-29T15:20:00'),
likes: 19,
},
],
likes: 51,
isPublished: true,
},
{
id: 'evt5',
title: 'Sanat Atölyesi - Ebru Workshop',
description: 'Geleneksel Türk sanatı ebru yapımı atölyesinde harika eserler ortaya çıktı!',
type: 'culture',
date: new Date('2025-05-12'),
location: 'Ofis - Yaratıcı Alan',
organizer: mockEmployees[1],
participants: 18,
photos: [
'https://images.unsplash.com/photo-1460661419201-fd4cecdf8a8b?w=800',
'https://images.unsplash.com/photo-1513364776144-60967b0f800f?w=800',
'https://images.unsplash.com/photo-1515405295579-ba7b45403062?w=800',
],
comments: [
{
id: 'c9',
author: mockEmployees[3],
content: 'İlk defa ebru yaptım, çok huzurlu bir deneyimdi 🎨',
createdAt: new Date('2025-05-13T09:15:00'),
likes: 11,
},
],
likes: 22,
isPublished: true,
},
]
// İzin talepleri - HR'dan import et
export const mockLeaveRequests = mockEmployeeLeaves
// Mesai talepleri - HR'dan import et
export const mockOvertimeRequests = mockOvertimes
export const mockExpenseRequests: ExpenseRequest[] = [
{
id: 'exp1',
employee: mockEmployees[0],
category: 'travel',
amount: 850,
currency: 'TRY',
date: new Date('2024-10-15'),
description: 'Ankara ofis ziyareti - uçak bileti',
project: 'Intranet v2',
receipts: [{ name: 'ucak_bileti.pdf', url: '#', size: '234 KB' }],
status: 'approved',
approver: mockEmployees[4],
approvalDate: new Date('2024-10-16T10:00:00'),
createdAt: new Date('2024-10-15T18:00:00'),
},
{
id: 'exp2',
employee: mockEmployees[2],
category: 'meal',
amount: 320,
currency: 'TRY',
date: new Date('2024-10-17'),
description: 'Müşteri toplantısı - öğle yemeği',
receipts: [{ name: 'restoran_fisi.jpg', url: '#', size: '156 KB' }],
status: 'pending',
createdAt: new Date('2024-10-17T20:00:00'),
},
{
id: 'exp3',
employee: mockEmployees[1],
category: 'accommodation',
amount: 1200,
currency: 'TRY',
date: new Date('2024-10-14'),
description: 'İzmir workshop - otel konaklaması (2 gece)',
project: 'UX Workshop',
receipts: [{ name: 'otel_fatura.pdf', url: '#', size: '445 KB' }],
status: 'approved',
approver: mockEmployees[4],
approvalDate: new Date('2024-10-15T09:00:00'),
createdAt: new Date('2024-10-14T22:00:00'),
},
]
export const mockTasks: Task[] = [
{
id: 'task1',
title: 'API Endpoint Geliştirme',
description: "Kullanıcı yönetimi için RESTful API endpoint'leri oluşturulacak",
project: 'Intranet v2',
assignedTo: [mockEmployees[0]],
assignedBy: mockEmployees[4],
priority: 'high',
status: 'in-progress',
dueDate: new Date('2024-10-25'),
createdAt: new Date('2024-10-14'),
labels: ['backend', 'api'],
comments: 3,
},
{
id: 'task2',
title: 'Dashboard UI Tasarımı',
description: 'Yeni dashboard için UI/UX tasarımı yapılacak',
project: 'Intranet v2',
assignedTo: [mockEmployees[1]],
assignedBy: mockEmployees[4],
priority: 'medium',
status: 'review',
dueDate: new Date('2024-10-22'),
createdAt: new Date('2024-10-10'),
labels: ['design', 'ui/ux'],
comments: 5,
},
{
id: 'task3',
title: 'Kubernetes Deployment',
description: 'Production ortamı için Kubernetes yapılandırması',
project: 'Infrastructure',
assignedTo: [mockEmployees[2]],
assignedBy: mockEmployees[4],
priority: 'urgent',
status: 'todo',
dueDate: new Date('2024-10-20'),
createdAt: new Date('2024-10-17'),
labels: ['devops', 'infrastructure'],
comments: 1,
},
]
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 mockBirthdays: Birthday[] = [
{
employee: mockEmployees[0],
2025-10-19 07:49:12 +00:00
date: new Date('1990-10-20'), // Bugün
age: 35,
2025-10-18 22:37:20 +00:00
},
{
employee: mockEmployees[1],
date: new Date('1992-10-21'), // Bu hafta içinde
age: 33,
},
{
employee: mockEmployees[2],
date: new Date('1988-10-23'), // Bu hafta içinde
age: 37,
},
{
employee: mockEmployees[3],
date: new Date('1995-10-28'), // Bu ay içinde
age: 30,
2025-10-18 22:37:20 +00:00
},
]
export const mockAnniversaries: WorkAnniversary[] = [
{
employee: mockEmployees[2],
hireDate: new Date('2019-10-10'), // Bu ay (Ekim)
years: 6,
},
{
employee: mockEmployees[4],
hireDate: new Date('2020-10-15'), // Bu ay (Ekim)
2025-10-18 22:37:20 +00:00
years: 5,
},
{
employee: mockEmployees[0],
hireDate: new Date('2021-10-20'), // Bu ay (Ekim)
2025-10-18 22:37:20 +00:00
years: 4,
},
]
export const mockQuickLinks: QuickLink[] = [
{
id: 'ql1',
name: 'İzin Talebi',
description: 'Yıllık izin talebinde bulun',
icon: '🏖️',
url: '/intranet/hr/leave',
color: '#3b82f6',
category: 'İnsan Kaynakları',
},
{
id: 'ql2',
name: 'Görevlerim',
description: 'Atanan görevleri görüntüle',
icon: '✅',
url: '/intranet/tasks',
color: '#10b981',
category: 'Proje Yönetimi',
},
{
id: 'ql3',
name: 'Dokümanlar',
description: 'Şirket dokümanlarına eriş',
icon: '📁',
url: '/intranet/documents',
color: '#f59e0b',
category: 'Bilgi Yönetimi',
},
{
id: 'ql4',
name: 'Etkinlikler',
description: 'Yaklaşan etkinlikler',
icon: '📅',
url: '/intranet/events',
color: '#8b5cf6',
category: 'Takvim',
},
{
id: 'ql5',
name: 'IT Destek',
description: 'Teknik destek talebi oluştur',
icon: '🛠️',
url: '/intranet/it-support',
color: '#ef4444',
category: 'IT',
},
{
id: 'ql6',
name: 'Mesai Girişi',
description: 'Mesai saatlerini kaydet',
icon: '⏰',
url: '/intranet/hr/timesheet',
color: '#06b6d4',
category: 'İnsan Kaynakları',
},
]
// Eğitimler
export const mockTrainings: Training[] = [
{
id: 'tr1',
title: 'React & TypeScript İleri Seviye',
description:
'Modern React uygulamaları geliştirmek için TypeScript kullanımı, hooks, context API ve performans optimizasyonu',
instructor: 'Mehmet Demir',
category: 'technical',
type: 'online',
duration: 16,
startDate: new Date('2024-11-01'),
endDate: new Date('2024-11-08'),
maxParticipants: 20,
enrolled: 15,
status: 'upcoming',
thumbnail: 'https://images.unsplash.com/photo-1633356122544-f134324a6cee?w=400&h=300&fit=crop',
},
{
id: 'tr2',
title: 'Etkili İletişim ve Sunum Teknikleri',
description:
'İş hayatında etkili iletişim kurma, profesyonel sunum hazırlama ve konuşma becerileri geliştirme',
instructor: 'Ayşe Kara',
category: 'soft-skills',
type: 'classroom',
duration: 8,
startDate: new Date('2024-10-25'),
endDate: new Date('2024-10-25'),
maxParticipants: 15,
enrolled: 12,
status: 'ongoing',
location: 'Eğitim Salonu A',
thumbnail: 'https://images.unsplash.com/photo-1557804506-669a67965ba0?w=400&h=300&fit=crop',
},
{
id: 'tr3',
title: 'Agile & Scrum Master Eğitimi',
description:
'Çevik yazılım geliştirme metodolojileri, Scrum framework ve sertifikasyon hazırlığı',
instructor: 'Can Öztürk',
category: 'management',
type: 'hybrid',
duration: 24,
startDate: new Date('2024-09-15'),
endDate: new Date('2024-09-30'),
maxParticipants: 25,
enrolled: 25,
status: 'completed',
thumbnail: 'https://images.unsplash.com/photo-1552664730-d307ca884978?w=400&h=300&fit=crop',
},
{
id: 'tr4',
title: 'Siber Güvenlik ve Veri Koruma',
description: 'KVKK uyumluluğu, siber güvenlik tehditleri ve kurumsal veri koruma stratejileri',
instructor: 'Zeynep Arslan',
category: 'compliance',
type: 'online',
duration: 12,
startDate: new Date('2024-11-15'),
endDate: new Date('2024-11-22'),
maxParticipants: 50,
enrolled: 8,
status: 'upcoming',
thumbnail: 'https://images.unsplash.com/photo-1550751827-4bd374c3f58b?w=400&h=300&fit=crop',
},
]
// Sertifikalar
export const mockCertificates: Certificate[] = [
{
id: 'cert1',
employee: mockEmployees[0],
trainingTitle: 'Agile & Scrum Master Eğitimi',
issueDate: new Date('2024-09-30'),
expiryDate: new Date('2026-09-30'),
certificateUrl: '/certificates/cert1.pdf',
score: 95,
},
{
id: 'cert2',
employee: mockEmployees[2],
trainingTitle: 'React & TypeScript İleri Seviye',
issueDate: new Date('2024-08-15'),
certificateUrl: '/certificates/cert2.pdf',
score: 88,
},
{
id: 'cert3',
employee: mockEmployees[4],
trainingTitle: 'Siber Güvenlik ve Veri Koruma',
issueDate: new Date('2024-07-20'),
expiryDate: new Date('2025-07-20'),
certificateUrl: '/certificates/cert3.pdf',
score: 92,
},
]
// Rezervasyonlar
export const mockReservations: Reservation[] = [
{
id: 'res1',
type: 'room',
resourceName: 'Toplantı Salonu A',
bookedBy: mockEmployees[2],
startDate: new Date('2024-10-20T09:00:00'),
endDate: new Date('2024-10-20T11:00:00'),
purpose: 'Sprint Planning Toplantısı',
status: 'approved',
participants: 8,
notes: 'Projeksiyon cihazı gerekli',
},
{
id: 'res2',
type: 'vehicle',
resourceName: 'Şirket Aracı - 34 ABC 123',
bookedBy: mockEmployees[3],
startDate: new Date('2024-10-22T08:00:00'),
endDate: new Date('2024-10-22T18:00:00'),
purpose: 'Müşteri Ziyareti',
status: 'pending',
notes: 'Ankara çıkışı',
},
{
id: 'res3',
type: 'equipment',
resourceName: 'Kamera ve Tripod Seti',
bookedBy: mockEmployees[5],
startDate: new Date('2024-10-19T14:00:00'),
endDate: new Date('2024-10-19T17:00:00'),
purpose: 'Ürün Tanıtım Videosu Çekimi',
status: 'approved',
},
{
id: 'res4',
type: 'room',
resourceName: 'Eğitim Salonu B',
bookedBy: mockEmployees[6],
startDate: new Date('2024-10-25T09:00:00'),
endDate: new Date('2024-10-25T17:00:00'),
purpose: 'Etkili İletişim Eğitimi',
status: 'approved',
participants: 15,
notes: 'Tüm gün rezervasyon, öğle yemeği dahil',
},
]
// Yemek Menüsü
export const mockMealMenus: MealMenu[] = [
{
id: 'menu1',
date: new Date('2024-10-21'),
dayOfWeek: 'Pazartesi',
meals: [
{
type: 'lunch',
items: ['Mercimek Çorbası', 'Tavuk Şinitzel', 'Bulgur Pilavı', 'Salata', 'Meyve'],
calories: 650,
},
],
},
{
id: 'menu2',
date: new Date('2024-10-22'),
dayOfWeek: 'Salı',
meals: [
{
type: 'lunch',
items: ['Yayla Çorbası', 'Köfte', 'Patates Püresi', 'Cacık', 'Ayran'],
calories: 720,
},
],
},
{
id: 'menu3',
date: new Date('2024-10-23'),
dayOfWeek: 'Çarşamba',
meals: [
{
type: 'lunch',
items: ['Domates Çorbası', 'Etli Kuru Fasulye', 'Pilav', 'Turşu', 'Komposto'],
calories: 680,
},
],
},
{
id: 'menu4',
date: new Date('2024-10-24'),
dayOfWeek: 'Perşembe',
meals: [
{
type: 'lunch',
items: ['Tarhana Çorbası', 'Fırın Tavuk', 'Makarna', 'Yeşil Salata', 'Sütlaç'],
calories: 700,
},
],
},
{
id: 'menu5',
date: new Date('2024-10-25'),
dayOfWeek: 'Cuma',
meals: [
{
type: 'lunch',
items: ['Ezogelin Çorbası', 'Balık', 'Bulgur Pilavı', 'Salata', 'Meyve'],
calories: 620,
},
],
},
]
// Servis Güzergahları
export const mockShuttleRoutes: ShuttleRoute[] = [
{
id: 'shuttle1',
name: 'Kadıköy - Ofis',
route: ['Kadıköy İskele', 'Bostancı', 'Acıbadem', 'Kozyatağı', 'Ofis'],
departureTime: '07:30',
arrivalTime: '08:45',
capacity: 25,
available: 3,
type: 'morning',
},
{
id: 'shuttle2',
name: 'Üsküdar - Ofis',
route: ['Üsküdar Meydanı', 'Kısıklı', 'Bulgurlu', 'Ümraniye', 'Ofis'],
departureTime: '07:45',
arrivalTime: '08:50',
capacity: 25,
available: 8,
type: 'morning',
},
{
id: 'shuttle3',
name: 'Ofis - Kadıköy',
route: ['Ofis', 'Kozyatağı', 'Acıbadem', 'Bostancı', 'Kadıköy İskele'],
departureTime: '18:00',
arrivalTime: '19:15',
capacity: 25,
available: 5,
type: 'evening',
},
{
id: 'shuttle4',
name: 'Ofis - Üsküdar',
route: ['Ofis', 'Ümraniye', 'Bulgurlu', 'Kısıklı', 'Üsküdar Meydanı'],
departureTime: '18:15',
arrivalTime: '19:20',
capacity: 25,
available: 12,
type: 'evening',
},
]
// Anketler
export const mockSurveys: Survey[] = [
{
id: 'survey1',
title: 'Çalışan Memnuniyet Anketi 2024',
description: 'Yıllık çalışan memnuniyeti ve bağlılık araştırması',
createdBy: mockEmployees[0],
createdAt: new Date('2024-10-01'),
deadline: new Date('2024-10-31'),
totalQuestions: 25,
responses: 45,
targetAudience: ['Tüm Çalışanlar'],
status: 'active',
isAnonymous: true,
},
{
id: 'survey2',
title: 'Eğitim İhtiyaç Analizi',
description: '2025 yılı eğitim planlaması için ihtiyaç tespiti',
createdBy: mockEmployees[2],
createdAt: new Date('2024-10-10'),
deadline: new Date('2024-11-15'),
totalQuestions: 15,
responses: 28,
targetAudience: ['Yazılım Geliştirme', 'Ürün Yönetimi'],
status: 'active',
isAnonymous: false,
},
{
id: 'survey3',
title: 'Kafeterya Memnuniyet Anketi',
description: 'Yemek kalitesi ve servis değerlendirmesi',
createdBy: mockEmployees[4],
createdAt: new Date('2024-09-15'),
deadline: new Date('2024-09-30'),
totalQuestions: 10,
responses: 62,
targetAudience: ['Tüm Çalışanlar'],
status: 'closed',
isAnonymous: true,
},
]
// Ziyaretçiler
export const mockVisitors: Visitor[] = [
{
id: 'vis1',
fullName: 'Ali Veli',
company: 'ABC Teknoloji',
email: 'ali.veli@abc.com',
phone: '+90 532 111 22 33',
visitDate: new Date('2024-10-20T10:00:00'),
checkIn: new Date('2024-10-20T10:15:00'),
host: mockEmployees[1],
purpose: 'İş Ortaklığı Görüşmesi',
status: 'checked-in',
badgeNumber: 'V-001',
photo: 'https://i.pravatar.cc/150?img=60',
},
{
id: 'vis2',
fullName: 'Fatma Yıldız',
company: 'XYZ Danışmanlık',
email: 'fatma@xyz.com',
phone: '+90 533 222 33 44',
visitDate: new Date('2024-10-21T14:00:00'),
host: mockEmployees[2],
purpose: 'Eğitim Danışmanlığı',
status: 'scheduled',
photo: 'https://i.pravatar.cc/150?img=47',
},
{
id: 'vis3',
fullName: 'Mehmet Kara',
company: 'DEF Yazılım',
email: 'mehmet@def.com',
phone: '+90 534 333 44 55',
visitDate: new Date('2024-10-18T11:00:00'),
checkIn: new Date('2024-10-18T11:05:00'),
checkOut: new Date('2024-10-18T13:30:00'),
host: mockEmployees[3],
purpose: 'Teknik Sunum',
status: 'checked-out',
badgeNumber: 'V-002',
photo: 'https://i.pravatar.cc/150?img=68',
},
]