From b66bab48bd31adaabe18270dc4e48e9ba4e7622c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?H=C3=B6rdle=20Bot?= Date: Wed, 26 Nov 2025 10:13:40 +0100 Subject: [PATCH] Feat: Add Onboarding Assistant with driver.js --- app/page.tsx | 8 ++- components/Game.tsx | 33 ++++++---- components/OnboardingTour.tsx | 109 ++++++++++++++++++++++++++++++++++ package-lock.json | 7 +++ package.json | 1 + 5 files changed, 143 insertions(+), 15 deletions(-) create mode 100644 components/OnboardingTour.tsx diff --git a/app/page.tsx b/app/page.tsx index caa244d..7c461cd 100644 --- a/app/page.tsx +++ b/app/page.tsx @@ -1,5 +1,6 @@ import Game from '@/components/Game'; import NewsSection from '@/components/NewsSection'; +import OnboardingTour from '@/components/OnboardingTour'; import { getOrCreateDailyPuzzle } from '@/lib/dailyPuzzle'; import Link from 'next/link'; import { PrismaClient } from '@prisma/client'; @@ -30,7 +31,7 @@ export default async function Home() { return ( <> -
+
Global @@ -95,9 +96,12 @@ export default async function Home() { )}
- +
+ +
+ ); } diff --git a/components/Game.tsx b/components/Game.tsx index e6cba23..651e366 100644 --- a/components/Game.tsx +++ b/components/Game.tsx @@ -251,7 +251,7 @@ export default function Game({ dailyPuzzle, genre = null, isSpecial = false, max return (
-

Hördle #{dailyPuzzle.puzzleNumber}{genre ? ` / ${genre}` : ''}

+

Hördle #{dailyPuzzle.puzzleNumber}{genre ? ` / ${genre}` : ''}

Next puzzle in: {timeUntilNext}
@@ -259,22 +259,26 @@ export default function Game({ dailyPuzzle, genre = null, isSpecial = false, max
-
+
Attempt {gameState.guesses.length + 1} / {maxAttempts} {unlockedSeconds}s unlocked
- +
+ +
- +
+ +
@@ -293,9 +297,12 @@ export default function Game({ dailyPuzzle, genre = null, isSpecial = false, max {!hasWon && !hasLost && ( <> - +
+ +
{gameState.guesses.length < maxAttempts - 1 ? (