diff --git a/apps/web/src/components/admin/modals/BanUserModal.tsx b/apps/web/src/components/admin/modals/BanUserModal.tsx index 7ffc9d0cd..a09b65767 100644 --- a/apps/web/src/components/admin/modals/BanUserModal.tsx +++ b/apps/web/src/components/admin/modals/BanUserModal.tsx @@ -30,7 +30,7 @@ export const BanUserModal: React.FC = ({ Suspend User - + @@ -42,7 +42,7 @@ export const BanUserModal: React.FC = ({
+
Trying to load from: {getOpenApiUrl()} diff --git a/apps/web/src/components/education/MyCoursesView.tsx b/apps/web/src/components/education/MyCoursesView.tsx index 857ccdf94..f78f2394e 100644 --- a/apps/web/src/components/education/MyCoursesView.tsx +++ b/apps/web/src/components/education/MyCoursesView.tsx @@ -110,13 +110,13 @@ export const MyCoursesView: React.FC = ({ onContinue }) => { setActiveTab('in_progress')} - className={`pb-3 text-sm font-bold uppercase tracking-wider border-b-2 transition-colors ${activeTab === 'in_progress' ? 'border-kodo-cyan text-white' : 'border-transparent text-kodo-content-dim hover:text-kodo-text-main'}`} + className={`pb-3 text-sm font-bold uppercase tracking-wider border-b-2 transition-colors ${activeTab === 'in_progress' ? 'border-kodo-cyan text-white' : 'border-transparent text-muted-foreground hover:text-kodo-text-main'}`} > In Progress setActiveTab('completed')} - className={`pb-3 text-sm font-bold uppercase tracking-wider border-b-2 transition-colors ${activeTab === 'completed' ? 'border-kodo-lime text-white' : 'border-transparent text-kodo-content-dim hover:text-kodo-text-main'}`} + className={`pb-3 text-sm font-bold uppercase tracking-wider border-b-2 transition-colors ${activeTab === 'completed' ? 'border-kodo-lime text-white' : 'border-transparent text-muted-foreground hover:text-kodo-text-main'}`} > Completed @@ -133,7 +133,7 @@ export const MyCoursesView: React.FC = ({ onContinue }) => { /> ))} {filteredCourses.length === 0 && ( - + No courses found in this category. )} diff --git a/apps/web/src/components/gamification/AchievementsView.tsx b/apps/web/src/components/gamification/AchievementsView.tsx index 81eac6166..ebd0e738c 100644 --- a/apps/web/src/components/gamification/AchievementsView.tsx +++ b/apps/web/src/components/gamification/AchievementsView.tsx @@ -58,7 +58,7 @@ export const AchievementsView: React.FC = () => { ACHIEVEMENTS - + Track your milestones and earn rewards. diff --git a/apps/web/src/components/inventory/AddEquipmentView.tsx b/apps/web/src/components/inventory/AddEquipmentView.tsx index cf72901ca..20a81aebb 100644 --- a/apps/web/src/components/inventory/AddEquipmentView.tsx +++ b/apps/web/src/components/inventory/AddEquipmentView.tsx @@ -56,7 +56,7 @@ export const AddEquipmentView: React.FC = () => { Photos - + Upload Photos @@ -72,10 +72,10 @@ export const AddEquipmentView: React.FC = () => { - Documents + Documents - + Receipts, Manuals, Warranty Cards @@ -89,7 +89,7 @@ export const AddEquipmentView: React.FC = () => { - + Category { /> - + Location / Tags = ({ onNavigate }) => { GEAR INVENTORY - + Track hardware, warranties, and maintenance. @@ -90,7 +90,7 @@ export const InventoryView: React.FC = ({ onNavigate }) => { - + = ({ onNavigate }) => { - + = ({ onNavigate }) => { /> ))} {filteredItems.length === 0 && ( - + No equipment found. diff --git a/apps/web/src/components/keyboard/KeyboardShortcutsHelp.tsx b/apps/web/src/components/keyboard/KeyboardShortcutsHelp.tsx index 288c4ac80..180be2db9 100644 --- a/apps/web/src/components/keyboard/KeyboardShortcutsHelp.tsx +++ b/apps/web/src/components/keyboard/KeyboardShortcutsHelp.tsx @@ -79,7 +79,7 @@ export function KeyboardShortcutsHelp({ key={index} className="flex items-center justify-between border-b border-kodo-steel dark:border-kodo-steel pb-2 last:border-0" > - + {shortcut.description} diff --git a/apps/web/src/components/library/AutoMetadataDetectionModal.tsx b/apps/web/src/components/library/AutoMetadataDetectionModal.tsx index a14215656..ed3f64f22 100644 --- a/apps/web/src/components/library/AutoMetadataDetectionModal.tsx +++ b/apps/web/src/components/library/AutoMetadataDetectionModal.tsx @@ -49,7 +49,7 @@ export const AutoMetadataDetectionModal: React.FC< AI Metadata Detection - + @@ -66,7 +66,7 @@ export const AutoMetadataDetectionModal: React.FC< Analyzing Audio... - + Detecting BPM, Key, and Genre for {fileName} @@ -77,7 +77,7 @@ export const AutoMetadataDetectionModal: React.FC< - + Detected BPM @@ -85,7 +85,7 @@ export const AutoMetadataDetectionModal: React.FC< - + Detected Key @@ -93,7 +93,7 @@ export const AutoMetadataDetectionModal: React.FC< - + Genre @@ -101,7 +101,7 @@ export const AutoMetadataDetectionModal: React.FC< - + Energy Level diff --git a/apps/web/src/components/library/playlists/CreatePlaylistModal.tsx b/apps/web/src/components/library/playlists/CreatePlaylistModal.tsx index bad9f13ab..99624ee39 100644 --- a/apps/web/src/components/library/playlists/CreatePlaylistModal.tsx +++ b/apps/web/src/components/library/playlists/CreatePlaylistModal.tsx @@ -38,12 +38,12 @@ export const CreatePlaylistModal: React.FC = ({ Create Playlist - + - + Cover @@ -78,7 +78,7 @@ export const CreatePlaylistModal: React.FC = ({ {isPublic ? 'Public' : 'Private'} - + {isPublic ? 'Visible to everyone' : 'Only you can see this'} @@ -100,11 +100,11 @@ export const CreatePlaylistModal: React.FC = ({ > Collaborative - + Friends can add tracks diff --git a/apps/web/src/components/library/playlists/EditPlaylistModal.tsx b/apps/web/src/components/library/playlists/EditPlaylistModal.tsx index c5baa2985..f7d42b655 100644 --- a/apps/web/src/components/library/playlists/EditPlaylistModal.tsx +++ b/apps/web/src/components/library/playlists/EditPlaylistModal.tsx @@ -49,7 +49,7 @@ export const EditPlaylistModal: React.FC = ({ Delete "{playlist.title}"? - + This action cannot be undone. @@ -79,7 +79,7 @@ export const EditPlaylistModal: React.FC = ({ Edit Details - + diff --git a/apps/web/src/components/library/playlists/PlaylistDetailView.tsx b/apps/web/src/components/library/playlists/PlaylistDetailView.tsx index b214e79d5..8c8741888 100644 --- a/apps/web/src/components/library/playlists/PlaylistDetailView.tsx +++ b/apps/web/src/components/library/playlists/PlaylistDetailView.tsx @@ -118,7 +118,7 @@ export const PlaylistDetailView: React.FC = ({ {playlist.title} - + {playlist.description} @@ -178,7 +178,7 @@ export const PlaylistDetailView: React.FC = ({ {/* Tracks List */} - + # Title Album @@ -198,7 +198,7 @@ export const PlaylistDetailView: React.FC = ({ onDragEnd={() => setDraggedIndex(null)} className={`grid grid-cols-[auto_1fr_auto_auto_auto] gap-4 items-center p-2 rounded-lg hover:bg-white/5 group transition-colors ${draggedIndex === i ? 'bg-kodo-cyan/10' : ''}`} > - + {i + 1} = ({ {track.title} - + {track.artist} - + {track.album} - + 2 days ago - + {track.duration} diff --git a/apps/web/src/components/library/playlists/QueueView.tsx b/apps/web/src/components/library/playlists/QueueView.tsx index 3b475c1b1..fe6885351 100644 --- a/apps/web/src/components/library/playlists/QueueView.tsx +++ b/apps/web/src/components/library/playlists/QueueView.tsx @@ -61,7 +61,7 @@ export const QueueView: React.FC = () => { PLAY QUEUE - + {queue.length} tracks upcoming @@ -87,7 +87,7 @@ export const QueueView: React.FC = () => { {/* Current Track */} {currentTrack && ( - + Now Playing { {currentTrack.artist} - + {currentTrack.duration} @@ -133,7 +133,7 @@ export const QueueView: React.FC = () => { {/* Up Next */} - + Up Next { onClick={toggleAutoplay} > Autoplay @@ -157,7 +157,7 @@ export const QueueView: React.FC = () => { {queue.length === 0 ? ( - + Queue is empty. Add tracks to keep the vibe going. @@ -178,7 +178,7 @@ export const QueueView: React.FC = () => { onDragEnd={() => setDraggedIndex(null)} className={`flex items-center gap-4 p-4 bg-kodo-ink rounded-lg border border-transparent hover:border-kodo-steel transition-all group ${draggedIndex === i ? 'opacity-50 border-kodo-cyan' : ''}`} > - + @@ -197,15 +197,15 @@ export const QueueView: React.FC = () => { {track.title} - + {track.artist} - + {track.duration} removeFromQueue(track.id)} > diff --git a/apps/web/src/components/library/playlists/SaveQueueAsPlaylistModal.tsx b/apps/web/src/components/library/playlists/SaveQueueAsPlaylistModal.tsx index a5c33d35a..9a37d5dc6 100644 --- a/apps/web/src/components/library/playlists/SaveQueueAsPlaylistModal.tsx +++ b/apps/web/src/components/library/playlists/SaveQueueAsPlaylistModal.tsx @@ -35,7 +35,7 @@ export const SaveQueueAsPlaylistModal: React.FC< Save Queue as Playlist - + @@ -62,7 +62,7 @@ export const SaveQueueAsPlaylistModal: React.FC< {isPublic ? 'Public Playlist' : 'Private Playlist'} - + {isPublic ? 'Visible on your profile' : 'Only visible to you'} diff --git a/apps/web/src/components/live/modals/TipStreamerModal.tsx b/apps/web/src/components/live/modals/TipStreamerModal.tsx index cda57cc1b..eb8622c7f 100644 --- a/apps/web/src/components/live/modals/TipStreamerModal.tsx +++ b/apps/web/src/components/live/modals/TipStreamerModal.tsx @@ -43,14 +43,14 @@ export const TipStreamerModal: React.FC = ({ Support {streamerName} - + {/* Amount Selection */} - + Select Amount @@ -58,14 +58,14 @@ export const TipStreamerModal: React.FC = ({ setAmount(val)} - className={`flex-1 py-2 rounded font-bold border transition-colors ${amount === val ? 'bg-kodo-gold text-black border-kodo-gold' : 'bg-kodo-void border-kodo-steel text-kodo-content-dim hover:text-white'}`} + className={`flex-1 py-2 rounded font-bold border transition-colors ${amount === val ? 'bg-kodo-gold text-black border-kodo-gold' : 'bg-kodo-void border-kodo-steel text-muted-foreground hover:text-white'}`} > ${val} ))} - + $ = ({ {/* Message */} - + Message (Optional) = ({ onChange={(e) => setMessage(e.target.value)} maxLength={200} /> - + {message.length}/200 {/* Payment Method (Mock) */} - + Payment Method setPaymentMethod('card')} - className={`flex-1 flex items-center justify-center gap-2 py-2 rounded border ${paymentMethod === 'card' ? 'bg-kodo-cyan/10 border-kodo-cyan text-kodo-cyan' : 'bg-kodo-void border-kodo-steel text-kodo-content-dim'}`} + className={`flex-1 flex items-center justify-center gap-2 py-2 rounded border ${paymentMethod === 'card' ? 'bg-kodo-cyan/10 border-kodo-cyan text-kodo-cyan' : 'bg-kodo-void border-kodo-steel text-muted-foreground'}`} > Card setPaymentMethod('crypto')} - className={`flex-1 flex items-center justify-center gap-2 py-2 rounded border ${paymentMethod === 'crypto' ? 'bg-kodo-magenta/10 border-kodo-magenta text-kodo-magenta' : 'bg-kodo-void border-kodo-steel text-kodo-content-dim'}`} + className={`flex-1 flex items-center justify-center gap-2 py-2 rounded border ${paymentMethod === 'crypto' ? 'bg-kodo-magenta/10 border-kodo-magenta text-kodo-magenta' : 'bg-kodo-void border-kodo-steel text-muted-foreground'}`} > Ξ Crypto diff --git a/apps/web/src/components/marketplace/modals/ReviewProductModal.tsx b/apps/web/src/components/marketplace/modals/ReviewProductModal.tsx index e4034b115..8b074929b 100644 --- a/apps/web/src/components/marketplace/modals/ReviewProductModal.tsx +++ b/apps/web/src/components/marketplace/modals/ReviewProductModal.tsx @@ -40,13 +40,13 @@ export const ReviewProductModal: React.FC = ({ Write Review - + - + How was your experience with {productTitle}? @@ -65,7 +65,7 @@ export const ReviewProductModal: React.FC = ({ className={`w-8 h-8 transition-colors ${ star <= (hoverRating || rating) ? 'fill-kodo-gold text-kodo-gold' - : 'text-kodo-content-dim' + : 'text-muted-foreground' }`} /> @@ -73,7 +73,7 @@ export const ReviewProductModal: React.FC = ({ - + Your Review { ACCESSIBILITY - + Tools to make the platform work for you. @@ -132,7 +132,7 @@ const ToggleRow: React.FC<{ {label} - {desc} + {desc} diff --git a/apps/web/src/components/settings/account/ChangeEmailModal.tsx b/apps/web/src/components/settings/account/ChangeEmailModal.tsx index 13c42ef58..b7c968d3a 100644 --- a/apps/web/src/components/settings/account/ChangeEmailModal.tsx +++ b/apps/web/src/components/settings/account/ChangeEmailModal.tsx @@ -42,14 +42,14 @@ export const ChangeEmailModal: React.FC = ({ Change Email Address - + {step === 1 ? ( - + Current email:{' '} {currentEmail} @@ -70,7 +70,7 @@ export const ChangeEmailModal: React.FC = ({ onChange={(e) => setPassword(e.target.value)} /> - + We will send a verification link to your new email address. You must verify it before the change takes effect. @@ -83,7 +83,7 @@ export const ChangeEmailModal: React.FC = ({ Check your inbox - + We've sent a verification link to{' '} {newEmail}. diff --git a/apps/web/src/components/settings/account/ChangeUsernameModal.tsx b/apps/web/src/components/settings/account/ChangeUsernameModal.tsx index 94a595fa6..aad948270 100644 --- a/apps/web/src/components/settings/account/ChangeUsernameModal.tsx +++ b/apps/web/src/components/settings/account/ChangeUsernameModal.tsx @@ -52,7 +52,7 @@ export const ChangeUsernameModal: React.FC = ({ Change Username - + @@ -69,7 +69,7 @@ export const ChangeUsernameModal: React.FC = ({ /> {isChecking && ( - + )} {!isChecking && isAvailable === true && ( diff --git a/apps/web/src/components/settings/account/DeleteAccountConfirmModal.tsx b/apps/web/src/components/settings/account/DeleteAccountConfirmModal.tsx index eb211f846..04b132096 100644 --- a/apps/web/src/components/settings/account/DeleteAccountConfirmModal.tsx +++ b/apps/web/src/components/settings/account/DeleteAccountConfirmModal.tsx @@ -44,7 +44,7 @@ export const DeleteAccountConfirmModal: React.FC< @@ -57,7 +57,7 @@ export const DeleteAccountConfirmModal: React.FC< - + All uploaded tracks and assets will be deleted. Your username will be released. Any active subscriptions will be cancelled immediately. diff --git a/apps/web/src/components/settings/account/DeleteAccountView.tsx b/apps/web/src/components/settings/account/DeleteAccountView.tsx index 5492accf1..288861580 100644 --- a/apps/web/src/components/settings/account/DeleteAccountView.tsx +++ b/apps/web/src/components/settings/account/DeleteAccountView.tsx @@ -40,7 +40,7 @@ export const DeleteAccountView: React.FC = ({ @@ -61,7 +61,7 @@ export const DeleteAccountView: React.FC = ({ We're sorry to see you go - + Deleting your account is permanent and cannot be undone. Please read the warnings below carefully before proceeding. @@ -82,7 +82,7 @@ export const DeleteAccountView: React.FC = ({ I lose all my data - + All uploaded tracks, projects, and assets will be permanently removed from our servers. @@ -102,7 +102,7 @@ export const DeleteAccountView: React.FC = ({ This action is irreversible - + I understand that Veza support cannot restore my account once deleted. @@ -122,7 +122,7 @@ export const DeleteAccountView: React.FC = ({ Subscriptions will be cancelled - + Any active Pro or Enterprise subscriptions will be terminated immediately. No refunds will be issued. @@ -146,7 +146,7 @@ export const DeleteAccountView: React.FC = ({ setShowFinalModal(true)} icon={} diff --git a/apps/web/src/components/settings/appearance/AppearanceSettingsView.tsx b/apps/web/src/components/settings/appearance/AppearanceSettingsView.tsx index 4dc38f156..ec6448702 100644 --- a/apps/web/src/components/settings/appearance/AppearanceSettingsView.tsx +++ b/apps/web/src/components/settings/appearance/AppearanceSettingsView.tsx @@ -42,7 +42,7 @@ export const AppearanceSettingsView: React.FC = () => { INTERFACE - + Customize your visual experience. @@ -95,12 +95,12 @@ export const AppearanceSettingsView: React.FC = () => { `} > {opt.icon} {opt.label} @@ -151,7 +151,7 @@ export const AppearanceSettingsView: React.FC = () => { > {opt.label} - {opt.desc} + {opt.desc} ))} @@ -164,7 +164,7 @@ export const AppearanceSettingsView: React.FC = () => { - + Font Size {fontSize}px @@ -211,7 +211,7 @@ export const AppearanceSettingsView: React.FC = () => { - Layout + Layout { > Show Sidebar - + Toggle the main navigation sidebar diff --git a/apps/web/src/components/settings/backups/BackupsView.tsx b/apps/web/src/components/settings/backups/BackupsView.tsx index 2f2fcf904..8bd90303f 100644 --- a/apps/web/src/components/settings/backups/BackupsView.tsx +++ b/apps/web/src/components/settings/backups/BackupsView.tsx @@ -73,7 +73,7 @@ export const BackupsView: React.FC = () => { System Backups - + Manage restore points and redundancy. @@ -111,7 +111,7 @@ export const BackupsView: React.FC = () => { {backup.date} - + {backup.type} • {backup.size} @@ -157,7 +157,7 @@ export const BackupsView: React.FC = () => { Auto-Backup - + Daily incremental backups @@ -174,7 +174,7 @@ export const BackupsView: React.FC = () => { {autoBackup && ( - + Frequency @@ -184,7 +184,7 @@ export const BackupsView: React.FC = () => { - + Time { /> - + Retention diff --git a/apps/web/src/components/settings/cloud/CloudIntegrationView.tsx b/apps/web/src/components/settings/cloud/CloudIntegrationView.tsx index 580b5a3b0..c0337dc0d 100644 --- a/apps/web/src/components/settings/cloud/CloudIntegrationView.tsx +++ b/apps/web/src/components/settings/cloud/CloudIntegrationView.tsx @@ -30,7 +30,7 @@ export const CloudIntegrationView: React.FC = () => { @@ -38,7 +38,7 @@ export const CloudIntegrationView: React.FC = () => { Nextcloud Integration - + Sync your projects, samples, and presets. @@ -85,17 +85,17 @@ export const CloudIntegrationView: React.FC = () => { {url} - Host + Host Every 15 mins - Sync Frequency + Sync Frequency Encrypted - Status + Status )} @@ -112,7 +112,7 @@ export const CloudIntegrationView: React.FC = () => { Auto-Sync - + Automatically upload new projects @@ -127,7 +127,7 @@ export const CloudIntegrationView: React.FC = () => { - + Sync Frequency @@ -139,7 +139,7 @@ export const CloudIntegrationView: React.FC = () => { - + Selective Sync @@ -165,10 +165,10 @@ export const CloudIntegrationView: React.FC = () => { 65.4 GB - used of 100 GB + used of 100 GB - + 0 GB 100 GB diff --git a/apps/web/src/components/settings/data/DataExportModal.tsx b/apps/web/src/components/settings/data/DataExportModal.tsx index 41107932c..ee85bd5f2 100644 --- a/apps/web/src/components/settings/data/DataExportModal.tsx +++ b/apps/web/src/components/settings/data/DataExportModal.tsx @@ -43,19 +43,19 @@ export const DataExportModal: React.FC = ({ Request Data Export - + - + In compliance with GDPR/CCPA, you can request a copy of your personal data. Generating this report usually takes{' '} 24-48 hours. - + Export Format = ({ - + Include Data diff --git a/apps/web/src/components/settings/data/DataExportView.tsx b/apps/web/src/components/settings/data/DataExportView.tsx index 1f3c62482..a81c5f5c3 100644 --- a/apps/web/src/components/settings/data/DataExportView.tsx +++ b/apps/web/src/components/settings/data/DataExportView.tsx @@ -29,7 +29,7 @@ export const DataExportView: React.FC = () => { YOUR DATA - + Manage, export, and control your personal information. @@ -43,7 +43,7 @@ export const DataExportView: React.FC = () => { Request Data Archive - + You can request a download of all the data Veza has associated with your account. This includes your profile, uploaded content metadata, comments, and purchase history. @@ -68,12 +68,12 @@ export const DataExportView: React.FC = () => { className="flex flex-col md:flex-row items-center justify-between p-4 bg-kodo-ink rounded-lg border border-kodo-steel" > - + {item.type} - + {item.date} • {item.size} @@ -90,7 +90,7 @@ export const DataExportView: React.FC = () => { Download ) : ( - + Expired )} diff --git a/apps/web/src/components/settings/integrations/IntegrationsView.tsx b/apps/web/src/components/settings/integrations/IntegrationsView.tsx index 440cbbe74..dfaf935d9 100644 --- a/apps/web/src/components/settings/integrations/IntegrationsView.tsx +++ b/apps/web/src/components/settings/integrations/IntegrationsView.tsx @@ -96,7 +96,7 @@ export const IntegrationsView: React.FC = () => { CONNECTED APPS - + Supercharge your workflow with external tools. @@ -133,10 +133,10 @@ export const IntegrationsView: React.FC = () => { )} {integration.status === 'disconnected' && ( - Not Connected + Not Connected )} {integration.lastSync && ( - + • {integration.lastSync} )} @@ -150,12 +150,12 @@ export const IntegrationsView: React.FC = () => { title="Sync Now" onClick={() => addToast('Syncing...')} > - + )} - + {integration.description} diff --git a/apps/web/src/components/social/CommentItem.tsx b/apps/web/src/components/social/CommentItem.tsx index 2752eb831..6925d84a6 100644 --- a/apps/web/src/components/social/CommentItem.tsx +++ b/apps/web/src/components/social/CommentItem.tsx @@ -37,7 +37,7 @@ export const CommentItem: React.FC = ({ {comment.author.name} - {comment.timestamp} + {comment.timestamp} @@ -45,7 +45,7 @@ export const CommentItem: React.FC = ({ - + = ({ Create Post - + @@ -84,7 +84,7 @@ export const CreatePostModal: React.FC = ({ {/* Suggestions */} - + Trending: {['Synthwave', 'NewGear', 'StudioLife', 'WIP'].map((tag) => ( @@ -102,7 +102,7 @@ export const CreatePostModal: React.FC = ({ { setPostType('image'); toast.info('Image upload simulated'); @@ -112,7 +112,7 @@ export const CreatePostModal: React.FC = ({ { setPostType('video'); toast.info('Video upload simulated'); @@ -122,7 +122,7 @@ export const CreatePostModal: React.FC = ({ { setPostType('audio'); toast.info('Audio upload simulated'); @@ -132,7 +132,7 @@ export const CreatePostModal: React.FC = ({ { setPostType('poll'); toast.info('Poll creator simulated'); diff --git a/apps/web/src/components/social/SharePostModal.tsx b/apps/web/src/components/social/SharePostModal.tsx index 909384982..5934664c7 100644 --- a/apps/web/src/components/social/SharePostModal.tsx +++ b/apps/web/src/components/social/SharePostModal.tsx @@ -36,7 +36,7 @@ export const SharePostModal: React.FC = ({ Quote Post - + @@ -57,7 +57,7 @@ export const SharePostModal: React.FC = ({ {post.author.name} - + {post.content} @@ -91,7 +91,7 @@ export const SharePostModal: React.FC = ({ Share Post - + @@ -108,7 +108,7 @@ export const SharePostModal: React.FC = ({ Repost - + Instantly share with your followers @@ -123,7 +123,7 @@ export const SharePostModal: React.FC = ({ Quote - + Repost with your own thoughts @@ -135,7 +135,7 @@ export const SharePostModal: React.FC = ({ className="w-full flex items-center gap-4 p-4 hover:bg-white/5 rounded-lg transition-colors group" onClick={handleCopyLink} > - + @@ -149,7 +149,7 @@ export const SharePostModal: React.FC = ({ onClose(); }} > - + diff --git a/apps/web/src/components/social/connections/ConnectionsView.tsx b/apps/web/src/components/social/connections/ConnectionsView.tsx index ff69390f4..0934369a8 100644 --- a/apps/web/src/components/social/connections/ConnectionsView.tsx +++ b/apps/web/src/components/social/connections/ConnectionsView.tsx @@ -56,7 +56,7 @@ export const ConnectionsView: React.FC = ({ {type} - + Managing your network. @@ -75,7 +75,7 @@ export const ConnectionsView: React.FC = ({ setFilter('all')} > All @@ -83,7 +83,7 @@ export const ConnectionsView: React.FC = ({ setFilter('mutual')} > Mutual @@ -91,7 +91,7 @@ export const ConnectionsView: React.FC = ({ setFilter('recent')} > Recent diff --git a/apps/web/src/components/social/groups/CreateGroupModal.tsx b/apps/web/src/components/social/groups/CreateGroupModal.tsx index 9d2dfe0b9..34b0aca2a 100644 --- a/apps/web/src/components/social/groups/CreateGroupModal.tsx +++ b/apps/web/src/components/social/groups/CreateGroupModal.tsx @@ -51,7 +51,7 @@ export const CreateGroupModal: React.FC = ({ Create Community - + @@ -61,7 +61,7 @@ export const CreateGroupModal: React.FC = ({ {coverImage ? ( ) : ( - + Upload Cover Image @@ -86,7 +86,7 @@ export const CreateGroupModal: React.FC = ({ /> - + Description = ({ {isPrivate ? 'Private Group' : 'Public Group'} - + {isPrivate ? 'Invite only' : 'Anyone can find and join'} diff --git a/apps/web/src/components/social/groups/GroupsView.tsx b/apps/web/src/components/social/groups/GroupsView.tsx index 4dd234d52..418b85193 100644 --- a/apps/web/src/components/social/groups/GroupsView.tsx +++ b/apps/web/src/components/social/groups/GroupsView.tsx @@ -97,7 +97,7 @@ export const GroupsView: React.FC = ({ onOpenGroup }) => { COMMUNITIES - + Connect with producers, labels, and fans. @@ -114,13 +114,13 @@ export const GroupsView: React.FC = ({ onOpenGroup }) => { setActiveTab('my_groups')} - className={`flex items-center gap-2 px-4 py-2 rounded text-sm font-bold transition-colors ${activeTab === 'my_groups' ? 'bg-kodo-slate text-white' : 'text-kodo-content-dim hover:text-white'}`} + className={`flex items-center gap-2 px-4 py-2 rounded text-sm font-bold transition-colors ${activeTab === 'my_groups' ? 'bg-kodo-slate text-white' : 'text-muted-foreground hover:text-white'}`} > My Groups setActiveTab('discover')} - className={`flex items-center gap-2 px-4 py-2 rounded text-sm font-bold transition-colors ${activeTab === 'discover' ? 'bg-kodo-slate text-white' : 'text-kodo-content-dim hover:text-white'}`} + className={`flex items-center gap-2 px-4 py-2 rounded text-sm font-bold transition-colors ${activeTab === 'discover' ? 'bg-kodo-slate text-white' : 'text-muted-foreground hover:text-white'}`} > Discover @@ -152,7 +152,7 @@ export const GroupsView: React.FC = ({ onOpenGroup }) => { /> )) ) : ( - + No groups found. Try searching or create your own. diff --git a/apps/web/src/components/ui/FormField.tsx b/apps/web/src/components/ui/FormField.tsx index bc4aae6b6..c5115a390 100644 --- a/apps/web/src/components/ui/FormField.tsx +++ b/apps/web/src/components/ui/FormField.tsx @@ -121,7 +121,7 @@ export const FormField: React.FC = ({ {children} {helpText && !error && ( - {helpText} + {helpText} )} {error && ( {error} diff --git a/apps/web/src/components/ui/ImageCropper.tsx b/apps/web/src/components/ui/ImageCropper.tsx index 9c700ef15..c138ba4fe 100644 --- a/apps/web/src/components/ui/ImageCropper.tsx +++ b/apps/web/src/components/ui/ImageCropper.tsx @@ -163,8 +163,8 @@ export const ImageCropper: React.FC = ({ {/* Controls */} - Zoom - + Zoom + = ({ - Rotate - + Rotate + {displayText && ( - + {displayText} )} @@ -156,7 +156,7 @@ export function LoadingState({ return ( diff --git a/apps/web/src/components/ui/Toast.tsx b/apps/web/src/components/ui/Toast.tsx index 6228493c5..128e5c71d 100644 --- a/apps/web/src/components/ui/Toast.tsx +++ b/apps/web/src/components/ui/Toast.tsx @@ -101,7 +101,7 @@ export const Toast: React.FC = ({ id, type, message, onClose }) => { {message} onClose(id)} - className="text-kodo-content-dim hover:text-white transition-colors" + className="text-muted-foreground hover:text-white transition-colors" > diff --git a/apps/web/src/components/ui/avatar.tsx b/apps/web/src/components/ui/avatar.tsx index 336005045..c8f90afbf 100644 --- a/apps/web/src/components/ui/avatar.tsx +++ b/apps/web/src/components/ui/avatar.tsx @@ -160,7 +160,7 @@ export const Avatar = React.forwardRef( {src ? ( ) : ( - {initials} + {initials} )} diff --git a/apps/web/src/components/ui/label.tsx b/apps/web/src/components/ui/label.tsx index 6edecd3fe..6dff3f0af 100644 --- a/apps/web/src/components/ui/label.tsx +++ b/apps/web/src/components/ui/label.tsx @@ -38,7 +38,7 @@ const Label = React.forwardRef( Failed to load {pageName} - + {getErrorMessage(error)} diff --git a/apps/web/src/components/ui/loading-spinner.tsx b/apps/web/src/components/ui/loading-spinner.tsx index a733159ef..30fe8b792 100644 --- a/apps/web/src/components/ui/loading-spinner.tsx +++ b/apps/web/src/components/ui/loading-spinner.tsx @@ -85,7 +85,7 @@ export function LoadingSpinner({ Chargement... {text && ( - {text} + {text} )} ); diff --git a/apps/web/src/components/ui/progress.tsx b/apps/web/src/components/ui/progress.tsx index 961209dd9..4096faba4 100644 --- a/apps/web/src/components/ui/progress.tsx +++ b/apps/web/src/components/ui/progress.tsx @@ -167,7 +167,7 @@ export const Progress = React.forwardRef( /> {(labelLeft || labelRight) && ( - + {labelLeft} {labelRight} diff --git a/apps/web/src/components/ui/table.tsx b/apps/web/src/components/ui/table.tsx index bbb743ba3..7426ef4ae 100644 --- a/apps/web/src/components/ui/table.tsx +++ b/apps/web/src/components/ui/table.tsx @@ -165,7 +165,7 @@ const TableHead = React.forwardRef< (({ className, ...props }, ref) => ( )); diff --git a/apps/web/src/components/ui/textarea.tsx b/apps/web/src/components/ui/textarea.tsx index 9daaaf7c6..e891c9971 100644 --- a/apps/web/src/components/ui/textarea.tsx +++ b/apps/web/src/components/ui/textarea.tsx @@ -74,7 +74,7 @@ const Textarea = React.forwardRef( return ( {label && ( - + {label} )} diff --git a/apps/web/src/components/upload/metadata/MetadataEditor.tsx b/apps/web/src/components/upload/metadata/MetadataEditor.tsx index 5ed8d7f80..e77042bae 100644 --- a/apps/web/src/components/upload/metadata/MetadataEditor.tsx +++ b/apps/web/src/components/upload/metadata/MetadataEditor.tsx @@ -145,7 +145,7 @@ export const MetadataEditor: React.FC = ({ {currentMeta.title || currentFile.file.name} - + {currentMeta.artist || 'Unknown Artist'} • {currentIndex + 1} of{' '} {files.length} diff --git a/apps/web/src/features/auth/pages/VerifyEmailPage.tsx b/apps/web/src/features/auth/pages/VerifyEmailPage.tsx index eff9b9e87..b1ed45848 100644 --- a/apps/web/src/features/auth/pages/VerifyEmailPage.tsx +++ b/apps/web/src/features/auth/pages/VerifyEmailPage.tsx @@ -151,7 +151,7 @@ export function VerifyEmailPage() { - {message} + {message} Vérification de votre email en cours, veuillez patienter @@ -175,7 +175,7 @@ export function VerifyEmailPage() { > Succès ! {message} - + Vous allez être redirigé vers la page de connexion... diff --git a/apps/web/src/features/error/pages/ServerErrorPage.tsx b/apps/web/src/features/error/pages/ServerErrorPage.tsx index 4174d0b93..c8a240545 100644 --- a/apps/web/src/features/error/pages/ServerErrorPage.tsx +++ b/apps/web/src/features/error/pages/ServerErrorPage.tsx @@ -53,7 +53,7 @@ function ServerErrorPage() { 500 - + Nous nous excusons pour la gêne occasionnée. Notre équipe technique a été automatiquement notifiée et travaille à résoudre le problème. @@ -104,13 +104,13 @@ function ServerErrorPage() { Besoin d'aide ? - + L'erreur a été automatiquement signalée à notre équipe - + Contactez le support si le problème persiste après plusieurs @@ -125,7 +125,7 @@ function ServerErrorPage() { Détails techniques - + Code d'erreur: 500 Internal Server Error Timestamp: {new Date().toISOString()} User Agent: {navigator.userAgent} diff --git a/apps/web/src/features/playlists/components/playlist-list/PlaylistListToolbar.tsx b/apps/web/src/features/playlists/components/playlist-list/PlaylistListToolbar.tsx index d2c89c57e..7e58ce9a6 100644 --- a/apps/web/src/features/playlists/components/playlist-list/PlaylistListToolbar.tsx +++ b/apps/web/src/features/playlists/components/playlist-list/PlaylistListToolbar.tsx @@ -58,7 +58,7 @@ export function PlaylistListToolbar({ 'touch-manipulation', currentView === 'list' ? 'bg-white dark:bg-kodo-steel text-kodo-cyan dark:text-kodo-cyan shadow-sm' - : 'text-kodo-content-dim dark:text-kodo-content-dim', + : 'text-muted-foreground dark:text-muted-foreground', )} aria-label="Affichage en liste" aria-pressed={currentView === 'list'} diff --git a/apps/web/src/features/playlists/pages/PlaylistListPage.tsx b/apps/web/src/features/playlists/pages/PlaylistListPage.tsx index ecf78c4bb..3b7e39890 100644 --- a/apps/web/src/features/playlists/pages/PlaylistListPage.tsx +++ b/apps/web/src/features/playlists/pages/PlaylistListPage.tsx @@ -106,7 +106,7 @@ export function PlaylistListPage() { - + ; if (type === 'image') return ; if (['document', 'archive', 'project'].includes(type)) { - return ; + return ; } - return ; + return ; } export function FileGridCard({ @@ -93,7 +93,7 @@ export function FileGridCard({ {file.tags?.slice(0, 2).map((t) => ( {t} diff --git a/apps/web/src/features/studio/components/cloud-file-browser/FileTable.tsx b/apps/web/src/features/studio/components/cloud-file-browser/FileTable.tsx index 2d0f34410..5628d66e9 100644 --- a/apps/web/src/features/studio/components/cloud-file-browser/FileTable.tsx +++ b/apps/web/src/features/studio/components/cloud-file-browser/FileTable.tsx @@ -39,7 +39,7 @@ export function FileTable({ )} > - + - {file.size} - {file.modified} + {file.size} + {file.modified} {file.type === 'audio' && ( diff --git a/apps/web/src/features/studio/components/cloud-file-browser/FileToolbar.tsx b/apps/web/src/features/studio/components/cloud-file-browser/FileToolbar.tsx index d4eca0059..beda9614f 100644 --- a/apps/web/src/features/studio/components/cloud-file-browser/FileToolbar.tsx +++ b/apps/web/src/features/studio/components/cloud-file-browser/FileToolbar.tsx @@ -118,7 +118,7 @@ export function FileToolbar({ 'px-2 py-1 rounded text-xs border transition-colors whitespace-nowrap', activeTags.includes(tag) ? 'bg-kodo-cyan/20 border-kodo-cyan text-kodo-cyan' - : 'border-kodo-steel text-kodo-content-dim hover:border-kodo-steel' + : 'border-kodo-steel text-muted-foreground hover:border-kodo-steel' )} > {tag} @@ -178,7 +178,7 @@ export function FileToolbar({ - + Sort:
No courses found in this category.
Track your milestones and earn rewards.
Receipts, Manuals, Warranty Cards
Track hardware, warranties, and maintenance.
No equipment found.
Detecting BPM, Key, and Genre for {fileName}
This action cannot be undone.
{playlist.description}
{queue.length} tracks upcoming
{currentTrack.artist}
Queue is empty. Add tracks to keep the vibe going. @@ -178,7 +178,7 @@ export const QueueView: React.FC = () => { onDragEnd={() => setDraggedIndex(null)} className={`flex items-center gap-4 p-4 bg-kodo-ink rounded-lg border border-transparent hover:border-kodo-steel transition-all group ${draggedIndex === i ? 'opacity-50 border-kodo-cyan' : ''}`} > -
{message.length}/200
How was your experience with
Tools to make the platform work for you.
Current email:{' '} {currentEmail}
We've sent a verification link to{' '} {newEmail}.
Deleting your account is permanent and cannot be undone. Please read the warnings below carefully before proceeding.
Customize your visual experience.
Manage restore points and redundancy.
Sync your projects, samples, and presets.
In compliance with GDPR/CCPA, you can request a copy of your personal data. Generating this report usually takes{' '} 24-48 hours.
Manage, export, and control your personal information.
You can request a download of all the data Veza has associated with your account. This includes your profile, uploaded content metadata, comments, and purchase history. @@ -68,12 +68,12 @@ export const DataExportView: React.FC = () => { className="flex flex-col md:flex-row items-center justify-between p-4 bg-kodo-ink rounded-lg border border-kodo-steel" >
Supercharge your workflow with external tools.
{integration.description}
@@ -45,7 +45,7 @@ export const CommentItem: React.FC = ({
{post.content}
Managing your network.
Connect with producers, labels, and fans.
No groups found. Try searching or create your own.
{helpText}
{error}
{message}
{getErrorMessage(error)}
{text}
{currentMeta.artist || 'Unknown Artist'} • {currentIndex + 1} of{' '} {files.length}
Succès !
Vous allez être redirigé vers la page de connexion...
Nous nous excusons pour la gêne occasionnée. Notre équipe technique a été automatiquement notifiée et travaille à résoudre le problème. @@ -104,13 +104,13 @@ function ServerErrorPage() { Besoin d'aide ?
Code d'erreur: 500 Internal Server Error
Timestamp: {new Date().toISOString()}
User Agent: {navigator.userAgent}