Merge version_2 into main #12

Merged
bender merged 4 commits from version_2 into main 2026-03-06 22:18:40 +00:00
4 changed files with 124 additions and 248 deletions

View File

@@ -1,181 +1,97 @@
"use client";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import NavbarStyleFullscreen from "@/components/navbar/NavbarStyleFullscreen/NavbarStyleFullscreen";
import MetricCardOne from "@/components/sections/metrics/MetricCardOne";
import FeatureCardOne from "@/components/sections/feature/FeatureCardOne";
import TeamCardFive from "@/components/sections/team/TeamCardFive";
import FaqBase from "@/components/sections/faq/FaqBase";
import FooterLogoReveal from "@/components/sections/footer/FooterLogoReveal";
import { TrendingUp, Users, Clock, Target } from "lucide-react";
import HeroBillboardRotatedCarousel from '@/components/sections/hero/HeroBillboardRotatedCarousel';
import MetricCardEleven from '@/components/sections/metrics/MetricCardEleven';
import BlogCardTwo from '@/components/sections/blog/BlogCardTwo';
import ContactText from '@/components/sections/contact/ContactText';
import FooterLogoReveal from '@/components/sections/footer/FooterLogoReveal';
import Link from 'next/link';
export default function DashboardPage() {
export default function Dashboard() {
const navItems = [
{ name: "Ana Sayfa", id: "/" },
{ name: "Öğretmenler", id: "/teachers" },
{ name: "Etkinlikler", id: "events" },
{ name: "Çalışma Programı", id: "schedule" },
{ name: "Home", id: "/" },
{ name: "Dashboard", id: "/dashboard" },
];
// Target tracking metrics
const targetMetrics = [
{
id: "1", value: "85", title: "%", description: "Haftalık Hedef İlerleme", icon: Target,
},
{
id: "2", value: "12", title: "Saat", description: "Bu Ay Ders Saati", icon: Clock,
},
{
id: "3", value: "4.8", title: "/5", description: "Ortalama Performans", icon: TrendingUp,
},
];
// Upcoming lessons
const upcomingLessons = [
{
title: "Matematik - Kalkülüs Temelleri", description: "Diferansiyel ve integral hesaplamalar üzerine odaklanmış dersin temellerini öğrenin.", imageSrc: "http://img.b2bpic.net/free-vector/modern-background-with-geometric-shapes_23-2147546962.jpg", imageAlt: "mathematics calculus lesson", button: { text: "Derse Katıl", href: "#" },
},
{
title: "İngilizce - Akademik Yazı", description: "İngilizce akademik yazı ve essay yazma tekniklerini geliştiriniz.", imageSrc: "http://img.b2bpic.net/free-vector/language-concept-background_23-2147872796.jpg", imageAlt: "english writing lesson", button: { text: "Derse Katıl", href: "#" },
},
{
title: "Fizik - Kuantum Mekaniklerine Giriş", description: "Kuantum fiziğinin temel prensipleri ve uygulamaları.", imageSrc: "http://img.b2bpic.net/free-photo/crop-men-discussing-graph-tablet_23-2147785037.jpg", imageAlt: "physics quantum lesson", button: { text: "Derse Katıl", href: "#" },
},
{
title: "Kimya - Organik Kimya Temelleri", description: "Organik kimyada karbon bileşikleri ve reaksiyonları.", imageSrc: "http://img.b2bpic.net/free-photo/close-up-laboratory-test-tubes_23-2148891898.jpg", imageAlt: "chemistry organic lesson", button: { text: "Derse Katıl", href: "#" },
},
];
// Recommended teachers
const recommendedTeachers = [
{
id: "1", name: "Dr. Ahmet Kara", role: "Matematik Öğretmeni", imageSrc: "http://img.b2bpic.net/free-photo/portrait-businessman-office-3_1262-1489.jpg", imageAlt: "Dr. Ahmet Kara"},
{
id: "2", name: "Prof. Elif Yılmaz", role: "İngilizce Uzmanı", imageSrc: "http://img.b2bpic.net/free-photo/young-female-glasses-workplace_1301-980.jpg", imageAlt: "Prof. Elif Yılmaz"},
{
id: "3", name: "Yrd. Doç. Mustafa Şahin", role: "Fizik Profesörü", imageSrc: "http://img.b2bpic.net/free-photo/young-man-wearing-blue-outfit-looking-satisfied_1298-169.jpg", imageAlt: "Yrd. Doç. Mustafa Şahin"},
{
id: "4", name: "Doç. Dr. Ziya Demir", role: "Kimya Öğretmeni", imageSrc: "http://img.b2bpic.net/free-photo/woman-posing-with-books_23-2148680219.jpg", imageAlt: "Doç. Dr. Ziya Demir"},
];
// Weekly progress data
const weeklyProgressItems = [
{
title: "Pazartesi", description: "Matematik dersi tamamlandı - 95% başarı oranı", imageSrc: "http://img.b2bpic.net/free-vector/modern-background-with-geometric-shapes_23-2147546962.jpg", imageAlt: "Monday progress"},
{
title: "Salı", description: "İngilizce konuşma alıştırması - 88% başarı oranı", imageSrc: "http://img.b2bpic.net/free-vector/language-concept-background_23-2147872796.jpg", imageAlt: "Tuesday progress"},
{
title: "Çarşamba", description: "Fizik laboratuvarı deneyi - 92% başarı oranı", imageSrc: "http://img.b2bpic.net/free-photo/crop-men-discussing-graph-tablet_23-2147785037.jpg", imageAlt: "Wednesday progress"},
{
title: "Perşembe", description: "Kimya uygulaması tamamlandı - 90% başarı oranı", imageSrc: "http://img.b2bpic.net/free-photo/close-up-laboratory-test-tubes_23-2148891898.jpg", imageAlt: "Thursday progress"},
];
const faqData = [
{
id: "1", title: "Dersi nasıl kaydedebilirim?", content: "Yaklaşan dersler bölümünde istediğiniz dersi bulun ve 'Derse Katıl' düğmesine tıklayın. Sistem sizi otomatik olarak kayıt edecektir."},
{
id: "2", title: "Öğretmeni nasıl değiştirebilirim?", content: "Ayarlar bölümünden 'Profil' seçeneğine gidin ve 'Tercih Edilen Öğretmen' değişikliğini yapın. Yeni öğretmen size yakında iletişim kuracaktır."},
{
id: "3", title: "Haftalık ilerlememizi nasıl izlerim?", content: "Dashboard'da 'Haftalık İlerleme' kartını kontrol edin. Günlük aktiviteleriniz ve başarı oranlarınız otomatik olarak güncellenir."},
{
id: "4", title: "Hedefimi nasıl ayarlayabilirim?", content: "Ana sayfada 'Hedef Ayarla' düğmesine tıklayın ve haftalık öğrenme hedeflerinizi belirleyin. İlerlemeniz gerçek zamanlı olarak izlenecektir."},
];
return (
<ThemeProvider
defaultButtonVariant="text-shift"
defaultButtonVariant="text-stagger"
defaultTextAnimation="entrance-slide"
borderRadius="rounded"
contentWidth="compact"
sizing="mediumSizeLargeTitles"
contentWidth="medium"
sizing="medium"
background="circleGradient"
cardStyle="layered-gradient"
primaryButtonStyle="shadow"
secondaryButtonStyle="layered"
headingFontWeight="light"
cardStyle="glass-elevated"
primaryButtonStyle="gradient"
secondaryButtonStyle="glass"
headingFontWeight="normal"
>
<div id="nav" data-section="nav">
<NavbarStyleFullscreen
navItems={navItems}
brandName="Öğretmen Platformu"
bottomLeftText="Öğrenci Dashboard"
bottomRightText="dashboard@platform.com"
navItems={[
{ name: "Home", id: "/" },
{ name: "Dashboard", id: "/dashboard" },
]}
logoSrc="/logo.svg"
/>
</div>
{/* Target Tracking Card */}
<div id="targets" data-section="targets">
<MetricCardOne
metrics={targetMetrics}
title="Haftalık Hedef Takibi"
description="Öğrenme hedefleriniz ve ilerlemeniz"
gridVariant="uniform-all-items-equal"
<div id="hero" data-section="hero">
<HeroBillboardRotatedCarousel
title="Dashboard"
description="View your statistics and information"
background={{ variant: "circleGradient" }}
carouselItems={[
{ id: "1", imageSrc: "/placeholder1.webp", imageAlt: "Dashboard 1" },
{ id: "2", imageSrc: "/placeholder2.webp", imageAlt: "Dashboard 2" },
{ id: "3", imageSrc: "/placeholder3.webp", imageAlt: "Dashboard 3" },
{ id: "4", imageSrc: "/placeholder4.webp", imageAlt: "Dashboard 4" },
{ id: "5", imageSrc: "/placeholder5.webp", imageAlt: "Dashboard 5" },
{ id: "6", imageSrc: "/placeholder6.webp", imageAlt: "Dashboard 6" },
]}
/>
</div>
<div id="metrics" data-section="metrics">
<MetricCardEleven
title="Dashboard Metrics"
description="Track your performance"
textboxLayout="default"
animationType="slide-up"
useInvertedBackground={false}
metrics={[
{ id: "1", value: "50K", title: "Total Users", description: "Active users this month" },
{ id: "2", value: "25M", title: "Revenue", description: "Monthly revenue" },
{ id: "3", value: "98.5%", title: "Uptime", description: "System availability" },
]}
/>
</div>
{/* Upcoming Lessons Calendar */}
<div id="lessons" data-section="lessons">
<FeatureCardOne
features={upcomingLessons}
title="Yaklaşan Dersler"
description="Planlanmış dersleri görmek ve derse katılmak için tıklayın"
textboxLayout="default"
gridVariant="two-columns-alternating-heights"
animationType="slide-up"
useInvertedBackground={false}
carouselMode="buttons"
/>
</div>
{/* Recommended Teachers Section */}
<div id="teachers" data-section="teachers">
<TeamCardFive
team={recommendedTeachers}
title="Tavsiye Edilen Öğretmenler"
description="Sizin için seçilen deneyimli eğitim uzmanları"
<div id="events" data-section="events">
<BlogCardTwo
title="Recent Activity"
description="Your latest updates and events"
textboxLayout="default"
animationType="slide-up"
useInvertedBackground={false}
blogs={[
{ id: "1", category: "Update", title: "Profile Updated", excerpt: "Your profile has been successfully updated", imageSrc: "/placeholder1.webp", authorName: "System", authorAvatar: "/avatar1.webp", date: "Today" },
{ id: "2", category: "Alert", title: "New Message", excerpt: "You have received a new message", imageSrc: "/placeholder2.webp", authorName: "User", authorAvatar: "/avatar2.webp", date: "Yesterday" },
{ id: "3", category: "Notice", title: "Settings Changed", excerpt: "Your account settings have been modified", imageSrc: "/placeholder3.webp", authorName: "System", authorAvatar: "/avatar3.webp", date: "2 days ago" },
]}
/>
</div>
{/* Weekly Progress Report */}
<div id="progress" data-section="progress">
<FeatureCardOne
features={weeklyProgressItems}
title="Haftalık İlerleme Raporu"
description="Bu hafkası hatta adımlarınızı ve başarılarını görmek"
textboxLayout="default"
gridVariant="uniform-all-items-equal"
animationType="slide-up"
<div id="contact" data-section="contact">
<ContactText
text="Need help? Contact our support team!"
background={{ variant: "plain" }}
useInvertedBackground={false}
carouselMode="buttons"
buttons={[{ text: "Get Support", href: "mailto:support@example.com" }]}
/>
</div>
{/* FAQ Section */}
<div id="faq" data-section="faq">
<FaqBase
faqs={faqData}
title="Sıkça Sorulan Sorular"
description="Dashboard hakkında sorularınızın cevaplarını bulun"
textboxLayout="default"
useInvertedBackground={false}
faqsAnimation="slide-up"
/>
</div>
<div id="footer" data-section="footer">
<FooterLogoReveal
logoText="Öğretmen Platformu"
leftLink={{
text: "Gizlilik Politikası", href: "#"}}
rightLink={{
text: "Kullanım Şartları", href: "#"}}
logoText="Webild"
leftLink={{ text: "Privacy", href: "#" }}
rightLink={{ text: "Terms", href: "#" }}
/>
</div>
</ThemeProvider>

View File

@@ -1,148 +1,98 @@
"use client";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import NavbarStyleFullscreen from "@/components/navbar/NavbarStyleFullscreen/NavbarStyleFullscreen";
import HeroBillboardRotatedCarousel from "@/components/sections/hero/HeroBillboardRotatedCarousel";
import MetricCardEleven from "@/components/sections/metrics/MetricCardEleven";
import BlogCardTwo from "@/components/sections/blog/BlogCardTwo";
import ContactText from "@/components/sections/contact/ContactText";
import FooterLogoReveal from "@/components/sections/footer/FooterLogoReveal";
import Link from "next/link";
import { BookOpen } from "lucide-react";
import HeroBillboardRotatedCarousel from '@/components/sections/hero/HeroBillboardRotatedCarousel';
import MetricCardEleven from '@/components/sections/metrics/MetricCardEleven';
import BlogCardTwo from '@/components/sections/blog/BlogCardTwo';
import ContactText from '@/components/sections/contact/ContactText';
import FooterLogoReveal from '@/components/sections/footer/FooterLogoReveal';
import Link from 'next/link';
export default function HomePage() {
export default function Home() {
const navItems = [
{ name: "Ana Sayfa", id: "/" },
{ name: "Öğretmen Paneli", id: "/teacher-dashboard" },
{ name: "Etkinlikler", id: "events" },
{ name: "Çalışma Programı", id: "schedule" },
];
const heroBtns = [
{
text: "Hemen Başla", href: "/teacher-dashboard"},
];
const metricsData = [
{
id: "1", value: "50+", title: "Öğretmen", description: "Deneyimli eğitim profesyonelleri", imageSrc: "http://img.b2bpic.net/free-photo/people-standing-with-papers_23-2147657172.jpg", imageAlt: "professional teachers group portrait education"},
{
id: "2", value: "1000+", title: "Öğrenci", description: "Aktif kullanıcı topluluğu", imageSrc: "http://img.b2bpic.net/free-photo/happy-office-colleagues-watching-project-presentation-together_74855-10013.jpg", imageAlt: "students group learning education diverse"},
{
id: "3", value: "200+", title: "Ders", description: "Çeşitli konu başlıkları", imageSrc: "http://img.b2bpic.net/free-photo/flat-lay-educational-elements-arrangement-with-empty-notepad_23-2148721242.jpg", imageAlt: "course curriculum education subjects books"},
{
id: "4", value: "4.9/5", title: "Puan", description: "Ortalama memnuniyet oranı", imageSrc: "http://img.b2bpic.net/free-vector/education-white_24877-49399.jpg", imageAlt: "five star rating excellent satisfaction feedback"},
];
const carouselItems = [
{
id: "1", imageSrc: "http://img.b2bpic.net/free-psd/children-school-education-landing-page_23-2149901102.jpg", imageAlt: "online learning education platform interface"},
{
id: "2", imageSrc: "http://img.b2bpic.net/free-photo/senior-people-school-class-with-laptop-computer_23-2150104980.jpg", imageAlt: "online course learning platform screen"},
{
id: "3", imageSrc: "http://img.b2bpic.net/free-vector/virtual-graduation-ceremony-with-computer_23-2148569138.jpg", imageAlt: "online tutor video conference interface"},
{
id: "4", imageSrc: "http://img.b2bpic.net/free-photo/friends-learning-study-group_23-2149257210.jpg", imageAlt: "education app notification schedule planning"},
{
id: "5", imageSrc: "http://img.b2bpic.net/free-photo/crop-men-discussing-graph-tablet_23-2147785037.jpg", imageAlt: "digital education platform analytics dashboard"},
{
id: "6", imageSrc: "http://img.b2bpic.net/free-photo/front-view-older-business-woman-with-glasses-writing-agenda-looking-laptop_23-2148661168.jpg", imageAlt: "online class registration booking system"},
];
const eventsBlogsData = [
{
id: "1", category: "Matematik", title: "Trigonometri Ustalaşma Sürümü", excerpt: "Trigonometri kurallarını derinlemesine öğrenin, örnekler ve pratik problemlerle desteklenen kapsamlı ders.", imageSrc: "http://img.b2bpic.net/free-vector/modern-background-with-geometric-shapes_23-2147546962.jpg", imageAlt: "mathematics geometry trigonometry education board", authorName: "Ayşe Kaya", authorAvatar: "http://img.b2bpic.net/free-photo/young-female-glasses-workplace_1301-980.jpg", date: "25 Ocak 2025"},
{
id: "2", category: "İngilizce", title: "İngilizce Konuşma Atölyesi", excerpt: "Günlük İngilizce konuşma becerilerinizi geliştirin, doğal diyaloglar ve kültürel bağlam ile.", imageSrc: "http://img.b2bpic.net/free-vector/language-concept-background_23-2147872796.jpg", imageAlt: "english language learning book study", authorName: "Mehmet Yıldız", authorAvatar: "http://img.b2bpic.net/free-photo/portrait-businessman-office-3_1262-1489.jpg", date: "27 Ocak 2025"},
{
id: "3", category: "Kimya", title: "Kimya Deneyimleri Laboratuvarı", excerpt: "Sanal laboratuvarıyla pratik deneyimler gain ve kimyasal reaksiyonları canlı tutun.", imageSrc: "http://img.b2bpic.net/free-photo/close-up-laboratory-test-tubes_23-2148891898.jpg", imageAlt: "chemistry laboratory science experiment beakers", authorName: "Zeynep Demir", authorAvatar: "http://img.b2bpic.net/free-photo/woman-posing-with-books_23-2148680219.jpg", date: "29 Ocak 2025"},
{
id: "4", category: "Tarih", title: "Osmanlı İmparatorluğu Hikayesi", excerpt: "Osmanlı tarihinin önemli dönemleri, simgesel olaylar ve kültürel etkilerin kapsamlı incelemesi.", imageSrc: "http://img.b2bpic.net/free-photo/view-ancient-paper-scroll-writing-documenting_23-2151751754.jpg", imageAlt: "history book ancient civilization artifacts", authorName: "İbrahim Çelik", authorAvatar: "http://img.b2bpic.net/free-photo/young-man-wearing-blue-outfit-looking-satisfied_1298-169.jpg", date: "31 Ocak 2025"},
];
const contactButtons = [
{
text: "Bize Yazın", href: "/contact"},
{
text: "Canlı Sohbet", href: "#"},
{ name: "Home", id: "/" },
{ name: "Dashboard", id: "/dashboard" },
];
return (
<ThemeProvider
defaultButtonVariant="text-shift"
defaultButtonVariant="text-stagger"
defaultTextAnimation="entrance-slide"
borderRadius="rounded"
contentWidth="compact"
sizing="mediumSizeLargeTitles"
contentWidth="medium"
sizing="medium"
background="circleGradient"
cardStyle="layered-gradient"
primaryButtonStyle="shadow"
secondaryButtonStyle="layered"
headingFontWeight="light"
cardStyle="glass-elevated"
primaryButtonStyle="gradient"
secondaryButtonStyle="glass"
headingFontWeight="normal"
>
<div id="nav" data-section="nav">
<NavbarStyleFullscreen
navItems={navItems}
brandName="Öğretmen Platformu"
bottomLeftText="Eğitim Topluluğu"
bottomRightText="info@platform.com"
navItems={[
{ name: "Home", id: "/" },
{ name: "Dashboard", id: "/dashboard" },
]}
logoSrc="/logo.svg"
/>
</div>
<div id="hero" data-section="hero">
<HeroBillboardRotatedCarousel
title="Hayalinizdeki Öğretmeni Bulun"
description="50+ deneyimli öğretmenle bağlantı kurun ve kişiselleştirilmiş eğitim alın. Esnek zaman planlaması ve etkili öğrenme deneyimi."
tag="Çevrimiçi Eğitim"
tagIcon={BookOpen}
buttons={heroBtns}
background={{ variant: "plain" }}
carouselItems={carouselItems}
autoPlay={true}
autoPlayInterval={4000}
title="Welcome to Our Platform"
description="Discover amazing features and capabilities"
background={{ variant: "circleGradient" }}
carouselItems={[
{ id: "1", imageSrc: "/placeholder1.webp", imageAlt: "Image 1" },
{ id: "2", imageSrc: "/placeholder2.webp", imageAlt: "Image 2" },
{ id: "3", imageSrc: "/placeholder3.webp", imageAlt: "Image 3" },
{ id: "4", imageSrc: "/placeholder4.webp", imageAlt: "Image 4" },
{ id: "5", imageSrc: "/placeholder5.webp", imageAlt: "Image 5" },
{ id: "6", imageSrc: "/placeholder6.webp", imageAlt: "Image 6" },
]}
buttons={[{ text: "Get Started", href: "/#contact" }]}
/>
</div>
<div id="metrics" data-section="metrics">
<MetricCardEleven
metrics={metricsData}
title="Platformumuz ile Tanışın"
description="Kalite ve etkililik konusunda güvenilebilir bir seçim"
title="Key Metrics"
description="Track your performance"
textboxLayout="default"
animationType="slide-up"
useInvertedBackground={false}
metrics={[
{ id: "1", value: "100K", title: "Users", description: "Active users on platform" },
{ id: "2", value: "50M", title: "Revenue", description: "Annual revenue" },
{ id: "3", value: "99%", title: "Uptime", description: "System availability" },
]}
/>
</div>
<div id="events" data-section="events">
<BlogCardTwo
blogs={eventsBlogsData}
title="Yaklaşan Etkinlikler"
description="Etkileşimli ders saatleri ve webinarlar"
title="Latest Events"
description="Stay updated with our latest events"
textboxLayout="default"
animationType="slide-up"
useInvertedBackground={false}
carouselMode="buttons"
blogs={[
{ id: "1", category: "Event", title: "Tech Summit 2025", excerpt: "Join us for the biggest tech event of the year", imageSrc: "/placeholder1.webp", authorName: "John Doe", authorAvatar: "/avatar1.webp", date: "20 Jan 2025" },
{ id: "2", category: "Webinar", title: "AI Workshop", excerpt: "Learn about the latest AI technologies", imageSrc: "/placeholder2.webp", authorName: "Jane Smith", authorAvatar: "/avatar2.webp", date: "25 Jan 2025" },
{ id: "3", category: "Conference", title: "Product Launch", excerpt: "Discover our newest product features", imageSrc: "/placeholder3.webp", authorName: "Bob Johnson", authorAvatar: "/avatar3.webp", date: "30 Jan 2025" },
]}
/>
</div>
<div id="contact" data-section="contact">
<ContactText
text="Halen sorularınız mı var? Bize ulaşın ve eğitim yolculuğunuza başlayın. Destek ekibimiz 24/7 sizin hizmetinizde."
animationType="entrance-slide"
buttons={contactButtons}
text="Ready to get started? Contact us today!"
background={{ variant: "plain" }}
useInvertedBackground={true}
useInvertedBackground={false}
buttons={[{ text: "Contact Us", href: "mailto:hello@example.com" }]}
/>
</div>
<div id="footer" data-section="footer">
<FooterLogoReveal
logoText="Öğretmen Platformu"
leftLink={{
text: "Gizlilik Politikası", href: "#"}}
rightLink={{
text: "Kullanım Şartları", href: "#"}}
logoText="Webild"
leftLink={{ text: "Privacy", href: "#" }}
rightLink={{ text: "Terms", href: "#" }}
/>
</div>
</ThemeProvider>

View File

@@ -0,0 +1,8 @@
export type CardStackProps = {
title: string;
description?: string;
children?: React.ReactNode;
[key: string]: any;
};
export { CardStack };

View File

@@ -0,0 +1,2 @@
export { Dashboard };
export type { DashboardSidebarItem, DashboardStat, DashboardListItem };