From 339373b495f5f30833268c01d1fe958e2ee99a7f Mon Sep 17 00:00:00 2001
From: taehoon
Date: Wed, 13 Feb 2019 22:59:00 -0500
Subject: Improve chaining hocs using vue-compose
---
src/components/user_settings/user_settings.js | 33 +++++++++++++++------------
1 file changed, 19 insertions(+), 14 deletions(-)
(limited to 'src/components/user_settings/user_settings.js')
diff --git a/src/components/user_settings/user_settings.js b/src/components/user_settings/user_settings.js
index 21023841..5ad7c46f 100644
--- a/src/components/user_settings/user_settings.js
+++ b/src/components/user_settings/user_settings.js
@@ -1,3 +1,4 @@
+import { compose } from 'vue-compose'
import unescape from 'lodash/unescape'
import get from 'lodash/get'
@@ -10,19 +11,23 @@ import MuteCard from '../mute_card/mute_card.vue'
import withSubscription from '../../hocs/with_subscription/with_subscription'
import withList from '../../hocs/with_list/with_list'
-const BlockList = withList({ getEntryProps: userId => ({ userId }) })(BlockCard)
-const BlockListWithSubscription = withSubscription({
- fetch: (props, $store) => $store.dispatch('fetchBlocks'),
- select: (props, $store) => get($store.state.users.currentUser, 'blockIds', []),
- contentPropName: 'entries'
-})(BlockList)
+const BlockList = compose(
+ withSubscription({
+ fetch: (props, $store) => $store.dispatch('fetchBlocks'),
+ select: (props, $store) => get($store.state.users.currentUser, 'blockIds', []),
+ contentPropName: 'entries'
+ }),
+ withList({ getEntryProps: userId => ({ userId }) })
+)(BlockCard)
-const MuteList = withList({ getEntryProps: userId => ({ userId }) })(MuteCard)
-const MuteListWithSubscription = withSubscription({
- fetch: (props, $store) => $store.dispatch('fetchMutes'),
- select: (props, $store) => get($store.state.users.currentUser, 'muteIds', []),
- contentPropName: 'entries'
-})(MuteList)
+const MuteList = compose(
+ withSubscription({
+ fetch: (props, $store) => $store.dispatch('fetchMutes'),
+ select: (props, $store) => get($store.state.users.currentUser, 'muteIds', []),
+ contentPropName: 'entries'
+ }),
+ withList({ getEntryProps: userId => ({ userId }) })
+)(MuteCard)
const UserSettings = {
data () {
@@ -61,8 +66,8 @@ const UserSettings = {
StyleSwitcher,
TabSwitcher,
ImageCropper,
- 'block-list': BlockListWithSubscription,
- 'mute-list': MuteListWithSubscription
+ BlockList,
+ MuteList
},
computed: {
user () {
--
cgit v1.2.3-70-g09d2