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 4949 "k" : " Previous item" ,
5050 "o" : " Open item" ,
5151 "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"
5355 }
5456 }
5557 },
Original file line number Diff line number Diff line change 4949 "k" : " 上一条" ,
5050 "o" : " 打开条目" ,
5151 "u" : " 关闭条目" ,
52- "v" : " 浏览器中打开"
52+ "v" : " 浏览器中打开" ,
53+ "shifti" : " 标记为已读" ,
54+ "shiftu" : " 标记为未读"
5355 }
5456 }
5557 },
Original file line number Diff line number Diff line change @@ -77,6 +77,16 @@ function KeyboardShortcutsPanel() {
7777 keys : [ 'v' ] ,
7878 text : intl . get ( 'reader.keyboard.keys.v' ) ,
7979 } ,
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+ } ,
8090 ] . map ( ( item ) => {
8191 const keys = item . keys . map ( ( k , index , v ) => (
8292 < span
@@ -87,15 +97,22 @@ function KeyboardShortcutsPanel() {
8797 >
8898 { k }
8999 </ 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 }
91107 </ span >
92108 ) )
109+
93110 return (
94111 < div
95112 key = { item . keys . join ( '' ) }
96113 >
97114 < span
98- className = "inline-block w-14 text-right"
115+ className = "inline-block w-16 text-right"
99116 >
100117 { keys }
101118 </ span >
Original file line number Diff line number Diff line change @@ -39,6 +39,8 @@ iregister(['v'], () => {
3939iregister ( [ 'x' ] , ( ) => readerStore . toggleSelected ( ) )
4040iregister ( [ '*' , 'a' ] , ( ) => readerStore . selectAll ( ) )
4141iregister ( [ '*' , 'n' ] , ( ) => readerStore . deselectAll ( ) )
42+ iregister ( [ 'shift' , 'i' ] , ( ) => readerStore . markRead ( ) )
43+ iregister ( [ 'shift' , 'u' ] , ( ) => readerStore . markUnread ( ) )
4244
4345iregister ( [ 'g' , 's' ] , ( ) => readerStore . changeTab ( 'starred' ) )
4446iregister ( [ 'g' , 'a' ] , ( ) => readerStore . changeTab ( 'all' ) )
Original file line number Diff line number Diff line change @@ -252,11 +252,16 @@ export class ReaderStore {
252252 articleService . markRead ( articles . map ( ( v ) => v . id ! ) , status )
253253 }
254254
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 ( ) ) {
256261 this . markReadStatus ( id , 1 )
257262 }
258263
259- markUnread ( id : number | number [ ] ) {
264+ markUnread ( id : number | number [ ] = this . getSelectedIds ( ) ) {
260265 this . markReadStatus ( id , 0 )
261266 }
262267
You can’t perform that action at this time.
0 commit comments