umami/components/Settings.js

60 lines
1.3 KiB
JavaScript
Raw Normal View History

import React, { useState, useEffect } from 'react';
2020-08-06 04:04:02 +02:00
import Page from './Page';
import Table from './Table';
2020-08-07 09:24:01 +02:00
import Button from './Button';
import Icon from './Icon';
import PageHeader from './PageHeader';
import Pen from 'assets/pen.svg';
import Trash from 'assets/trash.svg';
import Plus from 'assets/plus.svg';
import { get } from 'lib/web';
2020-08-05 07:45:05 +02:00
export default function Settings() {
const [data, setData] = useState();
2020-08-07 09:24:01 +02:00
const columns = [
{ key: 'name', label: 'Name' },
{ key: 'domain', label: 'Domain' },
{
key: 'action',
label: '',
style: { flex: 0 },
render: ({ website_id }) => (
<>
<Button icon={<Pen />} size="S">
<div>Edit</div>
</Button>
<Button icon={<Trash />} size="S">
<div>Delete</div>
</Button>
</>
),
},
];
async function loadData() {
setData(await get(`/api/website`));
}
useEffect(() => {
loadData();
}, []);
if (!data) {
return null;
}
2020-08-05 07:45:05 +02:00
return (
2020-08-06 04:04:02 +02:00
<Page>
2020-08-07 09:24:01 +02:00
<PageHeader>
<div>Settings</div>
<Button size="S">
<Icon icon={<Plus />} size="S" />
<div>Add website</div>
</Button>
</PageHeader>
<Table columns={columns} rows={data.websites} />
2020-08-06 04:04:02 +02:00
</Page>
2020-08-05 07:45:05 +02:00
);
}