From d6e19410d023b1bf30babe52fdcd65d0729c1ddf Mon Sep 17 00:00:00 2001 From: SrGooglo Date: Sat, 19 Nov 2022 04:56:13 +0000 Subject: [PATCH 01/10] added `sidebar.floating` setting --- packages/app/constants/defaultSettings.json | 1 + packages/app/constants/settings/apparence/index.jsx | 10 ++++++++++ 2 files changed, 11 insertions(+) diff --git a/packages/app/constants/defaultSettings.json b/packages/app/constants/defaultSettings.json index 01c80cd2..291e27d4 100755 --- a/packages/app/constants/defaultSettings.json +++ b/packages/app/constants/defaultSettings.json @@ -15,6 +15,7 @@ "postCard_expansible_actions": true, "feed_max_fetch": 20, "style.compactMode": false, + "sidebar.floating": false, "language": "en", "sidebarKeys": [ "home", diff --git a/packages/app/constants/settings/apparence/index.jsx b/packages/app/constants/settings/apparence/index.jsx index 1930e996..a9b50ff1 100755 --- a/packages/app/constants/settings/apparence/index.jsx +++ b/packages/app/constants/settings/apparence/index.jsx @@ -16,6 +16,16 @@ export default [ "experimental": true, "storaged": true }, + { + "id": "sidebar.floating", + "title": "Floating Sidebar", + "description": "Make the sidebar floats over layout content.", + "component": "Switch", + "icon": "MdOutlineLastPage", + "group": "layout", + "emitEvent": "layout.forceUpdate", + "storaged": true + }, { "id": "reduceAnimations", "storaged": true, From f38aa4530d82e45f265b78954dfa3ecbab8d9fb2 Mon Sep 17 00:00:00 2001 From: SrGooglo Date: Sat, 19 Nov 2022 04:56:24 +0000 Subject: [PATCH 02/10] fix font-size --- .../app/src/components/PostCard/components/header/index.less | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/app/src/components/PostCard/components/header/index.less b/packages/app/src/components/PostCard/components/header/index.less index f6ea2969..b95e579c 100755 --- a/packages/app/src/components/PostCard/components/header/index.less +++ b/packages/app/src/components/PostCard/components/header/index.less @@ -49,6 +49,7 @@ margin: 0; font-family: "DM Mono", monospace; align-self: start; + font-size: 1rem; cursor: pointer; } From 46f0fc058cc781161b9f67570363f9c44d15b136 Mon Sep 17 00:00:00 2001 From: SrGooglo Date: Sat, 19 Nov 2022 04:56:42 +0000 Subject: [PATCH 03/10] added `layout.forceUpdate` event --- packages/app/src/layout.jsx | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/app/src/layout.jsx b/packages/app/src/layout.jsx index b43ba3f6..952b977a 100755 --- a/packages/app/src/layout.jsx +++ b/packages/app/src/layout.jsx @@ -25,6 +25,9 @@ export default class Layout extends React.PureComponent { "app.initialization.finish": () => { app.eventBus.emit("layout.render.unlock") }, + "layout.forceUpdate": () => { + this.forceUpdate() + }, "layout.render.lock": () => { this.setState({ renderLock: true, From d793df1d40eaa4b052b80b18ad439a64a4dad05a Mon Sep 17 00:00:00 2001 From: SrGooglo Date: Sat, 19 Nov 2022 04:56:56 +0000 Subject: [PATCH 04/10] added `floating` mode --- packages/app/src/components/Layout/sidebar/index.jsx | 1 + packages/app/src/components/Layout/sidebar/index.less | 4 ++++ packages/app/src/components/Layout/sidedrawer/index.jsx | 7 ++++++- packages/app/src/components/Layout/sidedrawer/index.less | 6 ++++++ 4 files changed, 17 insertions(+), 1 deletion(-) diff --git a/packages/app/src/components/Layout/sidebar/index.jsx b/packages/app/src/components/Layout/sidebar/index.jsx index 21a73d15..449cf49c 100755 --- a/packages/app/src/components/Layout/sidebar/index.jsx +++ b/packages/app/src/components/Layout/sidebar/index.jsx @@ -227,6 +227,7 @@ export default class Sidebar extends React.Component { classnames( "app_sidebar", { + ["floating"]: window.app?.settings.get("sidebar.floating"), ["collapsed"]: this.state.visible && this.state.collapsed, ["elevated"]: this.state.visible && this.state.elevated, ["hidden"]: !this.state.visible, diff --git a/packages/app/src/components/Layout/sidebar/index.less b/packages/app/src/components/Layout/sidebar/index.less index 05a4518e..b81306b2 100755 --- a/packages/app/src/components/Layout/sidebar/index.less +++ b/packages/app/src/components/Layout/sidebar/index.less @@ -25,6 +25,10 @@ border-radius: 0 @app_sidebar_borderRadius @app_sidebar_borderRadius 0; border: 1px solid var(--sidebar-background-color); + &.floating { + position: absolute; + } + &.collapsed { width: 80px; min-width: 80px; diff --git a/packages/app/src/components/Layout/sidedrawer/index.jsx b/packages/app/src/components/Layout/sidedrawer/index.jsx index 1285ac7c..da85c3d5 100755 --- a/packages/app/src/components/Layout/sidedrawer/index.jsx +++ b/packages/app/src/components/Layout/sidedrawer/index.jsx @@ -224,7 +224,12 @@ export default class SidedrawerController extends React.Component { render() { return
{this.state.drawers}
diff --git a/packages/app/src/components/Layout/sidedrawer/index.less b/packages/app/src/components/Layout/sidedrawer/index.less index 88528d52..fe5c5153 100755 --- a/packages/app/src/components/Layout/sidedrawer/index.less +++ b/packages/app/src/components/Layout/sidedrawer/index.less @@ -3,6 +3,12 @@ .sidedrawers-wrapper { display: flex; flex-direction: row; + + &.floating-sidebar { + z-index: 950; + position: absolute; + margin-left: @app_sidebar_collapsed_width; + } .sidedrawer { position: relative; From 89996f155ea847ab005f6cd1a577764722b71c8c Mon Sep 17 00:00:00 2001 From: SrGooglo Date: Sat, 19 Nov 2022 04:57:21 +0000 Subject: [PATCH 05/10] implement `sidebar.floating` --- packages/app/src/layouts/default/index.jsx | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/packages/app/src/layouts/default/index.jsx b/packages/app/src/layouts/default/index.jsx index 0bf7866d..b562a4be 100755 --- a/packages/app/src/layouts/default/index.jsx +++ b/packages/app/src/layouts/default/index.jsx @@ -12,13 +12,18 @@ export default (props) => { - - -
- {React.cloneElement(props.children, props)} -
-
-
+ +
+ {React.cloneElement(props.children, props)} +
+
-} +} \ No newline at end of file From 85a2c6738824e3eb5efc59313a10d091b6e1fbdb Mon Sep 17 00:00:00 2001 From: SrGooglo Date: Sat, 19 Nov 2022 04:57:25 +0000 Subject: [PATCH 06/10] update theme --- packages/app/src/theme/index.less | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/packages/app/src/theme/index.less b/packages/app/src/theme/index.less index e917bed7..45f4aacd 100755 --- a/packages/app/src/theme/index.less +++ b/packages/app/src/theme/index.less @@ -160,30 +160,29 @@ html { } } -.ant-layout, .content_layout { - width: 100%; - height: 100%; - max-height: 100vh; - - background-color: transparent; -} - -.layout_page { position: relative; -webkit-overflow-scrolling: touch; - + height: 100%; + width: 100%; + max-height: 100vh; padding: 10px; - + overflow-x: hidden; overflow-y: overlay; - + transition: all 150ms ease-in-out; margin: var(--layoutMargin); padding: var(--layoutPadding); + + background-color: transparent; + + &.floating-sidebar { + margin-left: @app_sidebar_collapsed_width; + } } .app_background_decorator { From ba364c717eff95e3c6aec06c5aa870288811b36a Mon Sep 17 00:00:00 2001 From: SrGooglo Date: Sat, 19 Nov 2022 04:58:47 +0000 Subject: [PATCH 07/10] added `app.reload` event --- packages/app/src/App.jsx | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/app/src/App.jsx b/packages/app/src/App.jsx index e1424da1..106c9b41 100755 --- a/packages/app/src/App.jsx +++ b/packages/app/src/App.jsx @@ -123,6 +123,9 @@ class App extends React.Component { window.electron.ipcRenderer.invoke("app.minimize") } }, + "app.reload": () => { + window.location.reload() + }, "app.openSearcher": () => { App.publicMethods.openSearcher() }, From 7abe3049bd5cb0f81f988a93836fe8679747bc3e Mon Sep 17 00:00:00 2001 From: SrGooglo Date: Sat, 19 Nov 2022 05:05:11 +0000 Subject: [PATCH 08/10] added `app.softReload` event --- packages/app/src/App.jsx | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/packages/app/src/App.jsx b/packages/app/src/App.jsx index 106c9b41..2ee176f9 100755 --- a/packages/app/src/App.jsx +++ b/packages/app/src/App.jsx @@ -126,6 +126,12 @@ class App extends React.Component { "app.reload": () => { window.location.reload() }, + "app.softReload": () => { + this.forceUpdate() + + app.eventBus.emit("layout.forceUpdate") + app.eventBus.emit("router.forceUpdate") + }, "app.openSearcher": () => { App.publicMethods.openSearcher() }, From c789dfdda9d0f122d589d0dbf387178ad9982eb5 Mon Sep 17 00:00:00 2001 From: SrGooglo Date: Sat, 19 Nov 2022 05:05:34 +0000 Subject: [PATCH 09/10] emit `app.softReload` on `sidebar.floating` change --- packages/app/constants/settings/apparence/index.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/app/constants/settings/apparence/index.jsx b/packages/app/constants/settings/apparence/index.jsx index a9b50ff1..e9a67dd0 100755 --- a/packages/app/constants/settings/apparence/index.jsx +++ b/packages/app/constants/settings/apparence/index.jsx @@ -23,7 +23,7 @@ export default [ "component": "Switch", "icon": "MdOutlineLastPage", "group": "layout", - "emitEvent": "layout.forceUpdate", + "emitEvent": "app.softReload", "storaged": true }, { From a051f41f286449fb7996115578fa79d03c52c735 Mon Sep 17 00:00:00 2001 From: SrGooglo Date: Sat, 19 Nov 2022 05:05:51 +0000 Subject: [PATCH 10/10] fix `dispatchUpdate` event emitter behavior --- packages/app/src/components/Settings/index.jsx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/app/src/components/Settings/index.jsx b/packages/app/src/components/Settings/index.jsx index a14c7f41..63ff4c49 100755 --- a/packages/app/src/components/Settings/index.jsx +++ b/packages/app/src/components/Settings/index.jsx @@ -91,6 +91,10 @@ const SettingItem = (props) => { } } + if (item.storaged) { + await window.app.settings.set(item.id, updateValue) + } + if (typeof item.emitEvent === "string") { let emissionPayload = updateValue @@ -105,10 +109,6 @@ const SettingItem = (props) => { return false } - if (item.storaged) { - await window.app.settings.set(item.id, updateValue) - } - if (item.debounced) { setDelayedValue(null) }