chatgpt codex + cascade: update

This commit is contained in:
2025-12-28 11:12:59 +02:00
parent cc7b93c658
commit 30a903a2df
9 changed files with 32 additions and 40 deletions

View File

@@ -74,7 +74,7 @@ export default function GamePageContent({
return ( return (
<div className="page-container py-6 space-y-6"> <div className="page-container py-6 space-y-6">
<div className="grid gap-6 lg:grid-cols-[2fr_1fr]"> <div className="grid gap-6 lg:grid-cols-[2fr_1fr]">
<div className="panel overflow-hidden aspect-video"> <div className="panel overflow-hidden aspect-video rounded-full bg-black!">
<LazyLoadedImage <LazyLoadedImage
imgId={`GameThumbnail_${game.rootPlaceId}`} imgId={`GameThumbnail_${game.rootPlaceId}`}
alt={game.name} alt={game.name}

View File

@@ -3,10 +3,7 @@
body { body {
font-family: font-family:
var(--font-geist-sans), var(--font-geist-sans), "SF Pro Display", "Segoe UI", sans-serif;
"SF Pro Display",
"Segoe UI",
sans-serif;
position: relative; position: relative;
min-height: 100%; min-height: 100%;
background-attachment: fixed; background-attachment: fixed;
@@ -14,11 +11,7 @@ body {
} }
.font-super-mono { .font-super-mono {
font-family: font-family: var(--font-geist-mono), "SF Mono", "Segoe UI Mono", monospace;
var(--font-geist-mono),
"SF Mono",
"Segoe UI Mono",
monospace;
} }
@layer base { @layer base {
@@ -140,7 +133,9 @@ body {
text-decoration: underline; text-decoration: underline;
text-decoration-color: hsl(var(--primary) / 0.35); text-decoration-color: hsl(var(--primary) / 0.35);
text-underline-offset: 0.18em; text-underline-offset: 0.18em;
transition: color 150ms ease, text-decoration-color 150ms ease; transition:
color 150ms ease,
text-decoration-color 150ms ease;
} }
a:hover { a:hover {
text-decoration-color: hsl(var(--primary) / 0.85); text-decoration-color: hsl(var(--primary) / 0.85);

View File

@@ -20,7 +20,6 @@ const geistMono = Geist_Mono({
subsets: ["latin"] subsets: ["latin"]
}); });
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Home | Roblox", title: "Home | Roblox",
description: description:

View File

@@ -23,8 +23,6 @@ function ProfileMoreDetails({ profile }: { profile: UserProfileDetails }) {
return ( return (
<> <>
{!theirFriends && <Skeleton className="w-full h-64" />} {!theirFriends && <Skeleton className="w-full h-64" />}
{/*
//@ts-expect-error */}
<FriendCarousel <FriendCarousel
title="Friends" title="Friends"
className="overflow-visible" className="overflow-visible"

View File

@@ -1,6 +1,6 @@
import { useCurrentAccount } from "@/hooks/roblox/useCurrentAccount"; import { useCurrentAccount } from "@/hooks/roblox/useCurrentAccount";
import { useFriendsPresence } from "@/hooks/roblox/usePresence"; import { useFriendsPresence } from "@/hooks/roblox/usePresence";
import React, { ReactNode, useMemo } from "react"; import React, { useMemo } from "react";
import LazyLoadedImage from "../util/LazyLoadedImage"; import LazyLoadedImage from "../util/LazyLoadedImage";
import { StupidHoverThing } from "../util/MiscStuff"; import { StupidHoverThing } from "../util/MiscStuff";
import { VerifiedIcon } from "./RobloxIcons"; import { VerifiedIcon } from "./RobloxIcons";
@@ -53,11 +53,11 @@ export function FriendCarousel({
} }
return ( return (
<div {...props}> <div className="relative" {...props}>
<h1 className="text-2xl pt-4 pl-4 -mb-4">{title}</h1> <h1 className="text-2xl pt-4 pl-4 -mb-4 pb-6">{title}</h1>
<div className="rounded-xl flex flex-col gap-2 px-4 no-scrollbar"> <div className="rounded-xl flex flex-col px-4 py-2 overflow-x-hidden no-scrollbar panel-soft">
<div <div
className="flex p-8 items-center gap-4 overflow-x-auto overflow-y-visible no-scrollbar pb-2 -mx-4 w-screen scrollbar-thin scrollbar-thumb-surface2 scrollbar-track-surface0" className="flex p-8 items-center gap-4 overflow-x-auto overflow-y-visible no-scrollbar pb-4 -mx-4 w-screen scrollbar-thin scrollbar-thumb-surface2 scrollbar-track-surface0"
style={{ style={{
scrollSnapType: "x mandatory", scrollSnapType: "x mandatory",
WebkitOverflowScrolling: "touch", WebkitOverflowScrolling: "touch",
@@ -69,6 +69,7 @@ export function FriendCarousel({
(b) => b.userId === a.id (b) => b.userId === a.id
); );
const userPresence = userStatus?.userPresenceType || 0; const userPresence = userStatus?.userPresenceType || 0;
/* dont touch these color thingys */
const borderColor = const borderColor =
userPresence === 1 userPresence === 1
? "border-blue/25 bg-blue/25" ? "border-blue/25 bg-blue/25"
@@ -107,15 +108,17 @@ export function FriendCarousel({
text={ text={
<div className="text-center items-center justify-center content-center"> <div className="text-center items-center justify-center content-center">
<span className="space-x-1 flex items-center"> <span className="space-x-1 flex items-center">
<p>{a.displayName || a.name}</p> <p className={textColor}>
{a.displayName || a.name}
</p>
{!a.hasVerifiedBadge ? ( {!a.hasVerifiedBadge ? (
<VerifiedIcon <VerifiedIcon
useDefault useDefault
className={`w-4 h-4 shrink-0`} className={`w-4 h-4 shrink-0 ${textColor}`}
/> />
) : null} ) : null}
{userPresence >= 2 ? ( {userPresence >= 2 ? (
<p> <p className={textColor}>
{userStatus?.lastLocation} {userStatus?.lastLocation}
</p> </p>
) : null} ) : null}
@@ -123,8 +126,10 @@ export function FriendCarousel({
</div> </div>
} }
> >
<Link href={`/users/${a.id}`}> <Link
<div className="flex flex-col min-w-[6.5rem]"> href={`/users/${a.id}`}
className="flex flex-col min-w-[6.5rem] relative"
>
<LazyLoadedImage <LazyLoadedImage
imgId={`AvatarHeadShot_${a.id}`} imgId={`AvatarHeadShot_${a.id}`}
alt={a.name} alt={a.name}
@@ -142,7 +147,6 @@ export function FriendCarousel({
/> />
) : null} ) : null}
</span> </span>
</div>
</Link> </Link>
</StupidHoverThing> </StupidHoverThing>
); );

View File

@@ -59,7 +59,7 @@ export const GameCard = React.memo(function GameCard({ game }: GameCardProps) {
onClick={() => setIsOpen(true)} onClick={() => setIsOpen(true)}
> >
<div className="space-y-2"> <div className="space-y-2">
<div className="panel group overflow-hidden aspect-video relative transition hover:-translate-y-0.5 hover:shadow-2xl"> <div className="panel group overflow-hidden aspect-video relative transition hover:-translate-y-0.5 hover:shadow-2xl bg-black!">
<div className="overflow-hidden"> <div className="overflow-hidden">
{game.primaryMediaAsset ? ( {game.primaryMediaAsset ? (
<LazyLoadedImage <LazyLoadedImage
@@ -73,7 +73,7 @@ export const GameCard = React.memo(function GameCard({ game }: GameCardProps) {
size="384x216" // match game thumbnail size size="384x216" // match game thumbnail size
/> />
) : ( ) : (
<div className="w-full h-full flex items-center justify-center bg-muted"> <div className="w-full h-full flex items-center justify-center bg-transparent">
<span className="text-muted-foreground"> <span className="text-muted-foreground">
{":("} {":("}
</span> </span>

View File

@@ -19,7 +19,6 @@ import Link from "next/link";
import { UserProfileDetails } from "@/lib/profile"; import { UserProfileDetails } from "@/lib/profile";
export function UserProfileHeader({ user }: { user: UserProfileDetails }) { export function UserProfileHeader({ user }: { user: UserProfileDetails }) {
if (!user) { if (!user) {
return ( return (
<div className="justify-center w-screen px-8 py-6"> <div className="justify-center w-screen px-8 py-6">

View File

@@ -8,10 +8,7 @@ const Card = React.forwardRef<
>(({ className, ...props }, ref) => ( >(({ className, ...props }, ref) => (
<div <div
ref={ref} ref={ref}
className={cn( className={cn("panel-soft text-card-foreground shadow-sm", className)}
"panel-soft text-card-foreground shadow-sm",
className
)}
{...props} {...props}
/> />
)); ));