diff --git a/resources/js/Components/Common/Member/MemberTable.vue b/resources/js/Components/Common/Member/MemberTable.vue
index 4f43d17d..a71a721e 100644
--- a/resources/js/Components/Common/Member/MemberTable.vue
+++ b/resources/js/Components/Common/Member/MemberTable.vue
@@ -17,7 +17,7 @@ const createClient = ref(false);
+ style="grid-template-columns: 1fr 1fr 180px 180px 150px 130px">
diff --git a/resources/js/Components/Common/Member/MemberTableRow.vue b/resources/js/Components/Common/Member/MemberTableRow.vue
index 21903883..62465a7f 100644
--- a/resources/js/Components/Common/Member/MemberTableRow.vue
+++ b/resources/js/Components/Common/Member/MemberTableRow.vue
@@ -5,6 +5,10 @@ import { useClientsStore } from '@/utils/useClients';
import MemberMoreOptionsDropdown from '@/Components/Common/Member/MemberMoreOptionsDropdown.vue';
import TableRow from '@/Components/TableRow.vue';
import { capitalizeFirstLetter } from '../../../utils/format';
+import SecondaryButton from '@/Components/SecondaryButton.vue';
+import { api } from '../../../../../openapi.json.client';
+import { getCurrentOrganizationId } from '@/utils/useUser';
+import { useNotificationsStore } from '@/utils/notification';
const props = defineProps<{
member: Member;
@@ -13,6 +17,26 @@ const props = defineProps<{
function removeMember() {
useClientsStore().deleteClient(props.member.id);
}
+
+async function invitePlaceholder(id: string) {
+ const { handleApiRequestNotifications } = useNotificationsStore();
+ const organizationId = getCurrentOrganizationId();
+ if (organizationId) {
+ await handleApiRequestNotifications(
+ api.invitePlaceholder(
+ {},
+ {
+ params: {
+ organization: organizationId,
+ membership: id,
+ },
+ }
+ ),
+ 'Member invited successfully',
+ 'Error inviting member'
+ );
+ }
+}
@@ -45,6 +69,9 @@ function removeMember() {
+ Invite
diff --git a/resources/js/Components/SecondaryButton.vue b/resources/js/Components/SecondaryButton.vue
index 0828979c..a16cc4c3 100644
--- a/resources/js/Components/SecondaryButton.vue
+++ b/resources/js/Components/SecondaryButton.vue
@@ -7,17 +7,29 @@ const props = withDefaults(
defineProps<{
type: HtmlButtonType;
icon?: Component;
+ size: 'small' | 'base';
}>(),
{
type: 'button',
+ size: 'base',
}
);
+
+const sizeClasses = {
+ small: 'text-xs px-2 sm:px-2.5 py-1 sm:py-1.5',
+ base: 'text-xs sm:text-sm px-2 sm:px-3 py-1 sm:py-2',
+};