Issue: App.vue handles layout, sidebars, video player controls, hotkeys, and data fetching logic. This violates the Single Responsibility Principle.
Solution: Extract components:
@/components/VideoOverlay.vue (Controls, progress bar, volume)
@/components/PostSidebar.vue (Metadata, tags, ratings)
@/components/SettingsSidebar.vue (Filters, auth)
Gemini 3.1 Pro Context:
Refactor App.vue (Task #93, Priority: Medium)
Why it matters: App.vue is currently over 1,360 lines long. It manages everything from the global routing wrappers to the intricate Post Details sidebar rendering. This is an anti-pattern in Vue that makes the app harder to maintain and can cause unnecessary re-renders of the entire app shell when only a small piece of state changes.
Issue: App.vue handles layout, sidebars, video player controls, hotkeys, and data fetching logic. This violates the Single Responsibility Principle.
Solution: Extract components:
Gemini 3.1 Pro Context:
Refactor App.vue (Task #93, Priority: Medium)
Why it matters: App.vue is currently over 1,360 lines long. It manages everything from the global routing wrappers to the intricate Post Details sidebar rendering. This is an anti-pattern in Vue that makes the app harder to maintain and can cause unnecessary re-renders of the entire app shell when only a small piece of state changes.