992fc54160
* first pass of a subscription management page under settings * add tabs to settings ui * NymActionDropdown * update Apollo InMemoryCache to merge paginated list of my subscribed users * various updates * switch from UsersNullable to Users * bake the nym action dropdwon into the user component * add back fields to the user query * `meSubscriptionPosts`, `meSubscriptionComments`, `meMute` * Refetch my subscribed users when a user subscription is changed * update user list to hide stats in the subscribed list users * update my sub'd users fragment to remove unnecessary user fields * memoize subscribe user context provider value to avoid re-renders * use inner join instead of left join Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * throw error when unauthenticated Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: Keyan <34140557+huumn@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
32 lines
1.2 KiB
JavaScript
32 lines
1.2 KiB
JavaScript
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 (
|
|
<Layout>
|
|
<div className='pb-3 w-100 mt-2'>
|
|
<SettingsHeader />
|
|
<div className='mb-4 text-muted'>These here are stackers you've hitched your wagon to, pardner.</div>
|
|
<SubscribeUserContextProvider value={subscribeUserContextValue}>
|
|
<UserList
|
|
ssrData={ssrData} query={MY_SUBSCRIBED_USERS}
|
|
destructureData={data => data.mySubscribedUsers}
|
|
variables={{}}
|
|
rank
|
|
nymActionDropdown
|
|
statCompsProp={[]}
|
|
/>
|
|
</SubscribeUserContextProvider>
|
|
</div>
|
|
</Layout>
|
|
)
|
|
}
|