erp-platform/ui/src/mocks/mockIntranetData.ts
2025-10-19 01:37:20 +03:00

1030 lines
27 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// 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],
date: new Date('2024-10-20'),
age: 34,
},
{
employee: mockEmployees[1],
date: new Date('2024-10-25'),
age: 32,
},
]
export const mockAnniversaries: WorkAnniversary[] = [
{
employee: mockEmployees[2],
hireDate: new Date('2019-09-10'),
years: 5,
},
{
employee: mockEmployees[0],
hireDate: new Date('2020-03-15'),
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',
},
]