Render actual external action buttons. Closes #1997

This commit is contained in:
Gabe Kangas 2022-07-12 17:37:40 -07:00
parent 9212db100b
commit c6e1a452ab
No known key found for this signature in database
GPG Key ID: 9A56337728BC81EA
2 changed files with 8 additions and 15 deletions

View File

@ -9,7 +9,7 @@ interface Props {
}
export default function ActionButton({
action: { url, title, description, icon, openExternally },
action: { url, title, description, icon, color, openExternally },
}: Props) {
const [showModal, setShowModal] = useState(false);
@ -23,7 +23,12 @@ export default function ActionButton({
return (
<>
<Button type="primary" className={`${s.button}`} onClick={buttonClicked}>
<Button
type="primary"
className={`${s.button}`}
onClick={buttonClicked}
style={{ backgroundColor: color }}
>
<img src={icon} className={`${s.icon}`} alt={description} />
{title}
</Button>

View File

@ -53,22 +53,10 @@ export default function ContentComponent() {
const chatUserId = useRecoilValue<string>(chatUserIdAtom);
const { viewerCount, lastConnectTime, lastDisconnectTime } =
useRecoilValue<ServerStatus>(serverStatusState);
const { extraPageContent, version, name, summary } = clientConfig;
const { extraPageContent, version, name, summary, externalActions } = clientConfig;
const [showNotifyReminder, setShowNotifyReminder] = useState(false);
const [showNotifyPopup, setShowNotifyPopup] = useState(false);
// This is example content. It should be removed.
const externalActions = [
{
url: 'https://owncast.online/docs',
title: 'Example button',
description: 'Example button description',
icon: 'https://owncast.online/images/logo.svg',
color: '#5232c8',
openExternally: false,
},
];
const externalActionButtons = externalActions.map(action => (
<ActionButton key={action.url} action={action} />
));