summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/vue_shared/components/members/action_buttons/resend_invite_button.vue
diff options
context:
space:
mode:
Diffstat (limited to 'app/assets/javascripts/vue_shared/components/members/action_buttons/resend_invite_button.vue')
-rw-r--r--app/assets/javascripts/vue_shared/components/members/action_buttons/resend_invite_button.vue41
1 files changed, 41 insertions, 0 deletions
diff --git a/app/assets/javascripts/vue_shared/components/members/action_buttons/resend_invite_button.vue b/app/assets/javascripts/vue_shared/components/members/action_buttons/resend_invite_button.vue
new file mode 100644
index 00000000000..1cc3fd17e98
--- /dev/null
+++ b/app/assets/javascripts/vue_shared/components/members/action_buttons/resend_invite_button.vue
@@ -0,0 +1,41 @@
+<script>
+import { mapState } from 'vuex';
+import { GlButton, GlTooltipDirective } from '@gitlab/ui';
+import csrf from '~/lib/utils/csrf';
+import { __ } from '~/locale';
+
+export default {
+ name: 'ResendInviteButton',
+ csrf,
+ title: __('Resend invite'),
+ components: { GlButton },
+ directives: {
+ GlTooltip: GlTooltipDirective,
+ },
+ props: {
+ memberId: {
+ type: Number,
+ required: true,
+ },
+ },
+ computed: {
+ ...mapState(['memberPath']),
+ resendPath() {
+ return this.memberPath.replace(/:id$/, `${this.memberId}/resend_invite`);
+ },
+ },
+};
+</script>
+
+<template>
+ <form :action="resendPath" method="post">
+ <input :value="$options.csrf.token" type="hidden" name="authenticity_token" />
+ <gl-button
+ v-gl-tooltip.hover
+ :title="$options.title"
+ :aria-label="$options.title"
+ icon="paper-airplane"
+ type="submit"
+ />
+ </form>
+</template>