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: ( Virksomhed ), children: (
Adresse Regnskab
), }, { key: 'preferences', label: ( Præferencer ), children: (
Moms
), }, { key: 'bankAccounts', label: ( Bankkonti ), children: ( ), }, { key: 'users', label: ( Brugere ), children: (
Brugere med adgang
Brugere med adgang til denne virksomhed vil blive vist her, når funktionen er implementeret.
), }, ]; return (
); }