beta release build 0.7.0

This commit is contained in:
刘浩远 2020-08-02 18:36:07 +08:00
parent c35efa04ba
commit 6e97d07937
8 changed files with 18 additions and 12 deletions

View File

@ -25,6 +25,7 @@ If you are using Linux or an older version of Windows, you can [get Fluent Reade
</p> </p>
- A modern UI inspired by Fluent Design System with full dark mode support. - A modern UI inspired by Fluent Design System with full dark mode support.
- Read locally or sync with self-hosted services through Fever API.
- Importing or exporting OPML files, full application data backup & restoration. - Importing or exporting OPML files, full application data backup & restoration.
- Read the full content with the built-in article view or load webpages by default. - Read the full content with the built-in article view or load webpages by default.
- Search for articles with regular expressions or filter by read status. - Search for articles with regular expressions or filter by read status.
@ -33,7 +34,7 @@ If you are using Linux or an older version of Windows, you can [get Fluent Reade
- Hide, mark as read, or star articles automatically as they arrive with regular expression rules. - Hide, mark as read, or star articles automatically as they arrive with regular expression rules.
- Fetch articles in the background and send push notifications. - Fetch articles in the background and send push notifications.
Support for RSS services including Fever API, Inoreader, or Feedly are being fundraised through [Open Collective](https://opencollective.com/fluent-reader). Support for other RSS services including Inoreader and Feedly are being fundraised through [Open Collective](https://opencollective.com/fluent-reader).
## Development ## Development
@ -44,7 +45,7 @@ Help make Fluent Reader better by reporting bugs or opening feature requests thr
You can also help internationalize the app by providing [translations into additional languages](https://github.com/yang991178/fluent-reader/tree/master/src/scripts/i18n). You can also help internationalize the app by providing [translations into additional languages](https://github.com/yang991178/fluent-reader/tree/master/src/scripts/i18n).
Refer to the repo of [react-intl-universal](https://github.com/alibaba/react-intl-universal) to get started on internationalization. Refer to the repo of [react-intl-universal](https://github.com/alibaba/react-intl-universal) to get started on internationalization.
If you enjoyed using the app, consider supporting its development by donating through [Open Collective](https://opencollective.com/fluent-reader) or [Paypal](https://www.paypal.me/yang991178). If you enjoy using this app, consider supporting its development by donating through [Open Collective](https://opencollective.com/fluent-reader), [Paypal](https://www.paypal.me/yang991178), or [Alipay](https://hyliu.me/fluent-reader/imgs/alipay.jpg).
### Build from source ### Build from source
```bash ```bash

View File

@ -113,6 +113,13 @@ i.ms-Nav-chevron {
user-select: none; user-select: none;
margin-bottom: 8px; margin-bottom: 8px;
} }
.ms-MessageBar:not(.ms-MessageBar--warning) {
background: var(--neutralLighter);
color: var(--neutralPrimary);
}
.ms-MessageBar:not(.ms-MessageBar--warning) i[data-icon-name="Info"] {
color: var(--neutralPrimary);
}
#root > nav { #root > nav {
height: var(--navHeight); height: var(--navHeight);

View File

@ -79,7 +79,7 @@ div[role="toolbar"] {
height: 100%; height: 100%;
} }
div[role="tabpanel"] { div[role="tabpanel"] {
height: calc(100% - 44px); height: calc(100% - 68px);
padding: 12px 16px; padding: 12px 16px;
overflow-y: auto; overflow-y: auto;
position: relative; position: relative;
@ -96,9 +96,6 @@ div[role="tabpanel"] {
.settings .loading .ms-Spinner { .settings .loading .ms-Spinner {
margin-top: 180px; margin-top: 180px;
} }
.tab-body {
margin-bottom: 24px;
}
.tab-body .ms-StackItem { .tab-body .ms-StackItem {
margin-right: 6px; margin-right: 6px;
margin-bottom: 12px; margin-bottom: 12px;

2
package-lock.json generated
View File

@ -1,6 +1,6 @@
{ {
"name": "fluent-reader", "name": "fluent-reader",
"version": "0.6.3", "version": "0.7.0",
"lockfileVersion": 1, "lockfileVersion": 1,
"requires": true, "requires": true,
"dependencies": { "dependencies": {

View File

@ -1,7 +1,7 @@
{ {
"name": "fluent-reader", "name": "fluent-reader",
"version": "0.6.3", "version": "0.7.0",
"description": "A simplistic, modern desktop RSS reader", "description": "Modern desktop RSS reader",
"main": "./dist/electron.js", "main": "./dist/electron.js",
"scripts": { "scripts": {
"build": "webpack --config ./webpack.config.js", "build": "webpack --config ./webpack.config.js",

View File

@ -102,7 +102,7 @@ class FeverConfigsTab extends React.Component<ServiceConfigsTabProps, FeverConfi
<MessageBar messageBarType={MessageBarType.info}>{intl.get("service.groupsWarning")}</MessageBar> <MessageBar messageBarType={MessageBarType.info}>{intl.get("service.groupsWarning")}</MessageBar>
)} )}
<Stack horizontalAlign="center" style={{marginTop: 48}}> <Stack horizontalAlign="center" style={{marginTop: 48}}>
<Icon iconName="Calories" style={{fontSize: 32, userSelect: "none"}} /> <Icon iconName="Calories" style={{color: "var(--black)", fontSize: 32, userSelect: "none"}} />
<Label style={{margin: "8px 0 36px"}}>Fever API</Label> <Label style={{margin: "8px 0 36px"}}>Fever API</Label>
<Stack className="login-form" horizontal> <Stack className="login-form" horizontal>
<Stack.Item> <Stack.Item>

View File

@ -255,7 +255,8 @@ export function markAllRead(sids: number[] = null, date: Date = null, before = t
let feed = state.feeds[state.page.feedId] let feed = state.feeds[state.page.feedId]
sids = feed.sids sids = feed.sids
} }
dispatch(dispatch(getServiceHooks()).markAllRead?.(sids, date, before)) const action = dispatch(getServiceHooks()).markAllRead?.(sids, date, before)
if (action) dispatch(action)
let query = { let query = {
source: { $in: sids }, source: { $in: sids },
hasRead: false, hasRead: false,

View File

@ -264,7 +264,7 @@ export const feverServiceHooks: ServiceHooks = {
const configs = state.service as FeverConfigs const configs = state.service as FeverConfigs
if (date && !before) { if (date && !before) {
const iids = state.feeds[state.page.feedId].iids const iids = state.feeds[state.page.feedId].iids
const items = iids.map(iid => state.items[iid]).filter(i => i.date.getTime() >= date.getTime()) const items = iids.map(iid => state.items[iid]).filter(i => !i.hasRead && i.date.getTime() >= date.getTime())
for (let item of items) { for (let item of items) {
if (item.serviceRef) { if (item.serviceRef) {
markItem(configs, item, "read") markItem(configs, item, "read")