import odooApi from '@/core/api/odooApi' import HookFormSelect from '@/core/components/elements/Select/HookFormSelect' import useAuth from '@/core/hooks/useAuth' import addressApi from '@/lib/address/api/addressApi' import { ChevronDownIcon, ChevronUpIcon } from '@heroicons/react/24/outline' import { useEffect, useState } from 'react' import { Controller, useForm } from 'react-hook-form' import { toast } from 'react-hot-toast' const CompanyProfile = () => { const auth = useAuth() const [isOpen, setIsOpen] = useState(false) const toggle = () => setIsOpen(!isOpen) const { register, setValue, control, handleSubmit } = useForm({ defaultValues: { industry: '', companyType: '', name: '', taxName: '', npwp: '' } }) const [industries, setIndustries] = useState([]) useEffect(() => { const loadIndustries = async () => { const dataIndustries = await odooApi('GET', '/api/v1/partner/industry') setIndustries(dataIndustries?.map((o) => ({ value: o.id, label: o.name }))) } loadIndustries() }, []) const [companyTypes, setCompanyTypes] = useState([]) useEffect(() => { const loadCompanyTypes = async () => { const dataCompanyTypes = await odooApi('GET', '/api/v1/partner/company_type') setCompanyTypes(dataCompanyTypes?.map((o) => ({ value: o.id, label: o.name }))) } loadCompanyTypes() }, []) useEffect(() => { const loadProfile = async () => { const dataProfile = await addressApi({ id: auth.parentId }) setValue('name', dataProfile.name) setValue('industry', dataProfile.industryId) setValue('companyType', dataProfile.companyTypeId) setValue('taxName', dataProfile.taxName) setValue('npwp', dataProfile.npwp) } if (auth) loadProfile() }, [auth, setValue]) const onSubmitHandler = async (values) => { const data = { ...values, company_type_id: values.companyType, industry_id: values.industry, tax_name: values.taxName } const isUpdated = await odooApi('PUT', `/api/v1/partner/${auth.parentId}`, data) if (isUpdated?.id) { setIsOpen(false) toast.success('Berhasil mengubah profil', { duration: 1500 }) return } toast.error('Terjadi kesalahan internal') } return ( <> {isOpen && (
( )} />
Nama Usaha
( )} />
)} ) } export default CompanyProfile