Ignore and untrack BMad directories
This commit is contained in:
@@ -1,347 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Test01 - App Screens Preview</title>
|
||||
<script src="https://cdn.tailwindcss.com"></script>
|
||||
<script src="https://unpkg.com/lucide@latest"></script>
|
||||
<link
|
||||
href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Merriweather:ital,wght@0,300;0,400;0,700;1,400&display=swap"
|
||||
rel="stylesheet">
|
||||
<style>
|
||||
body {
|
||||
font-family: 'Inter', sans-serif;
|
||||
background-color: #0F172A;
|
||||
}
|
||||
|
||||
.font-serif {
|
||||
font-family: 'Merriweather', serif;
|
||||
}
|
||||
|
||||
.hide-scrollbar::-webkit-scrollbar {
|
||||
display: none;
|
||||
}
|
||||
</style>
|
||||
<script>
|
||||
tailwind.config = {
|
||||
theme: {
|
||||
extend: {
|
||||
colors: {
|
||||
brand: {
|
||||
50: '#F1F5F9',
|
||||
100: '#E2E8F0',
|
||||
500: '#64748B', // Slate Blue
|
||||
700: '#334155',
|
||||
900: '#0F172A',
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body class="min-h-screen text-slate-300 p-8">
|
||||
|
||||
<div class="max-w-7xl mx-auto">
|
||||
<header class="mb-12 text-center">
|
||||
<h1 class="text-3xl font-bold text-white mb-2">Test01 App Flow</h1>
|
||||
<p class="text-slate-400">Key screens for the "Guided Venting Ritual" MVP</p>
|
||||
</header>
|
||||
|
||||
<!-- Grid of Screens -->
|
||||
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-8 justify-items-center">
|
||||
|
||||
<!-- SCREEN 1: ONBOARDING / LOGIN -->
|
||||
<div class="flex flex-col gap-4">
|
||||
<h2 class="text-center font-medium text-white">1. The Gate (Login)</h2>
|
||||
<div
|
||||
class="relative w-[320px] h-[680px] bg-white rounded-[40px] shadow-2xl overflow-hidden border-8 border-slate-800 flex flex-col">
|
||||
<!-- Status Bar -->
|
||||
<div
|
||||
class="h-6 bg-transparent flex justify-between px-5 pt-2 text-[10px] font-medium text-slate-900 z-10">
|
||||
<span>9:41</span>
|
||||
<div class="flex gap-1">
|
||||
<i data-lucide="wifi" class="w-3 h-3"></i>
|
||||
<i data-lucide="battery" class="w-3 h-3"></i>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Content -->
|
||||
<div class="flex-1 flex flex-col items-center justify-center p-8 text-center relative">
|
||||
<!-- BG Decoration -->
|
||||
<div class="absolute top-0 left-0 w-full h-[50%] bg-brand-50 rounded-b-[60px] -z-10"></div>
|
||||
|
||||
<div
|
||||
class="w-20 h-20 bg-brand-500 rounded-3xl flex items-center justify-center text-white mb-8 shadow-xl shadow-brand-500/20 rotate-3">
|
||||
<i data-lucide="message-circle-heart" class="w-10 h-10"></i>
|
||||
</div>
|
||||
|
||||
<h1 class="text-2xl font-bold text-slate-900 mb-2">Turn Stress into<br>Success</h1>
|
||||
<p class="text-slate-500 text-sm mb-10 leading-relaxed">
|
||||
Stop venting into the void. Turn your daily struggles into professional personal branding
|
||||
content with one click.
|
||||
</p>
|
||||
|
||||
<div class="w-full space-y-3">
|
||||
<button
|
||||
class="w-full py-3.5 bg-slate-900 text-white rounded-xl font-medium text-sm flex items-center justify-center gap-3 hover:bg-slate-800 transition">
|
||||
<i data-lucide="github" class="w-4 h-4"></i>
|
||||
Continue with GitHub
|
||||
</button>
|
||||
<button
|
||||
class="w-full py-3.5 bg-white border border-slate-200 text-slate-700 rounded-xl font-medium text-sm flex items-center justify-center gap-3 hover:bg-slate-50 transition">
|
||||
<svg class="w-4 h-4" viewBox="0 0 24 24">
|
||||
<path
|
||||
d="M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92c-.26 1.37-1.04 2.53-2.21 3.31v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.09z"
|
||||
fill="#4285F4" />
|
||||
<path
|
||||
d="M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z"
|
||||
fill="#34A853" />
|
||||
<path
|
||||
d="M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.07H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.93l2.85-2.22.81-.62z"
|
||||
fill="#FBBC05" />
|
||||
<path
|
||||
d="M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53z"
|
||||
fill="#EA4335" />
|
||||
</svg>
|
||||
Continue with Google
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- SCREEN 2: CHAT (Input) -->
|
||||
<div class="flex flex-col gap-4">
|
||||
<h2 class="text-center font-medium text-white">2. The Vent (Input)</h2>
|
||||
<div
|
||||
class="relative w-[320px] h-[680px] bg-[#F8FAFC] rounded-[40px] shadow-2xl overflow-hidden border-8 border-slate-800 flex flex-col">
|
||||
<!-- Header -->
|
||||
<div
|
||||
class="h-20 bg-white/80 backdrop-blur border-b border-slate-100 flex items-end pb-3 px-5 justify-between sticky top-0 z-10">
|
||||
<div class="flex items-center gap-3">
|
||||
<div
|
||||
class="w-8 h-8 bg-brand-100 rounded-full flex items-center justify-center text-brand-500">
|
||||
<i data-lucide="bot" class="w-4 h-4"></i>
|
||||
</div>
|
||||
<div>
|
||||
<div class="text-xs font-semibold text-slate-800">Teacher AI</div>
|
||||
<div class="text-[10px] text-green-500 font-medium">Online</div>
|
||||
</div>
|
||||
</div>
|
||||
<i data-lucide="more-horizontal" class="w-5 h-5 text-slate-400"></i>
|
||||
</div>
|
||||
|
||||
<!-- Chat Area -->
|
||||
<div class="flex-1 p-4 space-y-4 overflow-y-auto hide-scrollbar">
|
||||
<!-- AI Message -->
|
||||
<div class="flex gap-3">
|
||||
<div
|
||||
class="w-6 h-6 bg-brand-100 rounded-full flex-shrink-0 flex items-center justify-center text-brand-500 mt-1">
|
||||
<i data-lucide="bot" class="w-3 h-3"></i>
|
||||
</div>
|
||||
<div
|
||||
class="bg-white border border-slate-100 p-3 rounded-2xl rounded-tl-sm text-sm text-slate-600 shadow-sm max-w-[85%]">
|
||||
Rough day? I saw you struggling with that SQL query.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- User Message -->
|
||||
<div class="flex gap-3 flex-row-reverse">
|
||||
<div
|
||||
class="w-6 h-6 bg-brand-500 rounded-full flex-shrink-0 flex items-center justify-center text-white mt-1">
|
||||
<i data-lucide="user" class="w-3 h-3"></i>
|
||||
</div>
|
||||
<div
|
||||
class="bg-brand-500 text-white p-3 rounded-2xl rounded-tr-sm text-sm shadow-sm max-w-[85%]">
|
||||
It was a nightmare. I know the logic is right but the JOINs keep duplicating rows. I
|
||||
felt so dumb.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- AI Message -->
|
||||
<div class="flex gap-3">
|
||||
<div
|
||||
class="w-6 h-6 bg-brand-100 rounded-full flex-shrink-0 flex items-center justify-center text-brand-500 mt-1">
|
||||
<i data-lucide="bot" class="w-3 h-3"></i>
|
||||
</div>
|
||||
<div
|
||||
class="bg-white border border-slate-100 p-3 rounded-2xl rounded-tl-sm text-sm text-slate-600 shadow-sm max-w-[85%]">
|
||||
Duplication usually means a one-to-many relationship you missed. That's a classic
|
||||
"gotcha," not a stupidity problem. Want me to draft a post about "Mastering the JOIN"?
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Ghost Writer Prompt -->
|
||||
<div class="flex justify-center py-2">
|
||||
<button
|
||||
class="bg-brand-500 text-white text-xs font-medium px-4 py-2 rounded-full shadow-lg shadow-brand-500/20 flex items-center gap-2 animate-bounce">
|
||||
<i data-lucide="sparkles" class="w-3 h-3"></i>
|
||||
Draft It
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Input -->
|
||||
<div class="h-16 bg-white border-t border-slate-100 px-4 flex items-center gap-2">
|
||||
<button class="p-2 text-slate-400"><i data-lucide="plus" class="w-5 h-5"></i></button>
|
||||
<div class="flex-1 h-9 bg-slate-50 rounded-full flex items-center px-3 text-sm text-slate-400">
|
||||
Reply...</div>
|
||||
<button class="p-2 text-brand-500"><i data-lucide="send" class="w-5 h-5"></i></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- SCREEN 3: RESULT (The Draft) -->
|
||||
<div class="flex flex-col gap-4">
|
||||
<h2 class="text-center font-medium text-white">3. The Magic (Result)</h2>
|
||||
<div
|
||||
class="relative w-[320px] h-[680px] bg-slate-800 rounded-[40px] shadow-2xl overflow-hidden border-8 border-slate-800 flex flex-col">
|
||||
|
||||
<!-- Overlay Background (Simulating Sheet open over chat) -->
|
||||
<div class="absolute inset-x-0 top-0 h-20 bg-slate-900/50 z-0"></div>
|
||||
|
||||
<!-- The Sheet -->
|
||||
<div class="flex-1 mt-10 bg-white rounded-t-3xl overflow-hidden flex flex-col z-10 relative">
|
||||
<!-- Handle -->
|
||||
<div class="w-12 h-1 bg-slate-200 rounded-full mx-auto mt-3 mb-4"></div>
|
||||
|
||||
<!-- Content -->
|
||||
<div class="flex-1 overflow-y-scroll px-6 pb-24 hide-scrollbar">
|
||||
<div
|
||||
class="flex items-center gap-2 text-brand-500 bg-brand-50 w-max px-3 py-1 rounded-full text-[10px] font-bold uppercase tracking-wider mb-4">
|
||||
Ghostwriter Draft
|
||||
</div>
|
||||
|
||||
<h2 class="text-xl font-bold text-slate-900 font-sans leading-tight mb-4">
|
||||
SQL JOINs: Why 1+1 Sometimes Equals 4 (And How to Fix It)
|
||||
</h2>
|
||||
|
||||
<div class="flex items-center gap-2 mb-6">
|
||||
<div class="h-px bg-gray-100 flex-1"></div>
|
||||
<span class="text-[10px] text-gray-400 uppercase tracking-wider">Created just now</span>
|
||||
<div class="h-px bg-gray-100 flex-1"></div>
|
||||
</div>
|
||||
|
||||
<p class="font-serif text-slate-600 text-sm leading-7 mb-4">
|
||||
today I spent 2 hours staring at a dataset that doubled in size every time I ran a
|
||||
query. I thought I was bad at math. Turns out, I was just bad at JOINs.
|
||||
</p>
|
||||
<p class="font-serif text-slate-600 text-sm leading-7 mb-4">
|
||||
I learned the hard way: if you JOIN a table with duplicates, you don't just "add"
|
||||
data—you multiply it. This is why understanding your primary keys matters more than
|
||||
writing complex logic.
|
||||
</p>
|
||||
<p class="font-serif text-slate-600 text-sm leading-7">
|
||||
Data isn't just numbers; it's relationships. And today, I finally understood this one.
|
||||
💡
|
||||
<br><br>
|
||||
#DataAnalytics #SQL #LearningJourney #Tech
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<!-- Sticky Actions -->
|
||||
<div
|
||||
class="absolute bottom-0 w-full p-4 bg-white/95 backdrop-blur border-t border-slate-100 flex gap-3">
|
||||
<button
|
||||
class="flex-1 py-3 border border-slate-200 rounded-xl text-slate-500 text-sm font-medium flex items-center justify-center gap-2">
|
||||
<i data-lucide="thumbs-down" class="w-4 h-4"></i>
|
||||
Fix
|
||||
</button>
|
||||
<button
|
||||
class="flex-[2] py-3 bg-brand-500 rounded-xl text-white text-sm font-medium flex items-center justify-center gap-2 shadow-lg shadow-brand-500/25">
|
||||
<i data-lucide="thumbs-up" class="w-4 h-4"></i>
|
||||
Approve & Copy
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- SCREEN 4: HISTORY -->
|
||||
<div class="flex flex-col gap-4">
|
||||
<h2 class="text-center font-medium text-white">4. Reflection (History)</h2>
|
||||
<div
|
||||
class="relative w-[320px] h-[680px] bg-[#F8FAFC] rounded-[40px] shadow-2xl overflow-hidden border-8 border-slate-800 flex flex-col">
|
||||
<!-- Header -->
|
||||
<div class="h-24 bg-white px-6 pt-10 pb-4 flex justify-between items-end border-b border-slate-100">
|
||||
<h1 class="text-2xl font-bold text-slate-900">History</h1>
|
||||
<div class="w-8 h-8 rounded-full bg-slate-100 border border-white shadow-sm overflow-hidden">
|
||||
<div class="w-full h-full flex items-center justify-center bg-brand-500 text-white text-xs">
|
||||
MA</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- List -->
|
||||
<div class="flex-1 overflow-y-auto p-4 space-y-3 hide-scrollbar">
|
||||
|
||||
<!-- Item 1 -->
|
||||
<div
|
||||
class="bg-white p-4 rounded-2xl shadow-sm border border-slate-100/50 relative overflow-hidden group">
|
||||
<div class="absolute left-0 top-0 bottom-0 w-1 bg-brand-500"></div>
|
||||
<div class="flex justify-between items-start mb-2">
|
||||
<h3 class="font-bold text-slate-800 text-sm">SQL JOINs: Why 1+1...</h3>
|
||||
<span
|
||||
class="text-[10px] text-slate-400 bg-slate-50 px-2 py-0.5 rounded-full">Today</span>
|
||||
</div>
|
||||
<p class="text-xs text-slate-500 line-clamp-2 leading-relaxed mb-3">
|
||||
Today I spent 2 hours staring at a dataset that doubled in size every time I ran a
|
||||
query. I thought I was bad at math...
|
||||
</p>
|
||||
<div class="flex gap-2">
|
||||
<button
|
||||
class="flex-1 bg-slate-50 hover:bg-slate-100 text-slate-600 text-[10px] font-medium py-1.5 rounded-lg transition">View</button>
|
||||
<button
|
||||
class="flex-1 bg-brand-50 hover:bg-brand-100 text-brand-600 text-[10px] font-medium py-1.5 rounded-lg transition flex items-center justify-center gap-1">
|
||||
<i data-lucide="copy" class="w-3 h-3"></i> Copy
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Item 2 -->
|
||||
<div
|
||||
class="bg-white p-4 rounded-2xl shadow-sm border border-slate-100/50 relative overflow-hidden opacity-70">
|
||||
<div class="absolute left-0 top-0 bottom-0 w-1 bg-gray-300"></div>
|
||||
<div class="flex justify-between items-start mb-2">
|
||||
<h3 class="font-bold text-slate-800 text-sm">Python Indentation...</h3>
|
||||
<span
|
||||
class="text-[10px] text-slate-400 bg-slate-50 px-2 py-0.5 rounded-full">Yesterday</span>
|
||||
</div>
|
||||
<p class="text-xs text-slate-500 line-clamp-2 leading-relaxed">
|
||||
Python whitespace drove me crazy today. Why does an invisible character break my entire
|
||||
script? Here is what I learned...
|
||||
</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- Bottom Nav -->
|
||||
<div class="h-16 bg-white border-t border-slate-100 flex justify-around items-center px-2">
|
||||
<button class="p-2 flex flex-col items-center gap-1 text-slate-400 hover:text-brand-500">
|
||||
<i data-lucide="message-square" class="w-5 h-5"></i>
|
||||
<span class="text-[10px] font-medium">Vent</span>
|
||||
</button>
|
||||
<button class="p-2 flex flex-col items-center gap-1 text-brand-500">
|
||||
<i data-lucide="book-open" class="w-5 h-5"></i>
|
||||
<span class="text-[10px] font-medium">History</span>
|
||||
</button>
|
||||
<button class="p-2 flex flex-col items-center gap-1 text-slate-400 hover:text-brand-500">
|
||||
<i data-lucide="user" class="w-5 h-5"></i>
|
||||
<span class="text-[10px] font-medium">Profile</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
lucide.createIcons();
|
||||
</script>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
Reference in New Issue
Block a user