owncast/web/components/admin/notification/federation.tsx
2023-01-10 00:37:11 -08:00

52 lines
1.4 KiB
TypeScript

import { Button, Typography } from 'antd';
import React, { useState, useContext, useEffect } from 'react';
import Link from 'next/link';
import { ServerStatusContext } from '../../../utils/server-status-context';
const { Title } = Typography;
export const ConfigNotify = () => {
const serverStatusData = useContext(ServerStatusContext);
const { serverConfig } = serverStatusData || {};
const { federation } = serverConfig || {};
const { enabled } = federation || {};
const [formDataValues, setFormDataValues] = useState<any>({});
useEffect(() => {
setFormDataValues({
enabled,
});
}, [enabled]);
return (
<>
<Title>Fediverse Social</Title>
<p className="description">
Enabling the Fediverse social features will not just alert people to when you go live, but
also enable other functionality.
</p>
<p>
Fediverse social features:{' '}
<span style={{ color: federation.enabled ? 'green' : 'red' }}>
{formDataValues.enabled ? 'Enabled' : 'Disabled'}
</span>
</p>
<Link passHref href="/config-federation">
<Button
type="primary"
style={{
position: 'relative',
marginLeft: 'auto',
right: '0',
marginTop: '20px',
}}
>
Configure
</Button>
</Link>
</>
);
};
export default ConfigNotify;