Fix prop error

This commit is contained in:
Joshen Lim committed 2022-07-27 14:49:28 +08:00
1 parent e14c9885b7
commit da00cee16b
6 files changed
+12 -22

No files matched your search

@@ -22,7 +22,7 @@ const InviteMemberModal: FC<Props> = ({ members = [], user }) => {
const [isOpen, setIsOpen] = useState(false)
const { roles } = useOrganizationRoles((slug as string) || '')
const { mutateOrgMembers } = useOrganizationDetail(ui.selectedOrganization?.slug || '')
const { mutateOrgMembers } = useOrganizationDetail((slug as string) || '')
const initialValues = { email: '', role: '' }
@@ -1,5 +1,5 @@
import Image from 'next/image'
import { useState, useContext } from 'react'
import { useState, useContext, Fragment } from 'react'
import { observer } from 'mobx-react-lite'
import { Badge, Button, Loading, Listbox, IconUser, Modal } from '@supabase/ui'
import { PermissionAction } from '@supabase/shared-types/out/constants'
@@ -87,8 +87,8 @@ const MembersView = () => {
const disableRoleEdit = !canEditMembers || memberIsUser
return (
<>
<Table.tr key={i}>
<Fragment key={`member-row-${i}`}>
<Table.tr>
<Table.td>
<div className="flex items-center space-x-4">
<div>
@@ -160,7 +160,7 @@ const MembersView = () => {
)}
</Table.td>
</Table.tr>
</>
</Fragment>
)
}),
<Table.tr
@@ -7,12 +7,12 @@ import { get } from 'lib/common/fetch'
export function useOrganizationDetail(slug: string) {
// Get org members
const url = `${API_URL}/organizations/${slug}/members?member_roles`
const { data, error } = useSWR<any>(url, get)
const { data, error } = useSWR<any>(slug ? url : null, get)
let members = data ?? []
// Get pending invite users
const pendingInviteUrl = `${API_URL}/organizations/${slug}/members/invite`
const { data: inviteData, error: inviteError } = useSWR<any>(pendingInviteUrl, get)
const { data: inviteData, error: inviteError } = useSWR<any>(slug ? pendingInviteUrl : null, get)
if (data && inviteData && inviteData.length > 0) {
// remap invite data to look like existing members data
+1 -1
View File
@@ -10,7 +10,7 @@ import { Role } from 'types'
export function useOrganizationRoles(slug: string) {
const url = `${API_URL}/organizations/${slug}/roles`
const { data, error } = useSWR<any>(url, get)
const { data, error } = useSWR<any>(slug ? url : null, get)
const anyError = data?.error || error
return {
+3 -14
View File
@@ -32,18 +32,7 @@ export function checkPermissions(action: string, resource: string, data?: object
const enablePermissions = useFlag('enablePermissions')
if (!enablePermissions) return true
const { app, ui } = useStore()
const router = useRouter()
let organization_id: number | undefined
const { ref, slug } = router.query
if (ref) {
const project = find(app.projects.list(), { ref }) as Project | undefined
organization_id = project?.organization_id
} else if (slug) {
const organization = find(app.organizations.list(), { slug }) as Organization | undefined
organization_id = organization?.id
}
const { ui } = useStore()
return (ui?.permissions ?? [])
.filter(
@@ -86,8 +75,8 @@ export function checkIsOwner() {
if (!organization) return false
const { roles } = useOrganizationRoles(router.query.slug as string)
const { members } = useOrganizationDetail(router.query.slug as string)
const { roles } = useOrganizationRoles(slug as string)
const { members } = useOrganizationDetail(slug as string)
const userMember = (members || []).find((member) => member.gotrue_id === ui?.profile?.gotrue_id)
const [memberRoleId] = userMember?.role_ids ?? []
+1
View File
@@ -17,6 +17,7 @@ export interface IUiStore {
notification?: Notification
profile?: User
permissions?: any // [Joshen TODO]: type this
load: () => void
setTheme: (theme: 'dark' | 'light') => void
onThemeOptionChange: (themeOption: 'dark' | 'light' | 'system') => void