2026-01-07 09:33:52 +00:00
|
|
|
import { Course } from '../types';
|
|
|
|
|
|
|
|
|
|
const CATALOG_COURSES: Course[] = [
|
2026-01-13 18:47:57 +00:00
|
|
|
{
|
|
|
|
|
id: '1',
|
|
|
|
|
title: 'Mastering with Ozone 10',
|
|
|
|
|
level: 'Advanced',
|
|
|
|
|
duration: '3h 45m',
|
|
|
|
|
progress: 0,
|
|
|
|
|
instructor: 'Luca Pretellesi',
|
|
|
|
|
thumbnailUrl: 'https://picsum.photos/id/200/400/250',
|
|
|
|
|
price: 49.99,
|
|
|
|
|
rating: 4.8,
|
|
|
|
|
studentCount: 1200,
|
|
|
|
|
tags: ['Mixing', 'Mastering'],
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
id: '2',
|
|
|
|
|
title: 'Music Theory for Producers',
|
|
|
|
|
level: 'Beginner',
|
|
|
|
|
duration: '5h 10m',
|
|
|
|
|
progress: 0,
|
|
|
|
|
instructor: 'Sarah Devine',
|
|
|
|
|
thumbnailUrl: 'https://picsum.photos/id/201/400/250',
|
|
|
|
|
price: 29.99,
|
|
|
|
|
rating: 4.5,
|
|
|
|
|
studentCount: 3400,
|
|
|
|
|
tags: ['Theory', 'Composition'],
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
id: '3',
|
|
|
|
|
title: 'Sound Design from Scratch',
|
|
|
|
|
level: 'Intermediate',
|
|
|
|
|
duration: '4h 30m',
|
|
|
|
|
progress: 0,
|
|
|
|
|
instructor: 'Noisia',
|
|
|
|
|
thumbnailUrl: 'https://picsum.photos/id/202/400/250',
|
|
|
|
|
price: 39.99,
|
|
|
|
|
rating: 4.9,
|
|
|
|
|
studentCount: 850,
|
|
|
|
|
tags: ['Sound Design', 'Synthesis'],
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
id: '4',
|
|
|
|
|
title: 'Ableton Live 11 Fundamentals',
|
|
|
|
|
level: 'Beginner',
|
|
|
|
|
duration: '8h 20m',
|
|
|
|
|
progress: 0,
|
|
|
|
|
instructor: 'Ableton Certified',
|
|
|
|
|
thumbnailUrl: 'https://picsum.photos/id/203/400/250',
|
|
|
|
|
price: 0,
|
|
|
|
|
rating: 4.7,
|
|
|
|
|
studentCount: 15000,
|
|
|
|
|
tags: ['DAW', 'Ableton'],
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
id: '5',
|
|
|
|
|
title: 'Advanced Serum Techniques',
|
|
|
|
|
level: 'Advanced',
|
|
|
|
|
duration: '2h 15m',
|
|
|
|
|
progress: 0,
|
|
|
|
|
instructor: 'Au5',
|
|
|
|
|
thumbnailUrl: 'https://picsum.photos/id/204/400/250',
|
|
|
|
|
price: 34.99,
|
|
|
|
|
rating: 4.9,
|
|
|
|
|
studentCount: 600,
|
|
|
|
|
tags: ['Synthesis', 'Serum'],
|
|
|
|
|
},
|
2026-01-07 09:33:52 +00:00
|
|
|
];
|
|
|
|
|
|
|
|
|
|
const MY_COURSES: Course[] = [
|
2026-01-13 18:47:57 +00:00
|
|
|
{
|
|
|
|
|
id: 'c1',
|
|
|
|
|
title: 'Mastering with Ozone 10',
|
|
|
|
|
level: 'Advanced',
|
|
|
|
|
duration: '3h 45m',
|
|
|
|
|
progress: 75,
|
|
|
|
|
thumbnailUrl: 'https://picsum.photos/id/200/400/250',
|
|
|
|
|
instructor: 'Luca Pretellesi',
|
|
|
|
|
lastAccessed: '2 days ago',
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
id: 'c2',
|
|
|
|
|
title: 'Music Theory for Producers',
|
|
|
|
|
level: 'Beginner',
|
|
|
|
|
duration: '5h 10m',
|
|
|
|
|
progress: 10,
|
|
|
|
|
thumbnailUrl: 'https://picsum.photos/id/201/400/250',
|
|
|
|
|
instructor: 'Sarah Devine',
|
|
|
|
|
lastAccessed: '1 week ago',
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
id: 'c3',
|
|
|
|
|
title: 'Ableton Live 11 Fundamentals',
|
|
|
|
|
level: 'Beginner',
|
|
|
|
|
duration: '8h 20m',
|
|
|
|
|
progress: 100,
|
|
|
|
|
thumbnailUrl: 'https://picsum.photos/id/203/400/250',
|
|
|
|
|
instructor: 'Ableton Certified',
|
|
|
|
|
lastAccessed: '1 month ago',
|
|
|
|
|
certificateAvailable: true,
|
|
|
|
|
},
|
2026-01-07 09:33:52 +00:00
|
|
|
];
|
|
|
|
|
|
|
|
|
|
export const educationService = {
|
|
|
|
|
getCatalog: async () => {
|
2026-01-13 18:47:57 +00:00
|
|
|
await new Promise((resolve) => setTimeout(resolve, 500));
|
|
|
|
|
return CATALOG_COURSES;
|
2026-01-07 09:33:52 +00:00
|
|
|
},
|
|
|
|
|
|
|
|
|
|
getMyCourses: async () => {
|
2026-01-13 18:47:57 +00:00
|
|
|
await new Promise((resolve) => setTimeout(resolve, 400));
|
|
|
|
|
return MY_COURSES;
|
2026-01-07 09:33:52 +00:00
|
|
|
},
|
|
|
|
|
|
|
|
|
|
enroll: async (_courseId: string) => {
|
2026-01-13 18:47:57 +00:00
|
|
|
await new Promise((resolve) => setTimeout(resolve, 600));
|
|
|
|
|
return { success: true };
|
|
|
|
|
},
|
2026-01-07 09:33:52 +00:00
|
|
|
};
|