Skip to content

Commit 6c6061c

Browse files
committed
feat: basics of tcg 2
1 parent d7eb702 commit 6c6061c

File tree

1 file changed

+18
-8
lines changed

1 file changed

+18
-8
lines changed

src/pages/apps/TcgCardGeneratorPage.js

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,11 @@ const backgroundOptions = [
1414
{value: 'Techno 3', label: 'Synthwave (Purple/Orange)', colors: ['#833ab4', '#fd1d1d', '#fcb045']},
1515
{value: 'Techno 4', label: 'Industrial (Grey/Cyan)', colors: ['#2c3e50', '#4ca1af']},
1616
{value: 'Techno 5', label: 'Void (Dark Blue/Black)', colors: ['#000046', '#1cb5e0']},
17+
{value: 'Techno 6', label: 'Neon Hazard (Green/Dark)', colors: ['#39ff14', '#222222']},
18+
{value: 'Techno 7', label: 'Code Red (Red/Black)', colors: ['#8b0000', '#000000']},
19+
{value: 'Techno 8', label: 'Electric Blue (Blue/Deep Blue)', colors: ['#0066ff', '#000033']},
20+
{value: 'Techno 9', label: 'Digital Gold (Gold/Black)', colors: ['#ffd700', '#1a1a1a']},
21+
{value: 'Techno 10', label: 'Dark Matter (Purple/Black)', colors: ['#240046', '#000000']},
1722
];
1823

1924
const TcgCardGeneratorPage = () => {
@@ -33,7 +38,7 @@ const TcgCardGeneratorPage = () => {
3338

3439
// --- State ---
3540
const [cardName, setCardName] = useState('Cyber Dragon');
36-
const [hp, setHp] = useState('2500');
41+
const [hp, setHp] = useState('250');
3742
const [background, setBackground] = useState('Techno 1');
3843
const [image, setImage] = useState(null);
3944

@@ -45,7 +50,7 @@ const TcgCardGeneratorPage = () => {
4550
'A mechanical dragon forged in the neon fires of the cybernetic underworld. It patrols the data streams, incinerating viruses with concentrated light.',
4651
);
4752

48-
const [illustrator, setIllustrator] = useState('Fezcode AI');
53+
const [illustrator, setIllustrator] = useState('Fezcodex');
4954

5055
// Derived state for card count/date (bottom right)
5156
const [cardNumber, setCardNumber] = useState('001');
@@ -264,19 +269,25 @@ const TcgCardGeneratorPage = () => {
264269
ctx.strokeRect(25, currentY, labelWidth, 25);
265270

266271
ctx.fillStyle = color;
267-
ctx.font = 'bold 12px "Courier New", monospace';
272+
ctx.font = 'bold 12px "Arvo", serif';
268273
ctx.textAlign = 'center';
269274
ctx.fillText(label, 25 + (labelWidth / 2), currentY + 17);
270275

271276
// Value Box
272277
ctx.fillStyle = 'rgba(255, 255, 255, 0.1)';
273278
ctx.fillRect(25 + labelWidth + 5, currentY, logicalWidth - 55 - labelWidth, 25);
274279

275-
ctx.fillStyle = '#fff';
276-
ctx.font = 'bold 14px Arial, sans-serif';
280+
ctx.font = 'bold 14px "Arvo", serif';
277281
ctx.textAlign = 'left';
278-
ctx.fillText(value, 25 + labelWidth + 15, currentY + 17);
279282

283+
// Contour
284+
ctx.strokeStyle = '#000';
285+
ctx.lineWidth = 3;
286+
ctx.strokeText(value, 25 + labelWidth + 15, currentY + 17);
287+
288+
// Fill
289+
ctx.fillStyle = color;
290+
ctx.fillText(value, 25 + labelWidth + 15, currentY + 17);
280291
currentY += 35;
281292
};
282293

@@ -300,10 +311,9 @@ const TcgCardGeneratorPage = () => {
300311
ctx.strokeRect(25, currentY, logicalWidth - 50, 80);
301312

302313
ctx.fillStyle = '#ccc';
303-
ctx.font = 'italic 12px Arial';
314+
ctx.font = '12px "Arvo", serif';
304315
ctx.textAlign = 'left';
305316
wrapText(ctx, description, 35, currentY + 20, logicalWidth - 70, 16);
306-
307317
// --- Footer ---
308318
const footerY = logicalHeight - 20;
309319

0 commit comments

Comments
 (0)