diff --git a/packages/hoppscotch-app/components/teams/Edit.vue b/packages/hoppscotch-app/components/teams/Edit.vue
index d4146ff17..e4fd4032d 100644
--- a/packages/hoppscotch-app/components/teams/Edit.vue
+++ b/packages/hoppscotch-app/components/teams/Edit.vue
@@ -34,75 +34,23 @@
/>
-
+
+
+ {{ $t("state.loading") }}
+
+
+
+
+
+ help_outline
+ {{ $t("error.something_went_wrong") }}
@@ -140,138 +163,174 @@
-
diff --git a/packages/hoppscotch-app/components/teams/Invite.vue b/packages/hoppscotch-app/components/teams/Invite.vue
index 68f3f5a78..0354c67e3 100644
--- a/packages/hoppscotch-app/components/teams/Invite.vue
+++ b/packages/hoppscotch-app/components/teams/Invite.vue
@@ -326,7 +326,7 @@ const newInviteeOptions = ref(null)
const props = defineProps({
show: Boolean,
- editingteamID: { type: String, default: null },
+ editingTeamID: { type: String, default: null },
})
const emit = defineEmits<{
@@ -340,17 +340,17 @@ const pendingInvites = useGQLQuery<
>({
query: GetPendingInvitesDocument,
variables: reactive({
- teamID: props.editingteamID,
+ teamID: props.editingTeamID,
}),
defer: true,
})
watch(
- () => props.editingteamID,
+ () => props.editingTeamID,
() => {
- if (props.editingteamID) {
+ if (props.editingTeamID) {
pendingInvites.execute({
- teamID: props.editingteamID,
+ teamID: props.editingTeamID,
})
}
}
@@ -420,7 +420,7 @@ const sendInvites = async () => {
),
O.map(
A.map((invitee) =>
- createTeamInvitation(invitee.key, invitee.value, props.editingteamID)
+ createTeamInvitation(invitee.key, invitee.value, props.editingTeamID)
)
)
)
diff --git a/packages/hoppscotch-app/components/teams/index.vue b/packages/hoppscotch-app/components/teams/index.vue
index 3cc17d78b..3fb8bfcfd 100644
--- a/packages/hoppscotch-app/components/teams/index.vue
+++ b/packages/hoppscotch-app/components/teams/index.vue
@@ -66,7 +66,7 @@
:team="myTeams.data.right.myTeams[0]"
:show="showModalEdit"
:editing-team="editingTeam"
- :editingteam-i-d="editingTeamID"
+ :editing-team-i-d="editingTeamID"
@hide-modal="displayModalEdit(false)"
@invite-team="inviteTeam(editingTeam, editingTeamID)"
/>
@@ -79,7 +79,7 @@
:team="myTeams.data.right.myTeams[0]"
:show="showModalInvite"
:editing-team="editingTeam"
- :editingteam-i-d="editingTeamID"
+ :editing-team-i-d="editingTeamID"
@hide-modal="displayModalInvite(false)"
/>
@@ -124,8 +124,6 @@ const displayModalAdd = (shouldDisplay: boolean) => {
const displayModalEdit = (shouldDisplay: boolean) => {
showModalEdit.value = shouldDisplay
-
- if (!shouldDisplay) resetSelectedData()
}
const displayModalInvite = (shouldDisplay: boolean) => {
@@ -143,9 +141,4 @@ const inviteTeam = (team: any, teamID: any) => {
editingTeamID.value = teamID
displayModalInvite(true)
}
-
-const resetSelectedData = () => {
- editingTeam.value = undefined
- editingTeamID.value = undefined
-}
diff --git a/packages/hoppscotch-app/helpers/backend/gql/queries/GetTeam.graphql b/packages/hoppscotch-app/helpers/backend/gql/queries/GetTeam.graphql
index 4a45ec07c..852c6cd22 100644
--- a/packages/hoppscotch-app/helpers/backend/gql/queries/GetTeam.graphql
+++ b/packages/hoppscotch-app/helpers/backend/gql/queries/GetTeam.graphql
@@ -6,8 +6,9 @@ query GetTeam($teamID: ID!) {
membershipID
user {
uid
+ email
}
role
}
}
-}
\ No newline at end of file
+}
diff --git a/packages/hoppscotch-app/helpers/backend/gql/subscriptions/TeamMemberAdded.graphql b/packages/hoppscotch-app/helpers/backend/gql/subscriptions/TeamMemberAdded.graphql
new file mode 100644
index 000000000..dd15795e0
--- /dev/null
+++ b/packages/hoppscotch-app/helpers/backend/gql/subscriptions/TeamMemberAdded.graphql
@@ -0,0 +1,5 @@
+subscription TeamMemberAdded($teamID: ID!) {
+ teamMemberAdded(teamID: $teamID) {
+ membershipID
+ }
+}
diff --git a/packages/hoppscotch-app/helpers/backend/gql/subscriptions/TeamMemberRemoved.graphql b/packages/hoppscotch-app/helpers/backend/gql/subscriptions/TeamMemberRemoved.graphql
new file mode 100644
index 000000000..36ecb406f
--- /dev/null
+++ b/packages/hoppscotch-app/helpers/backend/gql/subscriptions/TeamMemberRemoved.graphql
@@ -0,0 +1,3 @@
+subscription TeamMemberRemoved($teamID: ID!) {
+ teamMemberRemoved(teamID: $teamID)
+}
diff --git a/packages/hoppscotch-app/helpers/backend/gql/subscriptions/TeamMemberUpdated.graphql b/packages/hoppscotch-app/helpers/backend/gql/subscriptions/TeamMemberUpdated.graphql
new file mode 100644
index 000000000..bed609224
--- /dev/null
+++ b/packages/hoppscotch-app/helpers/backend/gql/subscriptions/TeamMemberUpdated.graphql
@@ -0,0 +1,5 @@
+subscription TeamMemberUpdated($teamID: ID!) {
+ teamMemberUpdated(teamID: $teamID) {
+ membershipID
+ }
+}
diff --git a/packages/hoppscotch-app/helpers/teams/TeamMemberAdapter.ts b/packages/hoppscotch-app/helpers/teams/TeamMemberAdapter.ts
index 77ca87230..ec35118b7 100644
--- a/packages/hoppscotch-app/helpers/teams/TeamMemberAdapter.ts
+++ b/packages/hoppscotch-app/helpers/teams/TeamMemberAdapter.ts
@@ -4,7 +4,7 @@ import cloneDeep from "lodash/cloneDeep"
import * as Apollo from "@apollo/client/core"
import { apolloClient } from "~/helpers/apollo"
-interface TeamsTeamMember {
+export interface TeamsTeamMember {
membershipID: string
user: {
uid: string
diff --git a/packages/hoppscotch-app/locales/en.json b/packages/hoppscotch-app/locales/en.json
index 45432d870..478c17499 100644
--- a/packages/hoppscotch-app/locales/en.json
+++ b/packages/hoppscotch-app/locales/en.json
@@ -485,7 +485,6 @@
"invalid_invite_link_description": "The link you followed is invalid. Contact your team owner.",
"invalid_member_permission": "Please provide a valid permission to the team member",
"invite": "Invite",
- "logout_and_try_again": "Logout and sign in with another account",
"invite_more": "Invite more",
"invite_tooltip": "Invite people to this workspace",
"invited_to_team": "{owner} invited you to join {team}",
@@ -497,12 +496,14 @@
"left": "You left the team",
"login_to_continue": "Login to continue",
"login_to_continue_description": "You need to be logged in to join a team.",
+ "logout_and_try_again": "Logout and sign in with another account",
"member_has_invite": "This email ID already has an invite. Contact your team owner.",
"member_not_found": "Member not found. Contact your team owner.",
"member_removed": "User removed",
"member_role_updated": "User roles updated",
"members": "Members",
"name_length_insufficient": "Team name should be atleast 6 characters long",
+ "name_updated": "Team name updated",
"new": "New Team",
"new_created": "New team created",
"new_name": "My New Team",