feat(tutorials): add video training academy management with YouTube parser and live preview

This commit is contained in:
mstfyldz
2026-08-22 13:49:00 +03:00
parent 2d149f1178
commit 7f690cc6d3
29 changed files with 2476 additions and 1034 deletions
+29
View File
@@ -0,0 +1,29 @@
import { supabaseAdmin } from '@/lib/supabaseAdmin'
import { TutorialsClient, TutorialItem } from './TutorialsClient'
export const dynamic = 'force-dynamic'
export default async function AdminTutorialsPage() {
const { data: tutorials, error } = await supabaseAdmin
.from('tutorials')
.select('*')
.order('sort_order', { ascending: true })
const items: TutorialItem[] = (tutorials || []).map((t: any) => ({
id: t.id,
title: t.title,
description: t.description || '',
category: t.category || 'basics',
category_label: t.category_label || '🚀 Hızlı Başlangıç',
duration: t.duration || '03:00',
youtube_id: t.youtube_id,
target_view: t.target_view,
target_view_label: t.target_view_label,
highlights: Array.isArray(t.highlights) ? t.highlights : [],
sort_order: t.sort_order || 0,
is_active: t.is_active !== false,
created_at: t.created_at,
}))
return <TutorialsClient initialTutorials={items} />
}