mirror of
https://github.com/rzmk/learnhouse.git
synced 2025-12-19 04:19:25 +00:00
Added toast notifications
This commit is contained in:
parent
feebdfcfe9
commit
ab86a3b871
8 changed files with 48 additions and 18 deletions
|
|
@ -42,21 +42,25 @@ function OrgAccess() {
|
|||
}
|
||||
|
||||
async function deleteInvite(invite: any) {
|
||||
const toastId = toast.loading("Deleting...")
|
||||
let res = await deleteInviteCode(org.id, invite.invite_code_uuid, access_token)
|
||||
if (res.status == 200) {
|
||||
mutate(`${getAPIUrl()}orgs/${org.id}/invites`)
|
||||
toast.success("Deleted invite code", {id:toastId})
|
||||
} else {
|
||||
toast.error('Error ' + res.status + ': ' + res.data.detail)
|
||||
toast.error('Error deleting', {id:toastId})
|
||||
}
|
||||
}
|
||||
|
||||
async function changeJoinMethod(method: 'open' | 'inviteOnly') {
|
||||
const toastId = toast.loading("Changing join method...")
|
||||
let res = await changeSignupMechanism(org.id, method, access_token)
|
||||
if (res.status == 200) {
|
||||
router.refresh()
|
||||
mutate(`${getAPIUrl()}orgs/slug/${org?.slug}`)
|
||||
toast.success(`Changed join method to ${method}`, {id:toastId})
|
||||
} else {
|
||||
toast.error('Error ' + res.status + ': ' + res.data.detail)
|
||||
toast.error('Error changing join method', {id:toastId})
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -29,12 +29,14 @@ function OrgUserGroups() {
|
|||
)
|
||||
|
||||
const deleteUserGroupUI = async (usergroup_id: any) => {
|
||||
const toastId = toast.loading("Deleting...");
|
||||
const res = await deleteUserGroup(usergroup_id, access_token)
|
||||
if (res.status == 200) {
|
||||
mutate(`${getAPIUrl()}usergroups/org/${org.id}`)
|
||||
toast.success("Deleted usergroup", {id:toastId})
|
||||
}
|
||||
else {
|
||||
toast.error('Error ' + res.status + ': ' + res.data.detail)
|
||||
toast.error('Error deleting usergroup', {id:toastId})
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -31,11 +31,13 @@ function OrgUsers() {
|
|||
}
|
||||
|
||||
const handleRemoveUser = async (user_id: any) => {
|
||||
const toastId = toast.loading("Removing...");
|
||||
const res = await removeUserFromOrg(org.id, user_id,access_token)
|
||||
if (res.status === 200) {
|
||||
await mutate(`${getAPIUrl()}orgs/${org.id}/users`)
|
||||
toast.success("Removed user from org", {id:toastId});
|
||||
} else {
|
||||
toast.error('Error ' + res.status + ': ' + res.data.detail)
|
||||
toast.error('Error removing user', {id:toastId});
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -20,13 +20,15 @@ function OrgUsersAdd() {
|
|||
const [selectedInviteCode, setSelectedInviteCode] = React.useState('');
|
||||
|
||||
async function sendInvites() {
|
||||
const toastId = toast.loading("Sending invite...")
|
||||
setIsLoading(true)
|
||||
let res = await inviteBatchUsers(org.id, invitedUsers, selectedInviteCode,access_token)
|
||||
if (res.status == 200) {
|
||||
mutate(`${getAPIUrl()}orgs/${org?.id}/invites/users`)
|
||||
setIsLoading(false)
|
||||
toast.success("Invite sent", {id:toastId})
|
||||
} else {
|
||||
toast.error('Error ' + res.status + ': ' + res.data.detail)
|
||||
toast.error('Error sending invite', {id:toastId})
|
||||
setIsLoading(false)
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@ import { mutate } from 'swr'
|
|||
import { getAPIUrl } from '@services/config/config'
|
||||
import { useLHSession } from '@components/Contexts/LHSessionContext'
|
||||
import { useFormik } from 'formik'
|
||||
import toast from 'react-hot-toast'
|
||||
|
||||
type AddUserGroupProps = {
|
||||
setCreateUserGroupModal: any
|
||||
|
|
@ -40,15 +41,17 @@ function AddUserGroup(props: AddUserGroupProps) {
|
|||
},
|
||||
validate,
|
||||
onSubmit: async (values) => {
|
||||
const toastID = toast.loading("Creating...")
|
||||
setIsSubmitting(true)
|
||||
const res = await createUserGroup(values, access_token)
|
||||
if (res.status == 200) {
|
||||
setIsSubmitting(false)
|
||||
mutate(`${getAPIUrl()}usergroups/org/${org.id}`)
|
||||
props.setCreateUserGroupModal(false)
|
||||
|
||||
toast.success("Created new usergroup", {id:toastID})
|
||||
} else {
|
||||
setIsSubmitting(false)
|
||||
toast.error("Couldn't create new usergroup", {id:toastID})
|
||||
}
|
||||
},
|
||||
})
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@ import { FormMessage } from '@radix-ui/react-form'
|
|||
import { getAPIUrl } from '@services/config/config'
|
||||
import { updateUserRole } from '@services/organizations/orgs'
|
||||
import React, { useEffect } from 'react'
|
||||
import toast from 'react-hot-toast'
|
||||
import { BarLoader } from 'react-spinners'
|
||||
import { mutate } from 'swr'
|
||||
|
||||
|
|
@ -44,9 +45,11 @@ function RolesUpdate(props: Props) {
|
|||
if (res.status === 200) {
|
||||
await mutate(`${getAPIUrl()}orgs/${org.id}/users`)
|
||||
props.setRolesModal(false)
|
||||
toast.success("Updated role")
|
||||
} else {
|
||||
setIsSubmitting(false)
|
||||
setError('Error ' + res.status + ': ' + res.data.detail)
|
||||
toast.error("Couldn't update now")
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
import toast from 'react-hot-toast'
|
||||
import { getAPIUrl } from '../config/config'
|
||||
import {
|
||||
RequestBodyWithAuthHeader,
|
||||
|
|
@ -13,22 +14,34 @@ export async function deleteCollection(
|
|||
collection_uuid: any,
|
||||
access_token: any
|
||||
) {
|
||||
const toastId = toast.loading("Deleting collection...")
|
||||
try {
|
||||
const result: any = await fetch(
|
||||
`${getAPIUrl()}collections/${collection_uuid}`,
|
||||
RequestBodyWithAuthHeader('DELETE', null, null, access_token)
|
||||
)
|
||||
toast.success("Deleted colletion", {id:toastId})
|
||||
const res = await errorHandling(result)
|
||||
return res
|
||||
} catch (error) {
|
||||
toast.error("Couldn't delete collection", {id:toastId})
|
||||
}
|
||||
}
|
||||
|
||||
// Create a new collection
|
||||
export async function createCollection(collection: any, access_token: any) {
|
||||
const toastId = toast.loading("Creating...")
|
||||
try {
|
||||
const result: any = await fetch(
|
||||
`${getAPIUrl()}collections/`,
|
||||
RequestBodyWithAuthHeader('POST', collection, null, access_token)
|
||||
)
|
||||
toast.success("New collection created", {id:toastId})
|
||||
const res = await errorHandling(result)
|
||||
return res
|
||||
} catch (error) {
|
||||
toast.error("Couldn't create collection", {id:toastId})
|
||||
}
|
||||
}
|
||||
|
||||
export async function getCollectionById(
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ import {
|
|||
errorHandling,
|
||||
getResponseMetadata,
|
||||
} from '@services/utils/ts/requests'
|
||||
import toast from 'react-hot-toast'
|
||||
|
||||
/*
|
||||
This file includes only POST, PUT, DELETE requests
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue