Compare commits
2 Commits
9de27dafd8
...
596ed9c094
| Author | SHA1 | Date |
|---|---|---|
|
|
596ed9c094 | |
|
|
6a094debbc |
|
|
@ -210,7 +210,7 @@ export default function Before() {
|
|||
{/* Prize */}
|
||||
<section style={{ marginTop: 20 }}>
|
||||
<div style={{ ...card, padding: 16 }}>
|
||||
<div style={{ display: "flex", alignItems: "center", gap: 8 }}><span style={{ fontSize: 18 }}>🏆</span><h2 style={{ fontSize: 14, fontWeight: 800 }}>월드컵 끝까지 맞히면 100만 원</h2></div>
|
||||
<div style={{ display: "flex", alignItems: "center", gap: 8 }}><span style={{ fontSize: 18 }}>🏆</span><h2 style={{ fontSize: 14, fontWeight: 800 }}>글로벌 축구 축전 끝까지 맞히면 100만 원</h2></div>
|
||||
<p style={{ marginTop: 6, fontSize: 12, color: C.muted, lineHeight: 1.6 }}>AI 이기고 끝까지 살아남으면 100만 원. 매 경기 픽하고, 최종 우승팀과 결승 스코어까지 맞히면 도전 자격.</p>
|
||||
<button style={{ marginTop: 12, width: "100%", borderRadius: 8, padding: "10px 0", fontSize: 13, fontWeight: 700, background: `${C.green}1a`, color: C.green, border: `1px solid ${C.green}66` }}>100만원 도전하기</button>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ import type { Metadata, Viewport } from "next";
|
|||
import "./globals.css";
|
||||
|
||||
export const metadata: Metadata = {
|
||||
title: "TriplePick 2026 | AI 2026 월드컵 승부예측 — GPT vs Claude vs Gemini",
|
||||
title: "TriplePick 2026 | AI 2026 글로벌 축구 축전 승부예측 — GPT vs Claude vs Gemini",
|
||||
description:
|
||||
"GPT·Claude·Gemini가 매 경기를 서로 다르게 예측합니다. 당신의 픽을 찍고 AI와 겨뤄보세요. 끝까지 잘 맞히면 100만 원 챌린지.",
|
||||
applicationName: "TriplePick",
|
||||
|
|
|
|||
10
lib/i18n.ts
10
lib/i18n.ts
|
|
@ -96,7 +96,7 @@ type Dict = {
|
|||
|
||||
export const DICT: Record<Lang, Dict> = {
|
||||
ko: {
|
||||
heroPill: "AI와 함께하는 2026 월드컵 승부예측 챌린지",
|
||||
heroPill: "AI와 함께하는 2026 글로벌 축구 축전 승부예측 챌린지",
|
||||
back: "← 전체 일정",
|
||||
share: "투표 공유하기",
|
||||
shareCopied: "링크 복사됨 ✓",
|
||||
|
|
@ -142,8 +142,8 @@ export const DICT: Record<Lang, Dict> = {
|
|||
final: "Final",
|
||||
group: (g) => `Group ${g}`,
|
||||
footerNotOfficial:
|
||||
"Independent AI prediction game — not affiliated with, endorsed by, or sponsored by FIFA or the official World Cup.",
|
||||
footerDisc1: "FIFA 및 공식 월드컵과 무관한 독립 AI 예측 게임입니다 (제휴·후원·운영 아님).",
|
||||
"Independent AI prediction game — not affiliated with, endorsed by, or sponsored by FIFA or any official football tournament.",
|
||||
footerDisc1: "FIFA 및 공식 축구 대회와 무관한 독립 AI 예측 게임입니다 (제휴·후원·운영 아님).",
|
||||
footerDisc2: "스포츠 분석·엔터테인먼트 목적의 예측 게임이며 베팅·도박을 권유하지 않습니다. AI 예측은 실제 결과를 보장하지 않습니다.",
|
||||
footerDisc3: "100만 원 이벤트는 무료 참여형 챌린지입니다. 지급·동점 처리 조건은 별도 약관에 따릅니다. 이메일은 결과·이벤트 알림 목적으로만 사용됩니다.",
|
||||
hook: (a, b) => `${a} vs ${b}, AI의 선택은 갈렸다`,
|
||||
|
|
@ -154,7 +154,7 @@ export const DICT: Record<Lang, Dict> = {
|
|||
ado2Cta: "사용해보기",
|
||||
},
|
||||
en: {
|
||||
heroPill: "AI-powered World Cup 2026 match predictions",
|
||||
heroPill: "AI-powered Global Football Festival 2026 match predictions",
|
||||
back: "← All matches",
|
||||
share: "Share vote",
|
||||
shareCopied: "Link copied ✓",
|
||||
|
|
@ -200,7 +200,7 @@ export const DICT: Record<Lang, Dict> = {
|
|||
final: "Final",
|
||||
group: (g) => `Group ${g}`,
|
||||
footerNotOfficial:
|
||||
"Independent AI prediction game — not affiliated with, endorsed by, or sponsored by FIFA or the official World Cup.",
|
||||
"Independent AI prediction game — not affiliated with, endorsed by, or sponsored by FIFA or any official football tournament.",
|
||||
footerDisc1: "A fan-run prediction game using public match schedules; all picks are independent.",
|
||||
footerDisc2: "A sports-analysis & entertainment prediction game. No betting or gambling. AI predictions do not guarantee real outcomes.",
|
||||
footerDisc3: "The ₩1,000,000 event is a free-to-enter challenge. Payout & tie-break terms follow separate rules. Email is used only for result & event alerts.",
|
||||
|
|
|
|||
|
|
@ -8,16 +8,17 @@ import type { AIPrediction, CrowdStats, Match, ModelName, Outcome } from "./type
|
|||
import { FEATURED, GROUP_A } from "./schedule";
|
||||
import { type Lang, teamShort } from "./i18n";
|
||||
|
||||
// 체코전 — 실제 3모델 API 출력 (2026-06-10 생성: gpt-5.5 / claude-opus-4-8 / gemini-3.5-flash)
|
||||
// 체코전 — 실제 3모델 API 출력 (2026-06-10 캐노니컬 스냅샷: gpt-5.5 / claude-opus-4-8 / gemini-2.5-flash)
|
||||
// 결과: GPT 무 1-1(conf45) / Claude 무 1-1(conf55) / Gemini 한국 2-1(conf60) — 둘은 무승부, Gemini만 한국 승리
|
||||
const FEATURED_REASONS: Record<Lang, Record<ModelName, string>> = {
|
||||
ko: {
|
||||
GPT: "한국 역습과 체코 제공권이 팽팽",
|
||||
Claude: "손흥민·이강인 측면 창의성이 체코 블록을 연다",
|
||||
GPT: "전력과 압박 강도 모두 팽팽",
|
||||
Claude: "양 팀 전력 비슷, 박빙 무승부",
|
||||
Gemini: "이강인·손흥민 공격력, 체코 수비에 근소 우세",
|
||||
},
|
||||
en: {
|
||||
GPT: "Korea's counters vs Czech aerial — dead even",
|
||||
Claude: "Son & Lee's wing play cracks the Czech block",
|
||||
GPT: "Power and pressing — dead even",
|
||||
Claude: "Evenly matched, a tight draw likely",
|
||||
Gemini: "Korea's attack edges a stubborn Czech defense",
|
||||
},
|
||||
};
|
||||
|
|
@ -32,31 +33,31 @@ export const DEMO_FORCE_OPEN = true;
|
|||
const FEATURED_PREDICTIONS: AIPrediction[] = [
|
||||
{
|
||||
matchId: MATCH.matchId,
|
||||
model: "GPT", // gpt-5.5: 무승부 1-1
|
||||
model: "GPT", // gpt-5.5: 무승부 1-1 (conf 45)
|
||||
outcome: "DRAW",
|
||||
scoreA: 1,
|
||||
scoreB: 1,
|
||||
confidencePct: 54,
|
||||
confidencePct: 45,
|
||||
reasonShort: FEATURED_REASONS.ko.GPT,
|
||||
generatedAt: "2026-06-10",
|
||||
},
|
||||
{
|
||||
matchId: MATCH.matchId,
|
||||
model: "Claude", // claude-opus-4-8: 한국 승 2-1
|
||||
outcome: "TEAM_A_WIN",
|
||||
scoreA: 2,
|
||||
model: "Claude", // claude-opus-4-8: 무승부 1-1 (conf 55)
|
||||
outcome: "DRAW",
|
||||
scoreA: 1,
|
||||
scoreB: 1,
|
||||
confidencePct: 57,
|
||||
confidencePct: 55,
|
||||
reasonShort: FEATURED_REASONS.ko.Claude,
|
||||
generatedAt: "2026-06-10",
|
||||
},
|
||||
{
|
||||
matchId: MATCH.matchId,
|
||||
model: "Gemini", // gemini-3.5-flash: 한국 승 2-1
|
||||
model: "Gemini", // gemini-2.5-flash: 한국 승 2-1 (conf 60)
|
||||
outcome: "TEAM_A_WIN",
|
||||
scoreA: 2,
|
||||
scoreB: 1,
|
||||
confidencePct: 55,
|
||||
confidencePct: 60,
|
||||
reasonShort: FEATURED_REASONS.ko.Gemini,
|
||||
generatedAt: "2026-06-10",
|
||||
},
|
||||
|
|
@ -78,7 +79,7 @@ const MODELS: ModelName[] = ["GPT", "Claude", "Gemini"];
|
|||
export const MODEL_VERSIONS: Record<ModelName, string> = {
|
||||
GPT: "gpt-5.5",
|
||||
Claude: "claude-opus-4-8",
|
||||
Gemini: "gemini-3.5-flash",
|
||||
Gemini: "gemini-2.5-flash",
|
||||
};
|
||||
|
||||
// AI 셋이 갈리도록 만든 결과 조합 (홈/원정 균형)
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
// 2026 FIFA World Cup Group A 정식 일정 (출처: Wikipedia/FIFA, KST 변환 검증 2026-06-08)
|
||||
// 2026 글로벌 축구 축전 Group A 정식 일정 (출처: Wikipedia, KST 변환 검증 2026-06-08)
|
||||
// 모든 kickoffKst는 한국시간(+09:00). lockAt = 킥오프 -10분.
|
||||
import type { Match, Team } from "./types";
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue