import {
Typography,
Card,
Row,
Col,
Form,
Input,
Select,
Button,
Tabs,
Switch,
Divider,
message,
Space,
} from 'antd';
import {
SaveOutlined,
BuildOutlined,
UserOutlined,
BankOutlined,
SettingOutlined,
} from '@ant-design/icons';
import { useCompany } from '@/hooks/useCompany';
import { useUpdateCompany } from '@/api/mutations/companyMutations';
import { DemoDataDisclaimer } from '@/components/shared/DemoDataDisclaimer';
import { PageHeader } from '@/components/shared/PageHeader';
import BankConnectionsTab from '@/components/settings/BankConnectionsTab';
const { Title, Text } = Typography;
export default function Settings() {
const { company } = useCompany();
const [companyForm] = Form.useForm();
const [preferencesForm] = Form.useForm();
const updateCompanyMutation = useUpdateCompany();
const handleSaveCompany = async () => {
try {
const values = await companyForm.validateFields();
if (!company?.id) {
message.error('Ingen virksomhed valgt');
return;
}
await updateCompanyMutation.mutateAsync({
id: company.id,
input: {
name: values.name,
cvr: values.cvr,
address: values.address,
city: values.city,
postalCode: values.postalCode,
},
});
message.success('Virksomhedsoplysninger gemt');
} catch (error) {
if (error instanceof Error) {
message.error(`Fejl ved gemning: ${error.message}`);
}
}
};
const handleSavePreferences = async () => {
try {
await preferencesForm.validateFields();
// TODO: Backend does not yet have a preferences mutation.
// Preferences like VAT period, auto-reconcile, etc. need a dedicated backend endpoint.
message.info('Præferencer er endnu ikke forbundet til backend');
} catch (error) {
if (error instanceof Error) {
message.error(`Fejl ved gemning: ${error.message}`);
}
}
};
const tabItems = [
{
key: 'company',
label: (