diff --git a/front/app/_orgs/[orgslug]/settings/account/profile/page.tsx b/front/app/_orgs/[orgslug]/settings/account/profile/page.tsx
index 00ee1533..40c11323 100644
--- a/front/app/_orgs/[orgslug]/settings/account/profile/page.tsx
+++ b/front/app/_orgs/[orgslug]/settings/account/profile/page.tsx
@@ -5,11 +5,8 @@ import { Formik, Form, Field, ErrorMessage } from 'formik';
import { updateProfile } from '@services/settings/profile';
function SettingsProfilePage() {
-
const auth: any = React.useContext(AuthContext);
-
-
return (
diff --git a/front/app/_orgs/[orgslug]/settings/layout.tsx b/front/app/_orgs/[orgslug]/settings/layout.tsx
index 1e8ec138..3a9366ff 100644
--- a/front/app/_orgs/[orgslug]/settings/layout.tsx
+++ b/front/app/_orgs/[orgslug]/settings/layout.tsx
@@ -27,7 +27,6 @@ function SettingsLayout({ children, params }: { children: React.ReactNode, param
Organization
diff --git a/front/app/_orgs/[orgslug]/settings/organization/general/page.tsx b/front/app/_orgs/[orgslug]/settings/organization/general/page.tsx
new file mode 100644
index 00000000..a415096b
--- /dev/null
+++ b/front/app/_orgs/[orgslug]/settings/organization/general/page.tsx
@@ -0,0 +1,77 @@
+"use client";
+import React from 'react'
+import useSWR, { mutate } from "swr";
+import { swrFetcher } from "@services/utils/requests";
+import { getAPIUrl } from '@services/config';
+import { Field, Form, Formik } from 'formik';
+import { updateOrganization } from '@services/settings/org';
+
+interface OrganizationValues {
+ name: string;
+ description: string;
+ slug: string;
+ email: string;
+}
+
+function SettingsOrganizationGeneral(params: any) {
+ const orgslug = params.params.orgslug;
+ const { data: org, error: error } = useSWR(`${getAPIUrl()}orgs/slug/${orgslug}`, swrFetcher);
+
+ if (org) {
+ let orgValues: OrganizationValues = {
+ name: org.name,
+ description: org.description,
+ slug: org.slug,
+ email: org.email
+ }
+
+
+ const updateOrg = async (values: OrganizationValues) => {
+ let org_id = org.org_id;
+ await updateOrganization(org_id, values);
+
+ // Sounds good, doesn't work
+ // TODO: Fix this
+ mutate(`${getAPIUrl()}orgs/slug/${values.slug}`);
+ }
+
+ return (
+
+
Oganization Settings
+
+ {error &&
Failed to load
}
+ {!org ? (
+
Loading...
+ ) : (
+
+
{
+ setTimeout(() => {
+ alert(JSON.stringify(values, null, 2));
+ setSubmitting(false);
+ updateOrg(values)
+ }, 400);
+ }}
+ >
+ {({ isSubmitting }) => (
+
+ )}
+
+ )}
+
+
+
+ )
+ }
+}
+
+export default SettingsOrganizationGeneral
\ No newline at end of file
diff --git a/front/app/_orgs/[orgslug]/settings/organization/roles/page.tsx b/front/app/_orgs/[orgslug]/settings/organization/roles/page.tsx
new file mode 100644
index 00000000..842d5e57
--- /dev/null
+++ b/front/app/_orgs/[orgslug]/settings/organization/roles/page.tsx
@@ -0,0 +1,9 @@
+import React from 'react'
+
+function SettingsOrganizationRole() {
+ return (
+
SettingsOrganizationRole
+ )
+}
+
+export default SettingsOrganizationRole
\ No newline at end of file
diff --git a/front/services/settings/org.ts b/front/services/settings/org.ts
new file mode 100644
index 00000000..2f77ee67
--- /dev/null
+++ b/front/services/settings/org.ts
@@ -0,0 +1,15 @@
+import { getAPIUrl } from "@services/config";
+import { RequestBody } from "@services/utils/requests";
+
+/*
+ This file includes only POST, PUT, DELETE requests
+ GET requests are called from the frontend using SWR (https://swr.vercel.app/)
+*/
+
+export async function updateOrganization(org_id : string, data: any) {
+ const result: any = await fetch(`${getAPIUrl()}orgs/` + org_id, RequestBody("PUT", data))
+ .then((result) => result.json())
+ .catch((error) => console.log("error", error));
+
+ return result;
+}