Initial commit

This commit is contained in:
2025-11-05 17:03:35 -07:00
commit 5ae6b8b45f
32 changed files with 2030 additions and 0 deletions

View File

@@ -0,0 +1,85 @@
'use client'
import home from '@/assets/screenshots/berry-dash/home.png'
import modeSelect from '@/assets/screenshots/berry-dash/mode-select.png'
import playing from '@/assets/screenshots/berry-dash/playing.png'
import custom from '@/assets/screenshots/berry-dash/custom.png'
import stats from '@/assets/screenshots/berry-dash/stats.png'
import leaderboards from '@/assets/screenshots/berry-dash/leaderboards.png'
import chatroom from '@/assets/screenshots/berry-dash/chatroom.png'
import Image from 'next/image'
import { Swiper, SwiperSlide } from 'swiper/react'
import { Navigation, Keyboard } from 'swiper/modules'
import 'swiper/css'
import 'swiper/css/navigation'
import Link from 'next/link'
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
import { faHome } from '@fortawesome/free-solid-svg-icons'
export default function BerryDashGameInfo () {
return (
<div className='box text-center'>
<div className='relative'>
<Link href='/' className='home-button absolute -top-4 -left-4'>
<FontAwesomeIcon icon={faHome} />
</Link>
</div>
<p className='text-4xl'>Berry Dash</p>
<p>
Berry Dash is the first game Lncvrt ever made in Unity. The game is a
simple but also complex game at the same time.
</p>
<p>
Berry Dash has a Leaderboard System, Account System, Profiles, Icon
marketplace, chatroom, custom mode, and more.
</p>
<p className='text-2xl mt-4 mb-1'>Screenshots</p>
<Swiper
modules={[Keyboard, Navigation]}
navigation
keyboard={{ enabled: true }}
className='screenshots-gallery mx-auto max-w-[960px] w-[calc(100vw-64px)]'
>
<SwiperSlide>
<Image src={home} width={960} height={540} alt='' />
</SwiperSlide>
<SwiperSlide>
<Image src={modeSelect} width={960} height={540} alt='' />
</SwiperSlide>
<SwiperSlide>
<Image src={playing} width={960} height={540} alt='' />
</SwiperSlide>
<SwiperSlide>
<Image src={custom} width={960} height={540} alt='' />
</SwiperSlide>
<SwiperSlide>
<Image src={stats} width={960} height={540} alt='' />
</SwiperSlide>
<SwiperSlide>
<Image src={leaderboards} width={960} height={540} alt='' />
</SwiperSlide>
<SwiperSlide>
<Image src={chatroom} width={960} height={540} alt='' />
</SwiperSlide>
</Swiper>
<p className='text-2xl mt-4 mb-1'>Downloads</p>
<div className='downloads'>
<Link
href='https://archive.org/download/berry-dash-archive/Berry-Dash-1.8.2-android.apk'
draggable={false}
>
Android
</Link>
<Link
href='https://archive.org/download/berry-dash-archive/Berry-Dash-1.8.2-ios.ipa'
draggable={false}
>
iOS
</Link>
<Link href='/download' draggable={false}>
Windows, macOS, or Linux
</Link>
</div>
</div>
)
}

View File

@@ -0,0 +1,58 @@
'use client'
import home from '@/assets/screenshots/triangles/home.png'
import createdLevels from '@/assets/screenshots/triangles/created-levels.png'
import createdLevelInfo from '@/assets/screenshots/triangles/created-level-info.png'
import editor from '@/assets/screenshots/triangles/editor.png'
import Image from 'next/image'
import { Swiper, SwiperSlide } from 'swiper/react'
import { Navigation, Keyboard } from 'swiper/modules'
import 'swiper/css'
import 'swiper/css/navigation'
import Link from 'next/link'
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
import { faHome } from '@fortawesome/free-solid-svg-icons'
export default function TrianglesGameInfo () {
return (
<div className='box text-center'>
<div className='relative'>
<Link href='/' className='home-button absolute -top-4 -left-4'>
<FontAwesomeIcon icon={faHome} />
</Link>
</div>
<p className='text-4xl'>Triangles</p>
<p>Triangles is a Geometry Dash fan game made in the Unity Game Engine</p>
<p>
At the moment, it is in beta and stuff is subject to change. No mobile
support until 1.0 release
</p>
<p className='text-2xl mt-4 mb-1'>Screenshots</p>
<Swiper
modules={[Keyboard, Navigation]}
navigation
keyboard={{ enabled: true }}
className='screenshots-gallery mx-auto max-w-[960px] w-[calc(100vw-64px)]'
>
<SwiperSlide>
<Image src={home} width={960} height={540} alt='' />
</SwiperSlide>
<SwiperSlide>
<Image src={createdLevels} width={960} height={540} alt='' />
</SwiperSlide>
<SwiperSlide>
<Image src={createdLevelInfo} width={960} height={540} alt='' />
</SwiperSlide>
<SwiperSlide>
<Image src={editor} width={960} height={540} alt='' />
</SwiperSlide>
</Swiper>
<p className='text-2xl mt-4 mb-1'>Downloads</p>
<div className='downloads'>
<Link href='/download' draggable={false}>
Windows, macOS, or Linux
</Link>
</div>
</div>
)
}

56
src/app/globals.css Normal file
View File

@@ -0,0 +1,56 @@
@import "tailwindcss";
body {
@apply bg-[rgb(24,24,48)] text-[rgb(200,200,250)] select-none flex items-center justify-center min-h-screen;
}
.box {
@apply bg-[rgb(48,48,72)] border border-[rgb(72,72,96)] rounded-lg shadow-[rgba(0,0,0,0.5)];
@apply w-auto p-6 m-2;
}
.games-grid {
@apply flex flex-wrap gap-4 mt-2 justify-center;
}
.games-grid a {
@apply flex flex-col items-center justify-center px-5 py-2.5 m-1 bg-[rgb(64,64,88)] border border-[rgb(88,88,112)] rounded-lg transition-all duration-200;
@apply hover:bg-[rgb(88,88,112)] hover:border-[rgb(112,112,136)] hover:-translate-y-0.5 min-w-[120px] w-auto h-32 shadow shadow-[rgba(0,0,0,0.5)];
}
.games-grid a img {
@apply mb-auto w-16 h-16;
}
.games-grid a:hover img {
@apply drop-shadow-[0_0_8px_rgb(120,120,180)];
}
.games-grid a span {
@apply text-[18px] sm:text-[20px] text-center whitespace-nowrap mt-2;
}
.swiper {
@apply rounded-2xl max-md:rounded-xl max-sm:rounded-lg;
}
.swiper-button-next svg,
.swiper-button-prev svg {
@apply text-[rgb(200,200,250)];
}
.downloads {
@apply flex flex-wrap gap-2 justify-center mt-2;
}
.downloads a {
@apply bg-[rgb(72,72,96)] hover:bg-[rgb(96,96,120)] border border-[rgb(96,96,120)] hover:border-[rgb(120,120,144)] hover:-translate-y-0.5 rounded-lg px-4 py-2 inline-block transition-all duration-200;
}
.home-button {
@apply bg-[rgb(72,72,96)] hover:bg-[rgb(96,96,120)] border border-[rgb(96,96,120)] hover:border-[rgb(120,120,144)] hover:-translate-y-px rounded-full transition-all h-10 w-10 flex items-center justify-center;
}
.home-button svg {
@apply h-5 w-5;
}

18
src/app/layout.tsx Normal file
View File

@@ -0,0 +1,18 @@
import { Lexend } from 'next/font/google'
import './globals.css'
const lexend = Lexend({
subsets: ['latin']
})
export default function RootLayout ({
children
}: Readonly<{
children: React.ReactNode
}>) {
return (
<html lang='en'>
<body className={lexend.className}>{children}</body>
</html>
)
}

96
src/app/page.tsx Normal file
View File

@@ -0,0 +1,96 @@
import Image from 'next/image'
import Link from 'next/link'
import berryDash from '@/assets/berry-dash.png'
import triangles from '@/assets/triangles.png'
import berryDashWithGuns from '@/assets/berry-dash-with-guns.png'
import berryDashLite from '@/assets/berry-dash-lite.png'
import berryDashGodotRemake from '@/assets/berry-dash-godot-remake.png'
import berryDashCustom from '@/assets/berry-dash-custom.png'
import { Metadata } from 'next'
export const metadata: Metadata = {
title: 'Lncvrt Games - Home',
description: 'A collection of games made by Lncvrt and others'
}
export default function Home () {
return (
<div className='box'>
<p className='text-center text-4xl'>Lncvrt Games</p>
<p className='text-center text-[18px] mb-4'>
A collection of games made by Lncvrt and others
</p>
<p className='text-center text-xl mt-2'>Main Games</p>
<div className='games-grid'>
<Link href='/game/berry-dash' draggable={false}>
<Image
src={berryDash}
width={64}
height={64}
draggable={false}
alt=''
/>
<span>Berry Dash</span>
</Link>
<Link href='/game/triangles' draggable={false}>
<Image
src={triangles}
width={64}
height={64}
draggable={false}
alt=''
/>
<span>Triangles</span>
</Link>
</div>
{/* <p className='text-center text-xl mt-2'>Spinoffs</p>
<div className='games-grid'>
<Link href='/game/berry-dash-with-guns' draggable={false}>
<Image
src={berryDashWithGuns}
width={64}
height={64}
draggable={false}
alt=''
/>
<span>Berry Dash with Guns</span>
</Link>
<Link href='/game/berry-dash-lite' draggable={false}>
<Image
src={berryDashLite}
width={64}
height={64}
draggable={false}
alt=''
/>
<span>Berry Dash Lite</span>
</Link>
</div>
<p className='text-center text-xl mt-2'>
Non-official but Verified games
</p>
<div className='games-grid'>
<Link href='/game/berry-dash-godot-remake' draggable={false}>
<Image
src={berryDashGodotRemake}
width={64}
height={64}
draggable={false}
alt=''
/>
<span>Berry Dash Godot Remake</span>
</Link>
<Link href='/game/berry-dash-custom' draggable={false}>
<Image
src={berryDashCustom}
width={64}
height={64}
draggable={false}
alt=''
/>
<span>Berry Dash Custom</span>
</Link>
</div> */}
</div>
)
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 562 KiB

BIN
src/assets/berry-dash.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 137 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 126 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 153 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 194 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 178 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 124 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 209 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

BIN
src/assets/triangles.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB