quantumcode-ai-architect / self-talk-journal.html
muboboev's picture
Подэтап 5.3 — GameQuest
be3690e verified
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Self-Talk Journal | QuantumCode</title>
<link rel="icon" type="image/x-icon" href="/static/favicon.ico">
<script src="https://cdn.tailwindcss.com"></script>
<script src="https://unpkg.com/feather-icons"></script>
<script src="components/self-talk-recorder.js"></script>
<style>
@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500;600;700&display=swap');
body {
font-family: 'Space Grotesk', sans-serif;
background-color: #0f172a;
color: #e2e8f0;
}
.gradient-text {
background: linear-gradient(90deg, #7c3aed 0%, #2563eb 100%);
-webkit-background-clip: text;
background-clip: text;
color: transparent;
}
.glass-card {
background: rgba(15, 23, 42, 0.7);
backdrop-filter: blur(10px);
border: 1px solid rgba(255, 255, 255, 0.1);
border-radius: 1rem;
}
.entry-card {
transition: all 0.3s ease;
border: 1px solid transparent;
}
.entry-card:hover {
transform: translateY(-3px);
border-color: #7c3aed;
}
</style>
</head>
<body class="min-h-screen">
<nav class="px-6 py-4 flex justify-between items-center">
<div class="flex items-center space-x-2">
<i data-feather="cpu" class="text-indigo-500"></i>
<span class="text-xl font-bold gradient-text">QuantumCode</span>
</div>
<div class="flex items-center space-x-2">
<a href="i18n-setup.html" class="flex items-center text-sm hover:text-indigo-400 transition-colors">
<i data-feather="globe" class="w-4 h-4 mr-1"></i>
<span id="currentLang">EN</span>
</a>
</div>
<div class="hidden md:flex space-x-8">
<a href="index.html" class="hover:text-indigo-400 transition-colors">Home</a>
<a href="progress-report.html" class="hover:text-indigo-400 transition-colors">Progress</a>
<a href="self-talk-journal.html" class="text-indigo-400">Self-Talk Journal</a>
<a href="gamequest.html" class="hover:text-indigo-400 transition-colors">GameQuest</a>
</div>
</nav>
<main class="container mx-auto px-4 py-16">
<section class="max-w-6xl mx-auto mb-12">
<h1 class="text-4xl md:text-5xl font-bold mb-6">
<span class="gradient-text">Self-Talk Journal</span>
</h1>
<p class="text-xl text-slate-300 mb-10">
Record and reflect on your daily self-talk patterns to build confidence and awareness.
</p>
<div class="glass-card p-8 mb-10">
<self-talk-recorder></self-talk-recorder>
</div>
<h2 class="text-3xl font-bold gradient-text mb-6">Past Entries</h2>
<div class="grid md:grid-cols-2 lg:grid-cols-3 gap-6" id="entriesContainer">
<!-- Entries will be loaded here -->
</div>
</section>
</main>
<script>
// Load entries from storage
async function loadEntries() {
// In a real app, this would fetch from your backend/API
const mockEntries = [
{
id: '1',
date: '2023-06-15',
duration: '1:02',
thumbnail: 'http://static.photos/people/320x240/1',
mood: 'Confident'
},
{
id: '2',
date: '2023-06-14',
duration: '0:58',
thumbnail: 'http://static.photos/people/320x240/2',
mood: 'Thoughtful'
},
{
id: '3',
date: '2023-06-13',
duration: '1:05',
thumbnail: 'http://static.photos/people/320x240/3',
mood: 'Nervous'
}
];
const container = document.getElementById('entriesContainer');
container.innerHTML = mockEntries.map(entry => `
<div class="glass-card entry-card p-6 cursor-pointer">
<div class="relative pb-[56.25%] mb-4 overflow-hidden rounded-lg">
<img src="${entry.thumbnail}" alt="Entry thumbnail" class="absolute h-full w-full object-cover">
<div class="absolute bottom-0 left-0 right-0 bg-gradient-to-t from-black/80 to-transparent p-3">
<div class="text-white font-medium">${entry.duration}</div>
</div>
</div>
<div class="flex justify-between items-center">
<div>
<h3 class="font-bold">${entry.date}</h3>
<p class="text-sm text-slate-400">${entry.mood}</p>
</div>
<button class="text-indigo-400 hover:text-indigo-300">
<i data-feather="play"></i>
</button>
</div>
</div>
`).join('');
feather.replace();
}
loadEntries();
// Set initial language
document.getElementById('currentLang').textContent =
document.cookie.match('(^|;)\\s*NEXT_LOCALE\\s*=\\s*([^;]+)')?.pop() || 'EN';
feather.replace();
</script>
</body>
</html>