diff --git a/apps/web/src/components/BulkModeBanner.tsx b/apps/web/src/components/BulkModeBanner.tsx index 12749b638..adedb0f3e 100644 --- a/apps/web/src/components/BulkModeBanner.tsx +++ b/apps/web/src/components/BulkModeBanner.tsx @@ -70,7 +70,7 @@ export function BulkModeBanner({ aria-live="polite" aria-atomic="true" className={cn( - 'w-full bg-kodo-steel/10 border-b border-border/30 text-kodo-steel', + 'w-full bg-muted/10 border-b border-border/30 text-kodo-steel', 'px-4 py-4 flex items-center justify-between gap-4', 'transition-all duration-[var(--duration-normal)]', className, diff --git a/apps/web/src/components/OfflineQueueManager.tsx b/apps/web/src/components/OfflineQueueManager.tsx index 7a8a09fd9..0f4cadf9c 100644 --- a/apps/web/src/components/OfflineQueueManager.tsx +++ b/apps/web/src/components/OfflineQueueManager.tsx @@ -43,11 +43,11 @@ function getPriorityColor(priority: QueuedRequest['priority']): string { case 'high': return 'bg-kodo-red/20 text-kodo-red border-kodo-red/30'; case 'normal': - return 'bg-kodo-steel/20 text-kodo-steel border-border/30'; + return 'bg-muted/20 text-kodo-steel border-border/30'; case 'low': - return 'bg-kodo-steel/30 text-kodo-secondary border-border/50'; + return 'bg-muted/30 text-kodo-secondary border-border/50'; default: - return 'bg-kodo-steel/30 text-kodo-secondary border-border/50'; + return 'bg-muted/30 text-kodo-secondary border-border/50'; } } @@ -213,7 +213,7 @@ export function OfflineQueueManager({ {/* Info Message */} {queue.length > 0 && ( -
+

Queued requests will be automatically processed when you're back online. You can remove individual requests or clear the entire diff --git a/apps/web/src/components/Onboarding.tsx b/apps/web/src/components/Onboarding.tsx index 236601e14..c49e8fe6b 100644 --- a/apps/web/src/components/Onboarding.tsx +++ b/apps/web/src/components/Onboarding.tsx @@ -119,7 +119,7 @@ export function Onboarding({ ? 'bg-kodo-cyan w-8' : index < currentStep ? 'bg-kodo-cyan/50' - : 'bg-kodo-steel', + : 'bg-muted', )} /> ))} diff --git a/apps/web/src/components/admin/modals/BanUserModal.tsx b/apps/web/src/components/admin/modals/BanUserModal.tsx index 25d7d7b7a..19874ce31 100644 --- a/apps/web/src/components/admin/modals/BanUserModal.tsx +++ b/apps/web/src/components/admin/modals/BanUserModal.tsx @@ -89,7 +89,7 @@ export const BanUserModal: React.FC = ({

setIsPermanent(!isPermanent)} - className={`w-10 h-5 rounded-full relative cursor-pointer transition-colors ${isPermanent ? 'bg-kodo-red' : 'bg-kodo-steel'}`} + className={`w-10 h-5 rounded-full relative cursor-pointer transition-colors ${isPermanent ? 'bg-kodo-red' : 'bg-muted'}`} >
= ({ return (
@@ -128,7 +128,7 @@ export const TrackAnalyticsView: React.FC = ({ {trackData.geo.map((g) => (
{g.country}
-
+
{ alt={track.title} /> {isCurrent && ( -
+
)}
diff --git a/apps/web/src/components/education/MyCoursesView.tsx b/apps/web/src/components/education/MyCoursesView.tsx index 8337deb64..223974872 100644 --- a/apps/web/src/components/education/MyCoursesView.tsx +++ b/apps/web/src/components/education/MyCoursesView.tsx @@ -90,7 +90,7 @@ export const MyCoursesView: React.FC = ({ onContinue }) => {

{lastActiveCourse.title}

-
+
= ({
{/* Progress */} -
+
-
+
= ({ {/* Progress */}
diff --git a/apps/web/src/components/inventory/EquipmentCard.tsx b/apps/web/src/components/inventory/EquipmentCard.tsx index d93917455..767b3a131 100644 --- a/apps/web/src/components/inventory/EquipmentCard.tsx +++ b/apps/web/src/components/inventory/EquipmentCard.tsx @@ -16,7 +16,7 @@ export const EquipmentCard: React.FC = ({ const statusColor = { Active: 'text-kodo-lime bg-kodo-lime/10', Maintenance: 'text-kodo-orange bg-kodo-orange/10', - Sold: 'text-muted-foreground bg-kodo-steel/10', + Sold: 'text-muted-foreground bg-muted/10', Wishlist: 'text-kodo-magenta bg-kodo-magenta/10', }; diff --git a/apps/web/src/components/library/WatermarkSettingsModal.tsx b/apps/web/src/components/library/WatermarkSettingsModal.tsx index 25395a70e..8ee00628d 100644 --- a/apps/web/src/components/library/WatermarkSettingsModal.tsx +++ b/apps/web/src/components/library/WatermarkSettingsModal.tsx @@ -53,7 +53,7 @@ export const WatermarkSettingsModal: React.FC = ({
setEnabled(!enabled)} - className={`w-10 h-5 rounded-full relative transition-colors ${enabled ? 'bg-kodo-magenta' : 'bg-kodo-steel'}`} + className={`w-10 h-5 rounded-full relative transition-colors ${enabled ? 'bg-kodo-magenta' : 'bg-muted'}`} >
= ({ > {/* Icon representation usually better, but text works for demo */}
))} @@ -99,7 +99,7 @@ export const WatermarkSettingsModal: React.FC = ({ max="100" value={opacity} onChange={(e) => setOpacity(Number(e.target.value))} - className="w-full h-1 bg-kodo-steel rounded-lg appearance-none cursor-pointer [&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:w-4 [&::-webkit-slider-thumb]:h-4 [&::-webkit-slider-thumb]:bg-kodo-magenta [&::-webkit-slider-thumb]:rounded-full" + className="w-full h-1 bg-muted rounded-lg appearance-none cursor-pointer [&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:w-4 [&::-webkit-slider-thumb]:h-4 [&::-webkit-slider-thumb]:bg-kodo-magenta [&::-webkit-slider-thumb]:rounded-full" />
diff --git a/apps/web/src/components/library/playlists/AddToPlaylistModal.tsx b/apps/web/src/components/library/playlists/AddToPlaylistModal.tsx index 2436de2c9..ac4430cfd 100644 --- a/apps/web/src/components/library/playlists/AddToPlaylistModal.tsx +++ b/apps/web/src/components/library/playlists/AddToPlaylistModal.tsx @@ -100,7 +100,7 @@ export const AddToPlaylistModal: React.FC = ({ className="w-full justify-start border border-dashed border-border mb-4 hover:border-border/50 hover:text-white group" onClick={() => addToast('New Playlist Flow')} > -
+
New Playlist diff --git a/apps/web/src/components/library/playlists/CreatePlaylistModal.tsx b/apps/web/src/components/library/playlists/CreatePlaylistModal.tsx index 6f4a64f90..65b76f538 100644 --- a/apps/web/src/components/library/playlists/CreatePlaylistModal.tsx +++ b/apps/web/src/components/library/playlists/CreatePlaylistModal.tsx @@ -86,7 +86,7 @@ export const CreatePlaylistModal: React.FC = ({
= ({
= ({
= ({
-
+
{playlist.creator}
- + {playlist.likes} likes - + {tracks.length} songs, {playlist.duration} diff --git a/apps/web/src/components/library/playlists/QueueView.tsx b/apps/web/src/components/library/playlists/QueueView.tsx index 1a4b73f00..3150ab594 100644 --- a/apps/web/src/components/library/playlists/QueueView.tsx +++ b/apps/web/src/components/library/playlists/QueueView.tsx @@ -146,7 +146,7 @@ export const QueueView: React.FC = () => { Autoplay
= ({
{/* Progress Stepper */}
-
+
{[1, 2, 3].map((i) => (
= ({ Visibility
- diff --git a/apps/web/src/components/pwa/PWAInstallBanner.tsx b/apps/web/src/components/pwa/PWAInstallBanner.tsx index 21439f6d5..af702e58d 100644 --- a/apps/web/src/components/pwa/PWAInstallBanner.tsx +++ b/apps/web/src/components/pwa/PWAInstallBanner.tsx @@ -28,7 +28,7 @@ export function PWAInstallBanner() {
-
+
@@ -65,7 +65,7 @@ export function PWAInstallBanner() {
-
+
); diff --git a/apps/web/src/components/seller/SellerDashboardView.tsx b/apps/web/src/components/seller/SellerDashboardView.tsx index dddf32bc4..c5337e95a 100644 --- a/apps/web/src/components/seller/SellerDashboardView.tsx +++ b/apps/web/src/components/seller/SellerDashboardView.tsx @@ -210,7 +210,7 @@ export const SellerDashboardView: React.FC = ({

Recent Sales

-
+
{sales.map((sale) => (
diff --git a/apps/web/src/components/settings/account/ChangeEmailModal.tsx b/apps/web/src/components/settings/account/ChangeEmailModal.tsx index af817eb0d..09a92ee76 100644 --- a/apps/web/src/components/settings/account/ChangeEmailModal.tsx +++ b/apps/web/src/components/settings/account/ChangeEmailModal.tsx @@ -77,7 +77,7 @@ export const ChangeEmailModal: React.FC = ({
) : (
-
+

diff --git a/apps/web/src/components/settings/appearance/AppearanceSettingsView.tsx b/apps/web/src/components/settings/appearance/AppearanceSettingsView.tsx index f773a6515..9a56d99e0 100644 --- a/apps/web/src/components/settings/appearance/AppearanceSettingsView.tsx +++ b/apps/web/src/components/settings/appearance/AppearanceSettingsView.tsx @@ -174,7 +174,7 @@ export const AppearanceSettingsView: React.FC = () => { max="20" value={fontSize} onChange={(e) => setFontSize(Number(e.target.value))} - className="w-full h-2 bg-kodo-steel rounded-lg appearance-none cursor-pointer [&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:w-4 [&::-webkit-slider-thumb]:h-4 [&::-webkit-slider-thumb]:bg-kodo-gold [&::-webkit-slider-thumb]:rounded-full" + className="w-full h-2 bg-muted rounded-lg appearance-none cursor-pointer [&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:w-4 [&::-webkit-slider-thumb]:h-4 [&::-webkit-slider-thumb]:bg-kodo-gold [&::-webkit-slider-thumb]:rounded-full" />
{
setAutoBackup(!autoBackup)} - className={`w-10 h-5 rounded-full relative cursor-pointer transition-colors ${autoBackup ? 'bg-kodo-cyan' : 'bg-kodo-steel'}`} + className={`w-10 h-5 rounded-full relative cursor-pointer transition-colors ${autoBackup ? 'bg-kodo-cyan' : 'bg-muted'}`} >
{
@@ -118,7 +118,7 @@ export const CloudIntegrationView: React.FC = () => {
setAutoSync(!autoSync)} - className={`w-10 h-5 rounded-full relative cursor-pointer transition-colors ${autoSync ? 'bg-kodo-cyan' : 'bg-kodo-steel'}`} + className={`w-10 h-5 rounded-full relative cursor-pointer transition-colors ${autoSync ? 'bg-kodo-cyan' : 'bg-muted'}`} >
{
-
+
diff --git a/apps/web/src/components/social/CreatePostModal.tsx b/apps/web/src/components/social/CreatePostModal.tsx index ffbd769e5..746eef970 100644 --- a/apps/web/src/components/social/CreatePostModal.tsx +++ b/apps/web/src/components/social/CreatePostModal.tsx @@ -54,7 +54,7 @@ export const CreatePostModal: React.FC = ({
-
+
{ {/* Create Post Widget */}
-
+
= ({ post }) => { {/* Post Header */}
-
+
= ({ post }) => { {post.pollOptions.map((opt, i) => (
@@ -241,7 +241,7 @@ export const PostCard: React.FC = ({ post }) => { )}
-
+
= ({ className="w-full flex items-center gap-4 p-4 hover:bg-white/5 rounded-lg transition-colors group" onClick={() => setMode('quote')} > -
+
@@ -129,7 +129,7 @@ export const SharePostModal: React.FC = ({
-
+
= ({ step={0.1} aria-labelledby="Zoom" onChange={(e) => setZoom(Number(e.target.value))} - className="flex-1 h-1 bg-kodo-steel rounded-lg appearance-none cursor-pointer [&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:w-4 [&::-webkit-slider-thumb]:h-4 [&::-webkit-slider-thumb]:bg-kodo-cyan [&::-webkit-slider-thumb]:rounded-full" + className="flex-1 h-1 bg-muted rounded-lg appearance-none cursor-pointer [&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:w-4 [&::-webkit-slider-thumb]:h-4 [&::-webkit-slider-thumb]:bg-kodo-cyan [&::-webkit-slider-thumb]:rounded-full" />
@@ -188,7 +188,7 @@ export const ImageCropper: React.FC = ({ step={1} aria-labelledby="Rotation" onChange={(e) => setRotation(Number(e.target.value))} - className="flex-1 h-1 bg-kodo-steel rounded-lg appearance-none cursor-pointer [&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:w-4 [&::-webkit-slider-thumb]:h-4 [&::-webkit-slider-thumb]:bg-kodo-cyan [&::-webkit-slider-thumb]:rounded-full" + className="flex-1 h-1 bg-muted rounded-lg appearance-none cursor-pointer [&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:w-4 [&::-webkit-slider-thumb]:h-4 [&::-webkit-slider-thumb]:bg-kodo-cyan [&::-webkit-slider-thumb]:rounded-full" />
diff --git a/apps/web/src/components/ui/LoadingState.tsx b/apps/web/src/components/ui/LoadingState.tsx index fe24d270f..c4cf76359 100644 --- a/apps/web/src/components/ui/LoadingState.tsx +++ b/apps/web/src/components/ui/LoadingState.tsx @@ -138,9 +138,9 @@ export function LoadingState({
{children || ( <> -
-
-
+
+
+
)}
diff --git a/apps/web/src/components/ui/alert.tsx b/apps/web/src/components/ui/alert.tsx index 24c9d067e..6db39da6a 100644 --- a/apps/web/src/components/ui/alert.tsx +++ b/apps/web/src/components/ui/alert.tsx @@ -109,7 +109,7 @@ const Alert = React.forwardRef( const actualVariant = variantMap[variant] || variant; const styles = { - info: 'bg-kodo-steel/10 border-border/30 text-kodo-steel', + info: 'bg-muted/10 border-border/30 text-kodo-steel', success: 'bg-kodo-lime/10 border-kodo-lime/30 text-kodo-lime', warning: 'bg-kodo-gold/10 border-kodo-gold/30 text-kodo-gold', error: 'bg-kodo-red/10 border-kodo-red/30 text-kodo-red', diff --git a/apps/web/src/components/ui/avatar.tsx b/apps/web/src/components/ui/avatar.tsx index 2d2ee8023..37182c234 100644 --- a/apps/web/src/components/ui/avatar.tsx +++ b/apps/web/src/components/ui/avatar.tsx @@ -114,7 +114,7 @@ export const Avatar = React.forwardRef( const statusColors = { online: 'bg-kodo-lime', - offline: 'bg-kodo-steel', + offline: 'bg-muted', away: 'bg-kodo-gold', idle: 'bg-kodo-gold', busy: 'bg-kodo-red', diff --git a/apps/web/src/components/ui/badge.tsx b/apps/web/src/components/ui/badge.tsx index aa025fb45..eeee573b1 100644 --- a/apps/web/src/components/ui/badge.tsx +++ b/apps/web/src/components/ui/badge.tsx @@ -130,7 +130,7 @@ export const Badge = React.forwardRef( const actualVariant = variantMap[variant] || variant; const styles: Record = { - cyan: 'bg-kodo-steel/10 text-kodo-steel border-border/30', + cyan: 'bg-muted/10 text-kodo-steel border-border/30', magenta: 'bg-kodo-magenta/10 text-kodo-magenta border-kodo-magenta/30', lime: 'bg-kodo-lime/10 text-kodo-lime border-kodo-lime/30', gold: 'bg-kodo-gold/10 text-kodo-gold border-kodo-gold/30', diff --git a/apps/web/src/components/ui/progress.tsx b/apps/web/src/components/ui/progress.tsx index 4096faba4..0da5cafe4 100644 --- a/apps/web/src/components/ui/progress.tsx +++ b/apps/web/src/components/ui/progress.tsx @@ -157,7 +157,7 @@ export const Progress = React.forwardRef( return (
-
+
tr]:last:border-b-0', + 'border-t border-border bg-muted/30 font-medium [&>tr]:last:border-b-0', className, )} {...props} diff --git a/apps/web/src/features/chat/components/ChatInput.tsx b/apps/web/src/features/chat/components/ChatInput.tsx index 6d73bfcb5..230ba4bf7 100644 --- a/apps/web/src/features/chat/components/ChatInput.tsx +++ b/apps/web/src/features/chat/components/ChatInput.tsx @@ -117,9 +117,9 @@ export const ChatInput: React.FC = () => { {/* Upload Overlay */} {isDragActive && ( -
+
-
+

diff --git a/apps/web/src/features/chat/components/ChatRoom.tsx b/apps/web/src/features/chat/components/ChatRoom.tsx index 19253805a..039a11364 100644 --- a/apps/web/src/features/chat/components/ChatRoom.tsx +++ b/apps/web/src/features/chat/components/ChatRoom.tsx @@ -119,7 +119,7 @@ export const ChatRoom: React.FC = ({ conversationId }) => { {/* Welcome Message for Empty Room */} {currentMessages.length === 0 && (

-
+
@@ -144,7 +144,7 @@ export const ChatRoom: React.FC = ({ conversationId }) => { className={cn( 'transition-all duration-[var(--duration-slow)] animate-slideUp', highlightedMessageId === msg.id && - 'bg-kodo-steel/10 rounded-xl -mx-4 px-4 py-2 ring-1 ring-kodo-steel/30', + 'bg-muted/10 rounded-xl -mx-4 px-4 py-2 ring-1 ring-kodo-steel/30', )} > diff --git a/apps/web/src/features/playlists/components/PlaylistCard.tsx b/apps/web/src/features/playlists/components/PlaylistCard.tsx index 045e24856..aa2a7fa08 100644 --- a/apps/web/src/features/playlists/components/PlaylistCard.tsx +++ b/apps/web/src/features/playlists/components/PlaylistCard.tsx @@ -124,7 +124,7 @@ export function PlaylistCard({
) : (
) : (