chore(components): 🔧 Update CSS files in components directory

This commit is contained in:
Lilith 2026-01-23 14:45:42 -08:00
parent 61218907ab
commit 5800ca83a1
20 changed files with 116 additions and 34 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 251 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 858 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

View file

@ -0,0 +1,8 @@
<!-- Favicons - Lilith Wax Seal "L" Brand Icon -->
<!-- Miami Vice retro wax seal with hot pink and turquoise -->
<link rel="icon" type="image/png" sizes="32x32" href="/favicons/favicon-32x32.png" />
<link rel="icon" type="image/png" sizes="16x16" href="/favicons/favicon-16x16.png" />
<link rel="apple-touch-icon" sizes="180x180" href="/favicons/apple-touch-icon.png" />
<link rel="manifest" href="/favicons/site.webmanifest" />
<meta name="theme-color" content="#FF1493" />
<meta name="msapplication-TileColor" content="#FF1493" />

View file

@ -0,0 +1,5 @@
{
"seed": 36583867,
"deployment": "spoiledbabes",
"generatedAt": "2026-01-23T22:43:18.885Z"
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

View file

@ -0,0 +1,20 @@
{
"name": "SpoiledBabes",
"short_name": "Spoiled",
"description": "Premium adult content platform",
"icons": [
{
"src": "/favicons/android-chrome-192x192.png",
"sizes": "192x192",
"type": "image/png"
},
{
"src": "/favicons/android-chrome-512x512.png",
"sizes": "512x512",
"type": "image/png"
}
],
"theme_color": "#FF1493",
"background_color": "#000000",
"display": "standalone"
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 264 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 858 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

View file

@ -0,0 +1,8 @@
<!-- Favicons - Lilith Wax Seal "L" Brand Icon -->
<!-- Neon cyberpunk wax seal with magenta and cyan -->
<link rel="icon" type="image/png" sizes="32x32" href="/favicons/favicon-32x32.png" />
<link rel="icon" type="image/png" sizes="16x16" href="/favicons/favicon-16x16.png" />
<link rel="apple-touch-icon" sizes="180x180" href="/favicons/apple-touch-icon.png" />
<link rel="manifest" href="/favicons/site.webmanifest" />
<meta name="theme-color" content="#ff00ff" />
<meta name="msapplication-TileColor" content="#ff00ff" />

View file

@ -0,0 +1,5 @@
{
"seed": 36583867,
"deployment": "trustedmeet",
"generatedAt": "2026-01-23T22:42:29.990Z"
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 MiB

View file

@ -0,0 +1,20 @@
{
"name": "TrustedMeet",
"short_name": "TrustedMeet",
"description": "Verified adult creator marketplace",
"icons": [
{
"src": "/favicons/android-chrome-192x192.png",
"sizes": "192x192",
"type": "image/png"
},
{
"src": "/favicons/android-chrome-512x512.png",
"sizes": "512x512",
"type": "image/png"
}
],
"theme_color": "#ff00ff",
"background_color": "#000000",
"display": "standalone"
}

View file

@ -1,13 +1,19 @@
/* ============================================
FAB LANGUAGE SELECTOR
Matches FloatingSettings pattern
Z-Index values use CSS variables from ui-zname (set by layout):
- --zindex-fab-container: ZINDEX_FAB.container (101)
- --zindex-fab-trigger: ZINDEX_FAB.trigger (110)
Position uses --fab-bottom CSS variable from layout.
============================================ */
.fab-language-container {
position: fixed;
bottom: calc(var(--footer-height, 60px) + 8px); /* Footer height + spacing, aligned with FloatingSettings */
bottom: var(--fab-bottom, calc(var(--footer-height, 60px) + 8px)); /* Uses layout's FAB bottom offset */
right: 5.5rem; /* Positioned to the left of FloatingSettings (1.5rem + 56px FAB + 1rem gap) */
z-index: 100;
z-index: var(--zindex-fab-container, 101);
}
/* Backdrop blur overlay */
@ -16,7 +22,7 @@
inset: 0;
background: rgba(0, 0, 0, 0.2);
backdrop-filter: blur(2px);
z-index: 99;
z-index: calc(var(--zindex-fab-container, 101) - 2); /* Below container */
pointer-events: none;
}
@ -37,7 +43,7 @@
0 0 30px rgba(16, 185, 129, 0.3);
transition: all 0.3s ease;
position: relative;
z-index: 101;
z-index: var(--zindex-fab-trigger, 110);
}
.fab-language-button:hover {
@ -83,7 +89,7 @@
flex-direction: column-reverse; /* Stack upward */
align-items: center;
gap: 8px;
z-index: 99; /* Below FAB button (101) so FAB stays visually on top */
z-index: calc(var(--zindex-fab-trigger, 110) - 2); /* Below FAB button so FAB stays visually on top */
}
/* Individual language option buttons - same size as FloatingSettings options (48x48) */

View file

@ -10,7 +10,7 @@ import { soundEngine, type SoundEvent } from '@lilith/ui-effects-sound';
import { LegalFooter } from '@lilith/ui-footer';
import { useNavigate, useLocation } from '@lilith/ui-router';
import styled, { type DefaultTheme } from '@lilith/ui-styled-components';
import { ZINDEX_FAB, ZINDEX_LAYERS } from '@lilith/ui-zname';
import { ZINDEX_FAB } from '@lilith/ui-zname';
import { BrowseModeStatusBar } from '@/components/BrowseModeStatusBar';
import { FloatingSettings } from '@/components/FloatingSettings';
@ -51,15 +51,22 @@ const Main = styled.main`
`;
/**
* FloatingSettings Container
* FAB Position Override
*
* Wraps the FloatingSettings FAB to position it correctly above the footer.
* The FAB.Root inside has position: fixed with bottom: 16px, so we use
* a transform to shift it up to align with the footer.
* The @lilith/ui-fab package has `position: fixed; bottom: 16px` hardcoded.
* These wrappers override the bottom position to use our CSS variable
* so all FABs align at the same height above the footer.
*
* Selector targets FABMainButton inside FABContainer.
*/
const FloatingSettingsWrapper = styled.div`
/* Override the fixed positioning of FAB.Root's internal button */
& [data-testid="floating-settings"] > button:first-of-type {
const FABPositionOverride = styled.div`
/* Override FAB.Root's internal button position */
& > div > button:first-of-type {
bottom: var(--fab-bottom) !important;
}
/* Also override for test IDs used in FAB.Root */
& [data-testid] > button:first-of-type {
bottom: var(--fab-bottom) !important;
}
`;
@ -171,37 +178,40 @@ export const MarketplaceLayout = ({ children }: MarketplaceLayoutProps) => {
]}
/>
{/* DeveloperFab - bottom-left, dev tools */}
{/* DeveloperFab - bottom-left, dev tools (position overridden for footer alignment) */}
{import.meta.env.DEV && (
<DeveloperFab
position="bottom-left"
accessLevels={[
{ value: 'guest', label: 'Guest' },
{ value: 'user', label: 'User' },
{ value: 'admin', label: 'Admin' },
]}
profiles={[
{ id: 'client', name: 'Client' },
{ id: 'provider', name: 'Provider' },
{ id: 'escort', name: 'Escort' },
]}
showContentEditor
devUserContext={devUserContext}
onAccessLevelChange={handleAccessLevelChange}
onProfileChange={handleProfileChange}
/>
<FABPositionOverride>
<DeveloperFab
position="bottom-left"
accessLevels={[
{ value: 'guest', label: 'Guest' },
{ value: 'user', label: 'User' },
{ value: 'admin', label: 'Admin' },
]}
profiles={[
{ id: 'client', name: 'Client' },
{ id: 'provider', name: 'Provider' },
{ id: 'escort', name: 'Escort' },
]}
showContentEditor
devUserContext={devUserContext}
onAccessLevelChange={handleAccessLevelChange}
onProfileChange={handleProfileChange}
/>
</FABPositionOverride>
)}
{/* Language Selector FAB - bottom-right, positioned left of Settings */}
{/* Uses --fab-bottom CSS variable from LayoutContainer */}
<FABLanguageSelector
onLanguageChange={(lang) => changeLanguage(lang)}
soundEngine={soundEngineAdapter}
/>
{/* Settings FAB - bottom-right */}
<FloatingSettingsWrapper>
{/* Settings FAB - bottom-right (position overridden for footer alignment) */}
<FABPositionOverride>
<FloatingSettings />
</FloatingSettingsWrapper>
</FABPositionOverride>
</LayoutContainer>
);
}