filter placeholder role so it cannot be selected for invites

This commit is contained in:
Gregor Vostrak
2024-04-21 00:25:43 +02:00
parent c5a6608211
commit 338e4ec469
4 changed files with 13 additions and 4 deletions

View File

@@ -10,6 +10,7 @@ import InputError from '@/Components/InputError.vue';
import type { Role } from '@/types/jetstream';
import { useForm } from '@inertiajs/vue3';
import { getCurrentOrganizationId } from '@/utils/useUser';
import { filterRoles } from '@/utils/roles';
const show = defineModel('show', { default: false });
const saving = ref(false);
@@ -78,7 +79,7 @@ useFocus(clientNameInput, { initialValue: true });
<div
class="relative z-0 mt-1 border border-card-border rounded-lg cursor-pointer">
<button
v-for="(role, i) in availableRoles"
v-for="(role, i) in filterRoles(availableRoles)"
:key="role.key"
type="button"
class="relative px-4 py-3 inline-flex w-full rounded-lg focus:z-10 focus:outline-none focus:border-indigo-500 focus:ring-2 focus:ring-indigo-500"

View File

@@ -13,8 +13,8 @@ defineProps<{
:href="href"
:class="
twMerge(
'contents [&>*]:hover:bg-white/5 [&>*]:transition [&>*]:cursor-pointer [&>*]:border-row-separator [&>*]:border-b',
href ? '[&>*]:cursor-pointer' : ''
'contents [&>*]:transition [&>*]:border-row-separator [&>*]:border-b',
href ? '[&>*]:cursor-pointer [&>*]:hover:bg-white/5' : ''
)
">
<slot></slot>

View File

@@ -19,6 +19,7 @@ import type {
User,
} from '@/types/models';
import type { Membership, Permissions, Role } from '@/types/jetstream';
import { filterRoles } from '@/utils/roles';
type UserWithMembership = User & { membership: Membership };
@@ -169,7 +170,7 @@ const displayableRole = (role: string) => {
<div
class="relative z-0 mt-1 border border-card-border rounded-lg cursor-pointer">
<button
v-for="(role, i) in availableRoles"
v-for="(role, i) in filterRoles(availableRoles)"
:key="role.key"
type="button"
class="relative px-4 py-3 inline-flex w-full rounded-lg focus:z-10 focus:outline-none focus:border-indigo-500 focus:ring-2 focus:ring-indigo-500"

View File

@@ -0,0 +1,7 @@
import type { Role } from '@/types/jetstream';
export function filterRoles(roles: Role[]) {
return roles.filter(function (role) {
return role.key !== 'placeholder';
});
}