diff --git a/.gitignore b/.gitignore index 017f95c..83cfce9 100644 --- a/.gitignore +++ b/.gitignore @@ -2,4 +2,5 @@ node_modules dist/*.js dist/*.js.map dist/*.html +bin/* package-lock.json \ No newline at end of file diff --git a/build/appx/SmallTile.scale-100.png b/build/appx/SmallTile.scale-100.png new file mode 100644 index 0000000..7dccbef Binary files /dev/null and b/build/appx/SmallTile.scale-100.png differ diff --git a/build/appx/SmallTile.scale-125.png b/build/appx/SmallTile.scale-125.png new file mode 100644 index 0000000..8671afc Binary files /dev/null and b/build/appx/SmallTile.scale-125.png differ diff --git a/build/appx/SmallTile.scale-150.png b/build/appx/SmallTile.scale-150.png new file mode 100644 index 0000000..d686ab4 Binary files /dev/null and b/build/appx/SmallTile.scale-150.png differ diff --git a/build/appx/SmallTile.scale-200.png b/build/appx/SmallTile.scale-200.png new file mode 100644 index 0000000..10b23f1 Binary files /dev/null and b/build/appx/SmallTile.scale-200.png differ diff --git a/build/appx/SmallTile.scale-400.png b/build/appx/SmallTile.scale-400.png new file mode 100644 index 0000000..bd10b13 Binary files /dev/null and b/build/appx/SmallTile.scale-400.png differ diff --git a/build/appx/SplashScreen.scale-100.png b/build/appx/SplashScreen.scale-100.png new file mode 100644 index 0000000..baa1c29 Binary files /dev/null and b/build/appx/SplashScreen.scale-100.png differ diff --git a/build/appx/SplashScreen.scale-125.png b/build/appx/SplashScreen.scale-125.png new file mode 100644 index 0000000..0540e65 Binary files /dev/null and b/build/appx/SplashScreen.scale-125.png differ diff --git a/build/appx/SplashScreen.scale-150.png b/build/appx/SplashScreen.scale-150.png new file mode 100644 index 0000000..c7bbfd0 Binary files /dev/null and b/build/appx/SplashScreen.scale-150.png differ diff --git a/build/appx/SplashScreen.scale-200.png b/build/appx/SplashScreen.scale-200.png new file mode 100644 index 0000000..27c69e0 Binary files /dev/null and b/build/appx/SplashScreen.scale-200.png differ diff --git a/build/appx/SplashScreen.scale-400.png b/build/appx/SplashScreen.scale-400.png new file mode 100644 index 0000000..5f859f2 Binary files /dev/null and b/build/appx/SplashScreen.scale-400.png differ diff --git a/build/appx/Square150x150Logo.scale-100.png b/build/appx/Square150x150Logo.scale-100.png new file mode 100644 index 0000000..0b45743 Binary files /dev/null and b/build/appx/Square150x150Logo.scale-100.png differ diff --git a/build/appx/Square150x150Logo.scale-125.png b/build/appx/Square150x150Logo.scale-125.png new file mode 100644 index 0000000..fd82052 Binary files /dev/null and b/build/appx/Square150x150Logo.scale-125.png differ diff --git a/build/appx/Square150x150Logo.scale-150.png b/build/appx/Square150x150Logo.scale-150.png new file mode 100644 index 0000000..8d85b1b Binary files /dev/null and b/build/appx/Square150x150Logo.scale-150.png differ diff --git a/build/appx/Square150x150Logo.scale-200.png b/build/appx/Square150x150Logo.scale-200.png new file mode 100644 index 0000000..ad2466a Binary files /dev/null and b/build/appx/Square150x150Logo.scale-200.png differ diff --git a/build/appx/Square150x150Logo.scale-400.png b/build/appx/Square150x150Logo.scale-400.png new file mode 100644 index 0000000..ac2a4af Binary files /dev/null and b/build/appx/Square150x150Logo.scale-400.png differ diff --git a/build/appx/Square44x44Logo.altform-lightunplated_targetsize-16.png b/build/appx/Square44x44Logo.altform-lightunplated_targetsize-16.png new file mode 100644 index 0000000..365c13d Binary files /dev/null and b/build/appx/Square44x44Logo.altform-lightunplated_targetsize-16.png differ diff --git a/build/appx/Square44x44Logo.altform-lightunplated_targetsize-24.png b/build/appx/Square44x44Logo.altform-lightunplated_targetsize-24.png new file mode 100644 index 0000000..22731ca Binary files /dev/null and b/build/appx/Square44x44Logo.altform-lightunplated_targetsize-24.png differ diff --git a/build/appx/Square44x44Logo.altform-lightunplated_targetsize-256.png b/build/appx/Square44x44Logo.altform-lightunplated_targetsize-256.png new file mode 100644 index 0000000..5fc0108 Binary files /dev/null and b/build/appx/Square44x44Logo.altform-lightunplated_targetsize-256.png differ diff --git a/build/appx/Square44x44Logo.altform-lightunplated_targetsize-32.png b/build/appx/Square44x44Logo.altform-lightunplated_targetsize-32.png new file mode 100644 index 0000000..eeae2a7 Binary files /dev/null and b/build/appx/Square44x44Logo.altform-lightunplated_targetsize-32.png differ diff --git a/build/appx/Square44x44Logo.altform-lightunplated_targetsize-48.png b/build/appx/Square44x44Logo.altform-lightunplated_targetsize-48.png new file mode 100644 index 0000000..06db220 Binary files /dev/null and b/build/appx/Square44x44Logo.altform-lightunplated_targetsize-48.png differ diff --git a/build/appx/Square44x44Logo.altform-unplated_targetsize-16.png b/build/appx/Square44x44Logo.altform-unplated_targetsize-16.png new file mode 100644 index 0000000..365c13d Binary files /dev/null and b/build/appx/Square44x44Logo.altform-unplated_targetsize-16.png differ diff --git a/build/appx/Square44x44Logo.altform-unplated_targetsize-24.png b/build/appx/Square44x44Logo.altform-unplated_targetsize-24.png new file mode 100644 index 0000000..22731ca Binary files /dev/null and b/build/appx/Square44x44Logo.altform-unplated_targetsize-24.png differ diff --git a/build/appx/Square44x44Logo.altform-unplated_targetsize-256.png b/build/appx/Square44x44Logo.altform-unplated_targetsize-256.png new file mode 100644 index 0000000..5fc0108 Binary files /dev/null and b/build/appx/Square44x44Logo.altform-unplated_targetsize-256.png differ diff --git a/build/appx/Square44x44Logo.altform-unplated_targetsize-32.png b/build/appx/Square44x44Logo.altform-unplated_targetsize-32.png new file mode 100644 index 0000000..eeae2a7 Binary files /dev/null and b/build/appx/Square44x44Logo.altform-unplated_targetsize-32.png differ diff --git a/build/appx/Square44x44Logo.altform-unplated_targetsize-48.png b/build/appx/Square44x44Logo.altform-unplated_targetsize-48.png new file mode 100644 index 0000000..06db220 Binary files /dev/null and b/build/appx/Square44x44Logo.altform-unplated_targetsize-48.png differ diff --git a/build/appx/Square44x44Logo.scale-100.png b/build/appx/Square44x44Logo.scale-100.png new file mode 100644 index 0000000..4bea88b Binary files /dev/null and b/build/appx/Square44x44Logo.scale-100.png differ diff --git a/build/appx/Square44x44Logo.scale-125.png b/build/appx/Square44x44Logo.scale-125.png new file mode 100644 index 0000000..ca1287a Binary files /dev/null and b/build/appx/Square44x44Logo.scale-125.png differ diff --git a/build/appx/Square44x44Logo.scale-150.png b/build/appx/Square44x44Logo.scale-150.png new file mode 100644 index 0000000..13ca9a9 Binary files /dev/null and b/build/appx/Square44x44Logo.scale-150.png differ diff --git a/build/appx/Square44x44Logo.scale-200.png b/build/appx/Square44x44Logo.scale-200.png new file mode 100644 index 0000000..e7b1083 Binary files /dev/null and b/build/appx/Square44x44Logo.scale-200.png differ diff --git a/build/appx/Square44x44Logo.scale-400.png b/build/appx/Square44x44Logo.scale-400.png new file mode 100644 index 0000000..acb8f79 Binary files /dev/null and b/build/appx/Square44x44Logo.scale-400.png differ diff --git a/build/appx/Square44x44Logo.targetsize-16.png b/build/appx/Square44x44Logo.targetsize-16.png new file mode 100644 index 0000000..a1c719f Binary files /dev/null and b/build/appx/Square44x44Logo.targetsize-16.png differ diff --git a/build/appx/Square44x44Logo.targetsize-24.png b/build/appx/Square44x44Logo.targetsize-24.png new file mode 100644 index 0000000..92ede40 Binary files /dev/null and b/build/appx/Square44x44Logo.targetsize-24.png differ diff --git a/build/appx/Square44x44Logo.targetsize-256.png b/build/appx/Square44x44Logo.targetsize-256.png new file mode 100644 index 0000000..48ade0e Binary files /dev/null and b/build/appx/Square44x44Logo.targetsize-256.png differ diff --git a/build/appx/Square44x44Logo.targetsize-32.png b/build/appx/Square44x44Logo.targetsize-32.png new file mode 100644 index 0000000..cc2d508 Binary files /dev/null and b/build/appx/Square44x44Logo.targetsize-32.png differ diff --git a/build/appx/Square44x44Logo.targetsize-48.png b/build/appx/Square44x44Logo.targetsize-48.png new file mode 100644 index 0000000..0b19d76 Binary files /dev/null and b/build/appx/Square44x44Logo.targetsize-48.png differ diff --git a/build/appx/StoreLogo.scale-100.png b/build/appx/StoreLogo.scale-100.png new file mode 100644 index 0000000..4f03e70 Binary files /dev/null and b/build/appx/StoreLogo.scale-100.png differ diff --git a/build/appx/StoreLogo.scale-125.png b/build/appx/StoreLogo.scale-125.png new file mode 100644 index 0000000..64c3599 Binary files /dev/null and b/build/appx/StoreLogo.scale-125.png differ diff --git a/build/appx/StoreLogo.scale-150.png b/build/appx/StoreLogo.scale-150.png new file mode 100644 index 0000000..1ed4859 Binary files /dev/null and b/build/appx/StoreLogo.scale-150.png differ diff --git a/build/appx/StoreLogo.scale-200.png b/build/appx/StoreLogo.scale-200.png new file mode 100644 index 0000000..9f0b3fe Binary files /dev/null and b/build/appx/StoreLogo.scale-200.png differ diff --git a/build/appx/StoreLogo.scale-400.png b/build/appx/StoreLogo.scale-400.png new file mode 100644 index 0000000..73ef1f3 Binary files /dev/null and b/build/appx/StoreLogo.scale-400.png differ diff --git a/build/appx/WideTile.scale-100.png b/build/appx/WideTile.scale-100.png new file mode 100644 index 0000000..f288ce4 Binary files /dev/null and b/build/appx/WideTile.scale-100.png differ diff --git a/build/appx/WideTile.scale-125.png b/build/appx/WideTile.scale-125.png new file mode 100644 index 0000000..4d79a3d Binary files /dev/null and b/build/appx/WideTile.scale-125.png differ diff --git a/build/appx/WideTile.scale-150.png b/build/appx/WideTile.scale-150.png new file mode 100644 index 0000000..116790d Binary files /dev/null and b/build/appx/WideTile.scale-150.png differ diff --git a/build/appx/WideTile.scale-200.png b/build/appx/WideTile.scale-200.png new file mode 100644 index 0000000..59b374f Binary files /dev/null and b/build/appx/WideTile.scale-200.png differ diff --git a/build/appx/WideTile.scale-400.png b/build/appx/WideTile.scale-400.png new file mode 100644 index 0000000..a030fff Binary files /dev/null and b/build/appx/WideTile.scale-400.png differ diff --git a/build/icon.ico b/build/icon.ico new file mode 100644 index 0000000..ed57c31 Binary files /dev/null and b/build/icon.ico differ diff --git a/build/icon.png b/build/icon.png new file mode 100644 index 0000000..c987f24 Binary files /dev/null and b/build/icon.png differ diff --git a/dist/logo.svg b/dist/logo.svg new file mode 100644 index 0000000..52321e8 --- /dev/null +++ b/dist/logo.svg @@ -0,0 +1,61 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + F + + + diff --git a/dist/styles.css b/dist/styles.css index 2d3b238..27bd1b7 100644 --- a/dist/styles.css +++ b/dist/styles.css @@ -188,6 +188,7 @@ nav.menu-on .btn-group .btn.system, nav.item-on .btn-group .btn.system { font-size: 12px; color: #797775; margin: 2px 8px; + user-select: none; } .settings-container { @@ -256,6 +257,13 @@ img.favicon { font-size: 12px; color: #605e5c; } +.settings-about { + margin: 72px 0; +} +.settings-about > * { + margin: 0 !important; + -webkit-user-drag: none; +} .main { height: calc(100% - 32px); @@ -422,6 +430,10 @@ img.favicon { overflow: hidden scroll; position: relative; } +.list-feed > div.load-more-wrapper { + text-align: center; + padding: 16px 0; +} .cards-feed-container { display: inline-flex; @@ -596,6 +608,7 @@ img.favicon { } .list-card .info { margin: 8px 10px; + height: 16px; } .list-card h3.title { font-size: 14px; diff --git a/package.json b/package.json index 331f46e..4a3012e 100644 --- a/package.json +++ b/package.json @@ -1,16 +1,38 @@ { - "name": "rss-reader", - "version": "1.0.0", - "description": "", - "main": "index.js", + "name": "fluent-reader", + "version": "0.1.0", + "description": "A simplistic, modern desktop RSS reader", + "main": "./dist/electron.js", "scripts": { "build": "webpack --config ./webpack.config.js", "electron": "electron ./dist/electron.js", - "start": "npm run build && npm run electron" + "start": "npm run build && npm run electron", + "package-win": "electron-builder --win --x64" }, "keywords": [], - "author": "", - "license": "ISC", + "author": "Haoyuan Liu", + "license": "BSD", + "build": { + "appId": "me.hyliu.fluentreader", + "productName": "Fluent Reader", + "copyright": "Copyright © 2020 Haoyuan Liu", + "files": "./dist/**/*", + "directories": { + "output": "./bin/" + }, + "win": { + "target": ["nsis", "appx"] + }, + "appx": { + "applicationId": "FluentReader", + "identityName": "25286HaoyuanLiu.FluentReader", + "publisher": "CN=FD70E7FA-E5AC-41C4-B9C4-6E8708A6616A", + "backgroundColor": "transparent", + "languages": ["zh-CN", "en-US"], + "showNameOnTiles": true, + "setBuildNumber": true + } + }, "devDependencies": { "@fluentui/react": "^7.115.3", "@types/nedb": "^1.8.9", @@ -23,6 +45,7 @@ "@yang991178/electron-proxy-agent": "^1.2.1", "@yang991178/rss-parser": "^3.8.1", "electron": "^8.3.0", + "electron-builder": "^22.7.0", "electron-react-devtools": "^0.5.3", "electron-window-state": "^5.0.3", "favicon": "0.0.2", diff --git a/src/components/feeds/list-feed.tsx b/src/components/feeds/list-feed.tsx index b1b5ecb..5455607 100644 --- a/src/components/feeds/list-feed.tsx +++ b/src/components/feeds/list-feed.tsx @@ -1,6 +1,6 @@ import * as React from "react" import { FeedProps } from "./feed" -import { PrimaryButton } from 'office-ui-fabric-react'; +import { DefaultButton } from 'office-ui-fabric-react'; import ListCard from "../cards/list-card"; class ListFeed extends React.Component { @@ -21,7 +21,7 @@ class ListFeed extends React.Component { } { (this.props.feed.loaded && !this.props.feed.allLoaded) - ?
this.props.loadMore(this.props.feed)} />
diff --git a/src/components/settings/about.tsx b/src/components/settings/about.tsx index d3abe70..4e760df 100644 --- a/src/components/settings/about.tsx +++ b/src/components/settings/about.tsx @@ -1,9 +1,20 @@ import * as React from "react" +import { Stack, Link } from "@fluentui/react" +import { openExternal } from "../../scripts/utils" class AboutTab extends React.Component { render = () => (
-

RSS Reader v0.1.0

+ + +

Fluent Reader

+ 版本 0.1.0 +

Copyright © 2020 Haoyuan Liu. All rights reserved.

+ + openExternal("https://github.com/yang991178/fluent-reader")}>开源项目 + openExternal("https://github.com/yang991178/fluent-reader/issues")}>反馈 + +
) } diff --git a/src/electron.ts b/src/electron.ts index dd6acd6..28ee58f 100644 --- a/src/electron.ts +++ b/src/electron.ts @@ -10,6 +10,7 @@ function createWindow() { }) // Create the browser window. mainWindow = new BrowserWindow({ + title: "Fluent Reader", backgroundColor: "#faf9f8", x: mainWindowState.x, y: mainWindowState.y, @@ -26,7 +27,7 @@ function createWindow() { }) mainWindowState.manage(mainWindow) // and load the index.html of the app. - mainWindow.loadFile('index.html') + mainWindow.loadFile((app.isPackaged ? "dist/" : "") + 'index.html') mainWindow.webContents.openDevTools() } diff --git a/src/index.html b/src/index.html index 0b72c16..63237d4 100644 --- a/src/index.html +++ b/src/index.html @@ -3,7 +3,7 @@ - Hello World! + Fluent Reader diff --git a/webpack.config.js b/webpack.config.js index 91a95dc..0ba253e 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -18,7 +18,7 @@ module.exports = [ } }, { - mode: 'development', + mode: 'production', entry: './src/index.tsx', target: 'electron-renderer', devtool: 'source-map',