File tree Expand file tree Collapse file tree 5 files changed +34
-6
lines changed Expand file tree Collapse file tree 5 files changed +34
-6
lines changed Original file line number Diff line number Diff line change 49
49
"k" : " Previous item" ,
50
50
"o" : " Open item" ,
51
51
"u" : " Close item" ,
52
- "v" : " Open item in browser"
52
+ "v" : " Open item in browser" ,
53
+ "shifti" : " Mark as read" ,
54
+ "shiftu" : " Mark as unread"
53
55
}
54
56
}
55
57
},
Original file line number Diff line number Diff line change 49
49
"k" : " 上一条" ,
50
50
"o" : " 打开条目" ,
51
51
"u" : " 关闭条目" ,
52
- "v" : " 浏览器中打开"
52
+ "v" : " 浏览器中打开" ,
53
+ "shifti" : " 标记为已读" ,
54
+ "shiftu" : " 标记为未读"
53
55
}
54
56
}
55
57
},
Original file line number Diff line number Diff line change @@ -77,6 +77,16 @@ function KeyboardShortcutsPanel() {
77
77
keys : [ 'v' ] ,
78
78
text : intl . get ( 'reader.keyboard.keys.v' ) ,
79
79
} ,
80
+ {
81
+ keys : [ 'shift' , 'i' ] ,
82
+ connector : '+' ,
83
+ text : intl . get ( 'reader.keyboard.keys.shifti' ) ,
84
+ } ,
85
+ {
86
+ keys : [ 'shift' , 'u' ] ,
87
+ text : intl . get ( 'reader.keyboard.keys.shiftu' ) ,
88
+ connector : '+' ,
89
+ } ,
80
90
] . map ( ( item ) => {
81
91
const keys = item . keys . map ( ( k , index , v ) => (
82
92
< span
@@ -87,15 +97,22 @@ function KeyboardShortcutsPanel() {
87
97
>
88
98
{ k }
89
99
</ span >
90
- { index !== v . length - 1 ? < span > then </ span > : null }
100
+ { index !== v . length - 1 ? (
101
+ < span >
102
+ { ' ' }
103
+ { item . connector ?? 'then' }
104
+ { ' ' }
105
+ </ span >
106
+ ) : null }
91
107
</ span >
92
108
) )
109
+
93
110
return (
94
111
< div
95
112
key = { item . keys . join ( '' ) }
96
113
>
97
114
< span
98
- className = "inline-block w-14 text-right"
115
+ className = "inline-block w-16 text-right"
99
116
>
100
117
{ keys }
101
118
</ span >
Original file line number Diff line number Diff line change @@ -39,6 +39,8 @@ iregister(['v'], () => {
39
39
iregister ( [ 'x' ] , ( ) => readerStore . toggleSelected ( ) )
40
40
iregister ( [ '*' , 'a' ] , ( ) => readerStore . selectAll ( ) )
41
41
iregister ( [ '*' , 'n' ] , ( ) => readerStore . deselectAll ( ) )
42
+ iregister ( [ 'shift' , 'i' ] , ( ) => readerStore . markRead ( ) )
43
+ iregister ( [ 'shift' , 'u' ] , ( ) => readerStore . markUnread ( ) )
42
44
43
45
iregister ( [ 'g' , 's' ] , ( ) => readerStore . changeTab ( 'starred' ) )
44
46
iregister ( [ 'g' , 'a' ] , ( ) => readerStore . changeTab ( 'all' ) )
Original file line number Diff line number Diff line change @@ -252,11 +252,16 @@ export class ReaderStore {
252
252
articleService . markRead ( articles . map ( ( v ) => v . id ! ) , status )
253
253
}
254
254
255
- markRead ( id : number | number [ ] ) {
255
+ private getSelectedIds ( ) {
256
+ const articles = this . opened ? [ this . activeArticle ] : this . articles . filter ( ( v ) => v . selected )
257
+ return articles . map ( ( v ) => v . id ! )
258
+ }
259
+
260
+ markRead ( id : number | number [ ] = this . getSelectedIds ( ) ) {
256
261
this . markReadStatus ( id , 1 )
257
262
}
258
263
259
- markUnread ( id : number | number [ ] ) {
264
+ markUnread ( id : number | number [ ] = this . getSelectedIds ( ) ) {
260
265
this . markReadStatus ( id , 0 )
261
266
}
262
267
You can’t perform that action at this time.
0 commit comments