Merge version_2 into main #4

Merged
bender merged 2 commits from version_2 into main 2026-03-06 21:08:51 +00:00
2 changed files with 49 additions and 53 deletions

View File

@@ -1,42 +1,21 @@
import type { Metadata } from "next";
import { Libre_Baskerville } from "next/font/google";
import { Inter } from "next/font/google";
import "./globals.css";
import { ServiceWrapper } from "@/components/ServiceWrapper";
import Tag from "@/tag/Tag";
const libreBaskerville = Libre_Baskerville({
variable: "--font-libre-baskerville", subsets: ["latin"],
weight: ["400", "700"],
});
const inter = Inter({
variable: "--font-inter", subsets: ["latin"],
});
import { GeistSans } from "geist/font/sans";
import { GeistMono } from "geist/font/mono";
import "@/styles/globals.css";
export const metadata: Metadata = {
title: "LaughClips - Funny Short Videos & Comedy Content", description: "Watch hilarious short videos including school jokes, epic fails, and viral memes. Share laughs with millions on the funniest video platform online.", keywords: "funny videos, short clips, memes, fails, comedy, viral content, laugh", openGraph: {
title: "LaughClips - Funny Short Videos & Comedy Content", description: "Watch hilarious short videos including school jokes, epic fails, and viral memes.", url: "https://laughclips.com", siteName: "LaughClips", type: "website"},
robots: {
index: true,
follow: true,
},
};
title: "LaughClips - Funniest Videos Online", description: "Discover hilarious short clips that'll make you laugh out loud. From school jokes to epic fails to trending memes."};
export default function RootLayout({
children,
}: Readonly<{
}: {
children: React.ReactNode;
}>) {
}) {
return (
<html lang="en" suppressHydrationWarning>
<ServiceWrapper>
<body
className={`${libreBaskerville.variable} ${inter.variable} antialiased`}
>
<Tag />
{children}
<html lang="en">
<body className={`${GeistSans.variable} ${GeistMono.variable}`}>
{children}
<script
dangerouslySetInnerHTML={{
__html: `
@@ -1404,7 +1383,6 @@ export default function RootLayout({
}}
/>
</body>
</ServiceWrapper>
</html>
);
}

View File

@@ -47,23 +47,31 @@ export default function LandingPage() {
background={{ variant: "glowing-orb" }}
leftCarouselItems={[
{
imageSrc: "http://img.b2bpic.net/free-photo/indoor-shot-astonished-employee-sitting-office-desk_273609-31657.jpg?_wi=1", imageAlt: "Funny school jokes video"},
imageSrc: "http://img.b2bpic.net/free-photo/indoor-shot-astonished-employee-sitting-office-desk_273609-31657.jpg?_wi=1", imageAlt: "Funny school jokes video"
},
{
imageSrc: "http://img.b2bpic.net/free-photo/mid-aged-couple-love-home_23-2147986301.jpg?_wi=1", imageAlt: "Epic fails comedy video"},
imageSrc: "http://img.b2bpic.net/free-photo/mid-aged-couple-love-home_23-2147986301.jpg?_wi=1", imageAlt: "Epic fails comedy video"
},
{
imageSrc: "http://img.b2bpic.net/free-photo/upset-friends-watching-sports-competition_23-2147771140.jpg?_wi=1", imageAlt: "Trending meme video"},
imageSrc: "http://img.b2bpic.net/free-photo/upset-friends-watching-sports-competition_23-2147771140.jpg?_wi=1", imageAlt: "Trending meme video"
},
{
imageSrc: "http://img.b2bpic.net/free-photo/front-view-little-boy-screaming-class_23-2148668607.jpg?_wi=1", imageAlt: "School comedy clips"},
imageSrc: "http://img.b2bpic.net/free-photo/front-view-little-boy-screaming-class_23-2148668607.jpg?_wi=1", imageAlt: "School comedy clips"
},
]}
rightCarouselItems={[
{
imageSrc: "http://img.b2bpic.net/free-photo/media-star-hosting-online-show-well-lit-studio-shooting-vlog-using-phone_482257-121734.jpg?_wi=1", imageAlt: "Viral meme content"},
imageSrc: "http://img.b2bpic.net/free-photo/media-star-hosting-online-show-well-lit-studio-shooting-vlog-using-phone_482257-121734.jpg?_wi=1", imageAlt: "Viral meme content"
},
{
imageSrc: "http://img.b2bpic.net/free-photo/man-presents-mobile-phone-from-brand-sponsoring-video_482257-124339.jpg?_wi=1", imageAlt: "Hilarious fails compilation"},
imageSrc: "http://img.b2bpic.net/free-photo/man-presents-mobile-phone-from-brand-sponsoring-video_482257-124339.jpg?_wi=1", imageAlt: "Hilarious fails compilation"
},
{
imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-excited-blogger-with-elastics_23-2148544262.jpg?_wi=1", imageAlt: "Funny school moments"},
imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-excited-blogger-with-elastics_23-2148544262.jpg?_wi=1", imageAlt: "Funny school moments"
},
{
imageSrc: "http://img.b2bpic.net/free-photo/lifestyle-couple-date-night_23-2149131770.jpg?_wi=1", imageAlt: "Comedy meme clips"},
imageSrc: "http://img.b2bpic.net/free-photo/lifestyle-couple-date-night_23-2149131770.jpg?_wi=1", imageAlt: "Comedy meme clips"
},
]}
buttons={[
{ text: "Start Watching", href: "#browse" },
@@ -77,7 +85,7 @@ export default function LandingPage() {
<div id="school-jokes" data-section="school-jokes">
<ProductCardTwo
title="School Jokes"
description="The funniest moments from classrooms around the world. Teachers losing it, students joking around, and hilarious school situations that'll have you laughing."
description="The funniest moments from classrooms around the world. Over 50M views this month. Teachers losing it, students joking around, and hilarious school situations that'll have you laughing."
tag="Top Category"
tagAnimation="slide-up"
buttons={[{ text: "View All School Jokes", href: "#" }]}
@@ -87,13 +95,16 @@ export default function LandingPage() {
products={[
{
id: "sj-1", brand: "ClassroomLaughs", name: "Teacher Pranks Gone Wrong", price: "2.3M Views", rating: 5,
reviewCount: "89.2k Likes", imageSrc: "http://img.b2bpic.net/free-photo/indoor-shot-astonished-employee-sitting-office-desk_273609-31657.jpg?_wi=2", imageAlt: "Teacher pranks video"},
reviewCount: "89.2k Likes", imageSrc: "http://img.b2bpic.net/free-photo/indoor-shot-astonished-employee-sitting-office-desk_273609-31657.jpg?_wi=2", imageAlt: "Teacher pranks video"
},
{
id: "sj-2", brand: "StudentComedy", name: "When Teachers Try to Be Cool", price: "1.8M Views", rating: 5,
reviewCount: "76.5k Likes", imageSrc: "http://img.b2bpic.net/free-photo/front-view-little-boy-screaming-class_23-2148668607.jpg?_wi=2", imageAlt: "Teacher comedy video"},
reviewCount: "76.5k Likes", imageSrc: "http://img.b2bpic.net/free-photo/front-view-little-boy-screaming-class_23-2148668607.jpg?_wi=2", imageAlt: "Teacher comedy video"
},
{
id: "sj-3", brand: "FunnySchool", name: "Epic School Fail Montage", price: "3.1M Views", rating: 5,
reviewCount: "92.3k Likes", imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-excited-blogger-with-elastics_23-2148544262.jpg?_wi=2", imageAlt: "School fails montage"},
reviewCount: "92.3k Likes", imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-excited-blogger-with-elastics_23-2148544262.jpg?_wi=2", imageAlt: "School fails montage"
},
]}
gridVariant="three-columns-all-equal-width"
animationType="slide-up"
@@ -103,7 +114,7 @@ export default function LandingPage() {
<div id="fails" data-section="fails">
<ProductCardTwo
title="Epic Fails"
description="Watch the most hilarious fails that'll make your day. From unexpected stunts to funny accidents, these moments are pure comedy gold."
description="Watch the most hilarious fails that'll make your day. Over 120M views this month. From unexpected stunts to funny accidents, these moments are pure comedy gold."
tag="Most Viral"
tagAnimation="slide-up"
buttons={[{ text: "Explore All Fails", href: "#" }]}
@@ -113,13 +124,16 @@ export default function LandingPage() {
products={[
{
id: "fails-1", brand: "FailsChannel", name: "Skateboard Catastrophe Compilation", price: "4.2M Views", rating: 5,
reviewCount: "125.8k Likes", imageSrc: "http://img.b2bpic.net/free-photo/mid-aged-couple-love-home_23-2147986301.jpg?_wi=2", imageAlt: "Skateboard fails"},
reviewCount: "125.8k Likes", imageSrc: "http://img.b2bpic.net/free-photo/mid-aged-couple-love-home_23-2147986301.jpg?_wi=2", imageAlt: "Skateboard fails"
},
{
id: "fails-2", brand: "ComedyFails", name: "Trampoline Park Disasters", price: "3.7M Views", rating: 5,
reviewCount: "103.2k Likes", imageSrc: "http://img.b2bpic.net/free-photo/man-presents-mobile-phone-from-brand-sponsoring-video_482257-124339.jpg?_wi=2", imageAlt: "Trampoline park fails"},
reviewCount: "103.2k Likes", imageSrc: "http://img.b2bpic.net/free-photo/man-presents-mobile-phone-from-brand-sponsoring-video_482257-124339.jpg?_wi=2", imageAlt: "Trampoline park fails"
},
{
id: "fails-3", brand: "ViralMoments", name: "Wedding Day Surprises Gone Wrong", price: "2.9M Views", rating: 5,
reviewCount: "87.4k Likes", imageSrc: "http://img.b2bpic.net/free-photo/middle-age-hispanic-couple-using-touchpad-sitting-table-night-surprised-pointing-with-hand-finger-side-open-mouth-amazed-expression_839833-32808.jpg", imageAlt: "Wedding fails video"},
reviewCount: "87.4k Likes", imageSrc: "http://img.b2bpic.net/free-photo/middle-age-hispanic-couple-using-touchpad-sitting-table-night-surprised-pointing-with-hand-finger-side-open-mouth-amazed-expression_839833-32808.jpg", imageAlt: "Wedding fails video"
},
]}
gridVariant="three-columns-all-equal-width"
animationType="slide-up"
@@ -129,7 +143,7 @@ export default function LandingPage() {
<div id="memes" data-section="memes">
<ProductCardTwo
title="Meme Videos"
description="The hottest meme videos trending across the internet. From dance challenges to funny edits, catch the latest viral content before everyone else."
description="The hottest meme videos trending across the internet. Over 85M views this month. From dance challenges to funny edits, catch the latest viral content before everyone else."
tag="Trending Now"
tagAnimation="slide-up"
buttons={[{ text: "Browse All Memes", href: "#" }]}
@@ -139,13 +153,16 @@ export default function LandingPage() {
products={[
{
id: "meme-1", brand: "MemeFactory", name: "Dance Challenge Chaos", price: "5.1M Views", rating: 5,
reviewCount: "142.6k Likes", imageSrc: "http://img.b2bpic.net/free-photo/upset-friends-watching-sports-competition_23-2147771140.jpg?_wi=2", imageAlt: "Dance challenge meme"},
reviewCount: "142.6k Likes", imageSrc: "http://img.b2bpic.net/free-photo/upset-friends-watching-sports-competition_23-2147771140.jpg?_wi=2", imageAlt: "Dance challenge meme"
},
{
id: "meme-2", brand: "ViralEdits", name: "Audio Remix Compilation", price: "4.3M Views", rating: 5,
reviewCount: "118.9k Likes", imageSrc: "http://img.b2bpic.net/free-photo/media-star-hosting-online-show-well-lit-studio-shooting-vlog-using-phone_482257-121734.jpg?_wi=2", imageAlt: "Audio remix video"},
reviewCount: "118.9k Likes", imageSrc: "http://img.b2bpic.net/free-photo/media-star-hosting-online-show-well-lit-studio-shooting-vlog-using-phone_482257-121734.jpg?_wi=2", imageAlt: "Audio remix video"
},
{
id: "meme-3", brand: "TrendingMemes", name: "Funny Filter Reactions", price: "3.8M Views", rating: 5,
reviewCount: "95.7k Likes", imageSrc: "http://img.b2bpic.net/free-photo/lifestyle-couple-date-night_23-2149131770.jpg?_wi=2", imageAlt: "Filter reaction memes"},
reviewCount: "95.7k Likes", imageSrc: "http://img.b2bpic.net/free-photo/lifestyle-couple-date-night_23-2149131770.jpg?_wi=2", imageAlt: "Filter reaction memes"
},
]}
gridVariant="three-columns-all-equal-width"
animationType="slide-up"
@@ -161,7 +178,8 @@ export default function LandingPage() {
textboxLayout="default"
useInvertedBackground={false}
names={[
"Comedy Central", "ViralVids", "FunnyOrDie", "Reddit", "TikTok", "Instagram", "YouTube", "Snapchat"]}
"Comedy Central", "ViralVids", "FunnyOrDie", "Reddit", "TikTok", "Instagram", "YouTube", "Snapchat"
]}
speed={40}
showCard={true}
/>