Skip to content

Commit 492e0f3

Browse files
authored
Merge pull request #247 from yang991178/1.0.1
Version 1.0.1
2 parents 7d2860f + 918cce3 commit 492e0f3

File tree

17 files changed

+111
-51
lines changed

17 files changed

+111
-51
lines changed

build/icon.icns

-172 KB
Binary file not shown.

package-lock.json

Lines changed: 25 additions & 26 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "fluent-reader",
3-
"version": "1.0.0",
3+
"version": "1.0.1",
44
"description": "Modern desktop RSS reader",
55
"main": "./dist/electron.js",
66
"scripts": {

src/components/article.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@ class Article extends React.Component<ArticleProps, ArticleState> {
133133
this.toggleFull()
134134
break
135135
case "H": case "h":
136-
this.props.toggleHidden(this.props.item)
136+
if (!input.meta) this.props.toggleHidden(this.props.item)
137137
break
138138
default:
139139
const keyboardEvent = new KeyboardEvent("keydown", {

src/components/context-menu.tsx

Lines changed: 45 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ export type ContextMenuProps = ContextReduxProps & {
3030
setViewConfigs: (configs: ViewConfigs) => void
3131
switchFilter: (filter: FilterType) => void
3232
toggleFilter: (filter: FilterType) => void
33-
markAllRead: (sids: number[], date?: Date, before?: boolean) => void
33+
markAllRead: (sids?: number[], date?: Date, before?: boolean) => void
3434
fetchItems: (sids: number[]) => void
3535
settings: (sids: number[]) => void
3636
close: () => void
@@ -380,6 +380,50 @@ export class ContextMenu extends React.Component<ContextMenuProps> {
380380
onClick: () => this.props.settings(this.props.sids)
381381
}
382382
]
383+
case ContextMenuType.MarkRead: return [
384+
{
385+
key: "section_1",
386+
itemType: ContextualMenuItemType.Section,
387+
sectionProps: {
388+
title: intl.get("nav.markAllRead"),
389+
items: [
390+
{
391+
key: "all",
392+
text: intl.get("allArticles"),
393+
iconProps: { iconName: "ReceiptCheck" },
394+
onClick: () => this.props.markAllRead()
395+
},
396+
{
397+
key: "1d",
398+
text: intl.get("app.daysAgo", { days: 1 }),
399+
onClick: () => {
400+
let date = new Date()
401+
date.setTime(date.getTime() - 86400000)
402+
this.props.markAllRead(null, date)
403+
}
404+
},
405+
{
406+
key: "3d",
407+
text: intl.get("app.daysAgo", { days: 3 }),
408+
onClick: () => {
409+
let date = new Date()
410+
date.setTime(date.getTime() - 3 * 86400000)
411+
this.props.markAllRead(null, date)
412+
}
413+
},
414+
{
415+
key: "7d",
416+
text: intl.get("app.daysAgo", { days: 7 }),
417+
onClick: () => {
418+
let date = new Date()
419+
date.setTime(date.getTime() - 7 * 86400000)
420+
this.props.markAllRead(null, date)
421+
}
422+
}
423+
]
424+
}
425+
}
426+
]
383427
default: return []
384428
}
385429
}

src/components/nav.tsx

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -139,9 +139,12 @@ class Nav extends React.Component<NavProps, NavState> {
139139
title={intl.get("nav.refresh")}>
140140
<Icon iconName="Refresh" />
141141
</a>
142-
<a className="btn"
142+
<a className="btn"
143+
id="mark-all-toggle"
143144
onClick={this.props.markAllRead}
144-
title={intl.get("nav.markAllRead")}>
145+
title={intl.get("nav.markAllRead")}
146+
onMouseDown={e => {
147+
if (this.props.state.contextMenu.event === "#mark-all-toggle") e.stopPropagation()}}>
145148
<Icon iconName="InboxCheck" />
146149
</a>
147150
<a className="btn"

src/components/settings/services/inoreader.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ class InoreaderConfigsTab extends React.Component<ServiceConfigsTabProps, GReade
4848
{ key: 500, text: intl.get("service.fetchLimitNum", { count: 500 }) },
4949
{ key: 750, text: intl.get("service.fetchLimitNum", { count: 750 }) },
5050
{ key: 1000, text: intl.get("service.fetchLimitNum", { count: 1000 }) },
51+
{ key: Number.MAX_SAFE_INTEGER, text: intl.get("service.fetchUnlimited") },
5152
]
5253
onFetchLimitOptionChange = (_, option: IDropdownOption) => {
5354
this.setState({ fetchLimit: option.key as number })

src/containers/context-menu-container.tsx

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,10 @@ const mapStateToProps = createSelector(
4545
type: context.type,
4646
position: context.position
4747
}
48+
case ContextMenuType.MarkRead: return {
49+
type: context.type,
50+
event: context.event
51+
}
4852
default: return { type: ContextMenuType.Hidden }
4953
}
5054
}
@@ -70,7 +74,7 @@ const mapDispatchToProps = dispatch => {
7074
setViewConfigs: (configs: ViewConfigs) => dispatch(setViewConfigs(configs)),
7175
switchFilter: (filter: FilterType) => dispatch(switchFilter(filter)),
7276
toggleFilter: (filter: FilterType) => dispatch(toggleFilter(filter)),
73-
markAllRead: (sids: number[], date?: Date, before?: boolean) => {
77+
markAllRead: (sids?: number[], date?: Date, before?: boolean) => {
7478
dispatch(markAllRead(sids, date, before))
7579
},
7680
fetchItems: (sids: number[]) => dispatch(fetchItems(false, sids)),

src/containers/nav-container.tsx

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { connect } from "react-redux"
33
import { createSelector } from "reselect"
44
import { RootState } from "../scripts/reducer"
55
import { fetchItems, markAllRead } from "../scripts/models/item"
6-
import { toggleMenu, toggleLogMenu, toggleSettings, openViewMenu } from "../scripts/models/app"
6+
import { toggleMenu, toggleLogMenu, toggleSettings, openViewMenu, openMarkAllMenu } from "../scripts/models/app"
77
import { toggleSearch } from "../scripts/models/page"
88
import { ViewType } from "../schema-types"
99
import Nav from "../components/nav"
@@ -26,17 +26,7 @@ const mapDispatchToProps = (dispatch) => ({
2626
views: () => dispatch(openViewMenu()),
2727
settings: () => dispatch(toggleSettings()),
2828
search: () => dispatch(toggleSearch()),
29-
markAllRead: () => {
30-
window.utils.showMessageBox(
31-
intl.get("nav.markAllRead"),
32-
intl.get("confirmMarkAll"),
33-
intl.get("confirm"), intl.get("cancel")
34-
).then(response => {
35-
if (response) {
36-
dispatch(markAllRead())
37-
}
38-
})
39-
}
29+
markAllRead: () => dispatch(openMarkAllMenu())
4030
})
4131

4232
const NavContainer = connect(mapStateToProps, mapDispatchToProps)(Nav)

src/electron.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ if (process.platform === "darwin") {
2828
{
2929
label: "Application",
3030
submenu: [
31+
{ label: "Hide", accelerator:"Command+H", click: () => { app.hide() } },
3132
{ label: "Quit", accelerator: "Command+Q", click: () => { if (winManager.hasWindow) winManager.mainWindow.close() } }
3233
]
3334
},

0 commit comments

Comments
 (0)