/** * Copyright (c) 2023-present Plane Software, Inc. and contributors * SPDX-License-Identifier: AGPL-3.0-only * See the LICENSE file for details. */ import { observer } from "mobx-react"; import { Controller, useForm } from "react-hook-form"; import { UsageOutline } from "@makeplane/propel/icons"; // plane imports import { Button } from "@makeplane/propel/components/button"; import { Input } from "@makeplane/propel/components/input"; import { Switch } from "@makeplane/propel/components/switch"; import type { IInstance, IInstanceAdmin } from "@plane/types"; // components import { ControllerInput } from "@/components/common/controller-input"; import { TOAST_TYPE, setToast } from "@/providers/toast"; // hooks import { useInstance } from "@/hooks/store"; export interface IGeneralConfigurationForm { instance: IInstance; instanceAdmins: IInstanceAdmin[]; } export const GeneralConfigurationForm = observer(function GeneralConfigurationForm(props: IGeneralConfigurationForm) { const { instance, instanceAdmins } = props; // hooks const { updateInstanceInfo } = useInstance(); // form data const { handleSubmit, control, formState: { errors, isSubmitting }, } = useForm>({ defaultValues: { instance_name: instance?.instance_name, is_telemetry_enabled: instance?.is_telemetry_enabled, }, }); const onSubmit = async (formData: Partial) => { const payload: Partial = { ...formData }; await updateInstanceInfo(payload) .then(() => setToast({ type: TOAST_TYPE.SUCCESS, title: "Success", message: "Settings updated successfully", }) ) .catch((err) => console.error(err)); }; return (
Instance details

Email

Instance ID

Telemetry
Let Plane collect anonymous usage data
No PII is collected.This anonymized data is used to understand how you use Plane and build new features in line with{" "} our Telemetry Policy.
( )} />
); });