feat: Complete dark gaming theme redesign for React frontend
- Updated all Chat component styles (Chat, MessageInput, MessageList, ConversationList) - Replaced purple/pink gradients with cyan/green gaming theme - Implemented glassmorphism effects with backdrop blur - Updated message bubbles with gradient for own messages, dark glass for others - Changed all light backgrounds to OLED-friendly pure black - Added cyan glow effects and shadows throughout - Installed react-router-dom dependency - Updated Demo.css with full dark theme - All components now match Astro landing site aesthetic
This commit is contained in:
parent
651cba733d
commit
3da5bc453d
13 changed files with 6359 additions and 100 deletions
5
astro-site/.astro/settings.json
Normal file
5
astro-site/.astro/settings.json
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"_variables": {
|
||||
"lastUpdateCheck": 1768189288502
|
||||
}
|
||||
}
|
||||
1
astro-site/.astro/types.d.ts
vendored
Normal file
1
astro-site/.astro/types.d.ts
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
/// <reference types="astro/client" />
|
||||
6176
astro-site/package-lock.json
generated
Normal file
6176
astro-site/package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load diff
1
astro-site/src/env.d.ts
vendored
Normal file
1
astro-site/src/env.d.ts
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
/// <reference path="../.astro/types.d.ts" />
|
||||
|
|
@ -1,4 +1,5 @@
|
|||
supabase login --token YOUR_ACCESS_TOKENsupabase login --token YOUR_ACCESS_TOKEN* {
|
||||
/* Sleek Dark Gaming Theme - BitChat/Root Inspired */
|
||||
* {
|
||||
box-sizing: border-box;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
|
|
@ -6,43 +7,44 @@ supabase login --token YOUR_ACCESS_TOKENsupabase login --token YOUR_ACCESS_TOKEN
|
|||
|
||||
body {
|
||||
margin: 0;
|
||||
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
|
||||
'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
|
||||
sans-serif;
|
||||
font-family: -apple-system, BlinkMacSystemFont, 'Inter', 'Segoe UI', 'Roboto', sans-serif;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
||||
background: #000000;
|
||||
min-height: 100vh;
|
||||
}
|
||||
|
||||
code {
|
||||
font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',
|
||||
monospace;
|
||||
font-family: 'Fira Code', 'Consolas', 'Monaco', 'Courier New', monospace;
|
||||
}
|
||||
|
||||
.app {
|
||||
min-height: 100vh;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
background: #000000;
|
||||
}
|
||||
|
||||
.app-header {
|
||||
background: rgba(255, 255, 255, 0.95);
|
||||
padding: 24px;
|
||||
background: rgba(10, 10, 15, 0.8);
|
||||
backdrop-filter: blur(20px);
|
||||
padding: 20px 32px;
|
||||
text-align: center;
|
||||
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
|
||||
border-bottom: 1px solid rgba(0, 217, 255, 0.1);
|
||||
box-shadow: 0 4px 24px rgba(0, 217, 255, 0.05);
|
||||
}
|
||||
|
||||
.app-header h1 {
|
||||
margin: 0 0 8px 0;
|
||||
color: #1a1a1a;
|
||||
color: #00d9ff;
|
||||
font-size: 32px;
|
||||
font-weight: 700;
|
||||
text-shadow: 0 0 30px rgba(0, 217, 255, 0.3);
|
||||
}
|
||||
|
||||
.app-header p {
|
||||
margin: 0;
|
||||
color: #666;
|
||||
color: #a1a1aa;
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
|
|
@ -55,29 +57,32 @@ code {
|
|||
}
|
||||
|
||||
.user-profile {
|
||||
background: white;
|
||||
background: rgba(10, 10, 15, 0.6);
|
||||
backdrop-filter: blur(20px);
|
||||
border: 1px solid rgba(0, 217, 255, 0.1);
|
||||
border-radius: 16px;
|
||||
padding: 32px;
|
||||
margin-bottom: 32px;
|
||||
box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
|
||||
box-shadow: 0 8px 32px rgba(0, 217, 255, 0.1);
|
||||
}
|
||||
|
||||
.profile-header {
|
||||
text-align: center;
|
||||
padding-bottom: 24px;
|
||||
border-bottom: 2px solid #f3f4f6;
|
||||
border-bottom: 1px solid rgba(0, 217, 255, 0.1);
|
||||
margin-bottom: 24px;
|
||||
}
|
||||
|
||||
.profile-header h2 {
|
||||
margin: 0 0 8px 0;
|
||||
color: #1a1a1a;
|
||||
color: #ffffff;
|
||||
font-size: 28px;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.profile-header p {
|
||||
margin: 0 0 16px 0;
|
||||
color: #666;
|
||||
color: #a1a1aa;
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
|
|
@ -88,22 +93,22 @@ code {
|
|||
}
|
||||
|
||||
.toggle-button {
|
||||
padding: 12px 24px;
|
||||
background: #4f46e5;
|
||||
color: white;
|
||||
padding: 12px 32px;
|
||||
background: linear-gradient(135deg, #00d9ff 0%, #00ff88 100%);
|
||||
color: #000000;
|
||||
border: none;
|
||||
border-radius: 8px;
|
||||
border-radius: 12px;
|
||||
font-size: 16px;
|
||||
font-weight: 500;
|
||||
font-weight: 600;
|
||||
cursor: pointer;
|
||||
transition: all 0.2s;
|
||||
transition: all 0.3s;
|
||||
align-self: center;
|
||||
box-shadow: 0 4px 20px rgba(0, 217, 255, 0.3);
|
||||
}
|
||||
|
||||
.toggle-button:hover {
|
||||
background: #4338ca;
|
||||
transform: translateY(-2px);
|
||||
box-shadow: 0 4px 12px rgba(79, 70, 229, 0.3);
|
||||
box-shadow: 0 8px 30px rgba(0, 217, 255, 0.4), 0 0 40px rgba(0, 255, 136, 0.2);
|
||||
}
|
||||
|
||||
.verification-container {
|
||||
|
|
@ -111,21 +116,24 @@ code {
|
|||
}
|
||||
|
||||
.info-section {
|
||||
background: rgba(255, 255, 255, 0.95);
|
||||
background: rgba(10, 10, 15, 0.6);
|
||||
backdrop-filter: blur(20px);
|
||||
border: 1px solid rgba(0, 217, 255, 0.1);
|
||||
border-radius: 16px;
|
||||
padding: 32px;
|
||||
box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
|
||||
box-shadow: 0 8px 32px rgba(0, 217, 255, 0.1);
|
||||
}
|
||||
|
||||
.info-section h3 {
|
||||
margin: 0 0 16px 0;
|
||||
color: #1a1a1a;
|
||||
color: #00d9ff;
|
||||
font-size: 24px;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.info-section p {
|
||||
margin: 0 0 16px 0;
|
||||
color: #374151;
|
||||
color: #d4d4d8;
|
||||
line-height: 1.6;
|
||||
}
|
||||
|
||||
|
|
@ -136,23 +144,28 @@ code {
|
|||
}
|
||||
|
||||
.info-section li {
|
||||
padding: 8px 0;
|
||||
color: #374151;
|
||||
padding: 12px 16px;
|
||||
color: #d4d4d8;
|
||||
font-size: 16px;
|
||||
background: rgba(0, 217, 255, 0.05);
|
||||
border-radius: 8px;
|
||||
margin-bottom: 8px;
|
||||
border-left: 3px solid #00d9ff;
|
||||
}
|
||||
|
||||
.app-footer {
|
||||
background: rgba(0, 0, 0, 0.8);
|
||||
color: white;
|
||||
background: rgba(10, 10, 15, 0.8);
|
||||
backdrop-filter: blur(20px);
|
||||
color: #a1a1aa;
|
||||
text-align: center;
|
||||
padding: 24px;
|
||||
margin-top: auto;
|
||||
border-top: 1px solid rgba(0, 217, 255, 0.1);
|
||||
}
|
||||
|
||||
.app-footer p {
|
||||
margin: 0;
|
||||
font-size: 14px;
|
||||
opacity: 0.8;
|
||||
}
|
||||
|
||||
/* Responsive */
|
||||
|
|
|
|||
|
|
@ -1,10 +1,10 @@
|
|||
/* Demo App Styles - Dark Modern Theme */
|
||||
/* Demo App Styles - Sleek Dark Gaming Theme (BitChat/Root Inspired) */
|
||||
|
||||
.demo-app {
|
||||
min-height: 100vh;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
background: #0a0a0f;
|
||||
background: #000000;
|
||||
color: #e4e4e7;
|
||||
}
|
||||
|
||||
|
|
@ -62,12 +62,10 @@
|
|||
.logo-section h1 {
|
||||
margin: 0;
|
||||
font-size: 1.75rem;
|
||||
background: linear-gradient(135deg, #8b5cf6 0%, #ec4899 100%);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
background-clip: text;
|
||||
color: #00d9ff;
|
||||
font-weight: 700;
|
||||
letter-spacing: -0.02em;
|
||||
text-shadow: 0 0 30px rgba(0, 217, 255, 0.3);
|
||||
}
|
||||
|
||||
.tagline {
|
||||
|
|
@ -149,10 +147,11 @@
|
|||
}
|
||||
|
||||
.nav-tab.active {
|
||||
background: linear-gradient(135deg, #8b5cf6 0%, #ec4899 100%);
|
||||
background: linear-gradient(135deg, #00d9ff 0%, #00ff88 100%);
|
||||
border-color: transparent;
|
||||
color: white;
|
||||
box-shadow: 0 4px 12px rgba(139, 92, 246, 0.3);
|
||||
color: #000000;
|
||||
font-weight: 700;
|
||||
box-shadow: 0 4px 12px rgba(0, 217, 255, 0.4);
|
||||
}
|
||||
|
||||
.tab-label {
|
||||
|
|
@ -233,7 +232,7 @@
|
|||
left: 0;
|
||||
right: 0;
|
||||
height: 2px;
|
||||
background: linear-gradient(90deg, #8b5cf6, #ec4899);
|
||||
background: linear-gradient(90deg, #00d9ff, #00ff88);
|
||||
opacity: 0;
|
||||
transition: opacity 0.3s;
|
||||
}
|
||||
|
|
@ -286,7 +285,7 @@
|
|||
|
||||
.feature-card ul li:before {
|
||||
content: "✓";
|
||||
color: #8b5cf6;
|
||||
color: #00d9ff;
|
||||
font-weight: bold;
|
||||
font-size: 0.875rem;
|
||||
}
|
||||
|
|
@ -371,8 +370,8 @@
|
|||
}
|
||||
|
||||
.platform-badge:hover {
|
||||
background: rgba(139, 92, 246, 0.15);
|
||||
border-color: #8b5cf6;
|
||||
background: rgba(0, 217, 255, 0.15);
|
||||
border-color: #00d9ff;
|
||||
transform: translateY(-2px);
|
||||
}
|
||||
|
||||
|
|
@ -410,7 +409,7 @@
|
|||
left: 0;
|
||||
right: 0;
|
||||
height: 2px;
|
||||
background: linear-gradient(90deg, #8b5cf6, #ec4899);
|
||||
background: linear-gradient(90deg, #00d9ff, #00ff88);
|
||||
transform: scaleX(0);
|
||||
transition: transform 0.3s;
|
||||
}
|
||||
|
|
@ -428,7 +427,7 @@
|
|||
font-size: 2.5rem;
|
||||
font-weight: 700;
|
||||
line-height: 1;
|
||||
background: linear-gradient(135deg, #8b5cf6 0%, #ec4899 100%);
|
||||
background: linear-gradient(135deg, #00d9ff 0%, #00ff88 100%);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
background-clip: text;
|
||||
|
|
@ -494,7 +493,7 @@
|
|||
|
||||
.footer-section h4 {
|
||||
margin: 0 0 1rem 0;
|
||||
background: linear-gradient(135deg, #8b5cf6 0%, #ec4899 100%);
|
||||
background: linear-gradient(135deg, #00d9ff 0%, #00ff88 100%);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
background-clip: text;
|
||||
|
|
@ -533,7 +532,7 @@
|
|||
}
|
||||
|
||||
.footer-section ul li a:hover {
|
||||
color: #8b5cf6;
|
||||
color: #00d9ff;
|
||||
}
|
||||
|
||||
.footer-bottom {
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
/* Chat Container */
|
||||
/* Chat Container - Dark Gaming Theme */
|
||||
.chat-container {
|
||||
display: flex;
|
||||
height: 100vh;
|
||||
background: #f5f5f5;
|
||||
background: #000000;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
|
|
@ -21,13 +21,15 @@
|
|||
}
|
||||
|
||||
.status-indicator.online {
|
||||
background: #d1fae5;
|
||||
color: #065f46;
|
||||
background: rgba(0, 255, 136, 0.2);
|
||||
color: #00ff88;
|
||||
border: 1px solid #00ff88;
|
||||
}
|
||||
|
||||
.status-indicator.offline {
|
||||
background: #fee2e2;
|
||||
color: #991b1b;
|
||||
background: rgba(239, 68, 68, 0.2);
|
||||
color: #ef4444;
|
||||
border: 1px solid #ef4444;
|
||||
}
|
||||
|
||||
/* Main Chat Area */
|
||||
|
|
@ -35,14 +37,16 @@
|
|||
flex: 1;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
background: white;
|
||||
border-left: 1px solid #e5e7eb;
|
||||
background: rgba(10, 10, 15, 0.6);
|
||||
backdrop-filter: blur(20px);
|
||||
border-left: 1px solid rgba(0, 217, 255, 0.1);
|
||||
}
|
||||
|
||||
.chat-header {
|
||||
padding: 1rem 1.5rem;
|
||||
border-bottom: 1px solid #e5e7eb;
|
||||
background: white;
|
||||
border-bottom: 1px solid rgba(0, 217, 255, 0.1);
|
||||
background: rgba(10, 10, 15, 0.8);
|
||||
backdrop-filter: blur(20px);
|
||||
}
|
||||
|
||||
.conversation-info {
|
||||
|
|
|
|||
|
|
@ -1,15 +1,16 @@
|
|||
/* Conversation List Sidebar */
|
||||
/* Conversation List Sidebar - Dark Gaming Theme */
|
||||
.conversation-list {
|
||||
width: 320px;
|
||||
background: white;
|
||||
border-right: 1px solid #e5e7eb;
|
||||
background: rgba(10, 10, 15, 0.8);
|
||||
backdrop-filter: blur(20px);
|
||||
border-right: 1px solid rgba(0, 217, 255, 0.1);
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.conversation-list-header {
|
||||
padding: 1rem 1.5rem;
|
||||
border-bottom: 1px solid #e5e7eb;
|
||||
border-bottom: 1px solid rgba(0, 217, 255, 0.1);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
|
|
@ -19,25 +20,28 @@
|
|||
margin: 0;
|
||||
font-size: 1.25rem;
|
||||
font-weight: 600;
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
.btn-new-conversation {
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
border-radius: 50%;
|
||||
background: #3b82f6;
|
||||
color: white;
|
||||
background: linear-gradient(135deg, #00d9ff 0%, #00ff88 100%);
|
||||
color: #000000;
|
||||
border: none;
|
||||
font-size: 1.5rem;
|
||||
cursor: pointer;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
transition: background 0.2s;
|
||||
transition: all 0.3s;
|
||||
box-shadow: 0 4px 12px rgba(0, 217, 255, 0.3);
|
||||
}
|
||||
|
||||
.btn-new-conversation:hover {
|
||||
background: #2563eb;
|
||||
transform: translateY(-2px);
|
||||
box-shadow: 0 6px 20px rgba(0, 217, 255, 0.4);
|
||||
}
|
||||
|
||||
/* Conversation Items */
|
||||
|
|
|
|||
|
|
@ -1,8 +1,9 @@
|
|||
/* Message Input Container */
|
||||
/* Message Input Container - Dark Gaming Theme */
|
||||
.message-input {
|
||||
padding: 1rem 1.5rem;
|
||||
background: white;
|
||||
border-top: 1px solid #e5e7eb;
|
||||
background: rgba(10, 10, 15, 0.8);
|
||||
backdrop-filter: blur(20px);
|
||||
border-top: 1px solid rgba(0, 217, 255, 0.1);
|
||||
display: flex;
|
||||
align-items: flex-end;
|
||||
gap: 0.75rem;
|
||||
|
|
@ -14,20 +15,22 @@
|
|||
width: 36px;
|
||||
height: 36px;
|
||||
border: none;
|
||||
background: #f3f4f6;
|
||||
background: rgba(0, 217, 255, 0.1);
|
||||
border-radius: 50%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
cursor: pointer;
|
||||
font-size: 1.25rem;
|
||||
transition: background 0.2s;
|
||||
transition: all 0.3s;
|
||||
flex-shrink: 0;
|
||||
color: #00d9ff;
|
||||
}
|
||||
|
||||
.btn-attach:hover,
|
||||
.btn-emoji:hover {
|
||||
background: #e5e7eb;
|
||||
background: rgba(0, 217, 255, 0.2);
|
||||
transform: scale(1.05);
|
||||
}
|
||||
|
||||
.btn-attach:disabled,
|
||||
|
|
@ -42,7 +45,9 @@
|
|||
min-height: 36px;
|
||||
max-height: 120px;
|
||||
padding: 0.5rem 0.75rem;
|
||||
border: 1px solid #e5e7eb;
|
||||
border: 1px solid rgba(0, 217, 255, 0.2);
|
||||
background: rgba(0, 0, 0, 0.5);
|
||||
color: #ffffff;
|
||||
border-radius: 18px;
|
||||
font-size: 0.9375rem;
|
||||
font-family: inherit;
|
||||
|
|
@ -52,34 +57,38 @@
|
|||
}
|
||||
|
||||
.message-textarea:focus {
|
||||
border-color: #3b82f6;
|
||||
border-color: #00d9ff;
|
||||
box-shadow: 0 0 0 2px rgba(0, 217, 255, 0.1);
|
||||
}
|
||||
|
||||
.message-textarea:disabled {
|
||||
background: #f9fafb;
|
||||
background: rgba(0, 0, 0, 0.3);
|
||||
cursor: not-allowed;
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
.message-textarea::placeholder {
|
||||
color: #9ca3af;
|
||||
color: #71717a;
|
||||
}
|
||||
|
||||
/* Send Button */
|
||||
.btn-send {
|
||||
padding: 0.5rem 1.5rem;
|
||||
background: #3b82f6;
|
||||
color: white;
|
||||
background: linear-gradient(135deg, #00d9ff 0%, #00ff88 100%);
|
||||
color: #000000;
|
||||
border: none;
|
||||
border-radius: 18px;
|
||||
font-size: 0.9375rem;
|
||||
font-weight: 500;
|
||||
font-weight: 600;
|
||||
cursor: pointer;
|
||||
transition: background 0.2s;
|
||||
transition: all 0.3s;
|
||||
flex-shrink: 0;
|
||||
box-shadow: 0 4px 12px rgba(0, 217, 255, 0.3);
|
||||
}
|
||||
|
||||
.btn-send:hover:not(:disabled) {
|
||||
background: #2563eb;
|
||||
transform: translateY(-2px);
|
||||
box-shadow: 0 6px 20px rgba(0, 217, 255, 0.4);
|
||||
}
|
||||
|
||||
.btn-send:disabled {
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
/* Message List Container */
|
||||
/* Message List Container - Dark Gaming Theme */
|
||||
.message-list {
|
||||
flex: 1;
|
||||
overflow-y: auto;
|
||||
|
|
@ -6,7 +6,7 @@
|
|||
display: flex;
|
||||
flex-direction: column-reverse;
|
||||
gap: 1rem;
|
||||
background: #f9fafb;
|
||||
background: rgba(0, 0, 0, 0.5);
|
||||
}
|
||||
|
||||
.message-list.empty {
|
||||
|
|
@ -42,7 +42,7 @@
|
|||
left: 0;
|
||||
right: 0;
|
||||
height: 1px;
|
||||
background: #e5e7eb;
|
||||
background: rgba(0, 217, 255, 0.1);
|
||||
z-index: 0;
|
||||
}
|
||||
|
||||
|
|
@ -50,12 +50,13 @@
|
|||
.message-timestamp-divider::after {
|
||||
display: inline-block;
|
||||
padding: 0.25rem 1rem;
|
||||
background: #f9fafb;
|
||||
color: #6b7280;
|
||||
background: rgba(0, 0, 0, 0.8);
|
||||
color: #71717a;
|
||||
font-size: 0.75rem;
|
||||
border-radius: 12px;
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
border: 1px solid rgba(0, 217, 255, 0.1);
|
||||
}
|
||||
|
||||
/* Message */
|
||||
|
|
@ -92,12 +93,12 @@
|
|||
width: 32px;
|
||||
height: 32px;
|
||||
border-radius: 50%;
|
||||
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
||||
background: linear-gradient(135deg, #00d9ff 0%, #00ff88 100%);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
color: white;
|
||||
font-weight: 600;
|
||||
color: #000000;
|
||||
font-weight: 700;
|
||||
font-size: 0.875rem;
|
||||
}
|
||||
|
||||
|
|
@ -120,12 +121,12 @@
|
|||
.message-sender {
|
||||
font-size: 0.75rem;
|
||||
font-weight: 500;
|
||||
color: #6b7280;
|
||||
color: #a1a1aa;
|
||||
padding: 0 0.75rem;
|
||||
}
|
||||
|
||||
.verified-badge {
|
||||
color: #3b82f6;
|
||||
color: #00d9ff;
|
||||
margin-left: 0.25rem;
|
||||
}
|
||||
|
||||
|
|
@ -138,15 +139,18 @@
|
|||
}
|
||||
|
||||
.message.own .message-bubble {
|
||||
background: #3b82f6;
|
||||
color: white;
|
||||
background: linear-gradient(135deg, #00d9ff 0%, #00ff88 100%);
|
||||
color: #000000;
|
||||
font-weight: 500;
|
||||
border-bottom-right-radius: 0.25rem;
|
||||
box-shadow: 0 4px 12px rgba(0, 217, 255, 0.3);
|
||||
}
|
||||
|
||||
.message.other .message-bubble {
|
||||
background: white;
|
||||
color: #111827;
|
||||
border: 1px solid #e5e7eb;
|
||||
background: rgba(10, 10, 15, 0.8);
|
||||
backdrop-filter: blur(20px);
|
||||
color: #ffffff;
|
||||
border: 1px solid rgba(0, 217, 255, 0.2);
|
||||
border-bottom-left-radius: 0.25rem;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ body {
|
|||
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
background: #0a0a0f;
|
||||
background: #000000;
|
||||
color: #e4e4e7;
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
|
|
|||
42
src/frontend/package-lock.json
generated
42
src/frontend/package-lock.json
generated
|
|
@ -13,6 +13,7 @@
|
|||
"axios": "^1.13.2",
|
||||
"react": "^18.2.0",
|
||||
"react-dom": "^18.2.0",
|
||||
"react-router-dom": "^6.30.3",
|
||||
"socket.io-client": "^4.8.3"
|
||||
},
|
||||
"devDependencies": {
|
||||
|
|
@ -746,6 +747,15 @@
|
|||
"@jridgewell/sourcemap-codec": "^1.4.14"
|
||||
}
|
||||
},
|
||||
"node_modules/@remix-run/router": {
|
||||
"version": "1.23.2",
|
||||
"resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.23.2.tgz",
|
||||
"integrity": "sha512-Ic6m2U/rMjTkhERIa/0ZtXJP17QUi2CbWE7cqx4J58M8aA3QTfW+2UlQ4psvTX9IO1RfNVhK3pcpdjej7L+t2w==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=14.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@rolldown/pluginutils": {
|
||||
"version": "1.0.0-beta.27",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.27.tgz",
|
||||
|
|
@ -1899,6 +1909,38 @@
|
|||
"node": ">=0.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/react-router": {
|
||||
"version": "6.30.3",
|
||||
"resolved": "https://registry.npmjs.org/react-router/-/react-router-6.30.3.tgz",
|
||||
"integrity": "sha512-XRnlbKMTmktBkjCLE8/XcZFlnHvr2Ltdr1eJX4idL55/9BbORzyZEaIkBFDhFGCEWBBItsVrDxwx3gnisMitdw==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@remix-run/router": "1.23.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=14.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"react": ">=16.8"
|
||||
}
|
||||
},
|
||||
"node_modules/react-router-dom": {
|
||||
"version": "6.30.3",
|
||||
"resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.30.3.tgz",
|
||||
"integrity": "sha512-pxPcv1AczD4vso7G4Z3TKcvlxK7g7TNt3/FNGMhfqyntocvYKj+GCatfigGDjbLozC4baguJ0ReCigoDJXb0ag==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@remix-run/router": "1.23.2",
|
||||
"react-router": "6.30.3"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=14.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"react": ">=16.8",
|
||||
"react-dom": ">=16.8"
|
||||
}
|
||||
},
|
||||
"node_modules/rollup": {
|
||||
"version": "4.55.1",
|
||||
"resolved": "https://registry.npmjs.org/rollup/-/rollup-4.55.1.tgz",
|
||||
|
|
|
|||
|
|
@ -14,6 +14,7 @@
|
|||
"axios": "^1.13.2",
|
||||
"react": "^18.2.0",
|
||||
"react-dom": "^18.2.0",
|
||||
"react-router-dom": "^6.30.3",
|
||||
"socket.io-client": "^4.8.3"
|
||||
},
|
||||
"devDependencies": {
|
||||
|
|
|
|||
Loading…
Reference in a new issue