Full vanilla HTML/CSS/JS consumer app with mobile-first responsive design. Pages: feed (index), post meal, trades, messages inbox, chat, landing page, and admin login skeleton. Uses Ava's design tokens throughout. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
81 lines
3.6 KiB
HTML
81 lines
3.6 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>My Trades — GrubFlip</title>
|
|
<meta name="theme-color" content="#FF6B35">
|
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
<link href="https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@600;700;800&family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet">
|
|
<link rel="stylesheet" href="css/styles.css">
|
|
</head>
|
|
<body>
|
|
|
|
<!-- Header -->
|
|
<header class="gf-header">
|
|
<div class="gf-header__logo">Grub<span>Flip</span></div>
|
|
<div class="gf-header__actions">
|
|
<a href="post.html" class="btn btn--primary btn--sm">
|
|
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><line x1="12" y1="5" x2="12" y2="19"/><line x1="5" y1="12" x2="19" y2="12"/></svg>
|
|
Post
|
|
</a>
|
|
</div>
|
|
</header>
|
|
|
|
<!-- Trade Tabs -->
|
|
<div class="trade-tabs" role="tablist" aria-label="Trade status">
|
|
<button class="trade-tab active" role="tab" data-tab="active" aria-selected="true">Active</button>
|
|
<button class="trade-tab" role="tab" data-tab="completed" aria-selected="false">History</button>
|
|
</div>
|
|
|
|
<!-- Trades List -->
|
|
<main style="padding:1rem 0 5rem;">
|
|
<div class="container" id="trades-container">
|
|
<div id="trades-list" role="feed" aria-label="Trade requests"></div>
|
|
</div>
|
|
</main>
|
|
|
|
<!-- Meetup Modal -->
|
|
<div class="modal-overlay" id="meetup-modal" role="dialog" aria-label="Set meetup details" aria-modal="true">
|
|
<div class="modal-sheet">
|
|
<div class="modal-sheet__handle"></div>
|
|
<h2 style="font-size:1.25rem;margin-bottom:1rem;">Set Meetup Details</h2>
|
|
<form id="meetup-form">
|
|
<div class="form-group">
|
|
<label class="form-label" for="meetup-location">Where to meet?</label>
|
|
<input type="text" id="meetup-location" class="form-input" placeholder="e.g. Lobby of 123 Main St" required>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="form-label" for="meetup-time">When? <small>(optional)</small></label>
|
|
<input type="datetime-local" id="meetup-time" class="form-input">
|
|
</div>
|
|
<button type="submit" class="btn btn--primary btn--lg btn--block">Confirm Meetup</button>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Bottom Nav -->
|
|
<nav class="gf-bottom-nav" aria-label="Main navigation">
|
|
<a href="index.html" class="gf-bottom-nav__item">
|
|
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M3 9l9-7 9 7v11a2 2 0 01-2 2H5a2 2 0 01-2-2z"/><polyline points="9 22 9 12 15 12 15 22"/></svg>
|
|
Feed
|
|
</a>
|
|
<a href="post.html" class="gf-bottom-nav__item">
|
|
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"/><line x1="12" y1="8" x2="12" y2="16"/><line x1="8" y1="12" x2="16" y2="12"/></svg>
|
|
Post
|
|
</a>
|
|
<a href="trades.html" class="gf-bottom-nav__item active" aria-current="page" style="position:relative">
|
|
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M7 16l-4-4m0 0l4-4m-4 4h18M17 8l4 4m0 0l-4 4m4-4H3"/></svg>
|
|
Trades
|
|
</a>
|
|
<button class="gf-bottom-nav__item" aria-label="Profile">
|
|
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M20 21v-2a4 4 0 00-4-4H8a4 4 0 00-4 4v2"/><circle cx="12" cy="7" r="4"/></svg>
|
|
Profile
|
|
</button>
|
|
</nav>
|
|
|
|
<script src="js/app.js"></script>
|
|
<script src="js/trades.js"></script>
|
|
</body>
|
|
</html>
|