fixes for various admin issues (#181)
* up max char count for variant name to fix https://github.com/owncast/owncast/issues/1037 * max widthing the line chart canvas size so it scales with the page. fixes - https://github.com/owncast/owncast/issues/842 - https://github.com/owncast/owncast/issues/1024 * A fix to make Storage Endpoint URL validation have better feedback. - give the field a type of "url" - give the field a pattern to check - have native browser handle the validation - if the field is invalid, use :invalid selector to turn the text red on blur. fixes: https://github.com/owncast/owncast/issues/1000 * a fix for https://github.com/owncast/owncast/issues/874 * - fixes for https://github.com/owncast/owncast/issues/972 Add optional prop to text field to trim() whitespaces from field. Apply logic to mostly url fields. - move textfield blur if invalid turn red to globaal * - a fix for bug: https://github.com/owncast/owncast/issues/998 don't return null if platform name not found because its custom. - clean up react key problem on socialhandles table * fix react key issue on Actions table * fix for https://github.com/owncast/owncast/issues/1008 to display 'other' field when editing an item not in predefined social list * clean up other potential react key warnings * Prettified Code! Co-authored-by: gingervitis <gingervitis@users.noreply.github.com>
This commit is contained in:
@@ -4,7 +4,7 @@ import React, { useState, useEffect, useContext } from 'react';
|
||||
import { Table, Space, Button, Modal, Checkbox, Input, Typography } from 'antd';
|
||||
import { ServerStatusContext } from '../utils/server-status-context';
|
||||
import { DeleteOutlined } from '@ant-design/icons';
|
||||
import isValidUrl from '../utils/urls';
|
||||
import isValidUrl, { DEFAULT_TEXTFIELD_URL_PATTERN } from '../utils/urls';
|
||||
import FormStatusIndicator from '../components/config/form-status-indicator';
|
||||
import {
|
||||
createInputStatus,
|
||||
@@ -41,12 +41,12 @@ function NewActionModal(props: Props) {
|
||||
|
||||
function save() {
|
||||
onOk(actionUrl, actionTitle, actionDescription, actionIcon, actionColor, openExternally);
|
||||
setActionUrl('')
|
||||
setActionTitle('')
|
||||
setActionDescription('')
|
||||
setActionIcon('')
|
||||
setActionColor('')
|
||||
setOpenExternally(false)
|
||||
setActionUrl('');
|
||||
setActionTitle('');
|
||||
setActionDescription('');
|
||||
setActionIcon('');
|
||||
setActionColor('');
|
||||
setOpenExternally(false);
|
||||
}
|
||||
|
||||
function canSave(): Boolean {
|
||||
@@ -91,7 +91,9 @@ function NewActionModal(props: Props) {
|
||||
value={actionUrl}
|
||||
required
|
||||
placeholder="https://myserver.com/action (required)"
|
||||
onChange={input => setActionUrl(input.currentTarget.value)}
|
||||
onChange={input => setActionUrl(input.currentTarget.value.trim())}
|
||||
type="url"
|
||||
pattern={DEFAULT_TEXTFIELD_URL_PATTERN}
|
||||
/>
|
||||
</p>
|
||||
<p>
|
||||
@@ -184,7 +186,7 @@ export default function Actions() {
|
||||
dataIndex: 'icon',
|
||||
key: 'icon',
|
||||
render: (url: string) => {
|
||||
return url ? <img style={{width: '2vw'}} src={url} /> : null;
|
||||
return url ? <img style={{ width: '2vw' }} src={url} /> : null;
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -289,11 +291,22 @@ export default function Actions() {
|
||||
</Paragraph>
|
||||
<Paragraph>
|
||||
Read more about how to use actions, with examples, at{' '}
|
||||
<a href="https://owncast.online/thirdparty/?source=admin" target="_blank"
|
||||
rel="noopener noreferrer">our documentation</a>.
|
||||
<a
|
||||
href="https://owncast.online/thirdparty/?source=admin"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
>
|
||||
our documentation
|
||||
</a>
|
||||
.
|
||||
</Paragraph>
|
||||
|
||||
<Table rowKey="id" columns={columns} dataSource={actions} pagination={false} />
|
||||
<Table
|
||||
rowKey={record => `${record.title}-${record.url}`}
|
||||
columns={columns}
|
||||
dataSource={actions}
|
||||
pagination={false}
|
||||
/>
|
||||
<br />
|
||||
<Button type="primary" onClick={showCreateModal}>
|
||||
Create New Action
|
||||
|
||||
Reference in New Issue
Block a user