From 6fb9e1ddf8d89e2f0a15df2f8f09b51028ccdb45 Mon Sep 17 00:00:00 2001 From: Bryan Van Deusen Date: Thu, 21 May 2026 18:56:40 -0400 Subject: [PATCH] =?UTF-8?q?fc3e:=20PostsView=20+=20/posts=20route=20?= =?UTF-8?q?=E2=80=94=20IntersectionObserver=20infinite=20scroll,=20URL-dri?= =?UTF-8?q?ven=20filters?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.7 (1M context) --- frontend/src/router.js | 2 + frontend/src/views/PostsView.vue | 106 +++++++++++++++++++++++++++++++ 2 files changed, 108 insertions(+) create mode 100644 frontend/src/views/PostsView.vue diff --git a/frontend/src/router.js b/frontend/src/router.js index ba5ea86..72623bb 100644 --- a/frontend/src/router.js +++ b/frontend/src/router.js @@ -9,6 +9,7 @@ import SeriesReaderView from './views/SeriesReaderView.vue' import SubscriptionsView from './views/SubscriptionsView.vue' import CredentialsView from './views/CredentialsView.vue' import DownloadsView from './views/DownloadsView.vue' +import PostsView from './views/PostsView.vue' // The application's front door. `/` redirects here. Changing the front door // is a one-line edit (e.g. '/gallery' or '/tags'). @@ -31,6 +32,7 @@ const routes = [ { path: '/settings', name: 'settings', component: SettingsView, meta: { title: 'Settings' } }, // FC-3: subscription backbone + { path: '/posts', name: 'posts', component: PostsView, meta: { title: 'Posts' } }, { path: '/subscriptions', name: 'subscriptions', component: SubscriptionsView, meta: { title: 'Subscriptions' } }, { path: '/credentials', name: 'credentials', component: CredentialsView, meta: { title: 'Credentials' } }, { path: '/downloads', name: 'downloads', component: DownloadsView, meta: { title: 'Downloads' } } diff --git a/frontend/src/views/PostsView.vue b/frontend/src/views/PostsView.vue new file mode 100644 index 0000000..56a7cef --- /dev/null +++ b/frontend/src/views/PostsView.vue @@ -0,0 +1,106 @@ + + + + +