Skip to content

Commit

Permalink
clients/web: remove admin org member concept
Browse files Browse the repository at this point in the history
  • Loading branch information
frankie567 committed Jul 18, 2024
1 parent 3e17abe commit 3c569cb
Show file tree
Hide file tree
Showing 27 changed files with 133 additions and 203 deletions.
27 changes: 13 additions & 14 deletions clients/apps/web/src/app/(topbar)/layout.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -11,25 +11,24 @@ export default async function Layout({
}) {
const api = getServerSideAPI()
let authenticatedUser: UserRead | undefined
let userAdminOrganizations: ListResourceOrganization | undefined
let userOrganizations: ListResourceOrganization | undefined

try {
const [loadAuthenticatedUser, loadUserAdminOrganizations] =
await Promise.all([
api.users.getAuthenticated({ cache: 'no-store' }).catch(() => {
const [loadAuthenticatedUser, loadUserOrganizations] = await Promise.all([
api.users.getAuthenticated({ cache: 'no-store' }).catch(() => {
// Handle unauthenticated
return undefined
}),
// No caching, as we're expecting immediate updates to the response if the user converts to a maintainer
api.organizations
.list({ isMember: true }, { cache: 'no-store' })
.catch(() => {
// Handle unauthenticated
return undefined
}),
// No caching, as we're expecting immediate updates to the response if the user converts to a maintainer
api.organizations
.list({ isMember: true }, { cache: 'no-store' })
.catch(() => {
// Handle unauthenticated
return undefined
}),
])
])
authenticatedUser = loadAuthenticatedUser
userAdminOrganizations = loadUserAdminOrganizations
userOrganizations = loadUserOrganizations
} catch (e) {
notFound()
}
Expand All @@ -38,7 +37,7 @@ export default async function Layout({
<div className="flex flex-col md:gap-y-8">
<Topbar
authenticatedUser={authenticatedUser}
userAdminOrganizations={userAdminOrganizations?.items ?? []}
userOrganizations={userOrganizations?.items ?? []}
/>
<PublicLayout showUpsellFooter={!authenticatedUser} wide>
<div className="relative flex min-h-screen w-full flex-col py-4 md:py-0">
Expand Down
26 changes: 13 additions & 13 deletions clients/apps/web/src/app/[organization]/(sidebar)/ClientPage.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ const ClientPage = ({
featuredOrganizations,
repositories,
featuredProjects,
adminOrganizations,
userOrganizations,
issues,
links,
donations,
Expand All @@ -50,16 +50,16 @@ const ClientPage = ({
featuredOrganizations: Organization[]
repositories: Repository[]
featuredProjects: Repository[]
adminOrganizations: Organization[]
userOrganizations: Organization[]
issues: IssueFunding[]
links: LinkItem[]
donations: PublicDonation[]
}) => {
useTrafficRecordPageView({ organization })

const isAdmin = useMemo(
() => adminOrganizations?.some((org) => org.id === organization.id),
[organization, adminOrganizations],
const isOrgMember = useMemo(
() => userOrganizations?.some((org) => org.id === organization.id),
[organization, userOrganizations],
)

const updateOrganizationMutation = useUpdateOrganization()
Expand Down Expand Up @@ -90,7 +90,7 @@ const ClientPage = ({
}

const PostsEmptyState = () => {
return isAdmin ? (
return isOrgMember ? (
<div className="flex flex-col gap-y-6">
<p className="dark:text-polar-500 text-gray-500">
Build out an audience by writing posts and share it with your
Expand Down Expand Up @@ -118,7 +118,7 @@ const ClientPage = ({
<div className="flex w-full flex-col gap-y-24">
<div className="flex flex-col gap-24 lg:flex-row lg:gap-16">
<div className="flex w-full min-w-0 flex-shrink flex-col gap-y-16 md:max-w-xl xl:max-w-3xl">
{isAdmin && !organization.has_app_installed && (
{isOrgMember && !organization.has_app_installed && (
<GitHubAppUpsell organization={organization} />
)}

Expand Down Expand Up @@ -155,7 +155,7 @@ const ClientPage = ({
<div className="flex w-full flex-col lg:hidden">
<HighlightedTiersEditor
organization={organization}
adminOrganizations={adminOrganizations}
userOrganizations={userOrganizations}
products={products}
/>
</div>
Expand All @@ -166,15 +166,15 @@ const ClientPage = ({
organization={organization}
repositories={repositories}
featuredRepositories={featuredProjects}
disabled={!isAdmin}
disabled={!isOrgMember}
/>
) : null}

<CreatorsEditor
organization={organization}
featuredOrganizations={featuredOrganizations}
onChange={updateFeaturedCreators}
disabled={!isAdmin}
disabled={!isOrgMember}
/>

{organization.donations_enabled && (
Expand All @@ -187,7 +187,7 @@ const ClientPage = ({
<LinksEditor
links={links}
onChange={updateLinks}
disabled={!isAdmin}
disabled={!isOrgMember}
variant="column"
/>
</div>
Expand All @@ -205,7 +205,7 @@ const ClientPage = ({
{organization.feature_settings?.subscriptions_enabled && (
<HighlightedTiersEditor
organization={organization}
adminOrganizations={adminOrganizations}
userOrganizations={userOrganizations}
products={products}
/>
)}
Expand All @@ -217,7 +217,7 @@ const ClientPage = ({
<LinksEditor
links={links}
onChange={updateLinks}
disabled={!isAdmin}
disabled={!isOrgMember}
variant="column"
/>
</div>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,13 @@ import Checkout from './Checkout'

const ClientPage = ({
organization,
adminOrganizations,
userOrganizations,
products,
defaultAmount,
issue,
}: {
organization: Organization
adminOrganizations: Organization[]
userOrganizations: Organization[]
products: Product[]
defaultAmount: number
issue: Issue | undefined
Expand Down Expand Up @@ -65,7 +65,7 @@ const ClientPage = ({
<div className="hidden w-full flex-col gap-y-16 md:max-w-52 lg:flex lg:max-w-72">
<HighlightedTiersEditor
organization={organization}
adminOrganizations={adminOrganizations}
userOrganizations={userOrganizations}
products={products}
/>
</div>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -81,12 +81,12 @@ export default async function Page({
notFound()
}

let listAdminOrganizations: ListResourceOrganization | undefined
let listUserOrganizations: ListResourceOrganization | undefined
let products: ListResourceProduct | undefined
let issue: Issue | undefined

try {
const [loadListAdminOrganizations, loadSubscriptionTiers, loadIssue] =
const [loadListUserOrganizations, loadSubscriptionTiers, loadIssue] =
await Promise.all([
api.organizations
.list(
Expand Down Expand Up @@ -121,7 +121,7 @@ export default async function Page({
: Promise.resolve(undefined),
])

listAdminOrganizations = loadListAdminOrganizations
listUserOrganizations = loadListUserOrganizations
products = loadSubscriptionTiers
issue = loadIssue
} catch (e) {
Expand All @@ -136,7 +136,7 @@ export default async function Page({
return (
<ClientPage
organization={organization}
adminOrganizations={listAdminOrganizations?.items ?? []}
userOrganizations={listUserOrganizations?.items ?? []}
products={products?.items ?? []}
defaultAmount={parseInt(amount ?? '2000')}
issue={issue}
Expand Down
12 changes: 6 additions & 6 deletions clients/apps/web/src/app/[organization]/(sidebar)/layout.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ export default async function Layout({

let authenticatedUser: UserRead | undefined
let organizationCustomers: ListResourceOrganizationCustomer | undefined
let userAdminOrganizations: ListResourceOrganization | undefined
let userOrganizations: ListResourceOrganization | undefined
let products: ListResourceProduct | undefined

const organization = await getOrganizationBySlug(api, params.organization, {
Expand All @@ -49,7 +49,7 @@ export default async function Layout({
try {
const [
loadAuthenticatedUser,
loadUserAdminOrganizations,
loadUserOrganizations,
loadSubscriptionTiers,
] = await Promise.all([
api.users.getAuthenticated({ cache: 'no-store' }).catch(() => {
Expand Down Expand Up @@ -79,7 +79,7 @@ export default async function Layout({
])

authenticatedUser = loadAuthenticatedUser
userAdminOrganizations = loadUserAdminOrganizations
userOrganizations = loadUserOrganizations
products = loadSubscriptionTiers
} catch (e) {
notFound()
Expand Down Expand Up @@ -116,14 +116,14 @@ export default async function Layout({
</a>
<PolarMenu
authenticatedUser={authenticatedUser}
userAdminOrganizations={userAdminOrganizations?.items ?? []}
userOrganizations={userOrganizations?.items ?? []}
/>
</div>
<div className="relative flex w-fit flex-shrink-0 flex-col justify-between py-8 md:sticky md:top-0 md:py-16">
<OrganizationPublicSidebar
organizationCustomers={organizationCustomers}
organization={organization}
userAdminOrganizations={userAdminOrganizations?.items ?? []}
userOrganizations={userOrganizations?.items ?? []}
products={products?.items ?? []}
/>
</div>
Expand All @@ -140,7 +140,7 @@ export default async function Layout({
<div className="ml-auto hidden flex-row md:flex">
<PolarMenu
authenticatedUser={authenticatedUser}
userAdminOrganizations={userAdminOrganizations?.items ?? []}
userOrganizations={userOrganizations?.items ?? []}
/>
</div>
</div>
Expand Down
8 changes: 4 additions & 4 deletions clients/apps/web/src/app/[organization]/(sidebar)/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ export default async function Page({
let articles: ListResourceArticle | undefined
let products: ListResourceProduct | undefined
let repositories: ListResourceRepository | undefined
let listAdminOrganizations: ListResourceOrganization | undefined
let listUserOrganizations: ListResourceOrganization | undefined
let listIssueFunding: ListResourceIssueFunding | undefined
let donations: ListResourcePublicDonation | undefined

Expand All @@ -119,7 +119,7 @@ export default async function Page({
loadPinnedArticles,
loadProducts,
loadRepositories,
loadListAdminOrganizations,
loadListUserOrganizations,
loadListIssueFunding,
loadDonations,
] = await Promise.all([
Expand Down Expand Up @@ -234,7 +234,7 @@ export default async function Page({
pinnedArticles = loadPinnedArticles
products = loadProducts
repositories = loadRepositories
listAdminOrganizations = loadListAdminOrganizations
listUserOrganizations = loadListUserOrganizations
listIssueFunding = loadListIssueFunding
donations = loadDonations
} catch (e) {
Expand Down Expand Up @@ -351,7 +351,7 @@ export default async function Page({
featuredProjects={featuredProjects}
featuredOrganizations={featuredOrganizations}
products={products?.items ?? []}
adminOrganizations={listAdminOrganizations?.items ?? []}
userOrganizations={listUserOrganizations?.items ?? []}
issues={listIssueFunding?.items ?? []}
links={links}
donations={donations?.items ?? []}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
'use client'

import { Post as PostComponent } from '@/components/Feed/Posts/Post'
import { useIsOrganizationAdmin } from '@/hooks'
import { useIsOrganizationMember } from '@/hooks'
import { useListArticles } from '@/hooks/queries'
import { organizationPageLink } from '@/utils/nav'
import { useTrafficRecordPageView } from '@/utils/traffic'
Expand Down Expand Up @@ -29,7 +29,7 @@ const ClientPage = ({
}) => {
useTrafficRecordPageView({ organization })

const isAdmin = useIsOrganizationAdmin(organization)
const isMember = useIsOrganizationMember(organization)
const posts = useListArticles({
organizationId: organization.id,
isPublished: true,
Expand Down Expand Up @@ -81,7 +81,7 @@ const ClientPage = ({
<div className="dark:text-polar-400 flex h-full w-full flex-col items-center gap-y-4 pt-32 text-gray-600">
<StickyNote2Outlined fontSize="large" />
<div className="flex w-full flex-col items-center gap-y-2 px-12 text-center">
{isAdmin ? (
{isMember ? (
<>
<h3 className="p-2 text-lg font-medium">
{organization.slug} is typing...
Expand Down
Loading

0 comments on commit 3c569cb

Please sign in to comment.