diff --git a/public/index.html b/public/index.html index fe521d6..bdb4fc9 100644 --- a/public/index.html +++ b/public/index.html @@ -13,10 +13,8 @@ diff --git a/src/components/ChatboxWithSettings.js b/src/components/ChatboxWithSettings.js index a2af4aa..0784221 100644 --- a/src/components/ChatboxWithSettings.js +++ b/src/components/ChatboxWithSettings.js @@ -1,15 +1,21 @@ import React, { useState, useEffect } from 'react'; import PropTypes from 'prop-types'; import Chatbox from './chatbox'; +import { DEFAULT_SETTINGS_ENDPOINT } from '../utils/constants'; - -const ChatboxWithSettings = ({ settingsEndpoint, matrixServerUrl, ...rest }) => { +const ChatboxWithSettings = ({ settingsEndpoint = null, matrixServerUrl, ...rest }) => { const [settings, setSettings] = useState({}); const [shifts, setShifts] = useState(); const [isAvailable, setAvailability] = useState(false); const getSettings = async () => { - if (!settingsEndpoint) { + const endpoint = settingsEndpoint || DEFAULT_SETTINGS_ENDPOINT; + const url = `${endpoint}?homeserver=${encodeURIComponent(matrixServerUrl)}`; + const res = await fetch(url); + const data = await res.json(); + const { fields, schedule = [] } = data; + + if (!fields) { const props = { ...rest, enabled: true, @@ -19,10 +25,6 @@ const ChatboxWithSettings = ({ settingsEndpoint, matrixServerUrl, ...rest }) => return setSettings(props); } - const url = `${settingsEndpoint}?homeserver=${encodeURIComponent(matrixServerUrl)}`; - const res = await fetch(url); - const data = await res.json(); - const { fields, schedule = [] } = data; const settingsObj = {}; setShifts(schedule); diff --git a/src/utils/constants.js b/src/utils/constants.js new file mode 100644 index 0000000..6048189 --- /dev/null +++ b/src/utils/constants.js @@ -0,0 +1 @@ +export const DEFAULT_SETTINGS_ENDPOINT = 'https://safesupport-admin.herokuapp.com/api/get-settings';