diff --git a/frontend/src/views/Settings/BillingSettingsPage/components/BillingDetailsTab/CompanyNameSection.tsx b/frontend/src/views/Settings/BillingSettingsPage/components/BillingDetailsTab/CompanyNameSection.tsx
index fb2eadf86..07834949a 100644
--- a/frontend/src/views/Settings/BillingSettingsPage/components/BillingDetailsTab/CompanyNameSection.tsx
+++ b/frontend/src/views/Settings/BillingSettingsPage/components/BillingDetailsTab/CompanyNameSection.tsx
@@ -3,9 +3,11 @@ import { Controller, useForm } from "react-hook-form";
import { yupResolver } from "@hookform/resolvers/yup";
import * as yup from "yup";
-import Button from "@app/components/basic/buttons/Button";
import { useNotificationContext } from "@app/components/context/Notifications/NotificationProvider";
-import { FormControl,Input } from "@app/components/v2";
+import {
+ Button,
+ FormControl,
+ Input} from "@app/components/v2";
import { useOrganization } from "@app/context";
import {
useGetOrgBillingDetails,
@@ -26,7 +28,7 @@ export const CompanyNameSection = () => {
resolver: yupResolver(schema)
});
const { data } = useGetOrgBillingDetails(currentOrg?._id ?? "");
- const updateOrgBillingDetails = useUpdateOrgBillingDetails();
+ const { mutateAsync, isLoading } = useUpdateOrgBillingDetails();
useEffect(() => {
if (data) {
@@ -40,7 +42,7 @@ export const CompanyNameSection = () => {
try {
if (!currentOrg?._id) return;
if (name === "") return;
- await updateOrgBillingDetails.mutateAsync({
+ await mutateAsync({
name,
organizationId: currentOrg._id
});
@@ -82,15 +84,13 @@ export const CompanyNameSection = () => {
name="name"
/>
-
-
+
);
}
\ No newline at end of file
diff --git a/frontend/src/views/Settings/BillingSettingsPage/components/BillingDetailsTab/InvoiceEmailSection.tsx b/frontend/src/views/Settings/BillingSettingsPage/components/BillingDetailsTab/InvoiceEmailSection.tsx
index 991a21869..ee28da914 100644
--- a/frontend/src/views/Settings/BillingSettingsPage/components/BillingDetailsTab/InvoiceEmailSection.tsx
+++ b/frontend/src/views/Settings/BillingSettingsPage/components/BillingDetailsTab/InvoiceEmailSection.tsx
@@ -3,9 +3,9 @@ import { Controller, useForm } from "react-hook-form";
import { yupResolver } from "@hookform/resolvers/yup";
import * as yup from "yup";
-import Button from "@app/components/basic/buttons/Button";
import { useNotificationContext } from "@app/components/context/Notifications/NotificationProvider";
import {
+ Button,
FormControl,
Input} from "@app/components/v2";
import { useOrganization } from "@app/context";
@@ -28,7 +28,7 @@ export const InvoiceEmailSection = () => {
resolver: yupResolver(schema)
});
const { data } = useGetOrgBillingDetails(currentOrg?._id ?? "");
- const updateOrgBillingDetails = useUpdateOrgBillingDetails();
+ const { mutateAsync, isLoading } = useUpdateOrgBillingDetails();
useEffect(() => {
if (data) {
@@ -43,7 +43,7 @@ export const InvoiceEmailSection = () => {
if (!currentOrg?._id) return;
if (email === "") return;
- await updateOrgBillingDetails.mutateAsync({
+ await mutateAsync({
email,
organizationId: currentOrg._id
});
@@ -85,15 +85,13 @@ export const InvoiceEmailSection = () => {
name="email"
/>
-
-
+
);
}
\ No newline at end of file
diff --git a/frontend/src/views/Settings/BillingSettingsPage/components/BillingDetailsTab/PmtMethodsSection.tsx b/frontend/src/views/Settings/BillingSettingsPage/components/BillingDetailsTab/PmtMethodsSection.tsx
index ecdf27bb7..1535fa3e4 100644
--- a/frontend/src/views/Settings/BillingSettingsPage/components/BillingDetailsTab/PmtMethodsSection.tsx
+++ b/frontend/src/views/Settings/BillingSettingsPage/components/BillingDetailsTab/PmtMethodsSection.tsx
@@ -1,6 +1,10 @@
-import { faPlus } from "@fortawesome/free-solid-svg-icons";
-import Button from "@app/components/basic/buttons/Button";
+import { faPlus } from "@fortawesome/free-solid-svg-icons";
+import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
+
+import {
+ Button
+} from "@app/components/v2";
import { useOrganization } from "@app/context";
import { useAddOrgPmtMethod } from "@app/hooks/api";
@@ -8,11 +12,11 @@ import { PmtMethodsTable } from "./PmtMethodsTable";
export const PmtMethodsSection = () => {
const { currentOrg } = useOrganization();
- const addOrgPmtMethod = useAddOrgPmtMethod();
+ const { mutateAsync, isLoading } = useAddOrgPmtMethod();
const handleAddPmtMethodBtnClick = async () => {
if (!currentOrg?._id) return;
- const url = await addOrgPmtMethod.mutateAsync({
+ const url = await mutateAsync({
organizationId: currentOrg._id,
success_url: window.location.href,
cancel_url: window.location.href
@@ -27,16 +31,14 @@ export const PmtMethodsSection = () => {
Payment Methods
-
-
-
+ }
+ >
+ Add method
+
diff --git a/frontend/src/views/Settings/BillingSettingsPage/components/BillingDetailsTab/TaxIDSection.tsx b/frontend/src/views/Settings/BillingSettingsPage/components/BillingDetailsTab/TaxIDSection.tsx
index ff5f0430d..b7865b2c0 100644
--- a/frontend/src/views/Settings/BillingSettingsPage/components/BillingDetailsTab/TaxIDSection.tsx
+++ b/frontend/src/views/Settings/BillingSettingsPage/components/BillingDetailsTab/TaxIDSection.tsx
@@ -1,6 +1,9 @@
-import { faPlus } from "@fortawesome/free-solid-svg-icons";
-import Button from "@app/components/basic/buttons/Button";
+import { faPlus } from "@fortawesome/free-solid-svg-icons";
+import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
+
+import { Button } from "@app/components/v2";
+// import Button from "@app/components/basic/buttons/Button";
import { usePopUp } from "@app/hooks/usePopUp";
import { TaxIDModal } from "./TaxIDModal";
@@ -17,16 +20,13 @@ export const TaxIDSection = () => {
Tax ID
-
-
+
{
const { data: incidentContact, isLoading: IsIncidentContactLoading } =
useGetOrgIncidentContact(orgId);
- const renameOrg = useRenameOrg();
+
const removeUserOrgMembership = useDeleteOrgMembership();
const addUserToOrg = useAddUserToOrg();
const updateOrgUserRole = useUpdateOrgUserRole();
@@ -59,24 +58,6 @@ export const OrgSettingsPage = () => {
const isMoreUsersNotAllowed = subscription?.memberLimit ? (subscription.membersUsed >= subscription.memberLimit) : false;
- const onRenameOrg = async (name: string) => {
- if (!currentOrg?._id) return;
-
- try {
- await renameOrg.mutateAsync({ orgId: currentOrg?._id, newOrgName: name });
- createNotification({
- text: "Successfully renamed organization",
- type: "success"
- });
- } catch (error) {
- console.error(error);
- createNotification({
- text: "Failed to rename organization",
- type: "error"
- });
- }
- };
-
const onRemoveUserOrgMembership = async (membershipId: string) => {
if (!currentOrg?._id) return;
@@ -216,7 +197,7 @@ export const OrgSettingsPage = () => {
{t("settings.org.description")}
-
+
{t("section.members.org-members")}
diff --git a/frontend/src/views/Settings/OrgSettingsPage/components/OrgNameChangeSection/OrgNameChangeSection.tsx b/frontend/src/views/Settings/OrgSettingsPage/components/OrgNameChangeSection/OrgNameChangeSection.tsx
index 525b52471..0a1a59075 100644
--- a/frontend/src/views/Settings/OrgSettingsPage/components/OrgNameChangeSection/OrgNameChangeSection.tsx
+++ b/frontend/src/views/Settings/OrgSettingsPage/components/OrgNameChangeSection/OrgNameChangeSection.tsx
@@ -1,17 +1,13 @@
import { useEffect } from "react";
import { Controller, useForm } from "react-hook-form";
import { useTranslation } from "react-i18next";
-import { faCheck } from "@fortawesome/free-solid-svg-icons";
-import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
import { yupResolver } from "@hookform/resolvers/yup";
import * as yup from "yup";
+import { useNotificationContext } from "@app/components/context/Notifications/NotificationProvider";
import { Button, FormControl, Input } from "@app/components/v2";
-
-type Props = {
- orgName?: string;
- onOrgNameChange: (name: string) => Promise;
-};
+import { useOrganization } from "@app/context";
+import { useRenameOrg } from "@app/hooks/api";
const formSchema = yup.object({
name: yup.string().required().label("Project Name")
@@ -19,33 +15,54 @@ const formSchema = yup.object({
type FormData = yup.InferType;
-export const OrgNameChangeSection = ({ onOrgNameChange, orgName }: Props): JSX.Element => {
+export const OrgNameChangeSection = (): JSX.Element => {
+ const { t } = useTranslation();
+ const { currentOrg } = useOrganization();
+ const { createNotification } = useNotificationContext();
const {
handleSubmit,
control,
- reset,
- formState: { isDirty, isSubmitting }
+ reset
} = useForm({ resolver: yupResolver(formSchema) });
- const { t } = useTranslation();
+ const { mutateAsync, isLoading } = useRenameOrg();
useEffect(() => {
- reset({ name: orgName });
- }, [orgName]);
+ if (currentOrg) {
+ reset({ name: currentOrg.name });
+ }
+ }, [currentOrg]);
const onFormSubmit = async ({ name }: FormData) => {
- await onOrgNameChange(name);
+ try {
+ if (!currentOrg?._id) return;
+ if (name === "") return;
+
+ await mutateAsync({ orgId: currentOrg?._id, newOrgName: name });
+ createNotification({
+ text: "Successfully renamed organization",
+ type: "success"
+ });
+ } catch (error) {
+ console.error(error);
+ createNotification({
+ text: "Failed to rename organization",
+ type: "error"
+ });
+ }
};
return (
-