v61
This commit is contained in:
parent
f604e9edbf
commit
ad1e95fee1
@ -1,17 +1,23 @@
|
||||
:root {
|
||||
--bg-color: #0a0a0f;
|
||||
--surface-color: #1a1a24;
|
||||
--accent-blue: #00f2ff;
|
||||
--accent-color: #00f2ff;
|
||||
--accent-violet: #8a2be2;
|
||||
--text-primary: #ffffff;
|
||||
--text-secondary: #a0a0b0;
|
||||
--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);
|
||||
--bg-color: #0D0D0D;
|
||||
--surface-color: #1A1A1A;
|
||||
--elevated-color: #242424;
|
||||
--accent-primary: #00C853;
|
||||
--accent-secondary: #00E676;
|
||||
--text-primary: #FFFFFF;
|
||||
--text-secondary: #A0A0A0;
|
||||
--text-disabled: #555555;
|
||||
--success-color: #00C853;
|
||||
--error-color: #FF4444;
|
||||
--warning-color: #FFB300;
|
||||
--info-color: #2979FF;
|
||||
--border-color: #2A2A2A;
|
||||
--card-bg: #1A1A1A;
|
||||
--shadow-soft: 0 4px 20px rgba(0, 0, 0, 0.5);
|
||||
/* For compatibility */
|
||||
--accent-color: var(--accent-primary);
|
||||
--accent-blue: var(--accent-secondary);
|
||||
--gradient-primary: var(--accent-primary); /* Flat color now */
|
||||
}
|
||||
|
||||
* {
|
||||
@ -31,6 +37,7 @@ body {
|
||||
a {
|
||||
text-decoration: none;
|
||||
color: inherit;
|
||||
transition: color 0.3s ease;
|
||||
}
|
||||
|
||||
.container {
|
||||
@ -45,8 +52,7 @@ header {
|
||||
position: sticky;
|
||||
top: 0;
|
||||
z-index: 1000;
|
||||
background: rgba(10, 10, 15, 0.85);
|
||||
backdrop-filter: blur(20px);
|
||||
background: var(--bg-color);
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
}
|
||||
|
||||
@ -62,11 +68,9 @@ header {
|
||||
}
|
||||
|
||||
.logo-text {
|
||||
font-size: 22px;
|
||||
font-size: 24px;
|
||||
font-weight: 800;
|
||||
background: var(--gradient-primary);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
color: var(--text-primary);
|
||||
letter-spacing: -0.5px;
|
||||
}
|
||||
|
||||
@ -85,7 +89,7 @@ header {
|
||||
}
|
||||
|
||||
.nav-links a:hover, .nav-links a.active {
|
||||
color: var(--text-primary);
|
||||
color: var(--accent-primary);
|
||||
}
|
||||
|
||||
.nav-links a.active::after {
|
||||
@ -95,47 +99,49 @@ header {
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 2px;
|
||||
background: var(--gradient-primary);
|
||||
background: var(--accent-primary);
|
||||
border-radius: 2px;
|
||||
}
|
||||
|
||||
.btn {
|
||||
padding: 12px 24px;
|
||||
border-radius: 12px;
|
||||
font-weight: 600;
|
||||
padding: 12px 28px;
|
||||
border-radius: 999px !important; /* Fully rounded as per rules */
|
||||
font-weight: 700;
|
||||
cursor: pointer;
|
||||
transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
|
||||
transition: all 0.3s ease;
|
||||
border: none;
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
gap: 8px;
|
||||
text-transform: uppercase;
|
||||
font-size: 13px;
|
||||
letter-spacing: 0.5px;
|
||||
}
|
||||
|
||||
.btn:active {
|
||||
transform: scale(0.95);
|
||||
transform: scale(0.96);
|
||||
}
|
||||
|
||||
.btn-primary {
|
||||
background: var(--gradient-primary);
|
||||
color: #fff;
|
||||
box-shadow: 0 10px 20px rgba(0, 242, 255, 0.15);
|
||||
background: var(--accent-primary) !important;
|
||||
color: #000000 !important; /* Black text on primary fill */
|
||||
}
|
||||
|
||||
.btn-primary:hover {
|
||||
box-shadow: 0 15px 30px rgba(0, 242, 255, 0.25);
|
||||
background: var(--accent-secondary) !important;
|
||||
transform: translateY(-2px);
|
||||
}
|
||||
|
||||
.btn-secondary {
|
||||
background: var(--surface-color);
|
||||
color: #fff;
|
||||
color: var(--text-primary);
|
||||
border: 1px solid var(--border-color);
|
||||
}
|
||||
|
||||
.btn-secondary:hover {
|
||||
background: rgba(255, 255, 255, 0.05);
|
||||
border-color: rgba(255, 255, 255, 0.2);
|
||||
background: var(--elevated-color);
|
||||
border-color: var(--text-secondary);
|
||||
}
|
||||
|
||||
/* Hero Section */
|
||||
@ -150,7 +156,14 @@ header {
|
||||
font-weight: 900;
|
||||
margin-bottom: 24px;
|
||||
letter-spacing: -2.5px;
|
||||
line-height: 1;
|
||||
line-height: 1.1;
|
||||
color: var(--text-primary);
|
||||
}
|
||||
|
||||
.hero h1 span {
|
||||
color: var(--accent-primary) !important;
|
||||
background: none !important;
|
||||
-webkit-text-fill-color: initial !important;
|
||||
}
|
||||
|
||||
.hero p {
|
||||
@ -161,114 +174,23 @@ header {
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
.hero-bg {
|
||||
position: absolute;
|
||||
top: -100px;
|
||||
left: 50%;
|
||||
transform: translateX(-50%);
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
z-index: -1;
|
||||
overflow: hidden;
|
||||
.hero-bg, .hero-blob {
|
||||
display: none !important; /* Remove gradients and blobs */
|
||||
}
|
||||
|
||||
.hero-blob {
|
||||
position: absolute;
|
||||
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%;
|
||||
}
|
||||
|
||||
/* Glass Cards */
|
||||
/* Cards */
|
||||
.card {
|
||||
background: var(--glass-bg);
|
||||
border: 1px solid var(--glass-border);
|
||||
backdrop-filter: blur(20px);
|
||||
background: var(--card-bg) !important;
|
||||
border: 1px solid var(--border-color) !important;
|
||||
padding: 40px;
|
||||
border-radius: 32px;
|
||||
transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
|
||||
border-radius: 12px !important;
|
||||
transition: all 0.3s ease;
|
||||
box-shadow: var(--shadow-soft) !important;
|
||||
}
|
||||
|
||||
.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;
|
||||
transform: translateY(-4px);
|
||||
border-color: var(--accent-primary) !important;
|
||||
}
|
||||
|
||||
/* Features grid */
|
||||
@ -279,15 +201,167 @@ header {
|
||||
gap: 30px;
|
||||
}
|
||||
|
||||
.card-icon {
|
||||
font-size: 32px;
|
||||
color: var(--accent-primary);
|
||||
margin-bottom: 24px;
|
||||
}
|
||||
|
||||
/* How It Works Section */
|
||||
.how-it-works {
|
||||
background: var(--surface-color) !important;
|
||||
padding: 100px 40px;
|
||||
border-radius: 16px !important;
|
||||
margin-bottom: 100px;
|
||||
border: 1px solid var(--border-color) !important;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.how-it-works h2 {
|
||||
color: var(--text-primary);
|
||||
}
|
||||
|
||||
.how-it-works h2 span {
|
||||
color: var(--accent-primary) !important;
|
||||
}
|
||||
|
||||
.steps {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
|
||||
gap: 40px;
|
||||
}
|
||||
|
||||
.step-number {
|
||||
display: block;
|
||||
color: var(--accent-primary);
|
||||
font-weight: 900;
|
||||
font-size: 64px;
|
||||
line-height: 1;
|
||||
margin-bottom: 16px;
|
||||
opacity: 0.2;
|
||||
}
|
||||
|
||||
/* Status colors */
|
||||
.text-success { color: var(--success-color) !important; }
|
||||
.text-danger { color: var(--error-color) !important; }
|
||||
.text-warning { color: var(--warning-color) !important; }
|
||||
.text-info { color: var(--info-color) !important; }
|
||||
|
||||
/* Swipe Buttons (Discovery) */
|
||||
.action-btn {
|
||||
width: 64px;
|
||||
height: 64px;
|
||||
border-radius: 50%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: 24px;
|
||||
cursor: pointer;
|
||||
border: 1px solid var(--border-color);
|
||||
background: var(--elevated-color);
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.btn-dislike {
|
||||
color: var(--error-color);
|
||||
}
|
||||
|
||||
.btn-dislike:hover {
|
||||
background: var(--error-color);
|
||||
color: #fff;
|
||||
border-color: var(--error-color);
|
||||
}
|
||||
|
||||
.btn-like {
|
||||
color: var(--accent-primary);
|
||||
}
|
||||
|
||||
.btn-like:hover {
|
||||
background: var(--accent-primary);
|
||||
color: #000;
|
||||
border-color: var(--accent-primary);
|
||||
}
|
||||
|
||||
/* Forms */
|
||||
input, textarea, select {
|
||||
background: var(--elevated-color) !important;
|
||||
border: 1px solid var(--border-color) !important;
|
||||
color: var(--text-primary) !important;
|
||||
padding: 12px 16px;
|
||||
border-radius: 8px;
|
||||
outline: none;
|
||||
width: 100%;
|
||||
transition: border-color 0.3s ease;
|
||||
}
|
||||
|
||||
input:focus, textarea:focus, select:focus {
|
||||
border-color: var(--accent-primary) !important;
|
||||
}
|
||||
|
||||
label {
|
||||
color: var(--text-secondary);
|
||||
font-size: 14px;
|
||||
margin-bottom: 8px;
|
||||
display: block;
|
||||
}
|
||||
|
||||
/* Modals */
|
||||
.modal-content {
|
||||
background-color: var(--elevated-color) !important;
|
||||
border: 1px solid var(--border-color) !important;
|
||||
box-shadow: 0 25px 60px rgba(0,0,0,0.8) !important;
|
||||
border-radius: 16px !important;
|
||||
}
|
||||
|
||||
/* Trending Pill */
|
||||
.trending-pill {
|
||||
background: var(--warning-color) !important;
|
||||
color: #000 !important;
|
||||
padding: 2px 8px;
|
||||
border-radius: 4px;
|
||||
font-size: 10px;
|
||||
font-weight: 800;
|
||||
text-transform: uppercase;
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 3px;
|
||||
margin-left: 8px;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
/* Dashboard candidate cards */
|
||||
.candidate-card {
|
||||
background: var(--elevated-color);
|
||||
border: 1px solid var(--border-color);
|
||||
border-radius: 12px;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.candidate-card:hover {
|
||||
border-color: var(--accent-primary);
|
||||
}
|
||||
|
||||
/* Footer */
|
||||
footer {
|
||||
padding: 80px 0 40px;
|
||||
background: var(--bg-color);
|
||||
border-top: 1px solid var(--border-color);
|
||||
margin-top: 120px;
|
||||
text-align: center;
|
||||
color: var(--text-secondary);
|
||||
}
|
||||
|
||||
.footer-links {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
gap: 30px;
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
|
||||
.footer-links a:hover {
|
||||
color: var(--text-primary);
|
||||
}
|
||||
|
||||
@media (max-width: 768px) {
|
||||
.hero h1 {
|
||||
font-size: 48px;
|
||||
|
||||
@ -1,11 +1,10 @@
|
||||
<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 width="100" height="100" viewBox="0 0 100 100" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<!-- Modern Geometric 'G' -->
|
||||
<path d="M78 40V25C78 20.5817 74.4183 17 70 17H30C25.5817 17 22 20.5817 22 25V75C22 79.4183 25.5817 83 30 83H70C74.4183 83 78 79.4183 78 75V55H50" stroke="#00C853" stroke-width="10" stroke-linecap="round" stroke-linejoin="round" />
|
||||
|
||||
<!-- Growth Accent - Small Dot representing potential -->
|
||||
<circle cx="78" cy="17" r="6" fill="#00E676" />
|
||||
|
||||
<!-- Subtle line representing a rising chart -->
|
||||
<path d="M35 65L45 50L55 60L70 45" stroke="#00E676" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" opacity="0.6" />
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 566 B After Width: | Height: | Size: 674 B |
139
dashboard.php
139
dashboard.php
@ -95,20 +95,6 @@ function number_get_formatted($num) {
|
||||
<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>
|
||||
.trending-pill {
|
||||
background: linear-gradient(45deg, #FFD700, #FFA500);
|
||||
color: #000;
|
||||
padding: 2px 8px;
|
||||
border-radius: 4px;
|
||||
font-size: 10px;
|
||||
font-weight: 800;
|
||||
text-transform: uppercase;
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 3px;
|
||||
margin-left: 8px;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.profile-link-card {
|
||||
text-decoration: none;
|
||||
color: inherit;
|
||||
@ -128,17 +114,8 @@ function number_get_formatted($num) {
|
||||
top: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background-color: rgba(0,0,0,0.85);
|
||||
backdrop-filter: blur(8px);
|
||||
}
|
||||
.modal-content {
|
||||
background-color: #1a1a24;
|
||||
margin: 10% auto;
|
||||
padding: 40px;
|
||||
border: 1px solid var(--border-color);
|
||||
width: 420px;
|
||||
border-radius: 32px;
|
||||
box-shadow: 0 25px 60px rgba(0,0,0,0.7);
|
||||
background-color: rgba(0,0,0,0.9);
|
||||
backdrop-filter: blur(4px);
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
@ -162,35 +139,31 @@ function number_get_formatted($num) {
|
||||
<a href="messages.php">Messages</a>
|
||||
</nav>
|
||||
<div style="display: flex; align-items: center; gap: 15px;">
|
||||
<!-- Money Pot Widget in Header -->
|
||||
<div onclick="openWalletModal('add')" style="cursor: pointer; display: flex; align-items: center; gap: 8px; padding: 5px 12px; background: rgba(0, 242, 255, 0.1); border-radius: 50px; border: 1px solid rgba(0, 242, 255, 0.2);">
|
||||
<i class="fas fa-wallet" style="color: var(--accent-blue); font-size: 12px;"></i>
|
||||
<span id="header-wallet-balance" style="font-size: 13px; font-weight: 800; color: #fff;">£<?= number_format($user['balance'], 2) ?></span>
|
||||
<div onclick="openWalletModal('add')" style="cursor: pointer; display: flex; align-items: center; gap: 8px; padding: 6px 14px; background: var(--surface-color); border-radius: 50px; border: 1px solid var(--border-color);">
|
||||
<i class="fas fa-wallet" style="color: var(--accent-primary); font-size: 14px;"></i>
|
||||
<span id="header-wallet-balance" style="font-size: 14px; font-weight: 800; color: #fff;">£<?= number_format($user['balance'], 2) ?></span>
|
||||
</div>
|
||||
|
||||
<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;">
|
||||
<div style="display: flex; align-items: center; gap: 10px; padding: 6px 14px; background: var(--surface-color); border-radius: 50px; border: 1px solid var(--border-color);">
|
||||
<div style="width: 24px; height: 24px; background: var(--accent-primary); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 10px; color: #000; 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>
|
||||
<a href="logout.php" class="btn btn-secondary" style="padding: 8px 16px; font-size: 12px;">Log Out</a>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<main class="container" style="padding-top: 60px; padding-bottom: 80px;">
|
||||
<div class="hero-bg">
|
||||
<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>
|
||||
|
||||
<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>
|
||||
<div class="match-score-pill" style="margin-bottom: 24px; color: var(--accent-primary); font-weight: 700; font-size: 14px; text-transform: uppercase; letter-spacing: 1px;">
|
||||
<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="color: var(--accent-primary);"><?= 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>
|
||||
|
||||
@ -201,13 +174,13 @@ function number_get_formatted($num) {
|
||||
<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>
|
||||
<div style="display: flex; gap: 10px;">
|
||||
<a href="create_startup.php" class="btn btn-primary" style="padding: 12px 24px; font-size: 14px;">+ Launch Startup</a>
|
||||
<a href="create_startup.php" class="btn btn-primary" style="padding: 12px 24px; font-size: 13px;">+ Launch Startup</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php if (empty($myStartups)): ?>
|
||||
<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>
|
||||
<div style="text-align: center; padding: 60px 0; background: var(--elevated-color); border-radius: 16px; border: 1px dashed var(--border-color);">
|
||||
<div class="card-icon" style="margin: 0 auto 20px;"><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="create_startup.php" class="btn btn-primary">Start Your First Round</a>
|
||||
</div>
|
||||
@ -220,7 +193,7 @@ function number_get_formatted($num) {
|
||||
?>
|
||||
<div class="candidate-card" style="padding: 25px; display: flex; justify-content: space-between; align-items: center; cursor: pointer;" 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;">
|
||||
<div style="width: 60px; height: 60px; background: var(--accent-primary); border-radius: 12px; display: flex; align-items: center; justify-content: center; font-size: 24px; color: #000; font-weight: 800;">
|
||||
<?= substr($startup['name'], 0, 1) ?>
|
||||
</div>
|
||||
<div>
|
||||
@ -231,7 +204,7 @@ function number_get_formatted($num) {
|
||||
<?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;">
|
||||
<span style="padding: 4px 10px; background: var(--surface-color); color: var(--accent-primary); border-radius: 6px; font-weight: 700; font-size: 11px; letter-spacing: 0.5px; border: 1px solid var(--border-color);">
|
||||
<?= strtoupper($startup['round_status'] ?? 'Draft') ?>
|
||||
</span>
|
||||
<span style="opacity: 0.7;">Target: £<?= number_get_formatted($goal) ?></span>
|
||||
@ -245,8 +218,8 @@ function number_get_formatted($num) {
|
||||
</div>
|
||||
<?php if ($startup['round_status'] === 'Active'): ?>
|
||||
<div style="display: flex; gap: 8px;">
|
||||
<button onclick="event.stopPropagation(); updateRound(<?= $startup['round_id'] ?>, 'Closed')" class="btn" style="padding: 8px 12px; font-size: 11px; background: #28a745; color: #fff; border: none; border-radius: 8px;">Finish</button>
|
||||
<button onclick="event.stopPropagation(); updateRound(<?= $startup['round_id'] ?>, 'Cancelled')" class="btn" style="padding: 8px 12px; font-size: 11px; background: #dc3545; color: #fff; border: none; border-radius: 8px;">Cancel</button>
|
||||
<button onclick="event.stopPropagation(); updateRound(<?= $startup['round_id'] ?>, 'Closed')" class="btn" style="padding: 8px 14px; font-size: 11px; background: var(--success-color); color: #000;">Finish</button>
|
||||
<button onclick="event.stopPropagation(); updateRound(<?= $startup['round_id'] ?>, 'Cancelled')" class="btn" style="padding: 8px 14px; font-size: 11px; background: var(--error-color); color: #fff;">Cancel</button>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
@ -259,12 +232,12 @@ function number_get_formatted($num) {
|
||||
<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="funding_rounds.php" class="btn btn-primary" style="padding: 12px 24px; font-size: 14px;">Find New Deals</a>
|
||||
<a href="funding_rounds.php" class="btn btn-primary" style="padding: 12px 24px; font-size: 13px;">Find New Deals</a>
|
||||
</div>
|
||||
|
||||
<?php if (empty($myInvestments)): ?>
|
||||
<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>
|
||||
<div style="text-align: center; padding: 60px 0; background: var(--elevated-color); border-radius: 16px; border: 1px dashed var(--border-color);">
|
||||
<div class="card-icon" style="margin: 0 auto 20px;"><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="funding_rounds.php" class="btn btn-primary">Start Investing</a>
|
||||
</div>
|
||||
@ -273,7 +246,7 @@ function number_get_formatted($num) {
|
||||
<?php foreach ($myInvestments as $inv): ?>
|
||||
<div class="candidate-card" style="padding: 25px; display: flex; justify-content: space-between; align-items: center; cursor: pointer;" onclick="window.location.href='startup_details.php?id=<?= $inv['startup_id'] ?>'">
|
||||
<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);">
|
||||
<div style="width: 60px; height: 60px; background: var(--surface-color); border-radius: 12px; 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>
|
||||
@ -282,8 +255,8 @@ function number_get_formatted($num) {
|
||||
</div>
|
||||
</div>
|
||||
<div style="text-align: right;">
|
||||
<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;">
|
||||
<div style="font-size: 22px; font-weight: 900; color: var(--accent-primary);">£<?= number_get_formatted($inv['amount']) ?></div>
|
||||
<div style="font-size: 13px; font-weight: 800; color: <?= $inv['status'] === 'approved' ? 'var(--success-color)' : ($inv['status'] === 'rejected' ? 'var(--error-color)' : 'var(--warning-color)') ?>; letter-spacing: 1px;">
|
||||
<?= strtoupper($inv['status']) ?>
|
||||
</div>
|
||||
</div>
|
||||
@ -302,45 +275,38 @@ function number_get_formatted($num) {
|
||||
|
||||
<div>
|
||||
<!-- Money Pot Section -->
|
||||
<div class="card" style="margin-bottom: 30px; padding: 30px; background: linear-gradient(135deg, #1a1a24 0%, #101018 100%); border: 1px solid rgba(0, 242, 255, 0.1);">
|
||||
<div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px;">
|
||||
<h3 style="margin: 0; font-size: 18px; font-weight: 800; color: var(--accent-blue);">My Money Pot</h3>
|
||||
<i class="fas fa-wallet" style="color: var(--accent-blue); opacity: 0.5;"></i>
|
||||
<div class="card" style="margin-bottom: 30px; padding: 30px; background: var(--elevated-color);">
|
||||
<div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 24px;">
|
||||
<h3 style="margin: 0; font-size: 18px; font-weight: 800; color: var(--accent-primary);">My Money Pot</h3>
|
||||
<i class="fas fa-wallet" style="color: var(--accent-primary); opacity: 0.5;"></i>
|
||||
</div>
|
||||
<div style="margin-bottom: 25px;">
|
||||
<div style="margin-bottom: 32px;">
|
||||
<span style="font-size: 12px; color: var(--text-secondary); text-transform: uppercase; letter-spacing: 1px; font-weight: 700;">Available Balance</span>
|
||||
<div id="wallet-balance" style="font-size: 36px; font-weight: 900; color: #fff; margin-top: 5px;">£<?= number_format($user['balance'], 2) ?></div>
|
||||
<div id="wallet-balance" style="font-size: 40px; font-weight: 900; color: #fff; margin-top: 5px; letter-spacing: -1px;">£<?= number_format($user['balance'], 2) ?></div>
|
||||
</div>
|
||||
<div style="display: grid; grid-template-columns: 1fr 1fr; gap: 12px;">
|
||||
<button onclick="openWalletModal('add')" class="btn btn-primary" style="padding: 12px; font-size: 13px; font-weight: 800; background: var(--accent-blue); color: #000; border-radius: 12px;">
|
||||
<i class="fas fa-plus-circle" style="margin-right: 5px;"></i> Add Funds
|
||||
<div style="display: grid; grid-template-columns: 1fr; gap: 12px;">
|
||||
<button onclick="openWalletModal('add')" class="btn btn-primary" style="padding: 14px; font-size: 13px;">
|
||||
<i class="fas fa-plus-circle" style="margin-right: 8px;"></i> Add Funds
|
||||
</button>
|
||||
<button onclick="openWalletModal('withdraw')" class="btn btn-secondary" style="padding: 12px; font-size: 13px; font-weight: 800; background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.1); border-radius: 12px;">
|
||||
<i class="fas fa-minus-circle" style="margin-right: 5px;"></i> Withdraw
|
||||
<button onclick="openWalletModal('withdraw')" class="btn btn-secondary" style="padding: 14px; font-size: 13px;">
|
||||
<i class="fas fa-minus-circle" style="margin-right: 8px;"></i> Withdraw
|
||||
</button>
|
||||
</div>
|
||||
<p style="font-size: 11px; color: var(--text-secondary); margin-top: 15px; text-align: center; opacity: 0.6;">
|
||||
<?php if ($user['role'] === 'founder'): ?>
|
||||
Manage your startup capital and dividend funds.
|
||||
<?php else: ?>
|
||||
Manage your investment capital and earnings.
|
||||
<?php endif; ?>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<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>
|
||||
<a href="edit_profile.php" style="color: var(--accent-primary); font-size: 13px; font-weight: 700; text-decoration: none; padding: 6px 14px; background: var(--surface-color); border-radius: 50px; border: 1px solid var(--border-color);">Edit</a>
|
||||
</div>
|
||||
<a href="profile.php?id=<?= $user['id'] ?>" class="profile-link-card">
|
||||
<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);">
|
||||
<div style="width: 80px; height: 80px; background: var(--accent-primary); border-radius: 16px; display: flex; align-items: center; justify-content: center; font-size: 32px; color: #000; font-weight: 900;">
|
||||
<?= substr($user['full_name'], 0, 1) ?>
|
||||
</div>
|
||||
<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 style="font-size: 14px; color: var(--accent-primary); font-weight: 700; opacity: 0.8;"><?= htmlspecialchars($user['university']) ?></div>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
@ -353,19 +319,18 @@ function number_get_formatted($num) {
|
||||
<?php
|
||||
$skills = explode(',', $user['skills'] ?? '');
|
||||
foreach (array_slice($skills, 0, 3) as $skill): if(empty(trim($skill))) continue; ?>
|
||||
<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>
|
||||
<span style="font-size: 11px; padding: 6px 14px; background: var(--surface-color); 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; 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;">
|
||||
<div class="card" style="background: var(--accent-primary); color: #000; border: none; margin-bottom: 30px; padding: 30px;">
|
||||
<h3 style="color: #000; margin-bottom: 12px; font-size: 22px; font-weight: 800;"><?= $user['role'] === 'founder' ? 'Find Your Team' : 'Discover Talent' ?></h3>
|
||||
<p style="font-size: 15px; opacity: 0.8; margin-bottom: 25px; font-weight: 500;">
|
||||
<?= $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: #1a1a24; font-weight: 800; text-align: center; border-radius: 16px; position: relative;">
|
||||
<a href="<?= $user['role'] === 'founder' ? 'partners.php' : 'discover.php' ?>" class="btn" style="width: 100%; background: #000; color: var(--accent-primary); font-weight: 800; text-align: center;">
|
||||
<?= $user['role'] === 'founder' ? 'Launch Matching' : 'Go to Discovery Hub' ?>
|
||||
</a>
|
||||
</div>
|
||||
@ -375,19 +340,19 @@ function number_get_formatted($num) {
|
||||
|
||||
<!-- Wallet Modal -->
|
||||
<div id="wallet-modal" class="modal">
|
||||
<div class="modal-content">
|
||||
<div class="modal-content" style="width: 100%; max-width: 420px; margin: 10% auto;">
|
||||
<div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 30px;">
|
||||
<h2 id="modal-title" style="margin: 0; font-size: 24px; font-weight: 900; color: #fff;">Add Funds</h2>
|
||||
<button onclick="closeWalletModal()" style="background: none; border: none; color: #999; cursor: pointer; font-size: 20px;"><i class="fas fa-times"></i></button>
|
||||
<button onclick="closeWalletModal()" style="background: none; border: none; color: var(--text-secondary); cursor: pointer; font-size: 20px;"><i class="fas fa-times"></i></button>
|
||||
</div>
|
||||
<form id="wallet-form">
|
||||
<input type="hidden" id="wallet-action" name="action" value="add">
|
||||
<div style="margin-bottom: 25px;">
|
||||
<label style="display: block; margin-bottom: 10px; font-size: 12px; color: #999; text-transform: uppercase; letter-spacing: 1px; font-weight: 700;">Amount (£)</label>
|
||||
<label style="display: block; margin-bottom: 12px; font-size: 12px; color: var(--text-secondary); text-transform: uppercase; letter-spacing: 1px; font-weight: 700;">Amount (£)</label>
|
||||
<input type="number" id="wallet-amount" name="amount" min="1" step="0.01" required placeholder="0.00"
|
||||
style="width: 100%; padding: 18px; background: #000; border: 1px solid rgba(255,255,255,0.1); border-radius: 16px; color: #fff; font-size: 24px; font-weight: 800;">
|
||||
style="width: 100%; padding: 18px; background: var(--bg-color); border: 1px solid var(--border-color); border-radius: 12px; color: #fff; font-size: 24px; font-weight: 800;">
|
||||
</div>
|
||||
<button type="submit" id="wallet-submit-btn" class="btn btn-primary" style="width: 100%; padding: 18px; font-size: 16px; font-weight: 800; border-radius: 16px; background: var(--accent-blue); color: #000;">Confirm</button>
|
||||
<button type="submit" id="wallet-submit-btn" class="btn btn-primary" style="width: 100%; padding: 18px; font-size: 16px;">Confirm</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
@ -403,11 +368,11 @@ function openWalletModal(action) {
|
||||
if (action === 'add') {
|
||||
title.innerText = 'Add Funds';
|
||||
submitBtn.innerText = 'Confirm Deposit';
|
||||
submitBtn.style.background = 'var(--accent-blue)';
|
||||
submitBtn.className = 'btn btn-primary';
|
||||
} else {
|
||||
title.innerText = 'Withdraw Funds';
|
||||
submitBtn.innerText = 'Confirm Withdrawal';
|
||||
submitBtn.style.background = '#fff';
|
||||
submitBtn.className = 'btn btn-secondary';
|
||||
}
|
||||
|
||||
modal.style.display = 'block';
|
||||
@ -478,4 +443,4 @@ window.onclick = function(event) {
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
67
discover.php
67
discover.php
@ -73,21 +73,19 @@ $browseStartups = $stmt->fetchAll();
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
|
||||
<style>
|
||||
.hub-header { padding: 60px 0 40px; text-align: center; }
|
||||
.hub-header h1 { font-size: 56px; font-weight: 900; margin-bottom: 12px; background: var(--gradient-primary); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
|
||||
.hub-header h1 { font-size: 56px; font-weight: 900; margin-bottom: 12px; color: var(--text-primary); }
|
||||
.hub-header p { color: var(--text-secondary); font-size: 20px; }
|
||||
.leaderboard-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; margin-bottom: 60px; }
|
||||
@media (max-width: 900px) { .leaderboard-grid { grid-template-columns: 1fr; } }
|
||||
.lb-card { background: var(--card-bg); border: 1px solid var(--border-color); border-radius: 24px; padding: 30px; backdrop-filter: blur(20px); }
|
||||
.lb-title { display: flex; align-items: center; gap: 12px; margin-bottom: 25px; font-size: 20px; font-weight: 700; }
|
||||
.lb-item { display: flex; align-items: center; gap: 15px; padding: 15px; background: rgba(255,255,255,0.03); border-radius: 16px; margin-bottom: 12px; transition: all 0.3s; text-decoration: none; color: inherit; }
|
||||
.lb-item:hover { background: rgba(255,255,255,0.06); transform: translateX(8px); border-color: var(--accent-blue); }
|
||||
.lb-rank { width: 32px; height: 32px; background: var(--surface-color); border-radius: 10px; display: flex; align-items: center; justify-content: center; font-weight: 700; color: var(--accent-blue); font-size: 14px; }
|
||||
.rank-1 { background: gold; color: #000; }
|
||||
.rank-2 { background: silver; color: #000; }
|
||||
.rank-3 { background: #cd7f32; color: #000; }
|
||||
.lb-card { background: var(--surface-color); border: 1px solid var(--border-color); border-radius: 16px; padding: 30px; }
|
||||
.lb-title { display: flex; align-items: center; gap: 12px; margin-bottom: 25px; font-size: 20px; font-weight: 800; color: var(--text-primary); }
|
||||
.lb-item { display: flex; align-items: center; gap: 15px; padding: 15px; background: var(--elevated-color); border-radius: 12px; border: 1px solid var(--border-color); margin-bottom: 12px; transition: all 0.3s; text-decoration: none; color: inherit; }
|
||||
.lb-item:hover { transform: translateX(8px); border-color: var(--accent-primary); }
|
||||
.lb-rank { width: 32px; height: 32px; background: var(--bg-color); border-radius: 8px; display: flex; align-items: center; justify-content: center; font-weight: 800; color: var(--accent-primary); font-size: 14px; border: 1px solid var(--border-color); }
|
||||
.rank-1 { background: var(--warning-color); color: #000; border-color: var(--warning-color); }
|
||||
.rank-2 { background: var(--text-secondary); color: #000; border-color: var(--text-secondary); }
|
||||
.rank-3 { background: #cd7f32; color: #000; border-color: #cd7f32; }
|
||||
.startup-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(350px, 1fr)); gap: 25px; }
|
||||
.startup-card { background: var(--card-bg); border: 1px solid var(--border-color); border-radius: 24px; padding: 30px; transition: all 0.3s; }
|
||||
.startup-card:hover { transform: translateY(-5px); border-color: var(--accent-blue); }
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
@ -108,92 +106,87 @@ $browseStartups = $stmt->fetchAll();
|
||||
<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;">
|
||||
<div style="display: flex; align-items: center; gap: 10px; padding: 6px 14px; background: var(--surface-color); border-radius: 50px; border: 1px solid var(--border-color);">
|
||||
<div style="width: 24px; height: 24px; background: var(--accent-primary); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 10px; color: #000; 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>
|
||||
<a href="logout.php" class="btn btn-secondary" style="padding: 8px 16px; font-size: 12px;">Log Out</a>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<main class="container">
|
||||
<div class="hero-bg">
|
||||
<div class="hero-blob" style="top: 20%; right: -5%;"></div>
|
||||
<div class="hero-blob" style="bottom: 10%; left: -5%; 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="hub-header">
|
||||
<h1>Discovery Hub</h1>
|
||||
<h1>Discovery <span style="color: var(--accent-primary);">Hub.</span></h1>
|
||||
<p>Explore the best student-led innovation across the network.</p>
|
||||
</div>
|
||||
|
||||
<div class="leaderboard-grid">
|
||||
<div class="lb-card">
|
||||
<div class="lb-title"><i class="fas fa-heart" style="color: #ff3b30;"></i> Top Followed</div>
|
||||
<div class="lb-title"><i class="fas fa-heart" style="color: var(--error-color);"></i> Top Followed</div>
|
||||
<?php foreach ($mostFollowed as $i => $s): ?>
|
||||
<a href="startup_details.php?id=<?= $s['id'] ?>" class="lb-item">
|
||||
<div class="lb-rank rank-<?= $i+1 ?>"><?= $i+1 ?></div>
|
||||
<div style="flex: 1;">
|
||||
<div style="font-weight: 700;"><?= htmlspecialchars($s['name']) ?></div>
|
||||
<div style="font-weight: 700; color: var(--text-primary);"><?= htmlspecialchars($s['name']) ?></div>
|
||||
<div style="font-size: 12px; color: var(--text-secondary);">by <?= htmlspecialchars($s['founder_name']) ?></div>
|
||||
</div>
|
||||
<div style="font-weight: 700; color: var(--accent-blue);"><?= number_format($s['followers_count']) ?></div>
|
||||
<div style="font-weight: 800; color: var(--accent-primary);"><?= number_format($s['followers_count']) ?></div>
|
||||
</a>
|
||||
<?php endforeach; ?>
|
||||
</div>
|
||||
<div class="lb-card">
|
||||
<div class="lb-title"><i class="fas fa-rocket" style="color: var(--accent-blue);"></i> Most Funded</div>
|
||||
<div class="lb-title"><i class="fas fa-rocket" style="color: var(--accent-primary);"></i> Most Funded</div>
|
||||
<?php foreach ($mostFunded as $i => $s): ?>
|
||||
<a href="startup_details.php?id=<?= $s['id'] ?>" class="lb-item">
|
||||
<div class="lb-rank rank-<?= $i+1 ?>"><?= $i+1 ?></div>
|
||||
<div style="flex: 1;">
|
||||
<div style="font-weight: 700;"><?= htmlspecialchars($s['name']) ?></div>
|
||||
<div style="font-weight: 700; color: var(--text-primary);"><?= htmlspecialchars($s['name']) ?></div>
|
||||
<div style="font-size: 12px; color: var(--text-secondary);">by <?= htmlspecialchars($s['founder_name']) ?></div>
|
||||
</div>
|
||||
<div style="font-weight: 700; color: #2ecc71;">£<?= number_format($s['funded_amount']) ?></div>
|
||||
<div style="font-weight: 800; color: var(--success-color);">£<?= number_format($s['funded_amount']) ?></div>
|
||||
</a>
|
||||
<?php endforeach; ?>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div style="margin-bottom: 40px; text-align: center;">
|
||||
<h2 style="margin-bottom: 25px;">Founding Rounds</h2>
|
||||
<h2 style="margin-bottom: 25px; color: var(--text-primary);">Founding Rounds</h2>
|
||||
<form method="GET" style="display: flex; gap: 10px; max-width: 600px; margin: 0 auto;">
|
||||
<input type="text" name="q" value="<?= htmlspecialchars($q) ?>" placeholder="Search founding rounds..." class="form-control" style="flex: 1; background: var(--surface-color); border: 1px solid var(--border-color); color: #fff; padding: 12px 20px; border-radius: 12px;">
|
||||
<input type="text" name="q" value="<?= htmlspecialchars($q) ?>" placeholder="Search founding rounds..." class="form-control" style="flex: 1;">
|
||||
<button type="submit" class="btn btn-primary">Filter</button>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<div class="startup-grid">
|
||||
<?php foreach ($browseStartups as $s): ?>
|
||||
<div class="startup-card" onclick="location.href='startup_details.php?id=<?= $s['id'] ?>'" style="cursor: pointer;">
|
||||
<div style="display: flex; gap: 20px; align-items: center; margin-bottom: 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; font-weight: 800; color: #fff;">
|
||||
<div class="card" onclick="location.href='startup_details.php?id=<?= $s['id'] ?>'" style="cursor: pointer;">
|
||||
<div style="display: flex; gap: 20px; align-items: center; margin-bottom: 24px;">
|
||||
<div style="width: 60px; height: 60px; background: var(--accent-primary); border-radius: 12px; display: flex; align-items: center; justify-content: center; font-size: 24px; font-weight: 900; color: #000;">
|
||||
<?= substr($s['name'], 0, 1) ?>
|
||||
</div>
|
||||
<div>
|
||||
<div style="font-weight: 700; font-size: 20px;"><?= htmlspecialchars($s['name']) ?></div>
|
||||
<div style="font-weight: 800; font-size: 20px; color: var(--text-primary);"><?= htmlspecialchars($s['name']) ?></div>
|
||||
<div style="font-size: 13px; color: var(--text-secondary);">by <?= htmlspecialchars($s['founder_name']) ?></div>
|
||||
</div>
|
||||
</div>
|
||||
<p style="color: var(--text-secondary); font-size: 14px; margin-bottom: 20px; line-height: 1.6; height: 42px; overflow: hidden;">
|
||||
<p style="color: var(--text-secondary); font-size: 14px; margin-bottom: 24px; line-height: 1.6; height: 42px; overflow: hidden;">
|
||||
<?= htmlspecialchars(substr($s['description'], 0, 100)) ?>...
|
||||
</p>
|
||||
<div style="display: flex; justify-content: space-between; align-items: center;">
|
||||
<?php if (!empty($s['industry'])): ?>
|
||||
<span class="badge" style="font-size: 10px;"><?= htmlspecialchars($s['industry']) ?></span>
|
||||
<span style="font-size: 11px; font-weight: 700; color: var(--accent-primary); text-transform: uppercase; background: var(--bg-color); padding: 4px 10px; border-radius: 6px; border: 1px solid var(--border-color);"><?= htmlspecialchars($s['industry']) ?></span>
|
||||
<?php endif; ?>
|
||||
<span style="font-weight: 700; color: var(--accent-blue);">£<?= number_format($s['active_raised']) ?></span>
|
||||
<span style="font-weight: 900; color: var(--text-primary);">£<?= number_format($s['active_raised']) ?></span>
|
||||
</div>
|
||||
</div>
|
||||
<?php endforeach; ?>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<footer style="margin-top: 80px; padding: 60px 0; border-top: 1px solid var(--border-color); background: rgba(0,0,0,0.2);">
|
||||
<footer style="margin-top: 80px; padding: 60px 0; border-top: 1px solid var(--border-color);">
|
||||
<div class="container" style="text-align: center;">
|
||||
<div class="logo-container" style="justify-content: center; margin-bottom: 25px;">
|
||||
<img src="assets/images/logo.svg" alt="<?= htmlspecialchars($platformName) ?> Logo" class="logo-img" style="width: 30px; height: 30px;">
|
||||
@ -205,4 +198,4 @@ $browseStartups = $stmt->fetchAll();
|
||||
|
||||
<script src="assets/js/main.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
@ -57,31 +57,27 @@ $activeRounds = $stmt->fetchAll();
|
||||
<a href="messages.php">Messages</a>
|
||||
</nav>
|
||||
<div style="display: flex; align-items: center; gap: 15px;">
|
||||
<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;">
|
||||
<div style="display: flex; align-items: center; gap: 10px; padding: 6px 14px; background: var(--surface-color); border-radius: 50px; border: 1px solid var(--border-color);">
|
||||
<div style="width: 24px; height: 24px; background: var(--accent-primary); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 10px; color: #000; 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>
|
||||
<a href="logout.php" class="btn btn-secondary" style="padding: 8px 16px; font-size: 12px;">Log Out</a>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<main class="container" style="padding-top: 50px; padding-bottom: 50px;">
|
||||
<div class="hero-bg">
|
||||
<div class="hero-blob" style="top: 10%; right: -10%;"></div>
|
||||
</div>
|
||||
|
||||
<div style="margin-bottom: 40px;">
|
||||
<h1>Active Founding Rounds</h1>
|
||||
<p style="color: var(--text-secondary);">Direct access to the most promising student startups seeking capital right now.</p>
|
||||
<h1 style="font-size: 48px; font-weight: 900; color: var(--text-primary);">Active Founding <span style="color: var(--accent-primary);">Rounds.</span></h1>
|
||||
<p style="color: var(--text-secondary); font-size: 18px;">Direct access to the most promising student startups seeking capital right now.</p>
|
||||
</div>
|
||||
|
||||
<div style="display: grid; grid-template-columns: repeat(auto-fill, minmax(380px, 1fr)); gap: 25px;">
|
||||
<?php if (empty($activeRounds)): ?>
|
||||
<div class="card" style="grid-column: 1 / -1; text-align: center; padding: 80px 20px;">
|
||||
<i class="fas fa-coins" style="font-size: 64px; color: var(--accent-blue); opacity: 0.2; margin-bottom: 30px;"></i>
|
||||
<i class="fas fa-coins" style="font-size: 64px; color: var(--accent-primary); opacity: 0.2; margin-bottom: 30px;"></i>
|
||||
<h3>No active rounds at the moment</h3>
|
||||
<p style="color: var(--text-secondary);">Check back soon for new opportunities.</p>
|
||||
</div>
|
||||
@ -94,38 +90,38 @@ $activeRounds = $stmt->fetchAll();
|
||||
<div class="card" style="position: relative; padding: 35px;">
|
||||
<div style="display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 20px;">
|
||||
<div>
|
||||
<div style="font-size: 11px; text-transform: uppercase; letter-spacing: 1px; color: var(--accent-blue); font-weight: 800; margin-bottom: 5px;"><?= htmlspecialchars($round['industry']) ?></div>
|
||||
<div style="font-size: 11px; text-transform: uppercase; letter-spacing: 1px; color: var(--accent-primary); font-weight: 800; margin-bottom: 5px;"><?= htmlspecialchars($round['industry']) ?></div>
|
||||
<h3 style="margin: 0; font-size: 22px; font-weight: 800;"><?= htmlspecialchars($round['name']) ?></h3>
|
||||
<div style="font-size: 13px; color: var(--text-secondary); margin-top: 4px;">by <?= htmlspecialchars($round['founder_name']) ?></div>
|
||||
</div>
|
||||
<div style="text-align: right;">
|
||||
<div style="font-size: 11px; color: var(--text-secondary); text-transform: uppercase;">Goal</div>
|
||||
<div style="font-size: 18px; font-weight: 900;">£<?= number_format($goal) ?></div>
|
||||
<div style="font-size: 18px; font-weight: 900; color: var(--text-primary);">£<?= number_format($goal) ?></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div style="margin-bottom: 12px; font-weight: 700; display: flex; justify-content: space-between; font-size: 14px;">
|
||||
<span style="color: var(--accent-blue);">£<?= number_format($raised) ?> Secured</span>
|
||||
<span style="color: var(--accent-primary);">£<?= number_format($raised) ?> Secured</span>
|
||||
<span style="color: var(--text-secondary);"><?= $progress ?>%</span>
|
||||
</div>
|
||||
<div style="width: 100%; height: 10px; background: rgba(255,255,255,0.05); border-radius: 5px; overflow: hidden; margin-bottom: 30px; border: 1px solid rgba(255,255,255,0.05);">
|
||||
<div style="width: <?= min(100, $progress) ?>%; height: 100%; background: var(--gradient-primary); box-shadow: 0 0 15px rgba(0, 242, 255, 0.4);"></div>
|
||||
<div style="width: 100%; height: 8px; background: var(--bg-color); border-radius: 100px; overflow: hidden; margin-bottom: 30px; border: 1px solid var(--border-color);">
|
||||
<div style="width: <?= min(100, $progress) ?>%; height: 100%; background: var(--accent-primary);"></div>
|
||||
</div>
|
||||
|
||||
<div style="display: grid; grid-template-columns: 1fr 1fr; gap: 15px; margin-bottom: 30px;">
|
||||
<div style="background: rgba(255,255,255,0.02); padding: 12px; border-radius: 12px; border: 1px solid rgba(255,255,255,0.05);">
|
||||
<div style="background: var(--bg-color); padding: 12px; border-radius: 12px; border: 1px solid var(--border-color);">
|
||||
<div style="font-size: 10px; color: var(--text-secondary); text-transform: uppercase; margin-bottom: 4px;">Platform Yield</div>
|
||||
<div style="font-weight: 800; color: #fff;"><?= number_format($round['recommended_return_rate'] ?? 5.0, 1) ?>%</div>
|
||||
</div>
|
||||
<div style="background: rgba(255,255,255,0.02); padding: 12px; border-radius: 12px; border: 1px solid rgba(255,255,255,0.05);">
|
||||
<div style="background: var(--bg-color); padding: 12px; border-radius: 12px; border: 1px solid var(--border-color);">
|
||||
<div style="font-size: 10px; color: var(--text-secondary); text-transform: uppercase; margin-bottom: 4px;">Founder Yield</div>
|
||||
<div style="font-weight: 800; color: #fff;"><?= $round['founder_return_rate'] ? number_format($round['founder_return_rate'], 1) . '%' : 'N/A' ?></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div style="display: flex; gap: 12px;">
|
||||
<a href="startup_details.php?id=<?= $round['id'] ?>" class="btn btn-outline" style="flex: 1; text-align: center; padding: 14px; font-size: 14px; font-weight: 700;">View Profile</a>
|
||||
<a href="invest.php?id=<?= $round['id'] ?>" class="btn btn-primary" style="flex: 1.2; text-align: center; padding: 14px; font-size: 14px; font-weight: 800; background: var(--accent-blue); color: #000; border: none;">Invest Now</a>
|
||||
<a href="startup_details.php?id=<?= $round['id'] ?>" class="btn btn-secondary" style="flex: 1; text-align: center; padding: 14px; font-size: 13px;">View Profile</a>
|
||||
<a href="invest.php?id=<?= $round['id'] ?>" class="btn btn-primary" style="flex: 1.2; text-align: center; padding: 14px; font-size: 13px;">Invest Now</a>
|
||||
</div>
|
||||
</div>
|
||||
<?php endforeach; ?>
|
||||
@ -133,7 +129,7 @@ $activeRounds = $stmt->fetchAll();
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<footer style="margin-top: 80px; padding: 60px 0; border-top: 1px solid var(--border-color); background: rgba(0,0,0,0.2);">
|
||||
<footer style="margin-top: 80px; padding: 60px 0; border-top: 1px solid var(--border-color);">
|
||||
<div class="container" style="text-align: center;">
|
||||
<p style="color: var(--text-secondary); font-size: 14px;">© <?= date('Y') ?> <?= htmlspecialchars($platformName) ?> Capitalist Platform. All rights reserved.</p>
|
||||
</div>
|
||||
|
||||
37
index.php
37
index.php
@ -37,22 +37,18 @@ $platformName = defined('PLATFORM_NAME') ? PLATFORM_NAME : 'Gatsby';
|
||||
<a href="login.php">Log In</a>
|
||||
</nav>
|
||||
<div style="display: flex; gap: 12px;">
|
||||
<a href="register.php" class="btn btn-primary">Join Now <i class="fas fa-arrow-right"></i></a>
|
||||
<a href="register.php" class="btn btn-primary">Join Now</a>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<main>
|
||||
<section class="hero">
|
||||
<div class="hero-bg">
|
||||
<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">
|
||||
<div class="match-score-pill" style="margin-bottom: 30px;">
|
||||
<div class="match-score-pill" style="margin-bottom: 30px; background: var(--surface-color); color: var(--accent-primary); border: 1px solid var(--border-color); padding: 8px 16px; border-radius: 999px; display: inline-flex; align-items: center; gap: 8px; font-weight: 700; font-size: 14px;">
|
||||
<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>
|
||||
<h1>The smarter way to <br><span>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" style="padding: 16px 32px; font-size: 18px;">Start Your Journey</a>
|
||||
@ -66,38 +62,37 @@ $platformName = defined('PLATFORM_NAME') ? PLATFORM_NAME : 'Gatsby';
|
||||
<div class="card">
|
||||
<div class="card-icon"><i class="fas fa-user-shield"></i></div>
|
||||
<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>
|
||||
<p style="color: var(--text-secondary);">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 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>
|
||||
<p style="color: var(--text-secondary);">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 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>
|
||||
<p style="color: var(--text-secondary);">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" 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>
|
||||
<section id="how-it-works" class="how-it-works container">
|
||||
<h2 style="font-size: 48px; font-weight: 900; margin-bottom: 60px;">Your path from idea to <span>IPO.</span></h2>
|
||||
<div class="steps">
|
||||
<div class="step">
|
||||
<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>
|
||||
<span class="step-number">01</span>
|
||||
<h4 style="font-size: 28px; font-weight: 800; margin-bottom: 10px;">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" style="opacity: 0.2; font-size: 100px;">02</span>
|
||||
<h4 style="font-size: 28px; font-weight: 800; margin-top: -20px;">Swipe & Match</h4>
|
||||
<span class="step-number">02</span>
|
||||
<h4 style="font-size: 28px; font-weight: 800; margin-bottom: 10px;">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" style="opacity: 0.2; font-size: 100px;">03</span>
|
||||
<h4 style="font-size: 28px; font-weight: 800; margin-top: -20px;">Build & Fund</h4>
|
||||
<span class="step-number">03</span>
|
||||
<h4 style="font-size: 28px; font-weight: 800; margin-bottom: 10px;">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>
|
||||
@ -116,8 +111,8 @@ $platformName = defined('PLATFORM_NAME') ? PLATFORM_NAME : 'Gatsby';
|
||||
<a href="#">Privacy Policy</a>
|
||||
<a href="#">Contact Support</a>
|
||||
</div>
|
||||
<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>
|
||||
<p style="margin-top: 40px; font-size: 14px; color: var(--text-disabled);">© <?= date('Y') ?> <?= htmlspecialchars($platformName) ?>. All rights reserved.</p>
|
||||
<p style="font-size: 12px; margin-top: 10px; color: var(--text-disabled);">Built for the next generation of entrepreneurs.</p>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
|
||||
36
login.php
36
login.php
@ -55,32 +55,38 @@ $platformName = defined('PLATFORM_NAME') ? PLATFORM_NAME : 'Gatsby';
|
||||
<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>
|
||||
<body style="display: flex; align-items: center; justify-content: center; min-height: 100vh; padding: 20px;">
|
||||
<body style="display: flex; align-items: center; justify-content: center; min-height: 100vh; padding: 20px; background: var(--bg-color);">
|
||||
|
||||
<div class="card" style="width: 100%; max-width: 400px;">
|
||||
<div class="logo" style="text-align: center; margin-bottom: 30px;"><?= htmlspecialchars($platformName) ?></div>
|
||||
<h2 style="margin-bottom: 10px; text-align: center;">Welcome Back</h2>
|
||||
<p style="text-align: center; color: var(--text-secondary); margin-bottom: 30px; font-size: 14px;">Log in to access your startup network.</p>
|
||||
<div class="card" style="width: 100%; max-width: 400px; padding: 40px;">
|
||||
<div style="text-align: center; margin-bottom: 40px;">
|
||||
<img src="assets/images/logo.svg" alt="Logo" style="width: 64px; height: 64px; margin-bottom: 16px;">
|
||||
<div class="logo-text" style="font-size: 28px; justify-content: center;"><?= htmlspecialchars($platformName) ?></div>
|
||||
</div>
|
||||
|
||||
<h2 style="margin-bottom: 8px; text-align: center; font-size: 24px; font-weight: 800;">Welcome Back</h2>
|
||||
<p style="text-align: center; color: var(--text-secondary); margin-bottom: 32px; font-size: 14px;">Log in to access your startup network.</p>
|
||||
|
||||
<?php if ($error): ?>
|
||||
<div style="background: rgba(255, 0, 0, 0.1); border: 1px solid rgba(255, 0, 0, 0.3); color: #ff5555; padding: 12px; border-radius: 8px; margin-bottom: 20px;">
|
||||
<div style="background: rgba(255, 68, 68, 0.1); border: 1px solid var(--error-color); color: var(--error-color); padding: 12px; border-radius: 8px; margin-bottom: 24px; font-size: 14px; text-align: center; font-weight: 600;">
|
||||
<?= htmlspecialchars($error) ?>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
|
||||
<form method="POST">
|
||||
<div style="margin-bottom: 15px;">
|
||||
<label style="display: block; margin-bottom: 8px; font-size: 14px; font-weight: 500;">Email Address</label>
|
||||
<input type="email" name="email" required style="width: 100%; padding: 12px; border-radius: 12px; background: var(--surface-color); border: 1px solid var(--border-color); color: #fff;">
|
||||
<div style="margin-bottom: 20px;">
|
||||
<label>Email Address</label>
|
||||
<input type="email" name="email" required placeholder="name@university.edu">
|
||||
</div>
|
||||
<div style="margin-bottom: 25px;">
|
||||
<label style="display: block; margin-bottom: 8px; font-size: 14px; font-weight: 500;">Password</label>
|
||||
<input type="password" name="password" required style="width: 100%; padding: 12px; border-radius: 12px; background: var(--surface-color); border: 1px solid var(--border-color); color: #fff;">
|
||||
<div style="margin-bottom: 32px;">
|
||||
<label>Password</label>
|
||||
<input type="password" name="password" required placeholder="••••••••">
|
||||
</div>
|
||||
<button type="submit" class="btn btn-primary" style="width: 100%; padding: 15px;">Log In</button>
|
||||
<p style="text-align: center; margin-top: 20px; color: var(--text-secondary); font-size: 14px;">Don't have an account? <a href="register.php" style="color: var(--accent-blue);">Sign Up</a></p>
|
||||
<button type="submit" class="btn btn-primary" style="width: 100%; padding: 16px;">Log In</button>
|
||||
<p style="text-align: center; margin-top: 24px; color: var(--text-secondary); font-size: 14px;">
|
||||
Don't have an account? <a href="register.php" style="color: var(--accent-primary); font-weight: 700;">Sign Up</a>
|
||||
</p>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
82
partners.php
82
partners.php
@ -109,6 +109,33 @@ if (!$search) { usort($browseCandidates, function($a, $b) { return $b['score'] <
|
||||
<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>
|
||||
.match-avatar {
|
||||
width: 85px;
|
||||
height: 85px;
|
||||
border-radius: 12px;
|
||||
background: var(--surface-color);
|
||||
border: 2px solid var(--accent-primary);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: 30px;
|
||||
font-weight: 800;
|
||||
color: var(--text-primary);
|
||||
margin-bottom: 12px;
|
||||
box-shadow: var(--shadow-soft);
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
.match-avatar img {
|
||||
width: 100%; height: 100%; object-fit: cover;
|
||||
}
|
||||
.tab-btn.active {
|
||||
background: var(--accent-primary) !important;
|
||||
color: #000 !important;
|
||||
border-color: var(--accent-primary) !important;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
@ -133,34 +160,33 @@ if (!$search) { usort($browseCandidates, function($a, $b) { return $b['score'] <
|
||||
<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;">
|
||||
<div style="display: flex; align-items: center; gap: 10px; padding: 6px 14px; background: var(--surface-color); border-radius: 50px; border: 1px solid var(--border-color);">
|
||||
<div style="width: 24px; height: 24px; background: var(--accent-primary); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 10px; color: #000; 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>
|
||||
<a href="logout.php" class="btn btn-secondary" style="padding: 8px 16px; font-size: 12px;">Log Out</a>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<main class="container">
|
||||
<div class="hero-bg"><div class="hero-blob" style="top: 10%; left: -10%;"></div></div>
|
||||
<div class="page-header" style="padding: 60px 0 40px; text-align: center;">
|
||||
<h1 style="font-size: 56px; font-weight: 900; background: var(--gradient-primary); -webkit-background-clip: text; -webkit-text-fill-color: transparent;">Meet Your Team.</h1>
|
||||
<h1 style="font-size: 56px; font-weight: 900; color: var(--text-primary);">Meet Your <span style="color: var(--accent-primary);">Team.</span></h1>
|
||||
<p style="color: var(--text-secondary); font-size: 20px;">Connect with high-potential founders and engineers in the university ecosystem.</p>
|
||||
</div>
|
||||
|
||||
<?php if (!empty($matches)): ?>
|
||||
<section class="matches-section" style="margin-bottom: 60px;">
|
||||
<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 style="margin-bottom: 24px; font-size: 14px; font-weight: 800; color: var(--accent-primary); text-transform: uppercase; letter-spacing: 1.5px; display: flex; align-items: center; gap: 12px;">
|
||||
<i class="fas fa-fire"></i> Active Connections
|
||||
</h3>
|
||||
<div class="matches-scroller" style="display: flex; gap: 24px; overflow-x: auto; padding: 20px 5px; scrollbar-width: none;">
|
||||
<?php foreach ($matches as $match): ?>
|
||||
<div class="match-card" onclick="location.href='messages.php?chat_with=<?= $match['id'] ?>'" style="flex: 0 0 85px; text-align: center; cursor: pointer;">
|
||||
<div class="match-avatar" style="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;">
|
||||
<?php if ($match['profile_photo']): ?><img src="<?= htmlspecialchars($match['profile_photo']) ?>" style="width: 100%; height: 100%; object-fit: cover;"><?php else: ?><?= substr($match['full_name'], 0, 1) ?><?php endif; ?>
|
||||
<div class="match-avatar">
|
||||
<?php if ($match['profile_photo']): ?><img src="<?= htmlspecialchars($match['profile_photo']) ?>"><?php else: ?><?= substr($match['full_name'], 0, 1) ?><?php endif; ?>
|
||||
</div>
|
||||
<div class="match-name" style="font-size: 13px; font-weight: 700; color: var(--text-primary);"><?= htmlspecialchars(explode(' ', $match['full_name'])[0]) ?></div>
|
||||
</div>
|
||||
@ -170,10 +196,10 @@ if (!$search) { usort($browseCandidates, function($a, $b) { return $b['score'] <
|
||||
<?php endif; ?>
|
||||
|
||||
<div class="tabs" style="display: flex; justify-content: center; gap: 20px; margin-bottom: 50px;">
|
||||
<button class="tab-btn active" id="tab-swipe" onclick="setTab('swipe')" style="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;">
|
||||
<button class="tab-btn active" id="tab-swipe" onclick="setTab('swipe')" style="padding: 14px 28px; border-radius: 999px; background: var(--surface-color); border: 1px solid var(--border-color); color: var(--text-secondary); font-weight: 700; cursor: pointer; transition: all 0.4s; font-size: 13px; text-transform: uppercase;">
|
||||
<i class="fas fa-layer-group"></i> Swipe Engine
|
||||
</button>
|
||||
<button class="tab-btn" id="tab-browse" onclick="setTab('browse')" style="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;">
|
||||
<button class="tab-btn" id="tab-browse" onclick="setTab('browse')" style="padding: 14px 28px; border-radius: 999px; background: var(--surface-color); border: 1px solid var(--border-color); color: var(--text-secondary); font-weight: 700; cursor: pointer; transition: all 0.4s; font-size: 13px; text-transform: uppercase;">
|
||||
<i class="fas fa-list-ul"></i> Directory
|
||||
</button>
|
||||
</div>
|
||||
@ -181,23 +207,23 @@ if (!$search) { usort($browseCandidates, function($a, $b) { return $b['score'] <
|
||||
<div id="swipe-view" class="swipe-container" style="display: flex; flex-direction: column; align-items: center; padding: 20px 0;">
|
||||
<div class="card-stack" id="card-stack" style="position: relative; width: 100%; max-width: 440px; height: 600px; perspective: 1000px;">
|
||||
<?php if (empty($swipeCandidates)): ?>
|
||||
<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 style="text-align: center; color: var(--text-secondary); padding: 120px 40px; background: var(--surface-color); border-radius: 24px; border: 1px dashed var(--border-color); width: 100%;">
|
||||
<h3>The well is dry!</h3>
|
||||
<p>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'] ?>" style="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);">
|
||||
<div class="card-header-img" style="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;">
|
||||
<?php if ($c['score'] >= 10): ?><div class="match-badge" style="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; z-index: 10;"><i class="fas fa-bolt"></i> <?= $c['score'] ?>% Match</div><?php endif; ?>
|
||||
<div class="swipe-card" data-id="<?= $c['id'] ?>" style="position: absolute; width: 100%; height: 100%; background: var(--surface-color); border: 1px solid var(--border-color); border-radius: 24px; overflow: hidden; box-shadow: var(--shadow-soft); transition: transform 0.6s cubic-bezier(0.23, 1, 0.32, 1), opacity 0.6s ease; cursor: grab; display: flex; flex-direction: column;">
|
||||
<div class="card-header-img" style="height: 320px; background: var(--elevated-color); display: flex; align-items: center; justify-content: center; font-size: 120px; color: rgba(255,255,255,0.05); position: relative;">
|
||||
<?php if ($c['score'] >= 10): ?><div class="match-badge" style="position: absolute; top: 25px; right: 25px; background: var(--accent-primary); padding: 8px 16px; border-radius: 50px; color: #000; font-weight: 800; font-size: 12px; display: flex; align-items: center; gap: 8px; z-index: 10; text-transform: uppercase;"><i class="fas fa-bolt"></i> <?= $c['score'] ?>% Match</div><?php endif; ?>
|
||||
<?php if ($c['profile_photo']): ?><img src="<?= htmlspecialchars($c['profile_photo']) ?>" style="width: 100%; height: 100%; object-fit: cover;"><?php else: ?><i class="fas fa-user-astronaut"></i><?php endif; ?>
|
||||
</div>
|
||||
<div class="card-details" style="padding: 30px; flex-grow: 1; display: flex; flex-direction: column;">
|
||||
<div class="card-title" style="font-size: 28px; font-weight: 900; margin-bottom: 6px;"><?= htmlspecialchars($c['full_name']) ?></div>
|
||||
<div class="card-subtitle" style="font-size: 15px; color: var(--accent-blue); font-weight: 700; margin-bottom: 18px;"><i class="fas fa-university"></i> <?= htmlspecialchars($c['university']) ?></div>
|
||||
<div class="card-subtitle" style="font-size: 15px; color: var(--accent-primary); font-weight: 700; margin-bottom: 18px;"><i class="fas fa-university"></i> <?= htmlspecialchars($c['university']) ?></div>
|
||||
<p class="card-bio" style="font-size: 16px; color: var(--text-secondary); line-height: 1.6; margin-bottom: 20px;"><?= htmlspecialchars($c['bio'] ?: 'Building the next generation of startup infrastructure.') ?></p>
|
||||
<div class="card-tags" style="display: flex; flex-wrap: wrap; gap: 10px;">
|
||||
<?php foreach (array_slice(explode(',', $c['skills']), 0, 4) as $skill): if(empty(trim($skill))) continue; ?><span class="card-tag" style="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);"><?= htmlspecialchars(trim($skill)) ?></span><?php endforeach; ?>
|
||||
<?php foreach (array_slice(explode(',', $c['skills']), 0, 4) as $skill): if(empty(trim($skill))) continue; ?><span class="card-tag" style="font-size: 11px; padding: 6px 14px; background: var(--bg-color); border-radius: 50px; border: 1px solid var(--border-color); font-weight: 600; color: var(--text-secondary);"><?= htmlspecialchars(trim($skill)) ?></span><?php endforeach; ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -206,8 +232,8 @@ if (!$search) { usort($browseCandidates, function($a, $b) { return $b['score'] <
|
||||
</div>
|
||||
<?php if (!empty($swipeCandidates)): ?>
|
||||
<div class="swipe-actions" style="margin-top: 40px; display: flex; gap: 30px;">
|
||||
<button class="btn btn-secondary" onclick="handleSwipe('dislike')" style="width: 70px; height: 70px; border-radius: 50%; font-size: 24px; display: flex; align-items: center; justify-content: center; background: rgba(255, 77, 77, 0.1); border-color: rgba(255, 77, 77, 0.2); color: #ff4d4d;"><i class="fas fa-times"></i></button>
|
||||
<button class="btn btn-primary" onclick="handleSwipe('like')" style="width: 85px; height: 85px; border-radius: 50%; font-size: 30px; display: flex; align-items: center; justify-content: center; box-shadow: 0 20px 40px rgba(0, 242, 255, 0.3);"><i class="fas fa-heart"></i></button>
|
||||
<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')" style="width: 80px; height: 80px; font-size: 32px;"><i class="fas fa-heart"></i></button>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
@ -215,17 +241,17 @@ if (!$search) { usort($browseCandidates, function($a, $b) { return $b['score'] <
|
||||
<div id="browse-view" style="display: none;">
|
||||
<div style="margin-bottom: 40px;">
|
||||
<form method="GET" style="display: flex; gap: 15px; max-width: 700px; margin: 0 auto;">
|
||||
<input type="text" name="q" value="<?= htmlspecialchars($search) ?>" placeholder="Search by skill, university..." class="form-control" style="flex: 1; background: var(--surface-color); border: 1px solid var(--border-color); color: #fff; padding: 15px 25px; border-radius: 18px;">
|
||||
<input type="text" name="q" value="<?= htmlspecialchars($search) ?>" placeholder="Search by skill, university..." class="form-control" style="flex: 1;">
|
||||
<button type="submit" class="btn btn-primary">Search</button>
|
||||
</form>
|
||||
</div>
|
||||
<div class="browse-container" style="display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 30px;">
|
||||
<?php foreach ($browseCandidates as $c): ?>
|
||||
<div class="card" onclick="location.href='messages.php?chat_with=<?= $c['id'] ?>'" style="cursor: pointer; position: relative;">
|
||||
<?php if ($c['score'] >= 10): ?><div style="position: absolute; top: 20px; right: 20px; font-size: 11px; font-weight: 800; color: var(--accent-blue);"><i class="fas fa-bolt"></i> <?= $c['score'] ?>%</div><?php endif; ?>
|
||||
<?php if ($c['score'] >= 10): ?><div style="position: absolute; top: 20px; right: 20px; font-size: 11px; font-weight: 800; color: var(--accent-primary); text-transform: uppercase;"><i class="fas fa-bolt"></i> <?= $c['score'] ?>%</div><?php endif; ?>
|
||||
<div style="display: flex; gap: 15px; align-items: center; margin-bottom: 20px;">
|
||||
<div style="width: 50px; height: 50px; border-radius: 14px; background: var(--gradient-primary); display: flex; align-items: center; justify-content: center; font-weight: 900; color: #fff;"><?= substr($c['full_name'], 0, 1) ?></div>
|
||||
<div><div style="font-weight: 800;"><?= htmlspecialchars($c['full_name']) ?></div><div style="font-size: 12px; color: var(--text-secondary);"><?= htmlspecialchars($c['university']) ?></div></div>
|
||||
<div style="width: 50px; height: 50px; border-radius: 8px; background: var(--accent-primary); display: flex; align-items: center; justify-content: center; font-weight: 900; color: #000;"><?= substr($c['full_name'], 0, 1) ?></div>
|
||||
<div><div style="font-weight: 800; color: var(--text-primary);"><?= htmlspecialchars($c['full_name']) ?></div><div style="font-size: 12px; color: var(--text-secondary);"><?= htmlspecialchars($c['university']) ?></div></div>
|
||||
</div>
|
||||
<p style="font-size: 14px; color: var(--text-secondary); height: 40px; overflow: hidden;"><?= htmlspecialchars($c['bio'] ?: 'Building the future.') ?></p>
|
||||
</div>
|
||||
@ -234,12 +260,12 @@ if (!$search) { usort($browseCandidates, function($a, $b) { return $b['score'] <
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<div id="match-modal" style="position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.95); z-index: 2000; display: none; align-items: center; justify-content: center; backdrop-filter: blur(20px);">
|
||||
<div id="match-modal" style="position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.95); z-index: 2000; display: none; align-items: center; justify-content: center; backdrop-filter: blur(10px);">
|
||||
<div style="text-align: center;">
|
||||
<h1 style="font-size: 80px; font-weight: 950; background: var(--gradient-primary); -webkit-background-clip: text; -webkit-text-fill-color: transparent; margin-bottom: 30px;">It's a Match!</h1>
|
||||
<h1 style="font-size: 80px; font-weight: 950; color: var(--accent-primary); margin-bottom: 30px;">It's a Match!</h1>
|
||||
<p style="font-size: 24px; color: #fff; margin-bottom: 40px;">You and this founder are ready to build together.</p>
|
||||
<button class="btn btn-primary" onclick="location.href='messages.php'">Start Conversation</button>
|
||||
<button class="btn btn-secondary" style="margin-left: 15px;" onclick="document.getElementById('match-modal').style.display='none'">Keep Swiping</button>
|
||||
<button class="btn btn-primary" onclick="location.href='messages.php'" style="padding: 16px 32px; font-size: 18px;">Start Conversation</button>
|
||||
<button class="btn btn-secondary" style="margin-left: 15px; padding: 16px 32px; font-size: 18px;" onclick="document.getElementById('match-modal').style.display='none'">Keep Swiping</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -270,4 +296,4 @@ if (!$search) { usort($browseCandidates, function($a, $b) { return $b['score'] <
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
80
register.php
80
register.php
@ -97,86 +97,96 @@ $platformName = defined('PLATFORM_NAME') ? PLATFORM_NAME : 'Gatsby';
|
||||
<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>
|
||||
<body style="display: flex; align-items: center; justify-content: center; min-height: 100vh; padding: 20px;">
|
||||
<body style="display: flex; align-items: center; justify-content: center; min-height: 100vh; padding: 20px; background: var(--bg-color);">
|
||||
|
||||
<div class="card" style="width: 100%; max-width: 500px;">
|
||||
<div class="logo" style="text-align: center; margin-bottom: 30px;"><?= htmlspecialchars($platformName) ?></div>
|
||||
<h2 style="margin-bottom: 10px; text-align: center;">Join the Exclusive Network</h2>
|
||||
<p style="text-align: center; color: var(--text-secondary); margin-bottom: 30px; font-size: 14px;">Verify your student or graduate status to get started.</p>
|
||||
<div class="card" style="width: 100%; max-width: 500px; padding: 40px;">
|
||||
<div style="text-align: center; margin-bottom: 40px;">
|
||||
<img src="assets/images/logo.svg" alt="Logo" style="width: 64px; height: 64px; margin-bottom: 16px;">
|
||||
<div class="logo-text" style="font-size: 28px; justify-content: center;"><?= htmlspecialchars($platformName) ?></div>
|
||||
</div>
|
||||
|
||||
<h2 style="margin-bottom: 8px; text-align: center; font-size: 24px; font-weight: 800;">Join the Exclusive Network</h2>
|
||||
<p style="text-align: center; color: var(--text-secondary); margin-bottom: 32px; font-size: 14px;">Verify your student or graduate status to get started.</p>
|
||||
|
||||
<?php if ($error): ?>
|
||||
<div style="background: rgba(255, 0, 0, 0.1); border: 1px solid rgba(255, 0, 0, 0.3); color: #ff5555; padding: 12px; border-radius: 8px; margin-bottom: 20px;">
|
||||
<div style="background: rgba(255, 68, 68, 0.1); border: 1px solid var(--error-color); color: var(--error-color); padding: 12px; border-radius: 8px; margin-bottom: 24px; text-align: center; font-weight: 600;">
|
||||
<?= htmlspecialchars($error) ?>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php if ($success): ?>
|
||||
<div style="background: rgba(0, 255, 0, 0.1); border: 1px solid rgba(0, 255, 0, 0.3); color: #55ff55; padding: 12px; border-radius: 8px; margin-bottom: 20px;">
|
||||
<div style="background: rgba(0, 200, 83, 0.1); border: 1px solid var(--success-color); color: var(--success-color); padding: 12px; border-radius: 8px; margin-bottom: 24px; text-align: center; font-weight: 600;">
|
||||
<?= htmlspecialchars($success) ?>
|
||||
</div>
|
||||
<p style="text-align: center;"><a href="login.php" class="btn btn-primary" style="width: 100%;">Go to Log In</a></p>
|
||||
<p style="text-align: center;"><a href="login.php" class="btn btn-primary" style="width: 100%; padding: 16px;">Go to Log In</a></p>
|
||||
<?php else: ?>
|
||||
<form method="POST">
|
||||
<div style="margin-bottom: 15px;">
|
||||
<label style="display: block; margin-bottom: 8px; font-size: 14px; font-weight: 500;">Full Name</label>
|
||||
<input type="text" name="full_name" required style="width: 100%; padding: 12px; border-radius: 12px; background: var(--surface-color); border: 1px solid var(--border-color); color: #fff;">
|
||||
<div style="margin-bottom: 20px;">
|
||||
<label>Full Name</label>
|
||||
<input type="text" name="full_name" required placeholder="John Doe">
|
||||
</div>
|
||||
<div style="margin-bottom: 15px;">
|
||||
<label style="display: block; margin-bottom: 8px; font-size: 14px; font-weight: 500;">University Email</label>
|
||||
<input type="email" name="email" required style="width: 100%; padding: 12px; border-radius: 12px; background: var(--surface-color); border: 1px solid var(--border-color); color: #fff;" placeholder="you@university.ac.uk">
|
||||
<span id="founder-hint" style="font-size: 12px; color: var(--text-secondary); margin-top: 4px; display: block;">Only university/graduate emails (.edu, etc.) accepted for founders.</span>
|
||||
<div style="margin-bottom: 20px;">
|
||||
<label>University Email</label>
|
||||
<input type="email" name="email" required placeholder="you@university.ac.uk">
|
||||
<span id="founder-hint" style="font-size: 12px; color: var(--text-secondary); margin-top: 6px; display: block;">Only university/graduate emails accepted for founders.</span>
|
||||
</div>
|
||||
<div style="display: grid; grid-template-columns: 1fr 1fr; gap: 15px; margin-bottom: 15px;">
|
||||
<div style="display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 20px;">
|
||||
<div>
|
||||
<label style="display: block; margin-bottom: 8px; font-size: 14px; font-weight: 500;">University</label>
|
||||
<input type="text" name="university" required style="width: 100%; padding: 12px; border-radius: 12px; background: var(--surface-color); border: 1px solid var(--border-color); color: #fff;">
|
||||
<label>University</label>
|
||||
<input type="text" name="university" required placeholder="Oxford">
|
||||
</div>
|
||||
<div>
|
||||
<label style="display: block; margin-bottom: 8px; font-size: 14px; font-weight: 500;">Grad Year</label>
|
||||
<input type="number" name="graduation_year" required style="width: 100%; padding: 12px; border-radius: 12px; background: var(--surface-color); border: 1px solid var(--border-color); color: #fff;" placeholder="2026">
|
||||
<label>Grad Year</label>
|
||||
<input type="number" name="graduation_year" required placeholder="2026">
|
||||
</div>
|
||||
</div>
|
||||
<div style="margin-bottom: 15px;">
|
||||
<label style="display: block; margin-bottom: 8px; font-size: 14px; font-weight: 500;">Password</label>
|
||||
<input type="password" name="password" required style="width: 100%; padding: 12px; border-radius: 12px; background: var(--surface-color); border: 1px solid var(--border-color); color: #fff;">
|
||||
<div style="margin-bottom: 20px;">
|
||||
<label>Password</label>
|
||||
<input type="password" name="password" required placeholder="••••••••">
|
||||
</div>
|
||||
<div style="margin-bottom: 25px;">
|
||||
<label style="display: block; margin-bottom: 8px; font-size: 14px; font-weight: 500;">I want to be a:</label>
|
||||
<div style="margin-bottom: 32px;">
|
||||
<label>I want to be a:</label>
|
||||
<div style="display: grid; grid-template-columns: 1fr 1fr; gap: 15px;">
|
||||
<label style="display: block; cursor: pointer;">
|
||||
<input type="radio" name="role" value="founder" required style="display: none;" class="role-radio" onchange="toggleHint()">
|
||||
<div class="role-box" style="padding: 15px; border: 1px solid var(--border-color); border-radius: 12px; text-align: center; transition: all 0.2s;">
|
||||
<div class="role-box" style="padding: 15px; border: 1px solid var(--border-color); border-radius: 12px; text-align: center; transition: all 0.2s; font-weight: 700; color: var(--text-secondary);">
|
||||
Founder
|
||||
</div>
|
||||
</label>
|
||||
<label style="display: block; cursor: pointer;">
|
||||
<input type="radio" name="role" value="investor" required style="display: none;" class="role-radio" onchange="toggleHint()">
|
||||
<div class="role-box" style="padding: 15px; border: 1px solid var(--border-color); border-radius: 12px; text-align: center; transition: all 0.2s;">
|
||||
<div class="role-box" style="padding: 15px; border: 1px solid var(--border-color); border-radius: 12px; text-align: center; transition: all 0.2s; font-weight: 700; color: var(--text-secondary);">
|
||||
Investor
|
||||
</div>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<button type="submit" class="btn btn-primary" style="width: 100%; padding: 15px;">Create Account</button>
|
||||
<p style="text-align: center; margin-top: 20px; color: var(--text-secondary); font-size: 14px;">Already have an account? <a href="login.php" style="color: var(--accent-blue);">Log In</a></p>
|
||||
<button type="submit" class="btn btn-primary" style="width: 100%; padding: 16px;">Create Account</button>
|
||||
<p style="text-align: center; margin-top: 24px; color: var(--text-secondary); font-size: 14px;">
|
||||
Already have an account? <a href="login.php" style="color: var(--accent-primary); font-weight: 700;">Log In</a>
|
||||
</p>
|
||||
</form>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
function toggleHint() {
|
||||
const isFounder = document.querySelector('input[name="role"]:checked').value === 'founder';
|
||||
document.getElementById('founder-hint').style.display = isFounder ? 'block' : 'none';
|
||||
const selectedRole = document.querySelector('input[name="role"]:checked');
|
||||
if (selectedRole) {
|
||||
const isFounder = selectedRole.value === 'founder';
|
||||
document.getElementById('founder-hint').style.display = isFounder ? 'block' : 'none';
|
||||
}
|
||||
}
|
||||
toggleHint();
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.role-radio:checked + .role-box {
|
||||
background: var(--gradient-primary);
|
||||
border-color: transparent;
|
||||
color: #fff;
|
||||
background: var(--accent-primary) !important;
|
||||
border-color: var(--accent-primary) !important;
|
||||
color: #000 !important;
|
||||
}
|
||||
</style>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
@ -118,20 +118,6 @@ function getNextDividendInfo($createdAt) {
|
||||
<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.0.0/css/all.min.css">
|
||||
<style>
|
||||
:root {
|
||||
--accent-blue: #00f2ff;
|
||||
--surface-color: #1a1a1a;
|
||||
--text-secondary: #999;
|
||||
--border-color: rgba(255,255,255,0.1);
|
||||
}
|
||||
.card {
|
||||
background: var(--surface-color);
|
||||
border: 1px solid var(--border-color);
|
||||
border-radius: 24px;
|
||||
padding: 35px;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
.section-title {
|
||||
font-size: 20px;
|
||||
font-weight: 800;
|
||||
@ -147,7 +133,7 @@ function getNextDividendInfo($createdAt) {
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
.doc-link {
|
||||
background: rgba(255,255,255,0.05);
|
||||
background: var(--elevated-color);
|
||||
padding: 12px 20px;
|
||||
border-radius: 12px;
|
||||
text-decoration: none;
|
||||
@ -160,30 +146,32 @@ function getNextDividendInfo($createdAt) {
|
||||
border: 1px solid var(--border-color);
|
||||
}
|
||||
.doc-link:hover {
|
||||
background: rgba(255,255,255,0.1);
|
||||
border-color: var(--accent-primary);
|
||||
transform: translateY(-2px);
|
||||
}
|
||||
.invest-btn {
|
||||
background: var(--accent-blue);
|
||||
background: var(--accent-primary);
|
||||
color: #000;
|
||||
padding: 16px 32px;
|
||||
border-radius: 14px;
|
||||
border-radius: 999px;
|
||||
text-decoration: none;
|
||||
font-weight: 800;
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 10px;
|
||||
transition: all 0.3s;
|
||||
box-shadow: 0 8px 24px rgba(0, 242, 255, 0.3);
|
||||
text-transform: uppercase;
|
||||
font-size: 14px;
|
||||
letter-spacing: 0.5px;
|
||||
}
|
||||
.invest-btn:hover {
|
||||
background: var(--accent-secondary);
|
||||
transform: scale(1.05);
|
||||
box-shadow: 0 12px 32px rgba(0, 242, 255, 0.4);
|
||||
}
|
||||
.progress-bar-container {
|
||||
width: 100%;
|
||||
height: 12px;
|
||||
background: rgba(255,255,255,0.05);
|
||||
height: 10px;
|
||||
background: var(--bg-color);
|
||||
border-radius: 100px;
|
||||
overflow: hidden;
|
||||
margin: 20px 0;
|
||||
@ -191,8 +179,7 @@ function getNextDividendInfo($createdAt) {
|
||||
}
|
||||
.progress-bar-fill {
|
||||
height: 100%;
|
||||
background: var(--gradient-primary);
|
||||
box-shadow: 0 0 15px rgba(0, 242, 255, 0.3);
|
||||
background: var(--accent-primary);
|
||||
border-radius: 100px;
|
||||
}
|
||||
.dividend-item {
|
||||
@ -200,8 +187,8 @@ function getNextDividendInfo($createdAt) {
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
padding: 15px;
|
||||
background: rgba(255,255,255,0.02);
|
||||
border-radius: 16px;
|
||||
background: var(--elevated-color);
|
||||
border-radius: 12px;
|
||||
border: 1px solid var(--border-color);
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
@ -209,7 +196,7 @@ function getNextDividendInfo($createdAt) {
|
||||
padding: 10px 15px;
|
||||
font-size: 12px;
|
||||
font-weight: 700;
|
||||
border-radius: 10px;
|
||||
border-radius: 999px;
|
||||
border: 1px solid transparent;
|
||||
cursor: pointer;
|
||||
transition: all 0.2s;
|
||||
@ -218,20 +205,23 @@ function getNextDividendInfo($createdAt) {
|
||||
gap: 6px;
|
||||
background: transparent;
|
||||
text-decoration: none;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
.btn-cancel-small {
|
||||
border-color: rgba(255, 59, 48, 0.3);
|
||||
color: #ff3b30;
|
||||
border-color: var(--error-color);
|
||||
color: var(--error-color);
|
||||
}
|
||||
.btn-cancel-small:hover {
|
||||
background: rgba(255, 59, 48, 0.1);
|
||||
background: var(--error-color);
|
||||
color: #fff;
|
||||
}
|
||||
.btn-finish-small {
|
||||
border-color: rgba(48, 209, 88, 0.3);
|
||||
color: #30d158;
|
||||
border-color: var(--success-color);
|
||||
color: var(--success-color);
|
||||
}
|
||||
.btn-finish-small:hover {
|
||||
background: rgba(48, 209, 88, 0.1);
|
||||
background: var(--success-color);
|
||||
color: #000;
|
||||
}
|
||||
|
||||
/* Modal Styles */
|
||||
@ -243,21 +233,12 @@ function getNextDividendInfo($createdAt) {
|
||||
top: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background-color: rgba(0,0,0,0.85);
|
||||
backdrop-filter: blur(8px);
|
||||
}
|
||||
.modal-content {
|
||||
background-color: #1a1a24;
|
||||
margin: 10% auto;
|
||||
padding: 40px;
|
||||
border: 1px solid var(--border-color);
|
||||
width: 420px;
|
||||
border-radius: 32px;
|
||||
box-shadow: 0 25px 60px rgba(0,0,0,0.7);
|
||||
background-color: rgba(0,0,0,0.9);
|
||||
backdrop-filter: blur(4px);
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body style="background: #000; color: #fff;">
|
||||
<body style="background: var(--bg-color); color: var(--text-primary);">
|
||||
|
||||
<header>
|
||||
<div class="container" style="display: flex; justify-content: space-between; align-items: center; width: 100%;">
|
||||
@ -277,19 +258,18 @@ function getNextDividendInfo($createdAt) {
|
||||
<a href="messages.php">Messages</a>
|
||||
</nav>
|
||||
<div style="display: flex; align-items: center; gap: 15px;">
|
||||
<!-- Money Pot Widget in Header -->
|
||||
<div onclick="openWalletModal('add')" style="cursor: pointer; display: flex; align-items: center; gap: 8px; padding: 5px 12px; background: rgba(0, 242, 255, 0.1); border-radius: 50px; border: 1px solid rgba(0, 242, 255, 0.2);">
|
||||
<i class="fas fa-wallet" style="color: var(--accent-blue); font-size: 12px;"></i>
|
||||
<span id="header-wallet-balance" style="font-size: 13px; font-weight: 800; color: #fff;">£<?= number_format($user['balance'], 2) ?></span>
|
||||
<div onclick="openWalletModal('add')" style="cursor: pointer; display: flex; align-items: center; gap: 8px; padding: 6px 14px; background: var(--surface-color); border-radius: 50px; border: 1px solid var(--border-color);">
|
||||
<i class="fas fa-wallet" style="color: var(--accent-primary); font-size: 14px;"></i>
|
||||
<span id="header-wallet-balance" style="font-size: 14px; font-weight: 800; color: #fff;">£<?= number_format($user['balance'], 2) ?></span>
|
||||
</div>
|
||||
|
||||
<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;">
|
||||
<div style="display: flex; align-items: center; gap: 10px; padding: 6px 14px; background: var(--surface-color); border-radius: 50px; border: 1px solid var(--border-color);">
|
||||
<div style="width: 24px; height: 24px; background: var(--accent-primary); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 10px; color: #000; 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>
|
||||
<a href="logout.php" class="btn btn-secondary" style="padding: 8px 16px; font-size: 12px;">Log Out</a>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
@ -298,7 +278,7 @@ function getNextDividendInfo($createdAt) {
|
||||
<div style="max-width: 900px; margin: 0 auto;">
|
||||
|
||||
<?php if (isset($_GET['success'])): ?>
|
||||
<div style="background: rgba(48, 209, 88, 0.1); border: 1px solid rgba(48, 209, 88, 0.3); color: #30d158; padding: 15px; border-radius: 12px; margin-bottom: 25px; font-size: 14px; text-align: center;">
|
||||
<div style="background: rgba(0, 200, 83, 0.1); border: 1px solid var(--success-color); color: var(--success-color); padding: 15px; border-radius: 12px; margin-bottom: 25px; font-size: 14px; text-align: center; font-weight: 600;">
|
||||
Round status updated successfully!
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
@ -307,7 +287,7 @@ function getNextDividendInfo($createdAt) {
|
||||
<div style="display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 50px;">
|
||||
<div>
|
||||
<div style="display: flex; align-items: center; gap: 15px; margin-bottom: 15px;">
|
||||
<span style="background: rgba(0, 242, 255, 0.1); color: var(--accent-blue); padding: 6px 14px; border-radius: 100px; font-size: 12px; font-weight: 800; letter-spacing: 1px; text-transform: uppercase;">
|
||||
<span style="background: var(--surface-color); color: var(--accent-primary); padding: 6px 14px; border-radius: 100px; font-size: 12px; font-weight: 800; letter-spacing: 1px; text-transform: uppercase; border: 1px solid var(--border-color);">
|
||||
<?= htmlspecialchars($startup['industry']) ?>
|
||||
</span>
|
||||
<span style="color: var(--text-secondary); font-size: 13px;">
|
||||
@ -318,13 +298,13 @@ function getNextDividendInfo($createdAt) {
|
||||
<?= htmlspecialchars($startup['name']) ?>
|
||||
</h1>
|
||||
<p style="color: var(--text-secondary); margin-top: 10px; font-size: 16px;">
|
||||
Founded by <a href="profile.php?id=<?= $founder['id'] ?>" style="color: #fff; font-weight: 700; text-decoration: none; border-bottom: 1px dashed var(--accent-blue);"><?= htmlspecialchars($founder['full_name']) ?></a>
|
||||
Founded by <a href="profile.php?id=<?= $founder['id'] ?>" style="color: var(--accent-primary); font-weight: 700; text-decoration: none; border-bottom: 1px dashed var(--accent-primary);"><?= htmlspecialchars($founder['full_name']) ?></a>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<?php if ($isInvestor): ?>
|
||||
<div style="display: flex; gap: 15px;">
|
||||
<a href="messages.php?chat_with=<?= $startup['founder_id'] ?>" style="background: rgba(255,255,255,0.05); border: 1px solid var(--border-color); color: #fff; padding: 16px 24px; border-radius: 14px; text-decoration: none; font-weight: 700; display: inline-flex; align-items: center; gap: 10px;">
|
||||
<a href="messages.php?chat_with=<?= $startup['founder_id'] ?>" class="btn btn-secondary" style="padding: 16px 24px;">
|
||||
<i class="far fa-comment-dots"></i> Message Founder
|
||||
</a>
|
||||
<a href="invest.php?id=<?= $startup['id'] ?>" class="invest-btn">
|
||||
@ -332,7 +312,7 @@ function getNextDividendInfo($createdAt) {
|
||||
</a>
|
||||
</div>
|
||||
<?php elseif ($isFounder): ?>
|
||||
<a href="create_startup.php?id=<?= $startup['id'] ?>" style="background: rgba(255,255,255,0.05); border: 1px solid var(--border-color); color: #fff; padding: 16px 24px; border-radius: 14px; text-decoration: none; font-weight: 700; display: inline-flex; align-items: center; gap: 10px;">
|
||||
<a href="create_startup.php?id=<?= $startup['id'] ?>" class="btn btn-secondary" style="padding: 16px 24px;">
|
||||
<i class="fas fa-edit"></i> Edit Profile
|
||||
</a>
|
||||
<?php endif; ?>
|
||||
@ -340,10 +320,10 @@ function getNextDividendInfo($createdAt) {
|
||||
|
||||
<?php if ($startup['round_status'] === 'Active'): ?>
|
||||
<!-- Funding Progress -->
|
||||
<section class="card" style="margin-bottom: 40px; border-color: rgba(0, 242, 255, 0.3); background: rgba(0, 242, 255, 0.02);">
|
||||
<section class="card" style="margin-bottom: 40px; border-color: var(--accent-primary) !important;">
|
||||
<div style="display: flex; justify-content: space-between; align-items: center;">
|
||||
<h2 class="section-title" style="margin-bottom: 0;"><i class="fas fa-chart-pie" style="color: var(--accent-blue);"></i> Active Funding Round</h2>
|
||||
<span style="font-weight: 800; color: var(--accent-blue);"><?= $progress ?>% Complete</span>
|
||||
<h2 class="section-title" style="margin-bottom: 0;"><i class="fas fa-chart-pie" style="color: var(--accent-primary);"></i> Active Funding Round</h2>
|
||||
<span style="font-weight: 800; color: var(--accent-primary);"><?= $progress ?>% Complete</span>
|
||||
</div>
|
||||
<div class="progress-bar-container">
|
||||
<div class="progress-bar-fill" style="width: <?= min(100, $progress) ?>%;"></div>
|
||||
@ -382,12 +362,12 @@ function getNextDividendInfo($createdAt) {
|
||||
|
||||
<?php if ($isFounder): ?>
|
||||
<!-- Money Pot (Founder View) -->
|
||||
<section class="card" style="margin-bottom: 40px; background: linear-gradient(135deg, #1a1a24 0%, #101018 100%); border: 1px solid rgba(0, 242, 255, 0.2);">
|
||||
<section class="card" style="margin-bottom: 40px; background: var(--elevated-color) !important;">
|
||||
<div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 25px;">
|
||||
<h2 class="section-title" style="margin-bottom: 0;"><i class="fas fa-wallet" style="color: var(--accent-blue);"></i> Startup Money Pot</h2>
|
||||
<h2 class="section-title" style="margin-bottom: 0;"><i class="fas fa-wallet" style="color: var(--accent-primary);"></i> Startup Money Pot</h2>
|
||||
<div style="display: flex; gap: 10px;">
|
||||
<button onclick="openWalletModal('add')" class="btn" style="padding: 10px 20px; font-size: 13px; font-weight: 800; background: var(--accent-blue); color: #000; border-radius: 12px; border: none; cursor: pointer;">Add Funds</button>
|
||||
<button onclick="openWalletModal('withdraw')" class="btn" style="padding: 10px 20px; font-size: 13px; font-weight: 800; background: rgba(255,255,255,0.05); color: #fff; border-radius: 12px; border: 1px solid rgba(255,255,255,0.1); cursor: pointer;">Withdraw</button>
|
||||
<button onclick="openWalletModal('add')" class="btn btn-primary" style="padding: 10px 20px; font-size: 13px;">Add Funds</button>
|
||||
<button onclick="openWalletModal('withdraw')" class="btn btn-secondary" style="padding: 10px 20px; font-size: 13px;">Withdraw</button>
|
||||
</div>
|
||||
</div>
|
||||
<div style="display: flex; align-items: center; gap: 30px;">
|
||||
@ -397,7 +377,7 @@ function getNextDividendInfo($createdAt) {
|
||||
</div>
|
||||
<div style="padding-left: 30px; border-left: 1px solid var(--border-color);">
|
||||
<div style="font-size: 12px; color: var(--text-secondary); text-transform: uppercase; letter-spacing: 1px;">Total Investments Received</div>
|
||||
<div style="font-size: 24px; font-weight: 900; color: var(--accent-blue); margin-top: 5px;">£<?= number_format($startup['funding_raised'], 2) ?></div>
|
||||
<div style="font-size: 24px; font-weight: 900; color: var(--accent-primary); margin-top: 5px;">£<?= number_format($startup['funding_raised'], 2) ?></div>
|
||||
</div>
|
||||
</div>
|
||||
<p style="margin-top: 20px; color: var(--text-secondary); font-size: 13px; opacity: 0.8;">
|
||||
@ -408,8 +388,8 @@ function getNextDividendInfo($createdAt) {
|
||||
|
||||
<?php if ($isFounder && !empty($approvedInvestments)): ?>
|
||||
<!-- Dividend Management (Founder Only) -->
|
||||
<section class="card" style="margin-bottom: 40px; border-color: rgba(48, 209, 88, 0.3);">
|
||||
<h2 class="section-title"><i class="fas fa-hand-holding-usd" style="color: #30d158;"></i> Monthly Dividends Due</h2>
|
||||
<section class="card" style="margin-bottom: 40px; border-color: var(--success-color) !important;">
|
||||
<h2 class="section-title"><i class="fas fa-hand-holding-usd" style="color: var(--success-color);"></i> Monthly Dividends Due</h2>
|
||||
<div style="margin-bottom: 20px;">
|
||||
<p style="color: var(--text-secondary); font-size: 14px;">Track upcoming monthly payments to your investors based on your <strong><?= number_format($startup['founder_return_rate'] ?? 0, 1) ?>%</strong> offered return.</p>
|
||||
</div>
|
||||
@ -425,7 +405,7 @@ function getNextDividendInfo($createdAt) {
|
||||
</div>
|
||||
<div style="text-align: right;">
|
||||
<div style="font-size: 18px; font-weight: 900; color: #fff;">£<?= number_format($monthlyYield, 2) ?></div>
|
||||
<div style="font-size: 11px; color: <?= $nextPay['days_left'] < 7 ? '#ff3b30' : '#30d158' ?>; font-weight: 700;">
|
||||
<div style="font-size: 11px; color: <?= $nextPay['days_left'] < 7 ? 'var(--error-color)' : 'var(--success-color)' ?>; font-weight: 700;">
|
||||
<i class="far fa-clock"></i> <?= $nextPay['days_left'] ?> days left
|
||||
</div>
|
||||
</div>
|
||||
@ -436,47 +416,47 @@ function getNextDividendInfo($createdAt) {
|
||||
|
||||
<!-- Product & Vision -->
|
||||
<section class="card" style="margin-bottom: 40px;">
|
||||
<h2 class="section-title"><i class="fas fa-eye" style="color: var(--accent-blue);"></i> Product & Vision</h2>
|
||||
<p style="font-size: 18px; line-height: 1.6; color: rgba(255,255,255,0.9);">
|
||||
<h2 class="section-title"><i class="fas fa-eye" style="color: var(--accent-primary);"></i> Product & Vision</h2>
|
||||
<p style="font-size: 18px; line-height: 1.6; color: var(--text-primary);">
|
||||
<?= nl2br(htmlspecialchars($startup['product_service'])) ?>
|
||||
</p>
|
||||
|
||||
<div style="display: grid; grid-template-columns: 1fr 1fr; gap: 30px; margin-top: 40px;">
|
||||
<div>
|
||||
<h4 style="color: var(--text-secondary); text-transform: uppercase; font-size: 12px; letter-spacing: 1px;">Business Model</h4>
|
||||
<p style="font-weight: 700; font-size: 16px;"><?= htmlspecialchars($startup['business_model']) ?></p>
|
||||
<p style="font-weight: 700; font-size: 16px; color: var(--text-primary);"><?= htmlspecialchars($startup['business_model']) ?></p>
|
||||
</div>
|
||||
<div>
|
||||
<h4 style="color: var(--text-secondary); text-transform: uppercase; font-size: 12px; letter-spacing: 1px;">Operational Stage</h4>
|
||||
<p style="font-weight: 700; font-size: 16px;"><?= htmlspecialchars($startup['operational_stage']) ?></p>
|
||||
<p style="font-weight: 700; font-size: 16px; color: var(--text-primary);"><?= htmlspecialchars($startup['operational_stage']) ?></p>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="card" style="margin-bottom: 40px;">
|
||||
<h2 class="section-title"><i class="fas fa-chart-line" style="color: var(--accent-blue);"></i> Financial Health</h2>
|
||||
<h2 class="section-title"><i class="fas fa-chart-line" style="color: var(--accent-primary);"></i> Financial Health</h2>
|
||||
|
||||
<div style="background: rgba(255,255,255,0.02); padding: 25px; border-radius: 20px; border: 1px solid var(--border-color); margin-bottom: 25px;">
|
||||
<div style="background: var(--bg-color); padding: 25px; border-radius: 12px; border: 1px solid var(--border-color); margin-bottom: 25px;">
|
||||
<div style="display: grid; grid-template-columns: 1fr 1fr; gap: 20px;">
|
||||
<div>
|
||||
<div class="data-label">Cash on Hand</div>
|
||||
<div style="font-size: 24px; font-weight: 900; color: #4cd964;">£<?= number_format($startup['current_cash_balance']) ?></div>
|
||||
<div style="font-size: 24px; font-weight: 900; color: var(--success-color);">£<?= number_format($startup['current_cash_balance']) ?></div>
|
||||
</div>
|
||||
<div>
|
||||
<div class="data-label">Monthly Burn</div>
|
||||
<div style="font-size: 24px; font-weight: 900; color: #ff3b30;">£<?= number_format($startup['burn_rate']) ?></div>
|
||||
<div style="font-size: 24px; font-weight: 900; color: var(--error-color);">£<?= number_format($startup['burn_rate']) ?></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div style="background: rgba(255,255,255,0.02); padding: 15px; border-radius: 12px; margin-bottom: 25px; border: 1px solid var(--border-color);">
|
||||
<div style="background: var(--bg-color); padding: 15px; border-radius: 12px; margin-bottom: 25px; border: 1px solid var(--border-color);">
|
||||
<div style="display: grid; grid-template-columns: 1fr 1fr; gap: 15px;">
|
||||
<div>
|
||||
<div class="data-label" style="font-size: 10px;">Outstanding Debt</div>
|
||||
<div style="font-size: 14px;"><?= htmlspecialchars($startup['outstanding_debt'] ?: 'None') ?></div>
|
||||
<div style="font-size: 14px; color: var(--text-primary);"><?= htmlspecialchars($startup['outstanding_debt'] ?: 'None') ?></div>
|
||||
</div>
|
||||
<div>
|
||||
<div class="data-label" style="font-size: 10px;">Accounts Receivable/Payable</div>
|
||||
<div style="font-size: 14px;"><?= htmlspecialchars($startup['accounts_receivable_payable'] ?: 'N/A') ?></div>
|
||||
<div style="font-size: 14px; color: var(--text-primary);"><?= htmlspecialchars($startup['accounts_receivable_payable'] ?: 'N/A') ?></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -501,17 +481,17 @@ function getNextDividendInfo($createdAt) {
|
||||
</section>
|
||||
|
||||
<!-- Return Rates Comparison -->
|
||||
<section class="card" style="margin-bottom: 40px; background: rgba(0, 242, 255, 0.03); border: 1px solid var(--accent-blue);">
|
||||
<section class="card" style="margin-bottom: 40px; border-color: var(--accent-primary) !important;">
|
||||
<h2 style="margin-top: 0; margin-bottom: 25px; display: flex; align-items: center; gap: 12px;">
|
||||
<i class="fas fa-percentage" style="color: var(--accent-blue);"></i> Expected Investor Returns
|
||||
<i class="fas fa-percentage" style="color: var(--accent-primary);"></i> Expected Investor Returns
|
||||
</h2>
|
||||
<div style="display: grid; grid-template-columns: 1fr 1fr; gap: 20px;">
|
||||
<div style="padding: 20px; background: rgba(0,0,0,0.2); border-radius: 16px; border: 1px solid var(--border-color); text-align: center;">
|
||||
<div style="padding: 20px; background: var(--bg-color); border-radius: 12px; border: 1px solid var(--border-color); text-align: center;">
|
||||
<div style="font-size: 12px; color: var(--text-secondary); text-transform: uppercase; letter-spacing: 1px; margin-bottom: 10px;">Platform Recommendation</div>
|
||||
<div style="font-size: 32px; font-weight: 900; color: var(--accent-blue);"><?= number_format($startup['recommended_return_rate'] ?? 5.0, 1) ?>%</div>
|
||||
<div style="font-size: 32px; font-weight: 900; color: var(--accent-primary);"><?= number_format($startup['recommended_return_rate'] ?? 5.0, 1) ?>%</div>
|
||||
<div style="font-size: 11px; color: var(--text-secondary); margin-top: 5px;">AI analysis based on uploaded financials</div>
|
||||
</div>
|
||||
<div style="padding: 20px; background: rgba(0,0,0,0.2); border-radius: 16px; border: 1px solid var(--border-color); text-align: center;">
|
||||
<div style="padding: 20px; background: var(--bg-color); border-radius: 12px; border: 1px solid var(--border-color); text-align: center;">
|
||||
<div style="font-size: 12px; color: var(--text-secondary); text-transform: uppercase; letter-spacing: 1px; margin-bottom: 10px;">Founder's Proposal</div>
|
||||
<div style="font-size: 32px; font-weight: 900; color: #fff;">
|
||||
<?= $startup['founder_return_rate'] !== null ? number_format($startup['founder_return_rate'], 1) . '%' : 'N/A' ?>
|
||||
@ -520,8 +500,8 @@ function getNextDividendInfo($createdAt) {
|
||||
</div>
|
||||
</div>
|
||||
<?php if (!empty($startup['recommended_return_reasoning'])): ?>
|
||||
<div style="margin-top: 20px; padding: 15px; background: rgba(255,255,255,0.03); border-radius: 12px; border: 1px solid rgba(0, 242, 255, 0.1); font-size: 13px; line-height: 1.5; color: rgba(255,255,255,0.8);">
|
||||
<div style="font-weight: 700; margin-bottom: 5px; color: var(--accent-blue); text-transform: uppercase; font-size: 10px; letter-spacing: 0.5px;">Calculation Reasoning</div>
|
||||
<div style="margin-top: 20px; padding: 15px; background: var(--surface-color); border-radius: 12px; border: 1px solid var(--border-color); font-size: 13px; line-height: 1.5; color: var(--text-secondary);">
|
||||
<div style="font-weight: 700; margin-bottom: 5px; color: var(--accent-primary); text-transform: uppercase; font-size: 10px; letter-spacing: 0.5px;">Calculation Reasoning</div>
|
||||
<?= htmlspecialchars($startup['recommended_return_reasoning']) ?>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
@ -530,9 +510,9 @@ function getNextDividendInfo($createdAt) {
|
||||
<!-- Funding History Section -->
|
||||
<?php if ($canSeeHistory): ?>
|
||||
<section class="card" style="margin-bottom: 40px;">
|
||||
<h2 class="section-title"><i class="fas fa-history" style="color: var(--accent-blue);"></i> Funding History</h2>
|
||||
<h2 class="section-title"><i class="fas fa-history" style="color: var(--accent-primary);"></i> Funding History</h2>
|
||||
<?php if (empty($fundingHistory)): ?>
|
||||
<div style="padding: 40px; text-align: center; background: rgba(255,255,255,0.02); border-radius: 20px; border: 1px dashed var(--border-color);">
|
||||
<div style="padding: 40px; text-align: center; background: var(--bg-color); border-radius: 12px; border: 1px dashed var(--border-color);">
|
||||
<p style="color: var(--text-secondary); margin: 0;">No investment history available yet.</p>
|
||||
</div>
|
||||
<?php else: ?>
|
||||
@ -540,21 +520,21 @@ function getNextDividendInfo($createdAt) {
|
||||
<?php foreach ($fundingHistory as $inv):
|
||||
$investorName = $inv['investor_name'] ?: 'Verified Investor';
|
||||
?>
|
||||
<div style="display: flex; align-items: center; justify-content: space-between; padding: 20px; background: rgba(255,255,255,0.03); border-radius: 18px; border: 1px solid var(--border-color);">
|
||||
<div style="display: flex; align-items: center; justify-content: space-between; padding: 20px; background: var(--elevated-color); border-radius: 12px; border: 1px solid var(--border-color);">
|
||||
<div style="display: flex; align-items: center; gap: 15px;">
|
||||
<?php if ($inv['investor_user_id']): ?>
|
||||
<a href="profile.php?id=<?= $inv['investor_user_id'] ?>" style="text-decoration: none;">
|
||||
<div style="width: 45px; height: 45px; border-radius: 12px; background: var(--surface-color); display: flex; align-items: center; justify-content: center;">
|
||||
<span style="font-weight: 800; color: var(--accent-blue);"><?= substr($investorName, 0, 1) ?></span>
|
||||
<div style="width: 45px; height: 45px; border-radius: 8px; background: var(--surface-color); display: flex; align-items: center; justify-content: center;">
|
||||
<span style="font-weight: 800; color: var(--accent-primary);"><?= substr($investorName, 0, 1) ?></span>
|
||||
</div>
|
||||
</a>
|
||||
<?php else: ?>
|
||||
<div style="width: 45px; height: 45px; border-radius: 12px; background: var(--surface-color); display: flex; align-items: center; justify-content: center;">
|
||||
<span style="font-weight: 800; color: var(--accent-blue);"><?= substr($investorName, 0, 1) ?></span>
|
||||
<div style="width: 45px; height: 45px; border-radius: 8px; background: var(--surface-color); display: flex; align-items: center; justify-content: center;">
|
||||
<span style="font-weight: 800; color: var(--accent-primary);"><?= substr($investorName, 0, 1) ?></span>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
<div>
|
||||
<div style="font-weight: 700;">
|
||||
<div style="font-weight: 700; color: var(--text-primary);">
|
||||
<?php if ($inv['investor_user_id']): ?>
|
||||
<a href="profile.php?id=<?= $inv['investor_user_id'] ?>" style="color: inherit; text-decoration: none;"><?= htmlspecialchars($investorName) ?></a>
|
||||
<?php else: ?>
|
||||
@ -565,7 +545,7 @@ function getNextDividendInfo($createdAt) {
|
||||
</div>
|
||||
</div>
|
||||
<div style="text-align: right;">
|
||||
<div style="font-weight: 900; color: #fff; font-size: 18px;">£<?= number_format($inv['amount']) ?></div>
|
||||
<div style="font-weight: 900; color: var(--text-primary); font-size: 18px;">£<?= number_format($inv['amount']) ?></div>
|
||||
</div>
|
||||
</div>
|
||||
<?php endforeach; ?>
|
||||
@ -578,25 +558,25 @@ function getNextDividendInfo($createdAt) {
|
||||
|
||||
<!-- Wallet Modal -->
|
||||
<div id="wallet-modal" class="modal">
|
||||
<div class="modal-content">
|
||||
<div class="modal-content" style="max-width: 420px; margin: 10% auto;">
|
||||
<div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 30px;">
|
||||
<h2 id="modal-title" style="margin: 0; font-size: 24px; font-weight: 900; color: #fff;">Add Funds</h2>
|
||||
<button onclick="closeWalletModal()" style="background: none; border: none; color: #999; cursor: pointer; font-size: 20px;"><i class="fas fa-times"></i></button>
|
||||
<button onclick="closeWalletModal()" style="background: none; border: none; color: var(--text-secondary); cursor: pointer; font-size: 20px;"><i class="fas fa-times"></i></button>
|
||||
</div>
|
||||
<form id="wallet-form">
|
||||
<input type="hidden" id="wallet-action" name="action" value="add">
|
||||
<div style="margin-bottom: 25px;">
|
||||
<label style="display: block; margin-bottom: 10px; font-size: 12px; color: #999; text-transform: uppercase; letter-spacing: 1px; font-weight: 700;">Amount (£)</label>
|
||||
<label style="display: block; margin-bottom: 12px; font-size: 12px; color: var(--text-secondary); text-transform: uppercase; letter-spacing: 1px; font-weight: 700;">Amount (£)</label>
|
||||
<input type="number" id="wallet-amount" name="amount" min="1" step="0.01" required placeholder="0.00"
|
||||
style="width: 100%; padding: 18px; background: #000; border: 1px solid rgba(255,255,255,0.1); border-radius: 16px; color: #fff; font-size: 24px; font-weight: 800;">
|
||||
style="width: 100%; padding: 18px; background: var(--bg-color); border: 1px solid var(--border-color); border-radius: 12px; color: #fff; font-size: 24px; font-weight: 800;">
|
||||
</div>
|
||||
<button type="submit" id="wallet-submit-btn" class="btn btn-primary" style="width: 100%; padding: 18px; font-size: 16px; font-weight: 800; border-radius: 16px; background: var(--accent-blue); color: #000;">Confirm</button>
|
||||
<button type="submit" id="wallet-submit-btn" class="btn btn-primary" style="width: 100%; padding: 18px; font-size: 16px;">Confirm</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<footer style="padding: 60px 0; border-top: 1px solid var(--border-color); margin-top: 100px; text-align: center;">
|
||||
<p style="color: var(--text-secondary); font-size: 14px;">© <?= date('Y') ?> Gatsby Capitalist Platform. All rights reserved.</p>
|
||||
<p style="color: var(--text-secondary); font-size: 14px;">© <?= date('Y') ?> <?= htmlspecialchars($platformName) ?>. All rights reserved.</p>
|
||||
</footer>
|
||||
|
||||
<script>
|
||||
@ -610,11 +590,11 @@ function openWalletModal(action) {
|
||||
if (action === 'add') {
|
||||
title.innerText = 'Add Funds';
|
||||
submitBtn.innerText = 'Confirm Deposit';
|
||||
submitBtn.style.background = 'var(--accent-blue)';
|
||||
submitBtn.className = 'btn btn-primary';
|
||||
} else {
|
||||
title.innerText = 'Withdraw Funds';
|
||||
submitBtn.innerText = 'Confirm Withdrawal';
|
||||
submitBtn.style.background = '#fff';
|
||||
submitBtn.className = 'btn btn-secondary';
|
||||
}
|
||||
|
||||
modal.style.display = 'block';
|
||||
@ -662,4 +642,4 @@ window.onclick = function(event) {
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
54
startups.php
54
startups.php
@ -53,24 +53,18 @@ $myStartups = $stmt->fetchAll();
|
||||
position: absolute;
|
||||
top: -10px;
|
||||
right: -10px;
|
||||
background: linear-gradient(45deg, #FFD700, #FFA500);
|
||||
background: var(--warning-color);
|
||||
color: #000;
|
||||
padding: 5px 12px;
|
||||
border-radius: 20px;
|
||||
font-size: 11px;
|
||||
font-weight: 800;
|
||||
text-transform: uppercase;
|
||||
box-shadow: 0 4px 10px rgba(255, 165, 0, 0.4);
|
||||
box-shadow: 0 4px 10px rgba(0,0,0,0.3);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 5px;
|
||||
z-index: 10;
|
||||
animation: pulse 2s infinite;
|
||||
}
|
||||
@keyframes pulse {
|
||||
0% { transform: scale(1); }
|
||||
50% { transform: scale(1.05); }
|
||||
100% { transform: scale(1); }
|
||||
}
|
||||
.btn-status {
|
||||
padding: 8px 12px;
|
||||
@ -89,18 +83,20 @@ $myStartups = $stmt->fetchAll();
|
||||
background: transparent;
|
||||
}
|
||||
.btn-cancel {
|
||||
border-color: rgba(255, 59, 48, 0.3);
|
||||
color: #ff3b30;
|
||||
border-color: var(--error-color);
|
||||
color: var(--error-color);
|
||||
}
|
||||
.btn-cancel:hover {
|
||||
background: rgba(255, 59, 48, 0.1);
|
||||
background: var(--error-color);
|
||||
color: #fff;
|
||||
}
|
||||
.btn-finish {
|
||||
border-color: rgba(48, 209, 88, 0.3);
|
||||
color: #30d158;
|
||||
border-color: var(--success-color);
|
||||
color: var(--success-color);
|
||||
}
|
||||
.btn-finish:hover {
|
||||
background: rgba(48, 209, 88, 0.1);
|
||||
background: var(--success-color);
|
||||
color: #000;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
@ -121,22 +117,18 @@ $myStartups = $stmt->fetchAll();
|
||||
<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;">
|
||||
<div style="display: flex; align-items: center; gap: 10px; padding: 6px 14px; background: var(--surface-color); border-radius: 50px; border: 1px solid var(--border-color);">
|
||||
<div style="width: 24px; height: 24px; background: var(--accent-primary); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 10px; color: #000; 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>
|
||||
<a href="logout.php" class="btn btn-secondary" style="padding: 8px 16px; font-size: 12px;">Log Out</a>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<main class="container" style="padding-top: 50px; padding-bottom: 50px;">
|
||||
<div class="hero-bg">
|
||||
<div class="hero-blob" style="top: 10%; right: -10%;"></div>
|
||||
</div>
|
||||
|
||||
<div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 40px;">
|
||||
<div>
|
||||
<h1>My Startups</h1>
|
||||
@ -146,7 +138,7 @@ $myStartups = $stmt->fetchAll();
|
||||
</div>
|
||||
|
||||
<?php if (isset($_GET['success'])): ?>
|
||||
<div style="background: rgba(48, 209, 88, 0.1); border: 1px solid rgba(48, 209, 88, 0.3); color: #30d158; padding: 15px; border-radius: 12px; margin-bottom: 25px; font-size: 14px; text-align: center;">
|
||||
<div style="background: rgba(0, 200, 83, 0.1); border: 1px solid var(--success-color); color: var(--success-color); padding: 15px; border-radius: 12px; margin-bottom: 25px; font-size: 14px; text-align: center; font-weight: 600;">
|
||||
Round status updated successfully!
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
@ -154,7 +146,7 @@ $myStartups = $stmt->fetchAll();
|
||||
<div style="display: grid; grid-template-columns: repeat(auto-fill, minmax(350px, 1fr)); gap: 25px;">
|
||||
<?php if (empty($myStartups)): ?>
|
||||
<div class="card" style="grid-column: 1 / -1; text-align: center; padding: 60px 20px;">
|
||||
<i class="fas fa-rocket" style="font-size: 64px; color: var(--accent-blue); opacity: 0.2; margin-bottom: 30px;"></i>
|
||||
<i class="fas fa-rocket" style="font-size: 64px; color: var(--accent-primary); opacity: 0.2; margin-bottom: 30px;"></i>
|
||||
<h3>No startups found</h3>
|
||||
<p style="color: var(--text-secondary);">Start your journey by listing your first startup or idea.</p>
|
||||
<a href="create_startup.php" class="btn btn-primary" style="margin-top: 25px;">List First Startup</a>
|
||||
@ -174,9 +166,9 @@ $myStartups = $stmt->fetchAll();
|
||||
<?php endif; ?>
|
||||
<div style="display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 15px;">
|
||||
<div>
|
||||
<h3 style="margin: 0;"><?= htmlspecialchars($startup['name']) ?></h3>
|
||||
<h3 style="margin: 0; color: var(--text-primary);"><?= htmlspecialchars($startup['name']) ?></h3>
|
||||
</div>
|
||||
<span style="font-size: 10px; text-transform: uppercase; padding: 4px 8px; background: <?= $startup['round_status'] === 'Active' ? 'rgba(48, 209, 88, 0.1)' : 'rgba(255, 255, 255, 0.05)' ?>; color: <?= $startup['round_status'] === 'Active' ? '#30d158' : '#aaa' ?>; border-radius: 4px; border: 1px solid <?= $startup['round_status'] === 'Active' ? 'rgba(48, 209, 88, 0.3)' : 'rgba(255, 255, 255, 0.1)' ?>;">
|
||||
<span style="font-size: 10px; text-transform: uppercase; padding: 4px 8px; background: var(--surface-color); color: <?= $startup['round_status'] === 'Active' ? 'var(--success-color)' : 'var(--text-secondary)' ?>; border-radius: 4px; border: 1px solid var(--border-color);">
|
||||
<?= $startup['round_status'] === 'Active' ? 'Active Round' : 'Inactive' ?>
|
||||
</span>
|
||||
</div>
|
||||
@ -189,8 +181,8 @@ $myStartups = $stmt->fetchAll();
|
||||
<span>£<?= number_format($raised) ?> Raised</span>
|
||||
<span style="color: var(--text-secondary);"><?= $progress ?>%</span>
|
||||
</div>
|
||||
<div style="width: 100%; height: 6px; background: var(--border-color); border-radius: 3px; overflow: hidden; margin-bottom: 15px;">
|
||||
<div style="width: <?= min(100, $progress) ?>%; height: 100%; background: var(--gradient-primary);"></div>
|
||||
<div style="width: 100%; height: 6px; background: var(--bg-color); border-radius: 3px; overflow: hidden; margin-bottom: 15px; border: 1px solid var(--border-color);">
|
||||
<div style="width: <?= min(100, $progress) ?>%; height: 100%; background: var(--accent-primary);"></div>
|
||||
</div>
|
||||
|
||||
<!-- Management Buttons -->
|
||||
@ -212,15 +204,15 @@ $myStartups = $stmt->fetchAll();
|
||||
</div>
|
||||
|
||||
<?php else: ?>
|
||||
<div style="margin-bottom: 25px; padding: 15px; background: rgba(255,255,255,0.02); border-radius: 12px; border: 1px dashed var(--border-color); text-align: center;">
|
||||
<a href="start_funding_round.php?id=<?= $startup['id'] ?>" style="color: var(--accent-blue); text-decoration: none; font-size: 13px; font-weight: 700;">
|
||||
<div style="margin-bottom: 25px; padding: 15px; background: var(--surface-color); border-radius: 12px; border: 1px dashed var(--border-color); text-align: center;">
|
||||
<a href="start_funding_round.php?id=<?= $startup['id'] ?>" style="color: var(--accent-primary); text-decoration: none; font-size: 13px; font-weight: 700;">
|
||||
<i class="fas fa-plus-circle"></i> Launch Funding Round
|
||||
</a>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
|
||||
<div style="display: flex; gap: 10px; margin-top: auto;">
|
||||
<a href="startup_details.php?id=<?= $startup['id'] ?>" class="btn btn-outline" style="flex: 1; padding: 10px; font-size: 13px;">View Profile</a>
|
||||
<a href="startup_details.php?id=<?= $startup['id'] ?>" class="btn btn-secondary" style="flex: 1; padding: 10px; font-size: 13px;">View Profile</a>
|
||||
<a href="create_startup.php?id=<?= $startup['id'] ?>" class="btn btn-secondary" style="padding: 10px; font-size: 13px;"><i class="fas fa-edit"></i></a>
|
||||
</div>
|
||||
</div>
|
||||
@ -229,7 +221,7 @@ $myStartups = $stmt->fetchAll();
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<footer style="margin-top: 80px; padding: 60px 0; border-top: 1px solid var(--border-color); background: rgba(0,0,0,0.2);">
|
||||
<footer style="margin-top: 80px; padding: 60px 0; border-top: 1px solid var(--border-color);">
|
||||
<div class="container" style="text-align: center;">
|
||||
<div class="logo-container" style="justify-content: center; margin-bottom: 25px;">
|
||||
<img src="assets/images/logo.svg" alt="<?= htmlspecialchars($platformName) ?> Logo" class="logo-img" style="width: 30px; height: 30px;">
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user