v19
This commit is contained in:
parent
241cf7f5b9
commit
c312777c3a
@ -8,6 +8,9 @@
|
||||
--gradient-primary: linear-gradient(135deg, #00f2ff 0%, #8a2be2 100%);
|
||||
--card-bg: rgba(26, 26, 36, 0.7);
|
||||
--border-color: rgba(255, 255, 255, 0.1);
|
||||
--shadow-soft: 0 10px 30px rgba(0, 0, 0, 0.3);
|
||||
--glass-bg: rgba(255, 255, 255, 0.03);
|
||||
--glass-border: rgba(255, 255, 255, 0.08);
|
||||
}
|
||||
|
||||
* {
|
||||
@ -37,58 +40,90 @@ a {
|
||||
|
||||
/* Header */
|
||||
header {
|
||||
padding: 20px 0;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
padding: 15px 0;
|
||||
position: sticky;
|
||||
top: 0;
|
||||
z-index: 100;
|
||||
background: rgba(10, 10, 15, 0.8);
|
||||
backdrop-filter: blur(10px);
|
||||
z-index: 1000;
|
||||
background: rgba(10, 10, 15, 0.85);
|
||||
backdrop-filter: blur(20px);
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
}
|
||||
|
||||
.logo {
|
||||
font-size: 24px;
|
||||
font-weight: 700;
|
||||
.logo-container {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 12px;
|
||||
}
|
||||
|
||||
.logo-img {
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
}
|
||||
|
||||
.logo-text {
|
||||
font-size: 22px;
|
||||
font-weight: 800;
|
||||
background: var(--gradient-primary);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
letter-spacing: -1px;
|
||||
letter-spacing: -0.5px;
|
||||
}
|
||||
|
||||
.nav-links {
|
||||
display: flex;
|
||||
gap: 30px;
|
||||
gap: 25px;
|
||||
}
|
||||
|
||||
.nav-links a {
|
||||
color: var(--text-secondary);
|
||||
font-weight: 500;
|
||||
transition: color 0.3s;
|
||||
font-size: 14px;
|
||||
transition: all 0.3s;
|
||||
position: relative;
|
||||
padding: 5px 0;
|
||||
}
|
||||
|
||||
.nav-links a:hover {
|
||||
.nav-links a:hover, .nav-links a.active {
|
||||
color: var(--text-primary);
|
||||
}
|
||||
|
||||
.nav-links a.active::after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 2px;
|
||||
background: var(--gradient-primary);
|
||||
border-radius: 2px;
|
||||
}
|
||||
|
||||
.btn {
|
||||
padding: 12px 24px;
|
||||
border-radius: 12px;
|
||||
font-weight: 600;
|
||||
cursor: pointer;
|
||||
transition: transform 0.2s, opacity 0.2s;
|
||||
transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
|
||||
border: none;
|
||||
display: inline-block;
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
gap: 8px;
|
||||
}
|
||||
|
||||
.btn:active {
|
||||
transform: scale(0.98);
|
||||
transform: scale(0.95);
|
||||
}
|
||||
|
||||
.btn-primary {
|
||||
background: var(--gradient-primary);
|
||||
color: #fff;
|
||||
box-shadow: 0 10px 20px rgba(0, 242, 255, 0.15);
|
||||
}
|
||||
|
||||
.btn-primary:hover {
|
||||
box-shadow: 0 15px 30px rgba(0, 242, 255, 0.25);
|
||||
transform: translateY(-2px);
|
||||
}
|
||||
|
||||
.btn-secondary {
|
||||
@ -97,26 +132,32 @@ header {
|
||||
border: 1px solid var(--border-color);
|
||||
}
|
||||
|
||||
.btn-secondary:hover {
|
||||
background: rgba(255, 255, 255, 0.05);
|
||||
border-color: rgba(255, 255, 255, 0.2);
|
||||
}
|
||||
|
||||
/* Hero Section */
|
||||
.hero {
|
||||
padding: 100px 0;
|
||||
padding: 120px 0;
|
||||
text-align: center;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.hero h1 {
|
||||
font-size: 64px;
|
||||
font-weight: 800;
|
||||
margin-bottom: 20px;
|
||||
letter-spacing: -2px;
|
||||
line-height: 1.1;
|
||||
font-size: 72px;
|
||||
font-weight: 900;
|
||||
margin-bottom: 24px;
|
||||
letter-spacing: -2.5px;
|
||||
line-height: 1;
|
||||
}
|
||||
|
||||
.hero p {
|
||||
font-size: 20px;
|
||||
font-size: 22px;
|
||||
color: var(--text-secondary);
|
||||
max-width: 700px;
|
||||
margin: 0 auto 40px;
|
||||
max-width: 750px;
|
||||
margin: 0 auto 48px;
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
.hero-bg {
|
||||
@ -132,14 +173,104 @@ header {
|
||||
|
||||
.hero-blob {
|
||||
position: absolute;
|
||||
width: 600px;
|
||||
height: 600px;
|
||||
background: radial-gradient(circle, rgba(0, 242, 255, 0.1) 0%, rgba(138, 43, 226, 0.1) 100%);
|
||||
filter: blur(100px);
|
||||
width: 800px;
|
||||
height: 800px;
|
||||
background: radial-gradient(circle, rgba(0, 242, 255, 0.08) 0%, rgba(138, 43, 226, 0.08) 100%);
|
||||
filter: blur(120px);
|
||||
border-radius: 50%;
|
||||
}
|
||||
|
||||
/* Features Cards */
|
||||
/* Glass Cards */
|
||||
.card {
|
||||
background: var(--glass-bg);
|
||||
border: 1px solid var(--glass-border);
|
||||
backdrop-filter: blur(20px);
|
||||
padding: 40px;
|
||||
border-radius: 32px;
|
||||
transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
|
||||
}
|
||||
|
||||
.card:hover {
|
||||
transform: translateY(-12px);
|
||||
border-color: rgba(0, 242, 255, 0.3);
|
||||
background: rgba(255, 255, 255, 0.05);
|
||||
box-shadow: 0 20px 40px rgba(0, 0, 0, 0.4);
|
||||
}
|
||||
|
||||
/* Enhanced Swipe Buttons */
|
||||
.swipe-actions {
|
||||
display: flex;
|
||||
gap: 30px;
|
||||
margin-top: 40px;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.action-btn {
|
||||
width: 76px;
|
||||
height: 76px;
|
||||
border-radius: 50%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: 24px;
|
||||
cursor: pointer;
|
||||
border: 1px solid var(--border-color);
|
||||
transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
background: var(--surface-color);
|
||||
}
|
||||
|
||||
.btn-dislike {
|
||||
color: #ff4d4d;
|
||||
background: rgba(255, 77, 77, 0.05);
|
||||
}
|
||||
|
||||
.btn-dislike:hover {
|
||||
background: #ff4d4d;
|
||||
color: #fff;
|
||||
transform: scale(1.1) rotate(-8deg);
|
||||
box-shadow: 0 15px 30px rgba(255, 77, 77, 0.3);
|
||||
}
|
||||
|
||||
.btn-like {
|
||||
color: var(--accent-blue);
|
||||
background: rgba(0, 242, 255, 0.05);
|
||||
border-color: var(--accent-blue);
|
||||
}
|
||||
|
||||
.btn-like:hover {
|
||||
background: var(--gradient-primary);
|
||||
color: #fff;
|
||||
border-color: transparent;
|
||||
transform: scale(1.2) rotate(8deg);
|
||||
box-shadow: 0 15px 35px rgba(138, 43, 226, 0.4);
|
||||
}
|
||||
|
||||
.action-btn i {
|
||||
z-index: 2;
|
||||
}
|
||||
|
||||
/* Find Partners Specific Styling */
|
||||
.partnership-hero {
|
||||
padding: 60px 0 40px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.match-score-pill {
|
||||
background: rgba(0, 242, 255, 0.1);
|
||||
color: var(--accent-blue);
|
||||
padding: 6px 14px;
|
||||
border-radius: 50px;
|
||||
font-size: 13px;
|
||||
font-weight: 700;
|
||||
border: 1px solid rgba(0, 242, 255, 0.2);
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 6px;
|
||||
}
|
||||
|
||||
/* Features grid */
|
||||
.features {
|
||||
padding: 80px 0;
|
||||
display: grid;
|
||||
@ -147,101 +278,20 @@ header {
|
||||
gap: 30px;
|
||||
}
|
||||
|
||||
.card {
|
||||
background: var(--card-bg);
|
||||
border: 1px solid var(--border-color);
|
||||
backdrop-filter: blur(20px);
|
||||
padding: 40px;
|
||||
border-radius: 24px;
|
||||
transition: transform 0.3s, border-color 0.3s;
|
||||
}
|
||||
|
||||
.card:hover {
|
||||
transform: translateY(-10px);
|
||||
border-color: rgba(0, 242, 255, 0.3);
|
||||
}
|
||||
|
||||
.card-icon {
|
||||
width: 48px;
|
||||
height: 48px;
|
||||
background: var(--surface-color);
|
||||
border-radius: 12px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
margin-bottom: 24px;
|
||||
color: var(--accent-blue);
|
||||
font-size: 24px;
|
||||
}
|
||||
|
||||
.card h3 {
|
||||
margin-bottom: 16px;
|
||||
font-size: 22px;
|
||||
}
|
||||
|
||||
.card p {
|
||||
color: var(--text-secondary);
|
||||
}
|
||||
|
||||
/* How it Works */
|
||||
.how-it-works {
|
||||
padding: 100px 0;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.how-it-works h2 {
|
||||
font-size: 40px;
|
||||
margin-bottom: 60px;
|
||||
}
|
||||
|
||||
.steps {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
|
||||
gap: 40px;
|
||||
}
|
||||
|
||||
.step {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.step-number {
|
||||
font-size: 48px;
|
||||
font-weight: 800;
|
||||
opacity: 0.1;
|
||||
margin-bottom: -20px;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.step h4 {
|
||||
font-size: 24px;
|
||||
margin-bottom: 12px;
|
||||
}
|
||||
|
||||
/* Footer */
|
||||
footer {
|
||||
padding: 60px 0;
|
||||
padding: 80px 0 40px;
|
||||
border-top: 1px solid var(--border-color);
|
||||
margin-top: 100px;
|
||||
margin-top: 120px;
|
||||
text-align: center;
|
||||
color: var(--text-secondary);
|
||||
}
|
||||
|
||||
.footer-links {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
gap: 40px;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.footer-links a:hover {
|
||||
color: var(--text-primary);
|
||||
}
|
||||
|
||||
@media (max-width: 768px) {
|
||||
.hero h1 {
|
||||
font-size: 40px;
|
||||
font-size: 48px;
|
||||
}
|
||||
.nav-links {
|
||||
display: none;
|
||||
.hero p {
|
||||
font-size: 18px;
|
||||
}
|
||||
}
|
||||
}
|
||||
11
assets/images/logo.svg
Normal file
11
assets/images/logo.svg
Normal file
@ -0,0 +1,11 @@
|
||||
<svg width="40" height="40" viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<rect width="40" height="40" rx="12" fill="url(#paint0_linear)"/>
|
||||
<path d="M10 28L10 12L20 22L30 12L30 28" stroke="white" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<circle cx="20" cy="10" r="2.5" fill="white"/>
|
||||
<defs>
|
||||
<linearGradient id="paint0_linear" x1="0" y1="0" x2="40" y2="40" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#00f2ff"/>
|
||||
<stop offset="1" stop-color="#8a2be2"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 566 B |
195
dashboard.php
195
dashboard.php
@ -93,7 +93,9 @@ function number_get_formatted($num) {
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>Dashboard — <?= htmlspecialchars($platformName) ?></title>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet">
|
||||
<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=Inter:wght@400;500;600;700;800;900&display=swap" rel="stylesheet">
|
||||
<link rel="stylesheet" href="assets/css/custom.css?v=<?php echo time(); ?>">
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
|
||||
<style>
|
||||
@ -117,7 +119,10 @@ function number_get_formatted($num) {
|
||||
|
||||
<header>
|
||||
<div class="container" style="display: flex; justify-content: space-between; align-items: center; width: 100%;">
|
||||
<div class="logo"><?= htmlspecialchars($platformName) ?></div>
|
||||
<a href="dashboard.php" class="logo-container">
|
||||
<img src="assets/images/logo.svg" alt="<?= htmlspecialchars($platformName) ?> Logo" class="logo-img">
|
||||
<span class="logo-text"><?= htmlspecialchars($platformName) ?></span>
|
||||
</a>
|
||||
<nav class="nav-links">
|
||||
<?php if ($user['role'] === 'founder'): ?>
|
||||
<a href="startups.php">My Startups</a>
|
||||
@ -128,64 +133,79 @@ function number_get_formatted($num) {
|
||||
<?php endif; ?>
|
||||
<a href="discover.php">Discovery Hub</a>
|
||||
<a href="messages.php">Messages</a>
|
||||
<a href="notifications.php">Notifications</a>
|
||||
</nav>
|
||||
<div style="display: flex; align-items: center; gap: 15px;">
|
||||
<span style="font-size: 14px; font-weight: 500;"><?= htmlspecialchars($user['full_name']) ?> <span style="opacity: 0.6; font-weight: 400;">(<?= ucfirst($user['role']) ?>)</span></span>
|
||||
<a href="logout.php" class="btn btn-secondary" style="padding: 8px 16px; font-size: 13px;">Log Out</a>
|
||||
<a href="notifications.php" style="color: var(--text-secondary); position: relative; font-size: 18px;">
|
||||
<i class="fas fa-bell"></i>
|
||||
</a>
|
||||
<div style="display: flex; align-items: center; gap: 10px; padding: 5px 12px; background: rgba(255,255,255,0.05); border-radius: 50px; border: 1px solid var(--border-color);">
|
||||
<div style="width: 24px; height: 24px; background: var(--gradient-primary); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 10px; color: #fff; font-weight: 800;">
|
||||
<?= substr($user['full_name'], 0, 1) ?>
|
||||
</div>
|
||||
<span style="font-size: 13px; font-weight: 600;"><?= htmlspecialchars(explode(' ', $user['full_name'])[0]) ?></span>
|
||||
</div>
|
||||
<a href="logout.php" class="btn btn-secondary" style="padding: 8px 16px; font-size: 12px; border-radius: 10px;">Log Out</a>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<main class="container" style="padding-top: 50px; padding-bottom: 50px;">
|
||||
<main class="container" style="padding-top: 60px; padding-bottom: 80px;">
|
||||
<div class="hero-bg">
|
||||
<div class="hero-blob" style="top: 10%; left: -10%;"></div>
|
||||
<div class="hero-blob" style="bottom: 10%; right: -10%; width: 400px; height: 400px; background: radial-gradient(circle, rgba(138, 43, 226, 0.1) 0%, rgba(0, 242, 255, 0.1) 100%);"></div>
|
||||
<div class="hero-blob" style="top: 5%; left: -15%;"></div>
|
||||
<div class="hero-blob" style="bottom: 10%; right: -15%; width: 500px; height: 500px; background: radial-gradient(circle, rgba(138, 43, 226, 0.1) 0%, rgba(0, 242, 255, 0.1) 100%);"></div>
|
||||
</div>
|
||||
|
||||
<h1>Welcome, <?= htmlspecialchars(explode(' ', $user['full_name'])[0]) ?>!</h1>
|
||||
<p style="color: var(--text-secondary); margin-bottom: 40px;">Manage your projects and network from one place.</p>
|
||||
<div style="margin-bottom: 60px;">
|
||||
<div class="match-score-pill" style="margin-bottom: 20px;"><i class="fas fa-rocket"></i> Launchpad Active</div>
|
||||
<h1 style="font-size: 56px; font-weight: 900; letter-spacing: -2px; line-height: 1.1;">Welcome back, <span style="background: var(--gradient-primary); -webkit-background-clip: text; -webkit-text-fill-color: transparent;"><?= htmlspecialchars(explode(' ', $user['full_name'])[0]) ?>.</span></h1>
|
||||
<p style="color: var(--text-secondary); font-size: 20px; margin-top: 10px;">Your command center for the next big thing.</p>
|
||||
</div>
|
||||
|
||||
<div style="display: grid; grid-template-columns: 2fr 1fr; gap: 30px;">
|
||||
<div style="display: grid; grid-template-columns: 2fr 1fr; gap: 40px;">
|
||||
<div>
|
||||
<?php if ($user['role'] === 'founder'): ?>
|
||||
<div class="card" style="margin-bottom: 30px;">
|
||||
<div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 25px;">
|
||||
<h3 style="margin: 0;">My Ventures</h3>
|
||||
<a href="start_funding.php" class="btn btn-primary" style="padding: 10px 20px; font-size: 14px;">+ Launch New Startup</a>
|
||||
<div class="card" style="margin-bottom: 40px; padding: 35px;">
|
||||
<div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 30px;">
|
||||
<h3 style="margin: 0; font-size: 24px; font-weight: 800;">My Ventures</h3>
|
||||
<a href="start_funding.php" class="btn btn-primary" style="padding: 12px 24px; font-size: 14px;">+ Launch Startup</a>
|
||||
</div>
|
||||
|
||||
<?php if (empty($myStartups)): ?>
|
||||
<div style="text-align: center; padding: 50px 0; background: rgba(255,255,255,0.02); border-radius: 16px; border: 1px dashed var(--border-color);">
|
||||
<i class="fas fa-rocket" style="font-size: 40px; color: var(--accent-blue); opacity: 0.5; margin-bottom: 15px;"></i>
|
||||
<p style="color: var(--text-secondary); margin-bottom: 20px;">Ready to share your vision with the world?</p>
|
||||
<div style="text-align: center; padding: 60px 0; background: rgba(255,255,255,0.02); border-radius: 32px; border: 1px dashed var(--border-color);">
|
||||
<div class="card-icon" style="margin: 0 auto 20px; background: rgba(0, 242, 255, 0.1);"><i class="fas fa-rocket"></i></div>
|
||||
<p style="color: var(--text-secondary); margin-bottom: 25px; font-size: 18px;">Ready to share your vision with the world?</p>
|
||||
<a href="start_funding.php" class="btn btn-primary">Start Your First Round</a>
|
||||
</div>
|
||||
<?php else: ?>
|
||||
<div style="display: grid; grid-template-columns: 1fr; gap: 15px;">
|
||||
<div style="display: grid; grid-template-columns: 1fr; gap: 20px;">
|
||||
<?php foreach ($myStartups as $startup):
|
||||
$goal = $startup['active_goal'] ?? $startup['funding_target'];
|
||||
$raised = $startup['active_raised'] ?? $startup['funding_raised'];
|
||||
$isTrending = in_array($startup['id'], $trendingIds);
|
||||
?>
|
||||
<div style="padding: 20px; background: var(--surface-color); border-radius: 16px; border: 1px solid var(--border-color); display: flex; justify-content: space-between; align-items: center; transition: all 0.2s; cursor: pointer;" onclick="window.location.href='startup_details.php?id=<?= $startup['id'] ?>'">
|
||||
<div>
|
||||
<div style="font-weight: 600; font-size: 18px; margin-bottom: 4px;">
|
||||
<?= htmlspecialchars($startup['name']) ?>
|
||||
<?php if ($isTrending): ?>
|
||||
<span class="trending-pill"><i class="fas fa-fire"></i> Trending</span>
|
||||
<?php endif; ?>
|
||||
<div class="candidate-card" style="padding: 25px; display: flex; justify-content: space-between; align-items: center;" onclick="window.location.href='startup_details.php?id=<?= $startup['id'] ?>'">
|
||||
<div style="display: flex; align-items: center; gap: 20px;">
|
||||
<div style="width: 60px; height: 60px; background: var(--gradient-primary); border-radius: 18px; display: flex; align-items: center; justify-content: center; font-size: 24px; color: #fff; font-weight: 800;">
|
||||
<?= substr($startup['name'], 0, 1) ?>
|
||||
</div>
|
||||
<div style="font-size: 13px; color: var(--text-secondary); display: flex; align-items: center; gap: 10px;">
|
||||
<span style="padding: 2px 8px; background: rgba(0, 122, 255, 0.1); color: var(--accent-blue); border-radius: 4px; font-weight: 600;">
|
||||
<?= $startup['round_status'] === 'Active' ? 'ROUND ACTIVE' : 'NO ACTIVE ROUND' ?>
|
||||
</span>
|
||||
<span>Target: £<?= number_get_formatted($goal) ?></span>
|
||||
<div>
|
||||
<div style="font-weight: 800; font-size: 20px; margin-bottom: 6px;">
|
||||
<?= htmlspecialchars($startup['name']) ?>
|
||||
<?php if ($isTrending): ?>
|
||||
<span class="trending-pill"><i class="fas fa-fire"></i> Trending</span>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
<div style="font-size: 14px; color: var(--text-secondary); display: flex; align-items: center; gap: 12px;">
|
||||
<span style="padding: 4px 10px; background: rgba(0, 242, 255, 0.1); color: var(--accent-blue); border-radius: 8px; font-weight: 700; font-size: 12px; letter-spacing: 0.5px;">
|
||||
<?= strtoupper($startup['round_status'] ?? 'Draft') ?>
|
||||
</span>
|
||||
<span style="opacity: 0.7;">Target: £<?= number_get_formatted($goal) ?></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div style="text-align: right;">
|
||||
<div style="font-size: 18px; font-weight: 700; color: #fff;">£<?= number_get_formatted($raised) ?></div>
|
||||
<div style="font-size: 12px; color: var(--text-secondary);">Raised in round</div>
|
||||
<div style="font-size: 22px; font-weight: 900; color: #fff;">£<?= number_get_formatted($raised) ?></div>
|
||||
<div style="font-size: 13px; color: var(--text-secondary); opacity: 0.6;">Funds Raised</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php endforeach; ?>
|
||||
@ -193,29 +213,34 @@ function number_get_formatted($num) {
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
<?php else: ?>
|
||||
<div class="card" style="margin-bottom: 30px;">
|
||||
<div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 25px;">
|
||||
<h3 style="margin: 0;">Portfolio Overview</h3>
|
||||
<a href="startups.php" class="btn btn-primary" style="padding: 10px 20px; font-size: 14px;">Find New Deals</a>
|
||||
<div class="card" style="margin-bottom: 40px; padding: 35px;">
|
||||
<div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 30px;">
|
||||
<h3 style="margin: 0; font-size: 24px; font-weight: 800;">Portfolio Overview</h3>
|
||||
<a href="startups.php" class="btn btn-primary" style="padding: 12px 24px; font-size: 14px;">Find New Deals</a>
|
||||
</div>
|
||||
|
||||
<?php if (empty($myInvestments)): ?>
|
||||
<div style="text-align: center; padding: 50px 0; background: rgba(255,255,255,0.02); border-radius: 16px; border: 1px dashed var(--border-color);">
|
||||
<i class="fas fa-chart-line" style="font-size: 40px; color: var(--accent-blue); opacity: 0.5; margin-bottom: 15px;"></i>
|
||||
<p style="color: var(--text-secondary); margin-bottom: 20px;">Browse the next generation of student-led innovation.</p>
|
||||
<div style="text-align: center; padding: 60px 0; background: rgba(255,255,255,0.02); border-radius: 32px; border: 1px dashed var(--border-color);">
|
||||
<div class="card-icon" style="margin: 0 auto 20px; background: rgba(0, 242, 255, 0.1);"><i class="fas fa-chart-line"></i></div>
|
||||
<p style="color: var(--text-secondary); margin-bottom: 25px; font-size: 18px;">Start backing the next generation of founders.</p>
|
||||
<a href="startups.php" class="btn btn-primary">Start Investing</a>
|
||||
</div>
|
||||
<?php else: ?>
|
||||
<div style="display: grid; grid-template-columns: 1fr; gap: 15px;">
|
||||
<div style="display: grid; grid-template-columns: 1fr; gap: 20px;">
|
||||
<?php foreach ($myInvestments as $inv): ?>
|
||||
<div style="padding: 20px; background: var(--surface-color); border-radius: 16px; border: 1px solid var(--border-color); display: flex; justify-content: space-between; align-items: center;">
|
||||
<div>
|
||||
<div style="font-weight: 600; font-size: 18px; margin-bottom: 4px;"><?= htmlspecialchars($inv['startup_name']) ?></div>
|
||||
<div style="font-size: 13px; color: var(--text-secondary);">Committed on <?= date('M d, Y', strtotime($inv['created_at'])) ?></div>
|
||||
<div class="candidate-card" style="padding: 25px; display: flex; justify-content: space-between; align-items: center;">
|
||||
<div style="display: flex; align-items: center; gap: 20px;">
|
||||
<div style="width: 60px; height: 60px; background: var(--surface-color); border-radius: 18px; display: flex; align-items: center; justify-content: center; font-size: 24px; border: 1px solid var(--border-color);">
|
||||
<i class="fas fa-building" style="opacity: 0.5;"></i>
|
||||
</div>
|
||||
<div>
|
||||
<div style="font-weight: 800; font-size: 20px; margin-bottom: 6px;"><?= htmlspecialchars($inv['startup_name']) ?></div>
|
||||
<div style="font-size: 14px; color: var(--text-secondary);">Committed on <?= date('M d, Y', strtotime($inv['created_at'])) ?></div>
|
||||
</div>
|
||||
</div>
|
||||
<div style="text-align: right;">
|
||||
<div style="font-size: 18px; font-weight: 700; color: var(--accent-blue);">£<?= number_get_formatted($inv['amount']) ?></div>
|
||||
<div style="font-size: 12px; font-weight: 600; color: <?= $inv['status'] === 'approved' ? '#4cd964' : ($inv['status'] === 'rejected' ? '#ff3b30' : ($inv['status'] === 'Refunded' ? '#ff9500' : '#ffcc00')) ?>;">
|
||||
<div style="font-size: 22px; font-weight: 900; color: var(--accent-blue);">£<?= number_get_formatted($inv['amount']) ?></div>
|
||||
<div style="font-size: 13px; font-weight: 800; color: <?= $inv['status'] === 'approved' ? '#4cd964' : ($inv['status'] === 'rejected' ? '#ff3b30' : '#ffcc00') ?>; letter-spacing: 1px;">
|
||||
<?= strtoupper($inv['status']) ?>
|
||||
</div>
|
||||
</div>
|
||||
@ -226,85 +251,61 @@ function number_get_formatted($num) {
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
|
||||
<div class="card">
|
||||
<h3>Insights & Activity</h3>
|
||||
<div style="padding: 30px; text-align: center; color: var(--text-secondary);">
|
||||
<p>Coming soon: Real-time insights from your network and matching suggestions based on your profile.</p>
|
||||
</div>
|
||||
<div class="card" style="padding: 40px; text-align: center; border-style: dashed;">
|
||||
<h3 style="font-size: 22px; font-weight: 800; margin-bottom: 10px;">Ecosystem Activity</h3>
|
||||
<p style="color: var(--text-secondary); font-size: 16px;">Insights from your network and trending matches will appear here.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<div class="card" style="margin-bottom: 30px;">
|
||||
<div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px;">
|
||||
<h3 style="margin: 0;">My Profile</h3>
|
||||
<a href="edit_profile.php" style="color: var(--accent-blue); font-size: 14px; text-decoration: none;">Edit</a>
|
||||
<div class="card" style="margin-bottom: 30px; padding: 30px;">
|
||||
<div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 25px;">
|
||||
<h3 style="margin: 0; font-size: 20px; font-weight: 800;">My Profile</h3>
|
||||
<a href="edit_profile.php" style="color: var(--accent-blue); font-size: 13px; font-weight: 700; text-decoration: none; padding: 6px 14px; background: rgba(0, 242, 255, 0.1); border-radius: 50px;">Edit</a>
|
||||
</div>
|
||||
<div style="display: flex; align-items: center; gap: 15px; margin-bottom: 25px;">
|
||||
<div style="width: 64px; height: 64px; background: var(--gradient-primary); border-radius: 20px; display: flex; align-items: center; justify-content: center; font-size: 24px; color: #fff; font-weight: 700; box-shadow: 0 10px 20px rgba(0, 122, 255, 0.2);">
|
||||
<div style="display: flex; align-items: center; gap: 20px; margin-bottom: 25px;">
|
||||
<div style="width: 80px; height: 80px; background: var(--gradient-primary); border-radius: 24px; display: flex; align-items: center; justify-content: center; font-size: 32px; color: #fff; font-weight: 900; box-shadow: 0 15px 30px rgba(0, 122, 255, 0.2);">
|
||||
<?= substr($user['full_name'], 0, 1) ?>
|
||||
</div>
|
||||
<div>
|
||||
<div style="font-weight: 700; font-size: 18px;"><?= htmlspecialchars($user['full_name']) ?></div>
|
||||
<div style="font-size: 13px; color: var(--text-secondary);"><?= htmlspecialchars($user['university']) ?> '<?= substr($user['graduation_year'], -2) ?></div>
|
||||
<div style="font-weight: 900; font-size: 22px; letter-spacing: -0.5px;"><?= htmlspecialchars($user['full_name']) ?></div>
|
||||
<div style="font-size: 14px; color: var(--accent-blue); font-weight: 700; opacity: 0.8;"><?= htmlspecialchars($user['university']) ?></div>
|
||||
</div>
|
||||
</div>
|
||||
<div style="margin-bottom: 25px; font-size: 14px; line-height: 1.6; color: var(--text-secondary);">
|
||||
<div style="margin-bottom: 25px; font-size: 15px; line-height: 1.6; color: var(--text-secondary);">
|
||||
<?= htmlspecialchars($user['bio'] ?: 'No bio provided yet.') ?>
|
||||
</div>
|
||||
|
||||
<?php if ($user['role'] === 'founder'): ?>
|
||||
<div style="display: flex; flex-wrap: wrap; gap: 8px;">
|
||||
<div style="display: flex; flex-wrap: wrap; gap: 10px;">
|
||||
<?php
|
||||
$skills = explode(',', $user['skills'] ?? '');
|
||||
foreach (array_slice($skills, 0, 3) as $skill): if(empty(trim($skill))) continue; ?>
|
||||
<span style="font-size: 11px; padding: 4px 10px; background: rgba(255,255,255,0.05); border-radius: 20px; border: 1px solid var(--border-color);"><?= htmlspecialchars(trim($skill)) ?></span>
|
||||
<span style="font-size: 11px; padding: 6px 14px; background: rgba(255,255,255,0.04); border-radius: 50px; border: 1px solid var(--border-color); font-weight: 600; color: var(--text-secondary);"><?= htmlspecialchars(trim($skill)) ?></span>
|
||||
<?php endforeach; ?>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
|
||||
<div class="card" style="background: var(--gradient-primary); color: #fff; border: none; margin-bottom: 30px;">
|
||||
<h3 style="color: #fff; margin-bottom: 10px;"><?= $user['role'] === 'founder' ? 'Find My Co-Founder' : 'Discovery Hub' ?></h3>
|
||||
<p style="font-size: 14px; opacity: 0.9; margin-bottom: 20px;">
|
||||
<?= $user['role'] === 'founder' ? 'Ready to find your perfect partner? Start matching with other student founders.' : 'Check out the most followed and funded startups this week!' ?>
|
||||
<div class="card" style="background: var(--gradient-primary); color: #fff; border: none; margin-bottom: 30px; padding: 30px; position: relative; overflow: hidden;">
|
||||
<div style="position: absolute; top: -50px; right: -50px; width: 150px; height: 150px; background: rgba(255,255,255,0.1); border-radius: 50%; blur: 20px;"></div>
|
||||
<h3 style="color: #fff; margin-bottom: 12px; font-size: 22px; font-weight: 800; position: relative;"><?= $user['role'] === 'founder' ? 'Find Your Team' : 'Discover Talent' ?></h3>
|
||||
<p style="font-size: 15px; opacity: 0.9; margin-bottom: 25px; font-weight: 400; position: relative;">
|
||||
<?= $user['role'] === 'founder' ? 'Start swiping to find co-founders with complementary skills.' : 'Explore the most promising student startups today.' ?>
|
||||
</p>
|
||||
<a href="<?= $user['role'] === 'founder' ? 'partners.php' : 'discover.php' ?>" class="btn" style="width: 100%; background: #fff; color: var(--accent-blue); font-weight: 700; text-align: center; display: block; text-decoration: none;">
|
||||
<?= $user['role'] === 'founder' ? 'Launch Partner Matching' : 'Explore Discovery Hub' ?>
|
||||
<a href="<?= $user['role'] === 'founder' ? 'partners.php' : 'discover.php' ?>" class="btn" style="width: 100%; background: #fff; color: #1a1a24; font-weight: 800; text-align: center; border-radius: 16px; position: relative;">
|
||||
<?= $user['role'] === 'founder' ? 'Launch Matching' : 'Go to Discovery Hub' ?>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class="card" style="background: rgba(255,255,255,0.05); color: #fff; border: 1px solid var(--border-color);">
|
||||
<h3 style="color: #fff; margin-bottom: 10px;">Gatsby Pro</h3>
|
||||
<p style="font-size: 14px; opacity: 0.9; margin-bottom: 20px;">Get advanced analytics and direct intros to top-tier VC scouts.</p>
|
||||
<button class="btn btn-secondary" style="width: 100%;">Learn More</button>
|
||||
<div class="card" style="background: var(--glass-bg); color: #fff; border: 1px solid var(--glass-border); padding: 30px;">
|
||||
<h3 style="color: #fff; margin-bottom: 12px; font-size: 18px; font-weight: 800;">Gatsby Premium</h3>
|
||||
<p style="font-size: 14px; opacity: 0.7; margin-bottom: 20px;">Unlock direct access to institutional investors and exclusive demo days.</p>
|
||||
<button class="btn btn-secondary" style="width: 100%; border-radius: 12px; font-size: 13px;">Upgrade Now</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<style>
|
||||
header {
|
||||
background: rgba(10, 10, 15, 0.8);
|
||||
backdrop-filter: blur(20px);
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
padding: 15px 0;
|
||||
position: sticky;
|
||||
top: 0;
|
||||
z-index: 1000;
|
||||
}
|
||||
.nav-links a {
|
||||
color: var(--text-secondary);
|
||||
text-decoration: none;
|
||||
margin: 0 15px;
|
||||
font-size: 14px;
|
||||
font-weight: 500;
|
||||
transition: color 0.2s;
|
||||
}
|
||||
.nav-links a:hover {
|
||||
color: #fff;
|
||||
}
|
||||
</style>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
72
index.php
72
index.php
@ -19,7 +19,7 @@ $platformName = defined('PLATFORM_NAME') ? PLATFORM_NAME : 'Gatsby';
|
||||
<?php endif; ?>
|
||||
<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=Inter:wght@400;500;600;700;800&display=swap" rel="stylesheet">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap" rel="stylesheet">
|
||||
<link rel="stylesheet" href="assets/css/custom.css?v=<?php echo time(); ?>">
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
|
||||
</head>
|
||||
@ -27,14 +27,17 @@ $platformName = defined('PLATFORM_NAME') ? PLATFORM_NAME : 'Gatsby';
|
||||
|
||||
<header>
|
||||
<div class="container" style="display: flex; justify-content: space-between; align-items: center; width: 100%;">
|
||||
<div class="logo"><?= htmlspecialchars($platformName) ?></div>
|
||||
<a href="index.php" class="logo-container">
|
||||
<img src="assets/images/logo.svg" alt="<?= htmlspecialchars($platformName) ?> Logo" class="logo-img">
|
||||
<span class="logo-text"><?= htmlspecialchars($platformName) ?></span>
|
||||
</a>
|
||||
<nav class="nav-links">
|
||||
<a href="#how-it-works">How it works</a>
|
||||
<a href="#features">Features</a>
|
||||
<a href="login.php">Log In</a>
|
||||
</nav>
|
||||
<div>
|
||||
<a href="register.php" class="btn btn-primary">Get Started</a>
|
||||
<div style="display: flex; gap: 12px;">
|
||||
<a href="register.php" class="btn btn-primary">Join Now <i class="fas fa-arrow-right"></i></a>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
@ -42,15 +45,18 @@ $platformName = defined('PLATFORM_NAME') ? PLATFORM_NAME : 'Gatsby';
|
||||
<main>
|
||||
<section class="hero">
|
||||
<div class="hero-bg">
|
||||
<div class="hero-blob" style="top: 10%; left: 20%;"></div>
|
||||
<div class="hero-blob" style="bottom: 10%; right: 20%; background: radial-gradient(circle, rgba(138, 43, 226, 0.1) 0%, rgba(0, 242, 255, 0.1) 100%);"></div>
|
||||
<div class="hero-blob" style="top: 10%; left: 15%;"></div>
|
||||
<div class="hero-blob" style="bottom: 15%; right: 15%; background: radial-gradient(circle, rgba(138, 43, 226, 0.1) 0%, rgba(0, 242, 255, 0.1) 100%);"></div>
|
||||
</div>
|
||||
<div class="container">
|
||||
<h1>Build the future, <br>funded by each other.</h1>
|
||||
<p>The exclusive platform for university students and graduates to connect as co-founders, share ideas, and micro-invest in the next big thing.</p>
|
||||
<div class="match-score-pill" style="margin-bottom: 30px;">
|
||||
<i class="fas fa-sparkles"></i> The University Startup Network
|
||||
</div>
|
||||
<h1>The smarter way to <br><span style="background: var(--gradient-primary); -webkit-background-clip: text; -webkit-text-fill-color: transparent;">Connect & Scale.</span></h1>
|
||||
<p>Connect with co-founders, hire early talent, and raise micro-investments from a verified community of university students and graduates.</p>
|
||||
<div style="display: flex; gap: 20px; justify-content: center;">
|
||||
<a href="register.php" class="btn btn-primary">Join the Community</a>
|
||||
<a href="#how-it-works" class="btn btn-secondary">Learn More</a>
|
||||
<a href="register.php" class="btn btn-primary" style="padding: 16px 32px; font-size: 18px;">Start Your Journey</a>
|
||||
<a href="#how-it-works" class="btn btn-secondary" style="padding: 16px 32px; font-size: 18px;">See How It Works</a>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
@ -59,39 +65,40 @@ $platformName = defined('PLATFORM_NAME') ? PLATFORM_NAME : 'Gatsby';
|
||||
<div class="features">
|
||||
<div class="card">
|
||||
<div class="card-icon"><i class="fas fa-user-shield"></i></div>
|
||||
<h3>Verify</h3>
|
||||
<p>Exclusive access for verified university students and recent graduates (up to 5 years). Safe, trusted, and high-quality network.</p>
|
||||
<h3 style="font-size: 24px; font-weight: 800; margin-bottom: 15px;">Verified Exclusivity</h3>
|
||||
<p>Exclusive access for verified university students and recent graduates. We ensure a high-trust environment for serious builders.</p>
|
||||
</div>
|
||||
<div class="card">
|
||||
<div class="card-icon"><i class="fas fa-people-arrows"></i></div>
|
||||
<h3>Connect</h3>
|
||||
<p>Find your ideal co-founder or early team members using our intelligent matching questionnaire based on skills and vision.</p>
|
||||
<h3 style="font-size: 24px; font-weight: 800; margin-bottom: 15px;">Intelligent Matching</h3>
|
||||
<p>Find your ideal co-founder based on complementary skills, shared vision, and cultural fit using our advanced discovery engine.</p>
|
||||
</div>
|
||||
<div class="card">
|
||||
<div class="card-icon"><i class="fas fa-chart-line"></i></div>
|
||||
<h3>Fund</h3>
|
||||
<p>Launch your startup to raise micro-investments starting from £50, or build your own portfolio by backing your peers.</p>
|
||||
<h3 style="font-size: 24px; font-weight: 800; margin-bottom: 15px;">Peer Micro-Funding</h3>
|
||||
<p>Raise early-stage capital from your peers. Startups can list rounds while investors build diversified portfolios of student talent.</p>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section id="how-it-works" class="how-it-works container">
|
||||
<h2>How it works</h2>
|
||||
<section id="how-it-works" class="how-it-works container" style="background: var(--surface-color); padding: 100px 40px; border-radius: 48px; margin-bottom: 100px; border: 1px solid var(--border-color); position: relative; overflow: hidden;">
|
||||
<div class="hero-blob" style="top: -200px; right: -200px; width: 400px; height: 400px; opacity: 0.3;"></div>
|
||||
<h2 style="font-size: 48px; font-weight: 900; margin-bottom: 80px;">Your path from idea to <span style="color: var(--accent-blue)">IPO.</span></h2>
|
||||
<div class="steps">
|
||||
<div class="step">
|
||||
<span class="step-number">01</span>
|
||||
<h4>Join & Verify</h4>
|
||||
<p>Sign up with your university email. We verify your status to keep the community exclusive.</p>
|
||||
<span class="step-number" style="opacity: 0.2; font-size: 100px;">01</span>
|
||||
<h4 style="font-size: 28px; font-weight: 800; margin-top: -20px;">Verify & Profile</h4>
|
||||
<p style="color: var(--text-secondary); font-size: 18px;">Sign up with your .edu or university email to join the elite circle of student founders.</p>
|
||||
</div>
|
||||
<div class="step">
|
||||
<span class="step-number">02</span>
|
||||
<h4>Choose Your Path</h4>
|
||||
<p>Identify as a Founder to build or an Investor to back. Tailor your profile to your goals.</p>
|
||||
<span class="step-number" style="opacity: 0.2; font-size: 100px;">02</span>
|
||||
<h4 style="font-size: 28px; font-weight: 800; margin-top: -20px;">Swipe & Match</h4>
|
||||
<p style="color: var(--text-secondary); font-size: 18px;">Discover partners or startups. Swipe right on potential co-founders or investment opportunities.</p>
|
||||
</div>
|
||||
<div class="step">
|
||||
<span class="step-number">03</span>
|
||||
<h4>Launch & Scale</h4>
|
||||
<p>List your startup, find co-founders, or start investing in the most ambitious student projects.</p>
|
||||
<span class="step-number" style="opacity: 0.2; font-size: 100px;">03</span>
|
||||
<h4 style="font-size: 28px; font-weight: 800; margin-top: -20px;">Build & Fund</h4>
|
||||
<p style="color: var(--text-secondary); font-size: 18px;">Incorporate, launch your funding round, and scale with the support of the whole community.</p>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
@ -99,17 +106,20 @@ $platformName = defined('PLATFORM_NAME') ? PLATFORM_NAME : 'Gatsby';
|
||||
|
||||
<footer>
|
||||
<div class="container">
|
||||
<div class="logo" style="margin-bottom: 30px;"><?= htmlspecialchars($platformName) ?></div>
|
||||
<div class="logo-container" style="justify-content: center; margin-bottom: 40px;">
|
||||
<img src="assets/images/logo.svg" alt="<?= htmlspecialchars($platformName) ?> Logo" style="width: 48px; height: 48px;">
|
||||
<span class="logo-text" style="font-size: 32px;"><?= htmlspecialchars($platformName) ?></span>
|
||||
</div>
|
||||
<div class="footer-links">
|
||||
<a href="#">About Us</a>
|
||||
<a href="#">Terms of Service</a>
|
||||
<a href="#">Privacy Policy</a>
|
||||
<a href="#">Contact Support</a>
|
||||
</div>
|
||||
<p>© <?= date('Y') ?> <?= htmlspecialchars($platformName) ?>. All rights reserved.</p>
|
||||
<p style="font-size: 12px; margin-top: 10px; opacity: 0.5;">Powered by AppWizzy</p>
|
||||
<p style="margin-top: 40px; font-size: 14px; opacity: 0.6;">© <?= date('Y') ?> <?= htmlspecialchars($platformName) ?>. All rights reserved.</p>
|
||||
<p style="font-size: 12px; margin-top: 10px; opacity: 0.4;">Built for the next generation of entrepreneurs.</p>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
178
partners.php
178
partners.php
@ -151,67 +151,66 @@ $platformName = defined('PLATFORM_NAME') ? PLATFORM_NAME : 'Gatsby';
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>Find Partners — <?= htmlspecialchars($platformName) ?></title>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet">
|
||||
<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=Inter:wght@400;500;600;700;800;900&display=swap" rel="stylesheet">
|
||||
<link rel="stylesheet" href="assets/css/custom.css?v=<?php echo time(); ?>">
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
|
||||
<style>
|
||||
.page-header { padding: 60px 0 40px; text-align: center; }
|
||||
.page-header h1 { font-size: 48px; font-weight: 800; margin-bottom: 12px; background: var(--gradient-primary); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
|
||||
.page-header p { color: var(--text-secondary); font-size: 18px; }
|
||||
.matches-section { margin-bottom: 50px; }
|
||||
.matches-scroller { display: flex; gap: 20px; overflow-x: auto; padding: 15px 5px; scrollbar-width: none; }
|
||||
.page-header h1 { font-size: 56px; font-weight: 900; margin-bottom: 12px; background: var(--gradient-primary); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
|
||||
.page-header p { color: var(--text-secondary); font-size: 20px; }
|
||||
.matches-section { margin-bottom: 60px; }
|
||||
.matches-scroller { display: flex; gap: 24px; overflow-x: auto; padding: 20px 5px; scrollbar-width: none; }
|
||||
.matches-scroller::-webkit-scrollbar { display: none; }
|
||||
.match-card { flex: 0 0 80px; text-align: center; cursor: pointer; transition: transform 0.2s; }
|
||||
.match-card:hover { transform: scale(1.05); }
|
||||
.match-avatar { width: 80px; height: 80px; border-radius: 24px; background: var(--surface-color); border: 2px solid var(--accent-blue); display: flex; align-items: center; justify-content: center; font-size: 28px; font-weight: 700; color: #fff; margin-bottom: 8px; box-shadow: 0 10px 20px rgba(0, 242, 255, 0.2); position: relative; }
|
||||
.match-avatar img { width: 100%; height: 100%; object-fit: cover; border-radius: 22px; }
|
||||
.match-name { font-size: 12px; font-weight: 600; color: var(--text-primary); }
|
||||
.tabs { display: flex; justify-content: center; gap: 15px; margin-bottom: 40px; }
|
||||
.tab-btn { padding: 12px 24px; border-radius: 50px; background: var(--surface-color); border: 1px solid var(--border-color); color: var(--text-secondary); font-weight: 600; cursor: pointer; transition: all 0.3s; }
|
||||
.tab-btn.active { background: var(--gradient-primary); color: #fff; border-color: transparent; box-shadow: 0 10px 20px rgba(0, 122, 255, 0.3); }
|
||||
.match-card { flex: 0 0 85px; text-align: center; cursor: pointer; transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275); }
|
||||
.match-card:hover { transform: scale(1.1) translateY(-5px); }
|
||||
.match-avatar { width: 85px; height: 85px; border-radius: 28px; background: var(--surface-color); border: 2px solid var(--accent-blue); display: flex; align-items: center; justify-content: center; font-size: 30px; font-weight: 800; color: #fff; margin-bottom: 12px; box-shadow: 0 15px 30px rgba(0, 242, 255, 0.2); position: relative; overflow: hidden; }
|
||||
.match-avatar img { width: 100%; height: 100%; object-fit: cover; }
|
||||
.match-name { font-size: 13px; font-weight: 700; color: var(--text-primary); }
|
||||
.tabs { display: flex; justify-content: center; gap: 20px; margin-bottom: 50px; }
|
||||
.tab-btn { padding: 14px 28px; border-radius: 50px; background: var(--surface-color); border: 1px solid var(--border-color); color: var(--text-secondary); font-weight: 700; cursor: pointer; transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275); }
|
||||
.tab-btn.active { background: var(--gradient-primary); color: #fff; border-color: transparent; box-shadow: 0 15px 30px rgba(0, 122, 255, 0.3); transform: scale(1.05); }
|
||||
.swipe-container { display: flex; flex-direction: column; align-items: center; padding: 20px 0; }
|
||||
.card-stack { position: relative; width: 100%; max-width: 400px; height: 550px; }
|
||||
.swipe-card { position: absolute; width: 100%; height: 100%; background: var(--surface-color); border: 1px solid var(--border-color); border-radius: 32px; overflow: hidden; box-shadow: 0 20px 40px rgba(0,0,0,0.4); transition: transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275), opacity 0.5s ease; cursor: grab; display: flex; flex-direction: column; }
|
||||
.card-header-img { height: 280px; background: var(--gradient-primary); display: flex; align-items: center; justify-content: center; font-size: 100px; color: rgba(255,255,255,0.2); position: relative; }
|
||||
.match-badge { position: absolute; top: 20px; right: 20px; background: rgba(0,0,0,0.6); backdrop-filter: blur(10px); padding: 8px 16px; border-radius: 50px; color: var(--accent-blue); font-weight: 700; font-size: 14px; border: 1px solid var(--accent-blue); display: flex; align-items: center; gap: 8px; }
|
||||
.card-details { padding: 25px; flex-grow: 1; display: flex; flex-direction: column; }
|
||||
.card-title { font-size: 26px; font-weight: 800; margin-bottom: 5px; }
|
||||
.card-subtitle { font-size: 14px; color: var(--accent-blue); font-weight: 600; margin-bottom: 15px; }
|
||||
.card-bio { font-size: 14px; color: var(--text-secondary); line-height: 1.5; margin-bottom: 15px; }
|
||||
.card-tags { display: flex; flex-wrap: wrap; gap: 8px; }
|
||||
.card-tag { font-size: 11px; padding: 5px 12px; background: rgba(255,255,255,0.05); border-radius: 20px; border: 1px solid var(--border-color); }
|
||||
.card-tag.highlight { border-color: var(--accent-blue); color: var(--accent-blue); background: rgba(0, 242, 255, 0.05); }
|
||||
.swipe-actions { display: flex; gap: 20px; margin-top: 30px; }
|
||||
.action-btn { width: 70px; height: 70px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 28px; cursor: pointer; border: none; transition: transform 0.2s; box-shadow: 0 10px 20px rgba(0,0,0,0.2); }
|
||||
.action-btn:hover { transform: scale(1.1); }
|
||||
.btn-dislike { background: #1a1a24; color: #ff3b30; border: 1px solid rgba(255, 39, 48, 0.2); }
|
||||
.btn-like { background: var(--gradient-primary); color: #fff; }
|
||||
.browse-container { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 25px; }
|
||||
.candidate-card { background: var(--card-bg); border: 1px solid var(--border-color); border-radius: 24px; padding: 25px; transition: transform 0.3s; cursor: pointer; position: relative; }
|
||||
.candidate-card:hover { transform: translateY(-5px); border-color: var(--accent-blue); }
|
||||
.candidate-header { display: flex; gap: 15px; align-items: center; margin-bottom: 20px; }
|
||||
.candidate-avatar { width: 60px; height: 60px; border-radius: 18px; background: var(--gradient-primary); display: flex; align-items: center; justify-content: center; font-weight: 700; color: #fff; font-size: 20px; }
|
||||
.score-indicator { position: absolute; top: 25px; right: 25px; font-size: 11px; font-weight: 700; color: var(--accent-blue); text-transform: uppercase; }
|
||||
#match-modal { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(10, 10, 15, 0.95); z-index: 2000; display: none; align-items: center; justify-content: center; text-align: center; backdrop-filter: blur(20px); }
|
||||
.match-popup { max-width: 400px; padding: 40px; }
|
||||
.match-title { font-size: 56px; font-weight: 900; background: var(--gradient-primary); -webkit-background-clip: text; -webkit-text-fill-color: transparent; margin-bottom: 20px; }
|
||||
.card-stack { position: relative; width: 100%; max-width: 440px; height: 600px; perspective: 1000px; }
|
||||
.swipe-card { position: absolute; width: 100%; height: 100%; background: var(--surface-color); border: 1px solid var(--glass-border); border-radius: 40px; overflow: hidden; box-shadow: 0 30px 60px rgba(0,0,0,0.5); transition: transform 0.6s cubic-bezier(0.23, 1, 0.32, 1), opacity 0.6s ease; cursor: grab; display: flex; flex-direction: column; backdrop-filter: blur(20px); }
|
||||
.card-header-img { height: 320px; background: var(--gradient-primary); display: flex; align-items: center; justify-content: center; font-size: 120px; color: rgba(255,255,255,0.2); position: relative; }
|
||||
.match-badge { position: absolute; top: 25px; right: 25px; background: rgba(10, 10, 15, 0.8); backdrop-filter: blur(15px); padding: 10px 18px; border-radius: 50px; color: var(--accent-blue); font-weight: 800; font-size: 14px; border: 1px solid var(--accent-blue); display: flex; align-items: center; gap: 8px; box-shadow: 0 10px 20px rgba(0,0,0,0.3); z-index: 10; }
|
||||
.card-details { padding: 30px; flex-grow: 1; display: flex; flex-direction: column; background: linear-gradient(to bottom, transparent, rgba(0,0,0,0.4)); }
|
||||
.card-title { font-size: 28px; font-weight: 900; margin-bottom: 6px; letter-spacing: -0.5px; }
|
||||
.card-subtitle { font-size: 15px; color: var(--accent-blue); font-weight: 700; margin-bottom: 18px; display: flex; align-items: center; gap: 8px; }
|
||||
.card-bio { font-size: 16px; color: var(--text-secondary); line-height: 1.6; margin-bottom: 20px; font-weight: 400; }
|
||||
.card-tags { display: flex; flex-wrap: wrap; gap: 10px; }
|
||||
.card-tag { font-size: 12px; padding: 6px 14px; background: rgba(255,255,255,0.04); border-radius: 20px; border: 1px solid var(--glass-border); font-weight: 600; color: var(--text-secondary); }
|
||||
.card-tag.highlight { border-color: var(--accent-blue); color: var(--accent-blue); background: rgba(0, 242, 255, 0.1); }
|
||||
.browse-container { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 30px; }
|
||||
.candidate-card { background: var(--glass-bg); border: 1px solid var(--glass-border); border-radius: 32px; padding: 30px; transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275); cursor: pointer; position: relative; backdrop-filter: blur(20px); }
|
||||
.candidate-card:hover { transform: translateY(-10px); border-color: var(--accent-blue); box-shadow: 0 20px 40px rgba(0, 242, 255, 0.1); background: rgba(255, 255, 255, 0.05); }
|
||||
.score-indicator { position: absolute; top: 30px; right: 30px; font-size: 11px; font-weight: 800; color: var(--accent-blue); text-transform: uppercase; letter-spacing: 1px; }
|
||||
#match-modal { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(5, 5, 8, 0.98); z-index: 2000; display: none; align-items: center; justify-content: center; text-align: center; backdrop-filter: blur(30px); }
|
||||
.match-popup { max-width: 450px; padding: 60px; position: relative; }
|
||||
.match-title { font-size: 64px; font-weight: 950; background: var(--gradient-primary); -webkit-background-clip: text; -webkit-text-fill-color: transparent; margin-bottom: 24px; letter-spacing: -2px; }
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<header>
|
||||
<div class="container" style="display: flex; justify-content: space-between; align-items: center; width: 100%;">
|
||||
<div class="logo"><?= htmlspecialchars($platformName) ?></div>
|
||||
<a href="dashboard.php" class="logo-container">
|
||||
<img src="assets/images/logo.svg" alt="<?= htmlspecialchars($platformName) ?> Logo" class="logo-img">
|
||||
<span class="logo-text"><?= htmlspecialchars($platformName) ?></span>
|
||||
</a>
|
||||
<nav class="nav-links">
|
||||
<a href="startups.php">My Startups</a>
|
||||
<a href="partners.php" class="active">Find Partners</a>
|
||||
<a href="discover.php">Discovery Hub</a>
|
||||
<a href="messages.php">Messages</a>
|
||||
<a href="notifications.php">Notifications</a>
|
||||
</nav>
|
||||
<div style="display: flex; align-items: center; gap: 15px;">
|
||||
<a href="dashboard.php" style="color: var(--text-secondary);"><i class="fas fa-th-large"></i></a>
|
||||
<a href="logout.php" class="btn btn-secondary" style="padding: 8px 16px; font-size: 13px;">Log Out</a>
|
||||
<a href="notifications.php" style="color: var(--text-secondary); position: relative; font-size: 20px;">
|
||||
<i class="fas fa-bell"></i>
|
||||
</a>
|
||||
<a href="logout.php" class="btn btn-secondary" style="padding: 10px 20px; font-size: 14px; border-radius: 12px;">Log Out</a>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
@ -219,17 +218,20 @@ $platformName = defined('PLATFORM_NAME') ? PLATFORM_NAME : 'Gatsby';
|
||||
<main class="container">
|
||||
<div class="hero-bg">
|
||||
<div class="hero-blob" style="top: 10%; left: -10%;"></div>
|
||||
<div class="hero-blob" style="top: 40%; right: -10%; width: 400px; height: 400px; background: radial-gradient(circle, rgba(138, 43, 226, 0.1) 0%, rgba(0, 242, 255, 0.1) 100%);"></div>
|
||||
<div class="hero-blob" style="top: 40%; right: -10%; width: 500px; height: 500px; background: radial-gradient(circle, rgba(138, 43, 226, 0.1) 0%, rgba(0, 242, 255, 0.1) 100%);"></div>
|
||||
</div>
|
||||
|
||||
<div class="page-header">
|
||||
<h1>Partnership Discovery</h1>
|
||||
<p>Find your next co-founder, advisor, or early collaborator.</p>
|
||||
<div class="match-score-pill" style="margin-bottom: 20px;"><i class="fas fa-search-nodes"></i> Discovery Engine Active</div>
|
||||
<h1>Meet Your Team.</h1>
|
||||
<p>Connect with high-potential founders and engineers in the university ecosystem.</p>
|
||||
</div>
|
||||
|
||||
<?php if (!empty($matches)): ?>
|
||||
<section class="matches-section">
|
||||
<h3 style="margin-bottom: 20px; font-size: 18px; color: var(--text-secondary);">Your Recent Matches</h3>
|
||||
<h3 style="margin-bottom: 24px; font-size: 18px; font-weight: 800; color: var(--text-primary); text-transform: uppercase; letter-spacing: 1.5px; opacity: 0.7; display: flex; align-items: center; gap: 12px;">
|
||||
<i class="fas fa-fire" style="color: #ff4d4d;"></i> Active Connections
|
||||
</h3>
|
||||
<div class="matches-scroller">
|
||||
<?php foreach ($matches as $match): ?>
|
||||
<div class="match-card" onclick="location.href='messages.php?chat_with=<?= $match['id'] ?>'">
|
||||
@ -248,24 +250,28 @@ $platformName = defined('PLATFORM_NAME') ? PLATFORM_NAME : 'Gatsby';
|
||||
<?php endif; ?>
|
||||
|
||||
<div class="tabs">
|
||||
<button class="tab-btn active" id="tab-swipe" onclick="setTab('swipe')">Swipe Mode</button>
|
||||
<button class="tab-btn" id="tab-browse" onclick="setTab('browse')">Browse Mode</button>
|
||||
<button class="tab-btn active" id="tab-swipe" onclick="setTab('swipe')">
|
||||
<i class="fas fa-layer-group"></i> Swipe Engine
|
||||
</button>
|
||||
<button class="tab-btn" id="tab-browse" onclick="setTab('browse')">
|
||||
<i class="fas fa-list-ul"></i> Directory
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<div id="swipe-view" class="swipe-container">
|
||||
<div class="card-stack" id="card-stack">
|
||||
<?php if (empty($swipeCandidates)): ?>
|
||||
<div style="text-align: center; color: var(--text-secondary); padding: 100px 0;">
|
||||
<i class="fas fa-search" style="font-size: 48px; margin-bottom: 20px; opacity: 0.3;"></i>
|
||||
<h3>Out of candidates!</h3>
|
||||
<p>Try switching to Browse Mode or check back later.</p>
|
||||
<div style="text-align: center; color: var(--text-secondary); padding: 120px 40px; background: var(--glass-bg); border-radius: 48px; border: 1px solid var(--glass-border); width: 100%;">
|
||||
<div class="card-icon" style="margin: 0 auto 30px; width: 80px; height: 80px; font-size: 32px;"><i class="fas fa-wind"></i></div>
|
||||
<h3 style="font-size: 28px; font-weight: 900; color: #fff; margin-bottom: 10px;">The well is dry!</h3>
|
||||
<p style="font-size: 18px;">You've seen everyone for now. Check back tomorrow for more visionaries.</p>
|
||||
</div>
|
||||
<?php else: ?>
|
||||
<?php foreach (array_reverse($swipeCandidates) as $c): ?>
|
||||
<div class="swipe-card" data-id="<?= $c['id'] ?>">
|
||||
<div class="card-header-img">
|
||||
<?php if ($c['score'] >= 10): ?>
|
||||
<div class="match-badge"><i class="fas fa-bolt"></i> <?= $c['score'] ?>% Compatible</div>
|
||||
<div class="match-badge"><i class="fas fa-bolt"></i> <?= $c['score'] ?>% Match Score</div>
|
||||
<?php endif; ?>
|
||||
<?php if ($c['profile_photo']): ?>
|
||||
<img src="<?= htmlspecialchars($c['profile_photo']) ?>" style="width: 100%; height: 100%; object-fit: cover;">
|
||||
@ -275,8 +281,8 @@ $platformName = defined('PLATFORM_NAME') ? PLATFORM_NAME : 'Gatsby';
|
||||
</div>
|
||||
<div class="card-details">
|
||||
<div class="card-title"><?= htmlspecialchars($c['full_name']) ?></div>
|
||||
<div class="card-subtitle"><?= htmlspecialchars($c['university']) ?> • <?= htmlspecialchars($c['degree_program']) ?></div>
|
||||
<p class="card-bio"><?= htmlspecialchars($c['bio'] ?: 'A visionary founder looking for a like-minded partner.') ?></p>
|
||||
<div class="card-subtitle"><i class="fas fa-university"></i> <?= htmlspecialchars($c['university']) ?></div>
|
||||
<p class="card-bio"><?= htmlspecialchars($c['bio'] ?: 'Building the next generation of startup infrastructure.') ?></p>
|
||||
<div class="card-tags">
|
||||
<?php
|
||||
$skills = explode(',', $c['skills']);
|
||||
@ -298,42 +304,46 @@ $platformName = defined('PLATFORM_NAME') ? PLATFORM_NAME : 'Gatsby';
|
||||
</div>
|
||||
<?php if (!empty($swipeCandidates)): ?>
|
||||
<div class="swipe-actions">
|
||||
<button class="action-btn btn-dislike" onclick="handleSwipe('dislike')"><i class="fas fa-times"></i></button>
|
||||
<button class="action-btn btn-like" onclick="handleSwipe('like')"><i class="fas fa-heart"></i></button>
|
||||
<button class="action-btn btn-dislike" onclick="handleSwipe('dislike')" title="Not for now">
|
||||
<i class="fas fa-times"></i>
|
||||
</button>
|
||||
<button class="action-btn btn-like" onclick="handleSwipe('like')" title="Hell yes!">
|
||||
<i class="fas fa-heart"></i>
|
||||
</button>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
|
||||
<div id="browse-view" style="display: none;">
|
||||
<div style="margin-bottom: 30px;">
|
||||
<form method="GET" style="display: flex; gap: 10px; max-width: 600px; margin: 0 auto;">
|
||||
<input type="text" name="q" value="<?= htmlspecialchars($search) ?>" placeholder="Search by name, skill, university..." class="form-control" style="flex: 1; background: var(--surface-color); border: 1px solid var(--border-color); color: #fff; padding: 12px 20px; border-radius: 12px;">
|
||||
<button type="submit" class="btn btn-primary">Search</button>
|
||||
<div style="margin-bottom: 40px;">
|
||||
<form method="GET" style="display: flex; gap: 15px; max-width: 700px; margin: 0 auto; position: relative;">
|
||||
<input type="text" name="q" value="<?= htmlspecialchars($search) ?>" placeholder="Search by skill, university, or industry..." class="form-control" style="flex: 1; background: var(--glass-bg); border: 1px solid var(--glass-border); color: #fff; padding: 18px 25px; border-radius: 20px; font-size: 16px; backdrop-filter: blur(10px);">
|
||||
<button type="submit" class="btn btn-primary" style="border-radius: 16px;"><i class="fas fa-search"></i> Search</button>
|
||||
</form>
|
||||
</div>
|
||||
<div class="browse-container">
|
||||
<?php foreach ($browseCandidates as $c): ?>
|
||||
<div class="candidate-card" onclick="location.href='messages.php?chat_with=<?= $c['id'] ?>'">
|
||||
<?php if ($c['score'] >= 10): ?>
|
||||
<div class="score-indicator"><i class="fas fa-star"></i> Top Match</div>
|
||||
<div class="score-indicator"><i class="fas fa-sparkles"></i> <?= $c['score'] ?>% Match</div>
|
||||
<?php endif; ?>
|
||||
<div class="candidate-header">
|
||||
<div class="candidate-avatar">
|
||||
<div class="candidate-header" style="display: flex; gap: 20px; align-items: center; margin-bottom: 25px;">
|
||||
<div class="candidate-avatar" style="width: 70px; height: 70px; border-radius: 22px; background: var(--gradient-primary); display: flex; align-items: center; justify-content: center; font-weight: 900; color: #fff; font-size: 24px; box-shadow: 0 10px 20px rgba(0,0,0,0.2);">
|
||||
<?php if ($c['profile_photo']): ?>
|
||||
<img src="<?= htmlspecialchars($c['profile_photo']) ?>" style="width: 100%; height: 100%; object-fit: cover; border-radius: 16px;">
|
||||
<img src="<?= htmlspecialchars($c['profile_photo']) ?>" style="width: 100%; height: 100%; object-fit: cover; border-radius: 20px;">
|
||||
<?php else: ?>
|
||||
<?= substr($c['full_name'], 0, 1) ?>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
<div>
|
||||
<div style="font-weight: 700; font-size: 18px;"><?= htmlspecialchars($c['full_name']) ?></div>
|
||||
<div style="font-size: 13px; color: var(--accent-blue);"><?= htmlspecialchars($c['university']) ?></div>
|
||||
<div style="font-weight: 900; font-size: 20px; letter-spacing: -0.5px;"><?= htmlspecialchars($c['full_name']) ?></div>
|
||||
<div style="font-size: 14px; color: var(--accent-blue); font-weight: 700; opacity: 0.8;"><?= htmlspecialchars($c['university']) ?></div>
|
||||
</div>
|
||||
</div>
|
||||
<p style="font-size: 14px; color: var(--text-secondary); margin-bottom: 15px; line-height: 1.5; height: 42px; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;">
|
||||
<?= htmlspecialchars($c['bio'] ?: 'Looking for a co-founder to build something great.') ?>
|
||||
<p style="font-size: 15px; color: var(--text-secondary); margin-bottom: 20px; line-height: 1.6; height: 48px; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;">
|
||||
<?= htmlspecialchars($c['bio'] ?: 'A visionary founder building something unique in the ecosystem.') ?>
|
||||
</p>
|
||||
<div style="display: flex; flex-wrap: wrap; gap: 6px;">
|
||||
<div style="display: flex; flex-wrap: wrap; gap: 8px;">
|
||||
<?php
|
||||
$skills = explode(',', $c['skills']);
|
||||
$myNeeds = array_map('trim', explode(',', strtolower($user['preferred_co_founder_skills'] ?? '')));
|
||||
@ -341,7 +351,7 @@ $platformName = defined('PLATFORM_NAME') ? PLATFORM_NAME : 'Gatsby';
|
||||
if(empty(trim($skill))) continue;
|
||||
$isNeeded = in_array(trim(strtolower($skill)), $myNeeds);
|
||||
?>
|
||||
<span style="font-size: 10px; padding: 3px 10px; background: <?= $isNeeded ? 'rgba(0, 242, 255, 0.1)' : 'rgba(255,255,255,0.05)' ?>; border-radius: 20px; color: <?= $isNeeded ? 'var(--accent-blue)' : 'var(--text-secondary)' ?>; border: 1px solid <?= $isNeeded ? 'var(--accent-blue)' : 'transparent' ?>;">
|
||||
<span style="font-size: 11px; padding: 5px 12px; background: <?= $isNeeded ? 'rgba(0, 242, 255, 0.12)' : 'rgba(255,255,255,0.05)' ?>; border-radius: 50px; color: <?= $isNeeded ? 'var(--accent-blue)' : 'var(--text-secondary)' ?>; border: 1px solid <?= $isNeeded ? 'var(--accent-blue)' : 'var(--glass-border)' ?>; font-weight: 600;">
|
||||
<?= htmlspecialchars(trim($skill)) ?>
|
||||
</span>
|
||||
<?php endforeach; ?>
|
||||
@ -354,10 +364,15 @@ $platformName = defined('PLATFORM_NAME') ? PLATFORM_NAME : 'Gatsby';
|
||||
|
||||
<div id="match-modal">
|
||||
<div class="match-popup">
|
||||
<div class="match-score-pill" style="margin-bottom: 20px; font-size: 16px; padding: 10px 24px;"><i class="fas fa-heart"></i> Mutual Interest</div>
|
||||
<h1 class="match-title">It's a Match!</h1>
|
||||
<p style="color: var(--text-secondary); margin-bottom: 30px; font-size: 18px;">You and this founder both swiped right. Ready to build the next big thing?</p>
|
||||
<button class="btn btn-primary" style="width: 100%; margin-bottom: 15px; padding: 15px;" onclick="location.href='messages.php'">Start a Conversation</button>
|
||||
<button class="btn btn-secondary" style="width: 100%; padding: 15px;" onclick="closeMatch()">Keep Exploring</button>
|
||||
<p style="color: var(--text-secondary); margin-bottom: 40px; font-size: 20px; line-height: 1.5;">You both saw something great in each other. Time to build the future together.</p>
|
||||
<button class="btn btn-primary" style="width: 100%; margin-bottom: 20px; padding: 20px; font-size: 18px; border-radius: 20px;" onclick="location.href='messages.php'">
|
||||
<i class="fas fa-comment"></i> Send a Message
|
||||
</button>
|
||||
<button class="btn btn-secondary" style="width: 100%; padding: 20px; font-size: 18px; border-radius: 20px;" onclick="closeMatch()">
|
||||
Keep Swiping
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -375,8 +390,8 @@ $platformName = defined('PLATFORM_NAME') ? PLATFORM_NAME : 'Gatsby';
|
||||
const topCard = cards[cards.length - 1];
|
||||
const swipedId = topCard.getAttribute('data-id');
|
||||
const rotate = direction === 'like' ? 30 : -30;
|
||||
const x = direction === 'like' ? 1000 : -1000;
|
||||
topCard.style.transform = `translateX(${x}px) rotate(${rotate}deg)`;
|
||||
const x = direction === 'like' ? 1200 : -1200;
|
||||
topCard.style.transform = `translateX(${x}px) rotate(${rotate}deg) scale(0.8)`;
|
||||
topCard.style.opacity = '0';
|
||||
const fd = new FormData();
|
||||
fd.append('action', 'swipe');
|
||||
@ -389,18 +404,11 @@ $platformName = defined('PLATFORM_NAME') ? PLATFORM_NAME : 'Gatsby';
|
||||
setTimeout(() => {
|
||||
topCard.remove();
|
||||
if (stack.querySelectorAll('.swipe-card').length === 0) { location.reload(); }
|
||||
}, 500);
|
||||
}, 600);
|
||||
});
|
||||
}
|
||||
function closeMatch() { document.getElementById('match-modal').style.display = 'none'; }
|
||||
</script>
|
||||
|
||||
<style>
|
||||
header { background: rgba(10, 10, 15, 0.8); backdrop-filter: blur(20px); border-bottom: 1px solid var(--border-color); padding: 15px 0; position: sticky; top: 0; z-index: 1000; }
|
||||
.nav-links a { color: var(--text-secondary); text-decoration: none; margin: 0 15px; font-size: 14px; font-weight: 500; transition: color 0.2s; }
|
||||
.nav-links a:hover, .nav-links a.active { color: #fff; }
|
||||
.form-control:focus { outline: none; border-color: var(--accent-blue); }
|
||||
</style>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user