(sub.optional.revenue !== null && {abbrNum(sub.optional.revenue)} revenue)
@@ -35,16 +37,17 @@ function separate (arr, separator) {
return arr.flatMap((x, i) => i < arr.length - 1 ? [x, separator] : [x])
}
-export default function TerritoryList ({ ssrData, query, variables, destructureData, rank }) {
+export default function TerritoryList ({ ssrData, query, variables, destructureData, rank, subActionDropdown, statCompsProp = STAT_COMPONENTS }) {
const { data, fetchMore } = useQuery(query, { variables })
const dat = useData(data, ssrData)
- const [statComps, setStatComps] = useState(separate(STAT_COMPONENTS, Separator))
+ const { me } = useMe()
+ const [statComps, setStatComps] = useState(separate(statCompsProp, Separator))
useEffect(() => {
// shift the stat we are sorting by to the front
- const comps = [...STAT_COMPONENTS]
+ const comps = [...statCompsProp]
setStatComps(separate([...comps.splice(STAT_POS[variables?.by || 0], 1), ...comps], Separator))
- }, [variables?.by])
+ }, [variables?.by], statCompsProp)
const { subs, cursor } = useMemo(() => {
if (!dat) return {}
@@ -77,6 +80,12 @@ export default function TerritoryList ({ ssrData, query, variables, destructureD
{sub.name}
+ {me && subActionDropdown && (
+
+
+
+
+ )}
{statComps.map((Comp, i) => )}
diff --git a/fragments/users.js b/fragments/users.js
index adabbe0f..c2df7f81 100644
--- a/fragments/users.js
+++ b/fragments/users.js
@@ -216,25 +216,6 @@ export const USER_FIELDS = gql`
...StreakFields
}`
-export const MY_SUBSCRIBED_USERS = gql`
- ${STREAK_FIELDS}
- query MySubscribedUsers($cursor: String) {
- mySubscribedUsers(cursor: $cursor) {
- users {
- id
- name
- photoId
- meSubscriptionPosts
- meSubscriptionComments
- meMute
-
- ...StreakFields
- }
- cursor
- }
- }
-`
-
export const MY_MUTED_USERS = gql`
${STREAK_FIELDS}
query MyMutedUsers($cursor: String) {
@@ -390,3 +371,33 @@ export const USER_STATS = gql`
}
}
}`
+
+export const MY_SUBSCRIBED_USERS = gql`
+ ${STREAK_FIELDS}
+ query MySubscribedUsers($cursor: String) {
+ mySubscribedUsers(cursor: $cursor) {
+ users {
+ id
+ name
+ photoId
+ meSubscriptionPosts
+ meSubscriptionComments
+ meMute
+ ...StreakFields
+ }
+ cursor
+ }
+ }
+`
+
+export const MY_SUBSCRIBED_SUBS = gql`
+ ${SUB_FULL_FIELDS}
+ query MySubscribedSubs($cursor: String) {
+ mySubscribedSubs(cursor: $cursor) {
+ subs {
+ ...SubFullFields
+ }
+ cursor
+ }
+ }
+`
diff --git a/pages/[name]/territories.js b/pages/[name]/territories.js
index bf0f7627..e005f0b9 100644
--- a/pages/[name]/territories.js
+++ b/pages/[name]/territories.js
@@ -25,6 +25,7 @@ export default function UserTerritories ({ ssrData }) {
query={USER_WITH_SUBS}
variables={variables}
destructureData={data => data.userSubs}
+ subActionDropdown
rank
/>
diff --git a/pages/settings/index.js b/pages/settings/index.js
index 5ad2f813..cf3b2c6f 100644
--- a/pages/settings/index.js
+++ b/pages/settings/index.js
@@ -68,7 +68,7 @@ export function SettingsHeader () {
-
+
subscriptions
diff --git a/pages/settings/subscriptions/index.js b/pages/settings/subscriptions/index.js
deleted file mode 100644
index f3d070c1..00000000
--- a/pages/settings/subscriptions/index.js
+++ /dev/null
@@ -1,31 +0,0 @@
-import { useMemo } from 'react'
-import { getGetServerSideProps } from '@/api/ssrApollo'
-import Layout from '@/components/layout'
-import UserList from '@/components/user-list'
-import { MY_SUBSCRIBED_USERS } from '@/fragments/users'
-import { SettingsHeader } from '../index'
-import { SubscribeUserContextProvider } from '@/components/subscribeUser'
-
-export const getServerSideProps = getGetServerSideProps({ query: MY_SUBSCRIBED_USERS, authRequired: true })
-
-export default function MySubscribedUsers ({ ssrData }) {
- const subscribeUserContextValue = useMemo(() => ({ refetchQueries: ['MySubscribedUsers'] }), [])
- return (
-
-
-
-
These here are stackers you've hitched your wagon to, pardner.
-
- data.mySubscribedUsers}
- variables={{}}
- rank
- nymActionDropdown
- statCompsProp={[]}
- />
-
-
-
- )
-}
diff --git a/pages/settings/subscriptions/stackers.js b/pages/settings/subscriptions/stackers.js
new file mode 100644
index 00000000..cd5519bd
--- /dev/null
+++ b/pages/settings/subscriptions/stackers.js
@@ -0,0 +1,55 @@
+import { useMemo } from 'react'
+import { getGetServerSideProps } from '@/api/ssrApollo'
+import Layout from '@/components/layout'
+import { Select } from '@/components/form'
+import UserList from '@/components/user-list'
+import { MY_SUBSCRIBED_USERS } from '@/fragments/users'
+import { SettingsHeader } from '../index'
+import { SubscribeUserContextProvider } from '@/components/subscribeUser'
+import { useRouter } from 'next/router'
+
+export const getServerSideProps = getGetServerSideProps({
+ query: MY_SUBSCRIBED_USERS,
+ authRequired: true
+})
+
+export function SubscriptionLayout ({ subType, children }) {
+ const router = useRouter()
+
+ return (
+
+
+
+
+
+ )
+}
+
+export default function MySubscribedUsers ({ ssrData }) {
+ const subscribeContextValue = useMemo(() => ({ refetchQueries: ['MySubscribedUsers'] }), [])
+ return (
+
+
+ data.mySubscribedUsers}
+ variables={{}}
+ rank
+ nymActionDropdown
+ statCompsProp={[]}
+ />
+
+
+ )
+}
diff --git a/pages/settings/subscriptions/territories.js b/pages/settings/subscriptions/territories.js
new file mode 100644
index 00000000..183f298d
--- /dev/null
+++ b/pages/settings/subscriptions/territories.js
@@ -0,0 +1,30 @@
+import { useMemo } from 'react'
+import { getGetServerSideProps } from '@/api/ssrApollo'
+import { MY_SUBSCRIBED_SUBS } from '@/fragments/users'
+import TerritoryList from '@/components/territory-list'
+import { SubscribeTerritoryContextProvider } from '@/components/territory-header'
+import { SubscriptionLayout } from './stackers'
+
+export const getServerSideProps = getGetServerSideProps({
+ query: MY_SUBSCRIBED_SUBS,
+ authRequired: true
+})
+
+export default function MySubscribedSubs ({ ssrData }) {
+ const subscribeContextValue = useMemo(() => ({ refetchQueries: ['MySubscribedSubs'] }), [])
+ return (
+
+
+ data.mySubscribedSubs}
+ rank
+ subActionDropdown
+ statCompsProp={[]}
+ />
+
+
+ )
+}