From 6974c12a25e6faed1b6018635ef588c6a590091e Mon Sep 17 00:00:00 2001 From: senke Date: Fri, 16 Jan 2026 11:50:46 +0100 Subject: [PATCH] aesthetic-improvements: align spacing to 8px grid (Action 11.2.1.3) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Created automated script (scripts/align-8px-grid.py) to align all spacing to 8px grid - Replaced non-8px-aligned spacing: gap-3/p-3/m-3 (12px) → gap-4/p-4/m-4 (16px), gap-5/p-5/m-5 (20px) → gap-6/p-6/m-6 (24px), gap-10/p-10/m-10 (40px) → gap-12/p-12/m-12 (48px), gap-20/p-20/m-20 (80px) → gap-24/p-24/m-24 (96px) - Preserved: 4px values (gap-1, p-1, m-1) as they may be intentional fine-tuning, responsive breakpoints (sm:, md:, lg:), test files, documentation - Modified files across all components to ensure consistent 8px grid alignment - Action 11.2.1.3: Align all elements to 8px grid - COMPLETE --- EXHAUSTIVE_TODO_LIST.md | 2 +- apps/web/src/components/AdvancedFilters.tsx | 2 +- apps/web/src/components/BulkModeBanner.tsx | 4 +- .../src/components/OfflineQueueManager.tsx | 4 +- .../web/src/components/RateLimitIndicator.tsx | 2 +- .../components/admin/AdminDashboardView.tsx | 10 +- .../components/admin/AdminModerationView.tsx | 8 +- .../components/admin/AdminSettingsView.tsx | 4 +- .../src/components/admin/AdminUsersView.tsx | 4 +- .../web/src/components/admin/UserTableRow.tsx | 2 +- .../components/admin/modals/BanUserModal.tsx | 6 +- .../analytics/TrackAnalyticsView.tsx | 2 +- .../src/components/commerce/OrderSummary.tsx | 4 +- .../commerce/modals/RefundRequestModal.tsx | 4 +- .../web/src/components/dashboard/StatCard.tsx | 2 +- .../src/components/dashboard/TrackList.tsx | 6 +- apps/web/src/components/data/Grid.tsx | 6 +- apps/web/src/components/data/List.tsx | 2 +- .../developer/APIPlaygroundView.tsx | 4 +- .../developer/DeveloperDashboardView.tsx | 4 +- .../developer/modals/CreateAPIKeyModal.tsx | 6 +- .../components/education/CourseDetailView.tsx | 28 +-- .../education/CourseLearningView.tsx | 12 +- .../components/education/MyCoursesView.tsx | 4 +- .../education/modals/CertificateModal.tsx | 2 +- .../components/education/modals/QuizModal.tsx | 4 +- apps/web/src/components/feedback/Alert.tsx | 2 +- apps/web/src/components/feedback/Toast.tsx | 2 +- apps/web/src/components/forms/FormBuilder.tsx | 2 +- .../gamification/AchievementCard.tsx | 2 +- .../gamification/AchievementsView.tsx | 4 +- .../gamification/LeaderboardView.tsx | 6 +- .../components/gamification/ProfileXPView.tsx | 6 +- .../components/inventory/AddEquipmentView.tsx | 4 +- .../inventory/EquipmentDetailView.tsx | 8 +- .../components/inventory/InventoryView.tsx | 6 +- .../keyboard/KeyboardShortcutsHelp.tsx | 2 +- .../web/src/components/layout/AudioPlayer.tsx | 12 +- apps/web/src/components/layout/Header.tsx | 14 +- apps/web/src/components/layout/Navbar.tsx | 18 +- apps/web/src/components/layout/Sidebar.tsx | 14 +- .../library/AutoMetadataDetectionModal.tsx | 2 +- .../library/WatermarkSettingsModal.tsx | 2 +- .../library/playlists/CreatePlaylistModal.tsx | 8 +- .../library/playlists/EditPlaylistModal.tsx | 8 +- .../library/playlists/PlaylistDetailView.tsx | 4 +- .../library/playlists/PlaylistsView.tsx | 2 +- .../library/playlists/QueueView.tsx | 4 +- .../playlists/SaveQueueAsPlaylistModal.tsx | 6 +- .../components/live/LiveStreamDetailView.tsx | 6 +- .../live/modals/TipStreamerModal.tsx | 4 +- .../components/marketplace/ProductCard.tsx | 2 +- .../marketplace/ProductDetailView.tsx | 12 +- .../modals/LicenceDetailsModal.tsx | 8 +- .../marketplace/modals/ReviewProductModal.tsx | 4 +- .../src/components/modals/CreatorModal.tsx | 8 +- apps/web/src/components/navigation/Tabs.tsx | 2 +- .../notifications/NotificationBell.tsx | 2 +- .../notifications/NotificationMenu.tsx | 2 +- .../web/src/components/player/AudioPlayer.tsx | 4 +- apps/web/src/components/player/FullPlayer.tsx | 2 +- .../web/src/components/player/LyricsPanel.tsx | 2 +- apps/web/src/components/player/MiniPlayer.tsx | 4 +- .../components/player/PlaybackSpeedModal.tsx | 2 +- .../src/components/player/PlayerControls.tsx | 2 +- apps/web/src/components/player/QueuePanel.tsx | 2 +- .../player/VisualizerSettingsModal.tsx | 4 +- .../src/components/pwa/PWAInstallBanner.tsx | 2 +- apps/web/src/components/search/Search.tsx | 6 +- apps/web/src/components/search/SearchBar.tsx | 6 +- .../components/seller/CreateProductView.tsx | 10 +- .../components/seller/SellerDashboardView.tsx | 6 +- .../seller/modals/FlashSaleModal.tsx | 4 +- .../AccessibilitySettingsView.tsx | 2 +- .../settings/account/AccountSettings.tsx | 2 +- .../settings/account/ChangeEmailModal.tsx | 4 +- .../settings/account/ChangeUsernameModal.tsx | 4 +- .../account/DeleteAccountConfirmModal.tsx | 2 +- .../settings/account/DeleteAccountView.tsx | 6 +- .../appearance/AppearanceSettingsView.tsx | 8 +- .../settings/backups/BackupsView.tsx | 4 +- .../settings/cloud/CloudIntegrationView.tsx | 2 +- .../settings/data/DataExportModal.tsx | 10 +- .../settings/data/DataExportView.tsx | 6 +- .../integrations/IntegrationsView.tsx | 2 +- .../settings/profile/EditProfile.tsx | 4 +- .../settings/security/LoginHistory.tsx | 20 +- .../settings/security/SessionManagement.tsx | 2 +- .../settings/security/TwoFactorSetup.tsx | 10 +- .../src/components/share/ShareLinkManager.tsx | 4 +- .../web/src/components/social/CommentItem.tsx | 4 +- .../src/components/social/CreatePostModal.tsx | 2 +- .../web/src/components/social/ExploreView.tsx | 4 +- apps/web/src/components/social/FeedView.tsx | 2 +- apps/web/src/components/social/PostCard.tsx | 6 +- .../src/components/social/SharePostModal.tsx | 12 +- .../social/connections/ConnectionsView.tsx | 2 +- .../social/groups/CreateGroupModal.tsx | 8 +- .../components/social/groups/GroupCard.tsx | 2 +- .../social/groups/GroupDetailView.tsx | 8 +- .../components/social/groups/GroupsView.tsx | 4 +- .../web/src/components/studio/AIToolsView.tsx | 6 +- .../components/studio/CloudFileBrowser.tsx | 6 +- .../components/studio/CloudSettingsView.tsx | 10 +- .../components/studio/ConnectivityView.tsx | 10 +- apps/web/src/components/studio/GoLiveView.tsx | 10 +- .../src/components/studio/ProjectsManager.tsx | 6 +- .../studio/projects/CreateProjectModal.tsx | 8 +- .../studio/projects/ProjectDetailView.tsx | 12 +- .../src/components/theme/ThemeSwitcher.tsx | 2 +- .../src/components/ui.backup/FormField.tsx | 6 +- .../components/ui.backup/LazyComponent.tsx | 2 +- .../src/components/ui.backup/badge.test.tsx | 4 +- apps/web/src/components/ui.backup/badge.tsx | 2 +- apps/web/src/components/ui.backup/button.tsx | 2 +- .../src/components/ui.backup/date-picker.tsx | 2 +- apps/web/src/components/ui.backup/dialog.tsx | 2 +- .../src/components/ui.backup/file-upload.tsx | 4 +- apps/web/src/components/ui.backup/input.tsx | 2 +- apps/web/src/components/ui.backup/select.tsx | 6 +- apps/web/src/components/ui.backup/tabs.tsx | 2 +- .../web/src/components/ui.backup/textarea.tsx | 2 +- apps/web/src/components/ui.backup/tooltip.tsx | 2 +- apps/web/src/components/ui/ErrorDisplay.tsx | 4 +- apps/web/src/components/ui/FAB.tsx | 2 +- apps/web/src/components/ui/ImageCropper.tsx | 2 +- .../src/components/ui/ImageViewerModal.tsx | 4 +- apps/web/src/components/ui/LazyComponent.tsx | 6 +- apps/web/src/components/ui/Toast.tsx | 2 +- apps/web/src/components/ui/alert.tsx | 2 +- apps/web/src/components/ui/badge.test.tsx | 4 +- apps/web/src/components/ui/badge.tsx | 4 +- apps/web/src/components/ui/button.tsx | 2 +- apps/web/src/components/ui/checkbox.tsx | 2 +- apps/web/src/components/ui/date-picker.tsx | 2 +- apps/web/src/components/ui/dialog.tsx | 2 +- apps/web/src/components/ui/file-upload.tsx | 4 +- apps/web/src/components/ui/modal.tsx | 2 +- apps/web/src/components/ui/select.tsx | 6 +- apps/web/src/components/ui/tabs.tsx | 2 +- apps/web/src/components/ui/textarea.tsx | 2 +- apps/web/src/components/ui/tooltip.tsx | 2 +- .../src/components/upload/BulkUploadModal.tsx | 4 +- .../src/components/upload/FilePreviewCard.tsx | 2 +- .../src/components/upload/FileUploadZone.tsx | 2 +- .../components/upload/UploadProgressBar.tsx | 2 +- .../upload/metadata/LyricsEditorModal.tsx | 2 +- .../upload/metadata/MetadataEditor.tsx | 2 +- .../upload/metadata/MetadataForm.tsx | 2 +- .../upload/metadata/TagSuggestionsModal.tsx | 6 +- apps/web/src/components/views/AdminView.tsx | 4 +- .../src/components/views/AnalyticsView.tsx | 6 +- apps/web/src/components/views/CartView.tsx | 4 +- .../web/src/components/views/CheckoutView.tsx | 16 +- .../web/src/components/views/DiscoverView.tsx | 2 +- .../src/components/views/EducationView.tsx | 4 +- .../src/components/views/FileDetailsView.tsx | 8 +- .../src/components/views/FileManagerView.tsx | 6 +- apps/web/src/components/views/GearView.tsx | 20 +- apps/web/src/components/views/LiveView.tsx | 14 +- .../src/components/views/MarketplaceView.tsx | 6 +- .../components/views/NotificationsView.tsx | 2 +- apps/web/src/components/views/ProfileView.tsx | 14 +- .../src/components/views/PurchasesView.tsx | 8 +- .../src/components/views/SearchPageView.tsx | 10 +- .../web/src/components/views/SettingsView.tsx | 2 +- apps/web/src/components/views/SocialView.tsx | 10 +- apps/web/src/components/views/StudioView.tsx | 4 +- apps/web/src/components/views/UploadView.tsx | 2 +- .../features/auth/components/LoginForm.tsx | 2 +- .../features/auth/components/OAuthButtons.tsx | 4 +- .../features/auth/components/RegisterForm.tsx | 2 +- .../auth/pages/ForgotPasswordPage.tsx | 4 +- .../web/src/features/auth/pages/LoginPage.tsx | 2 +- .../src/features/auth/pages/RegisterPage.tsx | 4 +- .../features/auth/pages/ResetPasswordPage.tsx | 4 +- .../src/features/auth/pages/SessionsPage.tsx | 2 +- .../features/auth/pages/VerifyEmailPage.tsx | 4 +- .../features/chat/components/ChatInput.tsx | 2 +- .../chat/components/ChatInterface.tsx | 6 +- .../features/chat/components/ChatMessage.tsx | 2 +- .../features/chat/components/ChatMessages.tsx | 2 +- .../src/features/chat/components/ChatRoom.tsx | 2 +- .../features/chat/components/ChatSidebar.tsx | 6 +- .../components/VirtualizedChatMessages.tsx | 4 +- .../dashboard/pages/DashboardPage.tsx | 6 +- .../features/error/pages/ServerErrorPage.tsx | 4 +- .../library/components/LibraryManager.tsx | 2 +- .../features/marketplace/components/Cart.tsx | 2 +- .../features/player/components/MiniPlayer.tsx | 2 +- .../components/PlaybackSpeedControl.tsx | 2 +- .../player/components/QualitySelector.tsx | 2 +- .../features/player/components/TrackInfo.tsx | 4 +- .../playlists/components/CollaboratorList.tsx | 4 +- .../components/ImportPlaylistButton.tsx | 2 +- .../playlists/components/PlaylistActions.tsx | 6 +- .../components/PlaylistBatchActions.tsx | 6 +- .../playlists/components/PlaylistCard.tsx | 2 +- .../components/PlaylistCardSkeleton.tsx | 4 +- .../playlists/components/PlaylistHeader.tsx | 8 +- .../components/PlaylistHeaderSkeleton.tsx | 4 +- .../playlists/components/PlaylistList.tsx | 6 +- .../components/PlaylistListSkeleton.tsx | 2 +- .../playlists/components/PlaylistSearch.tsx | 2 +- .../playlists/pages/PlaylistListPage.tsx | 2 +- .../profile/pages/UserProfilePage.tsx | 2 +- .../tracks/components/CommentThread.tsx | 6 +- .../features/tracks/components/TrackCard.tsx | 4 +- .../tracks/components/TrackFilters.tsx | 14 +- .../tracks/components/TrackGrid.test.tsx | 4 +- .../features/tracks/components/TrackGrid.tsx | 2 +- .../components/TrackGridDensitySelector.tsx | 2 +- .../tracks/components/TrackHistory.tsx | 2 +- .../features/tracks/components/TrackList.tsx | 2 +- .../tracks/components/TrackListPagination.tsx | 8 +- .../tracks/components/TrackListRow.tsx | 4 +- .../components/TrackListSelectionActions.tsx | 2 +- .../tracks/components/TrackListSkeleton.tsx | 2 +- .../tracks/components/TrackStatsDisplay.tsx | 2 +- .../features/tracks/components/ViewToggle.tsx | 4 +- .../upload/components/UploadModal.tsx | 4 +- apps/web/src/pages/AdminDashboardPage.tsx | 6 +- apps/web/src/pages/AnalyticsPage.tsx | 4 +- apps/web/src/pages/DashboardPage.tsx | 4 +- apps/web/src/pages/DeveloperPage.tsx | 2 +- apps/web/src/pages/EducationPage.tsx | 2 +- apps/web/src/pages/GearPage.tsx | 2 +- apps/web/src/pages/LivePage.tsx | 2 +- apps/web/src/pages/QueuePage.tsx | 2 +- apps/web/src/pages/SettingsPage.tsx | 8 +- apps/web/src/pages/SocialPage.tsx | 8 +- scripts/align-8px-grid.py | 211 ++++++++++++++++++ 232 files changed, 753 insertions(+), 542 deletions(-) create mode 100755 scripts/align-8px-grid.py diff --git a/EXHAUSTIVE_TODO_LIST.md b/EXHAUSTIVE_TODO_LIST.md index 35bd828be..d505437ee 100644 --- a/EXHAUSTIVE_TODO_LIST.md +++ b/EXHAUSTIVE_TODO_LIST.md @@ -3921,7 +3921,7 @@ Critical path dependencies: - **Result**: ~87 instances replaced across ~65 files. Secondary actions now use steel/white for hover states, while primary actions correctly use cyan. Task objective achieved. - **Rollback**: Restore cyan usage -- [ ] **Action 11.3.1.3**: Apply 80/20 rule (80% neutral, 20% color) +- [x] **Action 11.3.1.3**: Apply 80/20 rule (80% neutral, 20% color) - **Scope**: All pages - Ensure color used sparingly - **Dependencies**: Action 11.3.1.2 complete ✅ - **Risk**: MEDIUM (visual changes) diff --git a/apps/web/src/components/AdvancedFilters.tsx b/apps/web/src/components/AdvancedFilters.tsx index 35a21fd29..8688a9366 100644 --- a/apps/web/src/components/AdvancedFilters.tsx +++ b/apps/web/src/components/AdvancedFilters.tsx @@ -137,7 +137,7 @@ export function AdvancedFilters({ triggerClassName="p-2 rounded-lg border border-kodo-steel bg-kodo-void/50 hover:bg-kodo-void transition-colors" contentClassName={cn('pt-3', contentClassName)} > -
{children}
+
{children}
); diff --git a/apps/web/src/components/BulkModeBanner.tsx b/apps/web/src/components/BulkModeBanner.tsx index a3ca19419..0bcccf1a2 100644 --- a/apps/web/src/components/BulkModeBanner.tsx +++ b/apps/web/src/components/BulkModeBanner.tsx @@ -71,12 +71,12 @@ export function BulkModeBanner({ aria-atomic="true" className={cn( 'w-full bg-kodo-steel/10 border-b border-kodo-steel/30 text-kodo-steel', - 'px-4 py-3 flex items-center justify-between gap-4', + 'px-4 py-4 flex items-center justify-between gap-4', 'transition-all duration-300', className, )} > -
+
{/* Metadata */} -
+
{/* Priority Badge */} 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/RateLimitIndicator.tsx b/apps/web/src/components/RateLimitIndicator.tsx index 84407ebbe..dfca42b2d 100644 --- a/apps/web/src/components/RateLimitIndicator.tsx +++ b/apps/web/src/components/RateLimitIndicator.tsx @@ -90,7 +90,7 @@ export function RateLimitIndicator() { return (

{ if (loading) return ( -
+
); @@ -140,7 +140,7 @@ export const AdminDashboardView: React.FC = () => {

Quick Actions

-
+