fixxxxxxxx

This commit is contained in:
2025-12-27 14:20:22 +02:00
parent 3612ada03a
commit 5bfdd7dd2b
26 changed files with 905 additions and 626 deletions

View File

@@ -5,6 +5,7 @@ import Link from "next/link";
import { usePlaceDetails } from "@/hooks/roblox/usePlaceDetails";
import { RobloxVerifiedSmall } from "@/components/roblox/RobloxTooltips";
import { Button } from "@/components/ui/button";
import { useGameLaunch } from "@/components/providers/GameLaunchProvider";
interface GamePageContentProps {
placeId: string;
@@ -12,11 +13,12 @@ interface GamePageContentProps {
export default function GamePageContent({ placeId }: GamePageContentProps) {
const game = usePlaceDetails(placeId);
const { launchGame } = useGameLaunch();
// Set dynamic document title
useEffect(() => {
if (!!game) {
document.title = `${game.name} | ocbwoy3-chan's roblox`;
document.title = `${game.name} | Roblox`;
}
}, [game]);
@@ -24,7 +26,7 @@ export default function GamePageContent({ placeId }: GamePageContentProps) {
return (
<div className="p-4 space-y-6">
<Button onClick={a=>open(`roblox://placeId=${game.rootPlaceId}`)}>
<Button onClick={() => launchGame(game.rootPlaceId.toString())}>
PLAY
</Button>
<div className="break-all pl-4 whitespace-pre-line font-black text-2xl">

View File

@@ -1,6 +1,5 @@
@tailwind base;
@tailwind components;
@tailwind utilities;
@config "../tailwind.config.ts";
@import "tailwindcss";
body {
font-family: SF Pro Display, Geist;
@@ -12,6 +11,20 @@ body {
@layer base {
:root {
--ctp-base: 240 21.052631735801697% 14.901961386203766%; /* base */
--ctp-mantle: 240 21.311475336551666% 11.96078434586525%; /* mantle */
--ctp-crust: 240 23.404255509376526% 8.627450853586197%; /* crust */
--ctp-text: 226 63.93442749977112% 88.03921341896057%; /* text */
--ctp-subtext0: 227 23.076922595500946% 71.96078300476074%; /* subtext0 */
--ctp-subtext1: 227 35.29411852359772% 80.0000011920929%; /* subtext1 */
--ctp-surface0: 237 16.239316761493683% 22.94117659330368%; /* surface0 */
--ctp-surface1: 234 13.20754736661911% 31.176471710205078%; /* surface1 */
--ctp-surface2: 233 12.05937068939209% 39.607844948768616%; /* surface2 */
--ctp-blue: 217 91.86992049217224% 75.88235139846802%; /* blue */
--ctp-green: 115 54.09836173057556% 76.07843279838562%; /* green */
--ctp-yellow: 41 86.04651093482971% 83.13725590705872%; /* yellow */
--ctp-red: 343 81.25% 74.90196228027344%; /* red */
--background: 240 21.052631735801697% 14.901961386203766%; /* base */
--foreground: 226 63.93442749977112% 88.03921341896057%; /* text */
@@ -69,6 +82,44 @@ body {
}
}
@theme {
--color-background: hsl(var(--background));
--color-foreground: hsl(var(--foreground));
--color-muted: hsl(var(--muted));
--color-muted-foreground: hsl(var(--muted-foreground));
--color-popover: hsl(var(--popover));
--color-popover-foreground: hsl(var(--popover-foreground));
--color-card: hsl(var(--card));
--color-card-foreground: hsl(var(--card-foreground));
--color-primary: hsl(var(--primary));
--color-primary-foreground: hsl(var(--primary-foreground));
--color-secondary: hsl(var(--secondary));
--color-secondary-foreground: hsl(var(--secondary-foreground));
--color-accent: hsl(var(--accent));
--color-accent-foreground: hsl(var(--accent-foreground));
--color-destructive: hsl(var(--destructive));
--color-destructive-foreground: hsl(var(--destructive-foreground));
--color-border: hsl(var(--border));
--color-input: hsl(var(--input));
--color-ring: hsl(var(--ring));
--color-chart-1: hsl(var(--chart-1));
--color-chart-2: hsl(var(--chart-2));
--color-chart-3: hsl(var(--chart-3));
--color-chart-4: hsl(var(--chart-4));
--color-chart-5: hsl(var(--chart-5));
--color-sidebar: hsl(var(--sidebar-background));
--color-sidebar-foreground: hsl(var(--sidebar-foreground));
--color-sidebar-primary: hsl(var(--sidebar-primary));
--color-sidebar-primary-foreground: hsl(var(--sidebar-primary-foreground));
--color-sidebar-accent: hsl(var(--sidebar-accent));
--color-sidebar-accent-foreground: hsl(var(--sidebar-accent-foreground));
--color-sidebar-border: hsl(var(--sidebar-border));
--color-sidebar-ring: hsl(var(--sidebar-ring));
--radius-lg: var(--radius);
--radius-md: calc(var(--radius) - 2px);
--radius-sm: calc(var(--radius) - 4px);
}
@layer base {
* {
@apply border-border;
@@ -88,3 +139,6 @@ body {
scrollbar-width: 0;
}
}
@utility border-border {
border-color: hsl(var(--border));
}

View File

@@ -6,6 +6,8 @@ import { Toaster } from "@/components/ui/toaster";
import Image from "next/image";
import { QuickTopUI, QuickTopUILogoPart } from "@/components/site/QuickTopUI";
import { ReactQueryProvider } from "@/components/providers/ReactQueryProvider";
import { GameLaunchProvider } from "@/components/providers/GameLaunchProvider";
import { GameLaunchDialog } from "@/components/providers/GameLaunchDialog";
const geistSans = Geist({
variable: "--font-geist-sans",
@@ -18,8 +20,10 @@ const geistMono = Geist_Mono({
});
export const metadata: Metadata = {
title: "home | ocbwoy3-chan's roblox",
description: "roblox meets next.js i think"
title: "Home | Roblox",
description: "Roblox is a global platform that brings people together through play.",
authors: [{name: "Roblox Corporation"}],
keywords: ["free games", "online games", "building games", "virtual worlds", "free mmo", "gaming cloud", "physics engine"]
};
export default function RootLayout({
@@ -34,21 +38,24 @@ export default function RootLayout({
>
<ReactQueryProvider>
<TooltipProvider>
<main>
{/* <Image
src={"/bg.png"}
width={1920}
height={1080}
className="w-screen h-screen bg-blend-hard-light fixed top-0 left-0 opacity-25"
alt=""
/> */}
<QuickTopUI />
<div className="backdrop-blur-lg z-10 isolate overflow-scroll no-scrollbar w-screen max-h-screen h-screen antialiased overflow-x-hidden">
<QuickTopUILogoPart />
{children}
</div>
</main>
<Toaster />
<GameLaunchProvider>
<main>
{/* <Image
src={"/bg.png"}
width={1920}
height={1080}
className="w-screen h-screen bg-blend-hard-light fixed top-0 left-0 opacity-25"
alt=""
/> */}
<QuickTopUI />
<div className="backdrop-blur-lg z-10 isolate overflow-scroll no-scrollbar w-screen max-h-screen h-screen antialiased overflow-x-hidden">
<QuickTopUILogoPart />
{children}
</div>
</main>
<GameLaunchDialog />
<Toaster />
</GameLaunchProvider>
</TooltipProvider>
</ReactQueryProvider>
</body>

View File

@@ -55,7 +55,7 @@ export default function Home() {
<div className="h-4" />
<BestFriendsHomeSect className="pt-2" />
<FriendsHomeSect className="pt-2" />
<div className="justify-center w-screen px-8 pt-6">
{/* <div className="justify-center w-screen px-8 pt-6">
<Alert variant="default" className="bg-base/50 space-x-2">
<AlertTriangleIcon />
<AlertTitle>Warning</AlertTitle>
@@ -64,7 +64,7 @@ export default function Home() {
process on GitHub.
</AlertDescription>
</Alert>
</div>
</div> */}
<div className="p-4 space-y-8 no-scrollbar">
{isLoading || !rec ? (

View File

@@ -42,7 +42,7 @@ export default function UserProfileContent({
// Set dynamic document title
useEffect(() => {
if (profile?.displayName) {
document.title = `${profile.displayName}'s profile | ocbwoy3-chan's roblox`;
document.title = `${profile.displayName}'s profile | Roblox`;
}
}, [profile]);