Skip to content

Commit 0b330cf

Browse files
committed
Add quick link to pin feed
1 parent bd5e615 commit 0b330cf

File tree

23 files changed

+146
-4
lines changed

23 files changed

+146
-4
lines changed

androidApp/src/main/kotlin/com/prof18/feedflow/android/editfeed/EditFeedNavUtils.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,6 @@ internal fun FeedSource.toEditFeed(): EditFeed {
3636
logoUrl = logoUrl,
3737
linkOpeningPreference = linkOpeningPreference,
3838
isHidden = isHiddenFromTimeline,
39-
isPinned = isPinned
39+
isPinned = isPinned,
4040
)
4141
}

androidApp/src/main/kotlin/com/prof18/feedflow/android/feedsourcelist/FeedSourceListScreen.android.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,9 @@ fun FeedSourceListScreen(
7676
viewModel.updateFeedName(feedSource, newName)
7777
},
7878
onEditFeedSourceClick = onEditFeedClick,
79+
onPinFeedClick = { feedSource ->
80+
viewModel.toggleFeedPin(feedSource)
81+
},
7982
snackbarHost = {
8083
SnackbarHost(snackbarHostState)
8184
},
@@ -97,6 +100,7 @@ private fun FeedSourceListContentPreview() {
97100
navigateBack = {},
98101
onRenameFeedSourceClick = { _, _ -> },
99102
onEditFeedSourceClick = {},
103+
onPinFeedClick = {},
100104
)
101105
}
102106
}

androidApp/src/main/kotlin/com/prof18/feedflow/android/home/HomeScreen.android.kt

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -156,6 +156,9 @@ internal fun HomeScreen(
156156
onDeleteFeedSourceClick = { feedSource ->
157157
homeViewModel.deleteFeedSource(feedSource)
158158
},
159+
onPinFeedClick = { feedSource ->
160+
homeViewModel.toggleFeedPin(feedSource)
161+
},
159162
)
160163
}
161164

@@ -216,6 +219,9 @@ internal fun HomeScreen(
216219
onDeleteFeedSourceClick = { feedSource ->
217220
homeViewModel.deleteFeedSource(feedSource)
218221
},
222+
onPinFeedClick = { feedSource ->
223+
homeViewModel.toggleFeedPin(feedSource)
224+
},
219225
)
220226
}
221227

@@ -276,6 +282,9 @@ internal fun HomeScreen(
276282
onDeleteFeedSourceClick = { feedSource ->
277283
homeViewModel.deleteFeedSource(feedSource)
278284
},
285+
onPinFeedClick = { feedSource ->
286+
homeViewModel.toggleFeedPin(feedSource)
287+
},
279288
)
280289
}
281290
}

androidApp/src/main/kotlin/com/prof18/feedflow/android/home/bywindowsize/CompactHomeView.android.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ internal fun CompactHomeView(
5353
onSearchClick: () -> Unit,
5454
onEditFeedClick: (FeedSource) -> Unit,
5555
onDeleteFeedSourceClick: (FeedSource) -> Unit,
56+
onPinFeedClick: (FeedSource) -> Unit,
5657
) {
5758
val scope = rememberCoroutineScope()
5859
val drawerState = rememberDrawerState(initialValue = DrawerValue.Closed)
@@ -74,6 +75,7 @@ internal fun CompactHomeView(
7475
},
7576
onDeleteFeedSourceClick = onDeleteFeedSourceClick,
7677
onEditFeedClick = onEditFeedClick,
78+
onPinFeedClick = onPinFeedClick,
7779
)
7880
}
7981
},
@@ -148,6 +150,7 @@ private fun CompactHomeViewPreview() {
148150
onSearchClick = {},
149151
onEditFeedClick = { },
150152
onDeleteFeedSourceClick = { },
153+
onPinFeedClick = { },
151154
)
152155
}
153156
}

androidApp/src/main/kotlin/com/prof18/feedflow/android/home/bywindowsize/ExpandedHomeView.android.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ internal fun ExpandedHomeView(
5353
onSearchClick: () -> Unit,
5454
onEditFeedClick: (FeedSource) -> Unit,
5555
onDeleteFeedSourceClick: (FeedSource) -> Unit,
56+
onPinFeedClick: (FeedSource) -> Unit,
5657
) {
5758
val scope = rememberCoroutineScope()
5859
val listState = rememberLazyListState()
@@ -76,6 +77,7 @@ internal fun ExpandedHomeView(
7677
},
7778
onDeleteFeedSourceClick = onDeleteFeedSourceClick,
7879
onEditFeedClick = onEditFeedClick,
80+
onPinFeedClick = onPinFeedClick,
7981
)
8082
}
8183

@@ -141,6 +143,7 @@ private fun ExpandedHomeViewPreview() {
141143
onSearchClick = {},
142144
onEditFeedClick = { _ -> },
143145
onDeleteFeedSourceClick = { _ -> },
146+
onPinFeedClick = { _ -> },
144147
)
145148
}
146149
}

androidApp/src/main/kotlin/com/prof18/feedflow/android/home/bywindowsize/MediumHomeView.android.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ internal fun MediumHomeView(
5858
onSearchClick: () -> Unit,
5959
onEditFeedClick: (FeedSource) -> Unit,
6060
onDeleteFeedSourceClick: (FeedSource) -> Unit,
61+
onPinFeedClick: (FeedSource) -> Unit,
6162
) {
6263
val scope = rememberCoroutineScope()
6364
val listState = rememberLazyListState()
@@ -87,6 +88,7 @@ internal fun MediumHomeView(
8788
},
8889
onEditFeedClick = onEditFeedClick,
8990
onDeleteFeedSourceClick = onDeleteFeedSourceClick,
91+
onPinFeedClick = onPinFeedClick,
9092
)
9193
}
9294
}
@@ -157,6 +159,7 @@ private fun MediumHomeViewPreview() {
157159
onSearchClick = {},
158160
onEditFeedClick = { _ -> },
159161
onDeleteFeedSourceClick = { _ -> },
162+
onPinFeedClick = { _ -> },
160163
)
161164
}
162165
}

database/src/commonMain/kotlin/com/prof18/feedflow/database/DatabaseHelper.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -397,7 +397,7 @@ class DatabaseHelper(
397397
feed_source_id = feedSourceId,
398398
link_opening_preference = preference,
399399
is_hidden = isHidden,
400-
is_pinned = isPinned
400+
is_pinned = isPinned,
401401
)
402402
}
403403

desktopApp/src/jvmMain/kotlin/com/prof18/feedflow/desktop/feedsourcelist/FeedSourceListScreen.desktop.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,9 @@ class FeedSourceListScreen : Screen {
9999
onRenameFeedSourceClick = { feedSource, newName ->
100100
viewModel.updateFeedName(feedSource, newName)
101101
},
102+
onPinFeedClick = { feedSource ->
103+
viewModel.toggleFeedPin(feedSource)
104+
},
102105
snackbarHost = {
103106
SnackbarHost(snackbarHostState)
104107
},
@@ -121,6 +124,7 @@ private fun FeedSourceListContentPreview() {
121124
onEditFeedSourceClick = {},
122125
navigateBack = {},
123126
onRenameFeedSourceClick = { _, _ -> },
127+
onPinFeedClick = {},
124128
)
125129
}
126130
}

desktopApp/src/jvmMain/kotlin/com/prof18/feedflow/desktop/home/HomeScreen.desktop.kt

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,9 @@ internal fun HomeScreen(
148148
onDeleteFeedSourceClick = { feedSource ->
149149
homeViewModel.deleteFeedSource(feedSource)
150150
},
151+
onPinFeedClick = { feedSource ->
152+
homeViewModel.toggleFeedPin(feedSource)
153+
},
151154
markAllAsRead = {
152155
homeViewModel.markAllRead()
153156
},
@@ -209,6 +212,9 @@ internal fun HomeScreen(
209212
onDeleteFeedSourceClick = { feedSource ->
210213
homeViewModel.deleteFeedSource(feedSource)
211214
},
215+
onPinFeedClick = { feedSource ->
216+
homeViewModel.toggleFeedPin(feedSource)
217+
},
212218
markAllAsRead = {
213219
homeViewModel.markAllRead()
214220
},
@@ -270,6 +276,9 @@ internal fun HomeScreen(
270276
onDeleteFeedSourceClick = { feedSource ->
271277
homeViewModel.deleteFeedSource(feedSource)
272278
},
279+
onPinFeedClick = { feedSource ->
280+
homeViewModel.toggleFeedPin(feedSource)
281+
},
273282
markAllAsRead = {
274283
homeViewModel.markAllRead()
275284
},

desktopApp/src/jvmMain/kotlin/com/prof18/feedflow/desktop/home/bywindowsize/CompactHomeView.desktop.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ internal fun CompactView(
5252
onSearchClick: () -> Unit,
5353
openUrl: (FeedItemUrlInfo) -> Unit,
5454
onDeleteFeedSourceClick: (FeedSource) -> Unit,
55+
onPinFeedClick: (FeedSource) -> Unit,
5556
markAllAsRead: () -> Unit,
5657
) {
5758
val scope = rememberCoroutineScope()
@@ -76,6 +77,7 @@ internal fun CompactView(
7677
navigator.push(EditFeedScreen(feedSource))
7778
},
7879
onDeleteFeedSourceClick = onDeleteFeedSourceClick,
80+
onPinFeedClick = onPinFeedClick,
7981
)
8082
}
8183
},
@@ -147,6 +149,7 @@ private fun CompactViewPreview() {
147149
onSearchClick = {},
148150
openUrl = {},
149151
onDeleteFeedSourceClick = {},
152+
onPinFeedClick = {},
150153
markAllAsRead = {},
151154
)
152155
}

0 commit comments

Comments
 (0)