Mod format
This commit is contained in:
parent
b969b1661d
commit
cda68a89fb
@ -65,8 +65,8 @@ export default function Changelog(props) {
|
||||
let copy = true;
|
||||
|
||||
for (let i = 0; i < lines.length; i++) {
|
||||
if (lines[i].startsWith('### ')) {
|
||||
let version = lines[i].replace('### ', '');
|
||||
if (lines[i].startsWith('## ')) {
|
||||
let version = lines[i].replace('## ', '');
|
||||
|
||||
if (SemverValid(version) === null) {
|
||||
if (copy === true) {
|
||||
@ -104,12 +104,32 @@ export default function Changelog(props) {
|
||||
}
|
||||
|
||||
const renderers = {
|
||||
h1: (props) => <h1 className={classes.h1} {...props}>{props.children}</h1>,
|
||||
h2: (props) => <h2 className={classes.h2} {...props}>{props.children}</h2>,
|
||||
h3: (props) => <h3 className={classes.h3} {...props}>{props.children}</h3>,
|
||||
h4: (props) => <h4 className={classes.h4} {...props}>{props.children}</h4>,
|
||||
a: (props) => <a className={classes.a} target="_blank" {...props}>{props.children}</a>,
|
||||
}
|
||||
h1: (props) => (
|
||||
<h1 className={classes.h1} {...props}>
|
||||
{props.children}
|
||||
</h1>
|
||||
),
|
||||
h2: (props) => (
|
||||
<h2 className={classes.h2} {...props}>
|
||||
{props.children}
|
||||
</h2>
|
||||
),
|
||||
h3: (props) => (
|
||||
<h3 className={classes.h3} {...props}>
|
||||
{props.children}
|
||||
</h3>
|
||||
),
|
||||
h4: (props) => (
|
||||
<h4 className={classes.h4} {...props}>
|
||||
{props.children}
|
||||
</h4>
|
||||
),
|
||||
a: (props) => (
|
||||
<a className={classes.a} target="_blank" {...props}>
|
||||
{props.children}
|
||||
</a>
|
||||
),
|
||||
};
|
||||
|
||||
return (
|
||||
<Dialog
|
||||
@ -126,9 +146,7 @@ export default function Changelog(props) {
|
||||
<Grid container spacing={2}>
|
||||
<Grid item xs={12}>
|
||||
<BoxText alignItems="left">
|
||||
<ReactMarkdown
|
||||
components={renderers}
|
||||
>{$data}</ReactMarkdown>
|
||||
<ReactMarkdown components={renderers}>{$data}</ReactMarkdown>
|
||||
</BoxText>
|
||||
</Grid>
|
||||
</Grid>
|
||||
|
||||
@ -1,111 +1,111 @@
|
||||
.vjs-public {
|
||||
--video-js--primary: #EAEA05;
|
||||
--video-js--primary: #eaea05;
|
||||
}
|
||||
|
||||
/* play btn */
|
||||
|
||||
.vjs-public .vjs-big-play-button {
|
||||
width: 70px;
|
||||
height: 70px;
|
||||
background: none;
|
||||
line-height: 180px;
|
||||
font-size: 180px;
|
||||
border: none;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
margin-top: -90px;
|
||||
margin-left: -90px;
|
||||
color: rgba(255,255,255,.65);
|
||||
}
|
||||
width: 70px;
|
||||
height: 70px;
|
||||
background: none;
|
||||
line-height: 180px;
|
||||
font-size: 180px;
|
||||
border: none;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
margin-top: -90px;
|
||||
margin-left: -90px;
|
||||
color: rgba(255, 255, 255, 0.65);
|
||||
}
|
||||
|
||||
.vjs-public:hover .vjs-big-play-button,
|
||||
.vjs-public.vjs-big-play-button:focus {
|
||||
background-color: transparent;
|
||||
color: rgba(255,255,255,1);
|
||||
}
|
||||
.vjs-public:hover .vjs-big-play-button,
|
||||
.vjs-public.vjs-big-play-button:focus {
|
||||
background-color: transparent;
|
||||
color: rgba(255, 255, 255, 1);
|
||||
}
|
||||
|
||||
/* controlbar */
|
||||
|
||||
.vjs-public .vjs-control-bar {
|
||||
height: 70px;
|
||||
padding-top: 20px;
|
||||
background: none;
|
||||
background-image: linear-gradient(0deg, rgba(0,0,0,.85), transparent)
|
||||
height: 70px;
|
||||
padding-top: 20px;
|
||||
background: none;
|
||||
background-image: linear-gradient(0deg, rgba(0, 0, 0, 0.85), transparent);
|
||||
}
|
||||
|
||||
.vjs-public .vjs-time-tooltip {
|
||||
z-index: 0;
|
||||
}
|
||||
|
||||
.vjs-public .vjs-button>.vjs-icon-placeholder:before {
|
||||
line-height: 50px
|
||||
.vjs-public .vjs-button > .vjs-icon-placeholder:before {
|
||||
line-height: 50px;
|
||||
}
|
||||
|
||||
/* progressbar */
|
||||
|
||||
.vjs-public .vjs-play-progress:before {
|
||||
display: none
|
||||
display: none;
|
||||
}
|
||||
|
||||
.vjs-public .vjs-progress-control {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
left: 15px;
|
||||
width: calc(100% - 30px);
|
||||
height: 20px
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
left: 15px;
|
||||
width: calc(100% - 30px);
|
||||
height: 20px;
|
||||
}
|
||||
|
||||
.vjs-public .vjs-progress-control .vjs-progress-holder {
|
||||
position: absolute;
|
||||
top: 20px;
|
||||
right: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
margin: 0
|
||||
position: absolute;
|
||||
top: 20px;
|
||||
right: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.vjs-public .vjs-play-progress {
|
||||
background-color: var(--video-js--primary);
|
||||
background-color: var(--video-js--primary);
|
||||
}
|
||||
|
||||
.vjs-public .vjs-slider {
|
||||
background: rgba(255,255,255,.25);
|
||||
background: rgba(255, 255, 255, 0.25);
|
||||
}
|
||||
|
||||
.vjs-public .vjs-load-progress {
|
||||
background: rgba(255,255,255,.25);
|
||||
background: rgba(255, 255, 255, 0.25);
|
||||
}
|
||||
|
||||
.vjs-public .vjs-load-progress div {
|
||||
background: rgba(255,255,255,.25);
|
||||
background: rgba(255, 255, 255, 0.25);
|
||||
}
|
||||
|
||||
.vjs-public .vjs-remaining-time {
|
||||
order: 0;
|
||||
line-height: 50px;
|
||||
flex: 3;
|
||||
text-align: left;
|
||||
order: 0;
|
||||
line-height: 50px;
|
||||
flex: 3;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.vjs-public .vjs-live-control {
|
||||
line-height: 50px;
|
||||
line-height: 50px;
|
||||
}
|
||||
|
||||
/* volume-panel */
|
||||
|
||||
.vjs-public .vjs-volume-panel .vjs-volume-control.vjs-volume-horizontal {
|
||||
padding-top: 1em;
|
||||
padding-top: 1em;
|
||||
}
|
||||
|
||||
.vjs-public .vjs-control .vjs-volume-panel {
|
||||
width: 4.5em;
|
||||
width: 4.5em;
|
||||
}
|
||||
|
||||
/* live display */
|
||||
|
||||
.vjs-public .vjs-live-display {
|
||||
margin-left: 1.8em;
|
||||
margin-left: 1.8em;
|
||||
}
|
||||
|
||||
/* disable caps */
|
||||
@ -123,43 +123,43 @@
|
||||
|
||||
/* overlay */
|
||||
|
||||
.vjs-public .vjs-overlay-no-background > img, .vjs-public .vjs-overlay-no-background > a > img {
|
||||
max-width: 100%!important;
|
||||
.vjs-public .vjs-overlay-no-background > img,
|
||||
.vjs-public .vjs-overlay-no-background > a > img {
|
||||
max-width: 100% !important;
|
||||
max-height: calc(18vw);
|
||||
}
|
||||
|
||||
.vjs-public .vjs-overlay-top-left {
|
||||
top: 20px!important;
|
||||
left: 30px!important;
|
||||
top: 20px !important;
|
||||
left: 30px !important;
|
||||
}
|
||||
|
||||
.vjs-public .vjs-overlay-top-right {
|
||||
top: 20px!important;
|
||||
right: 30px!important;
|
||||
top: 20px !important;
|
||||
right: 30px !important;
|
||||
}
|
||||
|
||||
.vjs-public .vjs-overlay-bottom-left {
|
||||
bottom: 20px!important;
|
||||
left: 30px!important;
|
||||
bottom: 20px !important;
|
||||
left: 30px !important;
|
||||
}
|
||||
|
||||
.vjs-public .vjs-overlay-bottom-right {
|
||||
bottom: 20px!important;
|
||||
right: 30px!important;
|
||||
bottom: 20px !important;
|
||||
right: 30px !important;
|
||||
}
|
||||
|
||||
/* context menu */
|
||||
|
||||
.vjs-public .vjs-license .vjs-menu .vjs-menu-content {
|
||||
background: rgba(0,0,0,.8);
|
||||
background: rgba(0, 0, 0, 0.8);
|
||||
}
|
||||
|
||||
.vjs-public .vjs-license-top-level-header {
|
||||
background: unset!important;
|
||||
border-bottom: 1px solid rgba(255,255,255,.25);
|
||||
background: unset !important;
|
||||
border-bottom: 1px solid rgba(255, 255, 255, 0.25);
|
||||
}
|
||||
|
||||
.vjs-public .vjs-lock-open {
|
||||
z-index: 1000;
|
||||
z-index: 1000;
|
||||
}
|
||||
|
||||
|
||||
@ -41,10 +41,18 @@ function createGraph(settings) {
|
||||
function Mode(props) {
|
||||
return (
|
||||
<Select label={<Trans>Scale</Trans>} value={props.value} onChange={props.onChange}>
|
||||
<MenuItem value="none"><Trans>None</Trans></MenuItem>
|
||||
<MenuItem value="fix"><Trans>Fix size</Trans></MenuItem>
|
||||
<MenuItem value="height"><Trans>By height</Trans></MenuItem>
|
||||
<MenuItem value="width"><Trans>By width</Trans></MenuItem>
|
||||
<MenuItem value="none">
|
||||
<Trans>None</Trans>
|
||||
</MenuItem>
|
||||
<MenuItem value="fix">
|
||||
<Trans>Fix size</Trans>
|
||||
</MenuItem>
|
||||
<MenuItem value="height">
|
||||
<Trans>By height</Trans>
|
||||
</MenuItem>
|
||||
<MenuItem value="width">
|
||||
<Trans>By width</Trans>
|
||||
</MenuItem>
|
||||
</Select>
|
||||
);
|
||||
}
|
||||
|
||||
@ -347,7 +347,9 @@ const getSRTAddress = (host, name, token, passphrase, publish) => {
|
||||
'://' +
|
||||
host +
|
||||
'?mode=caller&transtype=live&streamid=' +
|
||||
name + ',mode:' + (publish ? 'publish' : 'request') +
|
||||
name +
|
||||
',mode:' +
|
||||
(publish ? 'publish' : 'request') +
|
||||
(token.length !== 0 ? ',token:' + encodeURIComponent(token) : '');
|
||||
|
||||
if (passphrase.length !== 0) {
|
||||
|
||||
@ -12,9 +12,7 @@ const id = 'dlive';
|
||||
const name = 'dlive';
|
||||
const version = '1.0';
|
||||
const stream_key_link = 'https://dlive.tv/s/dashboard';
|
||||
const description = (
|
||||
<Trans>Live-Streaming to dlive Live RTMP Service.</Trans>
|
||||
);
|
||||
const description = <Trans>Live-Streaming to dlive Live RTMP Service.</Trans>;
|
||||
const image_copyright = '';
|
||||
const author = {
|
||||
creator: {
|
||||
|
||||
@ -20,7 +20,8 @@ const description = (
|
||||
Live-Streaming to Instagram Live RTMP Service. The stream key requires a service such as{' '}
|
||||
<Link color="secondary" target="_blank" href="https://instafeed.me/">
|
||||
Instafeed.me
|
||||
</Link>{' '} or {' '}
|
||||
</Link>{' '}
|
||||
or{' '}
|
||||
<Link color="secondary" target="_blank" href="https://yellowduck.tv/">
|
||||
Yellow Duck
|
||||
</Link>
|
||||
@ -94,7 +95,7 @@ function Service(props) {
|
||||
<Grid item xs={12} md={9}>
|
||||
<TextField variant="outlined" fullWidth label={<Trans>Stream key</Trans>} value={settings.key} onChange={handleChange('key')} />
|
||||
</Grid>
|
||||
{(!settings.service_instafeed && !settings.service_yellowduck) && (
|
||||
{!settings.service_instafeed && !settings.service_yellowduck && (
|
||||
<Grid item xs={12} md={3}>
|
||||
<FormInlineButton target="blank" component="a" disabled>
|
||||
<Trans>GET</Trans>
|
||||
@ -116,8 +117,18 @@ function Service(props) {
|
||||
</Grid>
|
||||
)}
|
||||
<Grid item xs={12}>
|
||||
<Checkbox label={<Trans>Instafeed.me</Trans>} checked={settings.service_instafeed} onChange={handleChange('service_instafeed')} disabled={settings.service_yellowduck} />
|
||||
<Checkbox label={<Trans>Yellow Duck</Trans>} checked={settings.service_yellowduck} onChange={handleChange('service_yellowduck')} disabled={settings.service_instafeed} />
|
||||
<Checkbox
|
||||
label={<Trans>Instafeed.me</Trans>}
|
||||
checked={settings.service_instafeed}
|
||||
onChange={handleChange('service_instafeed')}
|
||||
disabled={settings.service_yellowduck}
|
||||
/>
|
||||
<Checkbox
|
||||
label={<Trans>Yellow Duck</Trans>}
|
||||
checked={settings.service_yellowduck}
|
||||
onChange={handleChange('service_yellowduck')}
|
||||
disabled={settings.service_instafeed}
|
||||
/>
|
||||
</Grid>
|
||||
</Grid>
|
||||
);
|
||||
|
||||
@ -12,9 +12,7 @@ const id = 'medianetwork';
|
||||
const name = 'Media Network';
|
||||
const version = '1.0';
|
||||
const stream_key_link = 'https://www.mediaserver.express/';
|
||||
const description = (
|
||||
<Trans>Live-Streaming to Media Network RTMP Service.</Trans>
|
||||
);
|
||||
const description = <Trans>Live-Streaming to Media Network RTMP Service.</Trans>;
|
||||
const image_copyright = '';
|
||||
const author = {
|
||||
creator: {
|
||||
|
||||
@ -13,11 +13,7 @@ const id = 'peertube';
|
||||
const name = 'PeerTube';
|
||||
const version = '1.0';
|
||||
const stream_key_link = '/videos/upload#go-live';
|
||||
const description = (
|
||||
<Trans>
|
||||
Live-Streaming to PeerTube v3+ RTMP/S Service.
|
||||
</Trans>
|
||||
);
|
||||
const description = <Trans>Live-Streaming to PeerTube v3+ RTMP/S Service.</Trans>;
|
||||
const image_copyright = '';
|
||||
const author = {
|
||||
creator: {
|
||||
@ -83,7 +79,14 @@ function Service(props) {
|
||||
return (
|
||||
<Grid container spacing={2}>
|
||||
<Grid item xs={12} md={12}>
|
||||
<TextField variant="outlined" fullWidth label={<Trans>Instance domain</Trans>} placeholder="joinpeertube.org" value={settings.domain} onChange={handleChange('domain')} />
|
||||
<TextField
|
||||
variant="outlined"
|
||||
fullWidth
|
||||
label={<Trans>Instance domain</Trans>}
|
||||
placeholder="joinpeertube.org"
|
||||
value={settings.domain}
|
||||
onChange={handleChange('domain')}
|
||||
/>
|
||||
</Grid>
|
||||
<Grid item xs={12} md={9}>
|
||||
<TextField variant="outlined" fullWidth label={<Trans>Stream key</Trans>} value={settings.key} onChange={handleChange('key')} />
|
||||
|
||||
@ -12,9 +12,7 @@ const id = 'trovo';
|
||||
const name = 'Trovo';
|
||||
const version = '1.0';
|
||||
const stream_key_link = 'https://studio.trovo.live/mychannel/stream';
|
||||
const description = (
|
||||
<Trans>Live-Streaming to Trovo Live RTMP Service.</Trans>
|
||||
);
|
||||
const description = <Trans>Live-Streaming to Trovo Live RTMP Service.</Trans>;
|
||||
const image_copyright = '';
|
||||
const author = {
|
||||
creator: {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user