Browse Source

continue initial setup

pull/1886/head
gingervitis 5 years ago committed by Gabe Kangas
parent
commit
f446385a7e
  1. 5
      web/pages/components/config/defaults.ts
  2. 25
      web/pages/components/config/form-textfield.tsx
  3. 37
      web/pages/components/config/public-facing-details.tsx
  4. 7
      web/styles/config.scss
  5. 13
      web/utils/server-status-context.tsx

5
web/pages/components/config/defaults.ts

@ -0,0 +1,5 @@ @@ -0,0 +1,5 @@
// DEFAULT VALUES
export const DEFAULT_NAME = 'Owncast User';
export const DEFAULT_TITLE = 'Owncast Server';
export const DEFAULT_SUMMARY = '';

25
web/pages/components/config/form-textfield.tsx

@ -0,0 +1,25 @@ @@ -0,0 +1,25 @@
/*
- auto saves ,ajax call
- set default text
- show error state/confirm states
- show info
- label
- min/max length
- populate with curren val (from local sstate)
load page,
get all config vals,
save to local state/context.
read vals from there.
update vals to state, andthru api.
*/
import React, { useContext } from 'react';
import { ServerStatusContext } from '../../../utils/server-status-context';
Server Name
<Input placeholder="Owncast" value={name} />

37
web/pages/components/config/public-facing-details.tsx

@ -0,0 +1,37 @@ @@ -0,0 +1,37 @@
import React, { useContext } from 'react';
import { Typography, Input } from 'antd';
import { ServerStatusContext } from '../../../utils/server-status-context';
const { Title } = Typography;
export default function PublicFacingDetails() {
const serverStatusData = useContext(ServerStatusContext);
const { serverConfig, setConfigField } = serverStatusData || {};
const { instanceDetails = {}, } = serverConfig;
const { name, summary, title } = instanceDetails;
return (
<>
<Title level={2}>Edit your public facing instance details</Title>
<div className="config-public-details-container">
<div className="text-fields" role="form">
Server Name
<Input placeholder="Owncast" value={name} />
</div>
<div className="misc-optionals">
add social handles
<br/>
add tags
</div>
</div>
</>
);
}

7
web/styles/config.scss

@ -0,0 +1,7 @@ @@ -0,0 +1,7 @@
.config-public-details-container {
display: flex;
flex-direction: row;
align-items: flex-start;
}

13
web/utils/server-status-context.tsx

@ -5,6 +5,7 @@ import { STATUS, fetchData, FETCH_INTERVAL, SERVER_CONFIG } from './apis'; @@ -5,6 +5,7 @@ import { STATUS, fetchData, FETCH_INTERVAL, SERVER_CONFIG } from './apis';
export const initialServerConfigState = {
streamKey: '',
instanceDetails: {},
yp: {
enabled: false,
},
@ -36,6 +37,8 @@ const initialServerStatusState = { @@ -36,6 +37,8 @@ const initialServerStatusState = {
export const ServerStatusContext = React.createContext({
...initialServerStatusState,
serverConfig: initialServerConfigState,
setConfigField: () => {},
});
const ServerStatusProvider = ({ children }) => {
@ -60,6 +63,14 @@ const ServerStatusProvider = ({ children }) => { @@ -60,6 +63,14 @@ const ServerStatusProvider = ({ children }) => {
}
};
const setConfigField = ({ fieldName, value }) => {
const updatedConfig = {
...config,
[fieldName]: value,
};
setConfig(updatedConfig);
}
useEffect(() => {
let getStatusIntervalId = null;
@ -78,6 +89,8 @@ const ServerStatusProvider = ({ children }) => { @@ -78,6 +89,8 @@ const ServerStatusProvider = ({ children }) => {
const providerValue = {
...status,
serverConfig: config,
setConfigField,
};
return (
<ServerStatusContext.Provider value={providerValue}>

Loading…
Cancel
Save