Skip to content

Commit 0a33742

Browse files
hh
1 parent 90bf4f5 commit 0a33742

20 files changed

Lines changed: 1621 additions & 254 deletions

components/Yugioh/GridView.js

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -283,10 +283,12 @@ const GridView = ( { aggregatedData, onDeleteCard, onUpdateCard, sortConfig, han
283283
key={ card._id }
284284
className="group relative flex flex-wrap mx-auto sm:w-fit lg:w-full min-h-[32rem] flex-col rounded border border-white/10 bg-black/30 transition hover:border-indigo-400/50"
285285
>
286-
<div className={ `rounded relative flex-1 flip-card ${ isFlipped ? "flipped" : "" }` }>
287-
<div className="flip-card-inner rounded">
286+
<div className="rounded relative mx-auto w-full max-w-[24rem] [perspective:1250px]">
287+
<div
288+
className={ `grid w-full transition-transform duration-[800ms] [transform-style:preserve-3d] will-change-transform ${ isFlipped ? "[transform:rotateY(180deg)]" : "" }` }
289+
>
288290
<div
289-
className="flip-card-front flex h-[24rem] w-fit flex-col rounded"
291+
className="col-start-1 row-start-1 flex w-full flex-col rounded [backface-visibility:hidden]"
290292
role="button"
291293
tabIndex={ 0 }
292294
aria-pressed={ isFlipped }
@@ -298,9 +300,9 @@ const GridView = ( { aggregatedData, onDeleteCard, onUpdateCard, sortConfig, han
298300
}
299301
} }
300302
>
301-
<div className="relative flex h-full w-auto items-center justify-center overflow-hidden rounded border border-white/10 bg-black/40 shadow-lg transition duration-200 group-hover:border-indigo-400/60 dark:border-white/20 dark:bg-gray-900/60">
303+
<div className="relative flex h-[24rem] w-full items-center justify-center overflow-hidden rounded border border-white/10 bg-black/40 shadow-lg transition duration-200 group-hover:border-indigo-400/60 dark:border-white/20 dark:bg-gray-900/60">
302304
<img
303-
className="mx-auto h-full w-full object-top object-scale-down aspect-square"
305+
className="mx-auto h-full w-full object-top object-contain"
304306
src={ imageSrc }
305307
alt={ `Card Image - ${ card.productName }` }
306308
loading="lazy"
@@ -312,7 +314,7 @@ const GridView = ( { aggregatedData, onDeleteCard, onUpdateCard, sortConfig, han
312314
className="absolute inset-x-0 bottom-0 min-h-[24rem] bg-gradient-to-t from-black/80 via-black/30 to-transparent opacity-90"
313315
/>
314316

315-
<div className="relative flex flex-col gap-1 text-white p-2 text-shadow glass w-full bg-transparent">
317+
<div className="relative flex flex-col gap-1 p-2 text-white text-shadow glass w-full bg-transparent">
316318
<h3 className="text-lg font-semibold text-pretty break-words">{ card.productName }</h3>
317319
{ formatCurrency( card.marketPrice ) && (
318320
<p className="text-lg font-semibold">{ formatCurrency( card.marketPrice ) }</p>
@@ -325,19 +327,19 @@ const GridView = ( { aggregatedData, onDeleteCard, onUpdateCard, sortConfig, han
325327
) }
326328
</div>
327329
</div>
328-
<div className="flip-card-back flex min-h-[32rem] w-full flex-col justify-between gap-3 rounded border border-white/10 bg-black p-4 text-white shadow-lg dark:border-white/20 dark:bg-gray-900/80">
330+
<div className="col-start-1 row-start-1 flex w-full flex-col justify-between gap-3 rounded border border-white/10 bg-black p-4 text-white shadow-lg dark:border-white/20 dark:bg-gray-900/80 [backface-visibility:hidden] [transform:rotateY(180deg)]">
329331
<div className="space-y-3">
330332
<h3 className="text-lg font-semibold text-center text-pretty break-words">{ card.productName }</h3>
331-
<div className="space-y-1 text-xs text-white/70 sm:text-sm">
332-
{ detailEntries.map( ( entry ) => (
333-
<div key={ entry.label } className="flex items-start justify-between gap-3 border-b border-white/5 pb-1 last:border-b-0">
333+
<div className="space-y-1 text-xs text-white/70 sm:text-sm">
334+
{ detailEntries.map( ( entry ) => (
335+
<div key={ entry.label } className="flex min-w-0 items-start justify-between gap-3 border-b border-white/5 pb-1 last:border-b-0">
334336
<span className="text-[0.65rem] font-semibold uppercase tracking-wide text-white/60 sm:text-xs">
335337
{ entry.label }
336338
</span>
337-
<span className="text-right text-white">{ entry.value }</span>
339+
<span className="min-w-0 text-right break-words text-white">{ entry.value }</span>
338340
</div>
339-
) ) }
340-
</div>
341+
) ) }
342+
</div>
341343
</div>
342344
<div className="mx-auto mt-2 flex flex-wrap w-full gap-2 text-pretty sm:gap-3">
343345
<Link

middleware.ts

Lines changed: 0 additions & 114 deletions
This file was deleted.

pages/_app.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ import { CardProvider } from "@/context/CardContext";
55
import { MarketPriceProvider } from "@/context/MarketPriceContext";
66

77
import "@/styles/globals.css";
8-
import "@/styles/hovercards.css";
98

109
function usePrevious( value ) {
1110
let ref = useRef();

pages/api/Yugioh/cards.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import clientPromise from "@/utils/mongo.js";
2-
import { requireUser } from "@/middleware/authenticate";
2+
import { requireUser } from "@/proxy/authenticate";
33
import { ensureSafeUserId, coerceNumberField, coerceStringField } from "@/utils/securityValidators.js";
44

55
const MAX_CARDS_PER_REQUEST = 200;
@@ -127,3 +127,4 @@ export default async function handler( req, res ) {
127127
return res.status( 500 ).json( { message: "Server error" } );
128128
}
129129
}
130+

0 commit comments

Comments
 (0)