Merge version_1 into main #3

Merged
bender merged 3 commits from version_1 into main 2026-06-09 13:53:02 +00:00
3 changed files with 35 additions and 12 deletions

View File

@@ -111,7 +111,7 @@ export default function KeyboardPage() {
{ title: "تحديد الأخطاء وإعادة المحاولة", description: "نظام يبرز الأخطاء ويسمح لك بإعادة التدرب لتحقيق الكمال.", bentoComponent: "reveal-icon", icon: RotateCcw },
{
title: "صورة شاملة للتمارين", description: "رسم بياني يوضح تنوع التمارين المتاحة للتدريب.", bentoComponent: "media-stack", items: [
{ imageSrc: "http://img.b2bpic.net/free-photo/alphabet-from-threedimensional-letters-top-view_185193-161678.jpg", imageAlt: "رسوم بيانية لتمارين الكتابة" },
{ imageSrc: "http://img.b2bpic.net/free-photo/alphabet-from-threedimensional-letters-top-view_185193-161678.jpg?_wi=2", imageAlt: "رسوم بيانية لتمارين الكتابة" },
],
},
]}

View File

@@ -1,27 +1,48 @@
import type { Metadata } from "next";
import { Halant } from "next/font/google";
import { Mulish } from "next/font/google";
import { Inter } from "next/font/google";
import "./globals.css";
import "@/lib/gsap-setup";
import { ServiceWrapper } from "@/components/ServiceWrapper";
import Tag from "@/tag/Tag";
import { getVisualEditScript } from "@/utils/visual-edit-script";
import { Mulish } from "next/font/google";
export const metadata: Metadata = {
title: "Webild components 2",
description: "Generated by create next app",
};
const mulish = Mulish({
variable: "--font-mulish", subsets: ["latin"],
});
const inter = Inter({
variable: "--font-inter", subsets: ["latin"],
});
export const metadata: Metadata = {
title: "KeyQuest | رحلة الحروف", description: "تصميم فاخر وعصري لمنصة KeyQuest، يركز على تجربة مستخدم تفاعلية وجذابة في وضع Dark Mode. الألوان النيونية تبرز على الخلفيات الداكنة لتعزيز الطابع التكنولوجي وتحفيز المستخدمين.", keywords: ["KeyQuest", "Typing platform", "Arabic typing", "Fast typing", "Dark mode UI", "Neon design", "Productivity", "Learning", "Typing challenges"],
metadataBase: new URL("http://localhost:3000"),
alternates: {
canonical: "http://localhost:3000"},
openGraph: {
title: "KeyQuest | رحلة الحروف", description: "انطلق في رحلتك نحو إتقان الكتابة السريعة على لوحة المفاتيح. منصة تفاعلية تجمع بين متعة اللعب وفعالية التعلم لتحسين سرعتك ودقتك خطوة بخطوة.", url: "http://localhost:3000", siteName: "KeyQuest", images: [
{
url: "http://img.b2bpic.net/free-photo/high-angle-keyboard-with-neon-lights_23-2149680228.jpg", alt: "واجهة لوحة مفاتيح مستقبلية للتدريب على الكتابة السريعة"
},
],
},
twitter: {
card: "summary_large_image", title: "KeyQuest | رحلة الحروف", description: "انطلق في رحلتك نحو إتقان الكتابة السريعة على لوحة المفاتيح. منصة تفاعلية تجمع بين متعة اللعب وفعالية التعلم لتحسين سرعتك ودقتك خطوة بخطوة.", images: [
"http://img.b2bpic.net/free-photo/high-angle-keyboard-with-neon-lights_23-2149680228.jpg"],
},
robots: {
index: true,
follow: true,
googleBot: {
index: true,
follow: true,
"max-video-preview": -1,
"max-image-preview": "large", "max-snippet": -1,
},
},
};
export default function RootLayout({
children,
}: Readonly<{
@@ -30,7 +51,9 @@ export default function RootLayout({
return (
<html lang="en" suppressHydrationWarning>
<ServiceWrapper>
<body className={`${mulish.variable} ${inter.variable} antialiased`}>
<body
className={`${mulish.variable} ${inter.variable} antialiased`}
>
<Tag />
{children}
<script

View File

@@ -75,7 +75,7 @@ export default function TrainingPage() {
{
title: "صورة شاملة للتمارين", description: "رسم بياني يوضح تنوع التمارين المتاحة للتدريب.", bentoComponent: "media-stack", items: [
{
imageSrc: "http://img.b2bpic.net/free-photo/alphabet-from-threedimensional-letters-top-view_185193-161678.jpg", imageAlt: "رسوم بيانية لتمارين الكتابة"
imageSrc: "http://img.b2bpic.net/free-photo/alphabet-from-threedimensional-letters-top-view_185193-161678.jpg?_wi=1", imageAlt: "رسوم بيانية لتمارين الكتابة"
}
]
}