diff --git a/client/src/Features/UI/uiSlice.js b/client/src/Features/UI/uiSlice.js index 00d94d735..bd6e92804 100644 --- a/client/src/Features/UI/uiSlice.js +++ b/client/src/Features/UI/uiSlice.js @@ -20,7 +20,7 @@ const initialState = { collapsed: false, }, mode: initialMode, - statusURL: "disabled", + showURL: false, greeting: { index: 0, lastUpdate: null }, timezone: "America/Toronto", distributedUptimeEnabled: false, @@ -47,8 +47,8 @@ const uiSlice = createSlice({ setMode: (state, action) => { state.mode = action.payload; }, - setStatusURL: (state, action) => { - state.statusURL = action.payload; + setShowURL: (state, action) => { + state.showURL = action.payload; }, setGreeting(state, action) { state.greeting.index = action.payload.index; @@ -71,7 +71,7 @@ export const { setRowsPerPage, toggleSidebar, setMode, - setStatusURL, + setShowURL, setGreeting, setTimezone, setDistributedUptimeEnabled, diff --git a/client/src/Pages/Settings/SettingsURL.jsx b/client/src/Pages/Settings/SettingsURL.jsx index ddcc271b4..64804c903 100644 --- a/client/src/Pages/Settings/SettingsURL.jsx +++ b/client/src/Pages/Settings/SettingsURL.jsx @@ -9,7 +9,7 @@ import { useTheme } from "@emotion/react"; import { PropTypes } from "prop-types"; import { useTranslation } from "react-i18next"; -const SettingsURL = ({ HEADING_SX, handleChange, statusURL }) => { +const SettingsURL = ({ HEADING_SX, handleChange, showURL }) => { const { t } = useTranslation(); const theme = useTheme(); return ( @@ -20,13 +20,13 @@ const SettingsURL = ({ HEADING_SX, handleChange, statusURL }) => { @@ -37,7 +37,7 @@ const SettingsURL = ({ HEADING_SX, handleChange, statusURL }) => { SettingsURL.propTypes = { HEADING_SX: PropTypes.object, handleChange: PropTypes.func, - statusURL: PropTypes.string, + showURL: PropTypes.bool, }; export default SettingsURL; diff --git a/client/src/Pages/Settings/index.jsx b/client/src/Pages/Settings/index.jsx index b4d890984..b61fa0294 100644 --- a/client/src/Pages/Settings/index.jsx +++ b/client/src/Pages/Settings/index.jsx @@ -16,7 +16,7 @@ import { useState } from "react"; import { useTheme } from "@emotion/react"; import { useTranslation } from "react-i18next"; import { useSelector, useDispatch } from "react-redux"; -import { setTimezone, setMode, setLanguage, setStatusURL } from "../../Features/UI/uiSlice"; +import { setTimezone, setMode, setLanguage, setShowURL } from "../../Features/UI/uiSlice"; import SettingsStats from "./SettingsStats"; import { deleteMonitorChecksByTeamId, @@ -32,7 +32,7 @@ const BREADCRUMBS = [{ name: `Settings`, path: "/settings" }]; const Settings = () => { // Redux state - const { mode, language, timezone, statusURL } = useSelector((state) => state.ui); + const { mode, language, timezone, showURL } = useSelector((state) => state.ui); const { user } = useSelector((state) => state.auth); // Local state @@ -68,7 +68,6 @@ const Settings = () => { const { error } = settingsValidation.validate(newSettingsData.settings, { abortEarly: false, }); - console.log(error) if (!error || error.details.length === 0) { setErrors({}); } else { @@ -87,8 +86,8 @@ const Settings = () => { dispatch(setMode(value)); } - if (name === "statusURL") { - dispatch(setStatusURL(value)); + if (name === "showURL") { + dispatch(setShowURL(value)); } if (name === "language") { @@ -173,7 +172,7 @@ const Settings = () => { state.ui); - const showURL = statusURL === "enabled"; + const { showURL } = useSelector((state) => state.ui); return ( <> diff --git a/client/src/Validation/validation.js b/client/src/Validation/validation.js index bbf1227ec..76d904865 100644 --- a/client/src/Validation/validation.js +++ b/client/src/Validation/validation.js @@ -277,7 +277,7 @@ const settingsValidation = joi.object({ }), pagespeedApiKey: joi.string().allow("").optional(), language: joi.string().required(), - statusURL: joi.string().required(), + showURL: joi.bool().required(), systemEmailHost: joi.string().allow(""), systemEmailPort: joi.number().allow(null, ""), systemEmailAddress: joi.string().allow(""), diff --git a/client/src/locales/gb.json b/client/src/locales/gb.json index 716f45ca3..c430371e2 100644 --- a/client/src/locales/gb.json +++ b/client/src/locales/gb.json @@ -78,6 +78,8 @@ "settingsURLTitle": "Monitor IP/URL on Status Page", "settingsURLDescription": "Display the IP address or URL of monitor on the public Status page. If it's disabled, only the monitor name will be shown to protect sensitive information.", "settingsURLSelectTitle": "Display IP/URL on status page", + "settingsURLEnabled": "Enabled", + "settingURLDisabled": "Disabled", "settingsDistributedUptime": "Distributed uptime", "settingsDistributedUptimeDescription": "Enable/disable distributed uptime monitoring.", "settingsEnabled": "Enabled", diff --git a/client/src/locales/ru.json b/client/src/locales/ru.json index 2240cf314..9bdf32495 100644 --- a/client/src/locales/ru.json +++ b/client/src/locales/ru.json @@ -92,6 +92,8 @@ "settingsURLTitle": "Отображать IP/URL на странице статуса", "settingsURLDescription": "Отображать IP-адрес или URL-адрес монитора на общедоступной странице статуса. Если отключено, будет отображаться только имя монитора для защиты конфиденциальной информации.", "settingsURLSelectTitle": "Показать IP/URL на странице статуса", + "settingsURLEnabled": "Включено", + "settingURLDisabled": "Отключено", "settingsDistributedUptime": "Distributed uptime", "settingsDistributedUptimeDescription": "Включить/выключить distributed uptime monitoring.", "settingsEnabled": "Включено", diff --git a/client/src/locales/tr.json b/client/src/locales/tr.json index 69db239dd..214e7703c 100644 --- a/client/src/locales/tr.json +++ b/client/src/locales/tr.json @@ -76,6 +76,8 @@ "settingsURLTitle": "Durum Sayfasında IP/URL'yi Göster", "settingsURLDescription": "Monitörün IP adresini veya URL'sini genel Durum sayfasında göster. Devre dışı bırakıldığında, hassas bilgileri korumak için yalnızca monitör adı gösterilecektir.", "settingsURLSelectTitle": "Durum sayfasında IP/URL'yi göster", + "settingsURLEnabled": "Etkin", + "settingURLDisabled": "Devre Dışı", "settingsDistributedUptime": "Dağıtılmış çalışma süresi", "settingsDistributedUptimeDescription": "Dağıtılmış çalışma süresi izlemeyi etkinleştirin/devre dışı bırakın.", "settingsEnabled": "Etkin", diff --git a/server/validation/joi.js b/server/validation/joi.js index 8db68b6d6..596da3fd4 100755 --- a/server/validation/joi.js +++ b/server/validation/joi.js @@ -427,7 +427,7 @@ const updateAppSettingsBodyValidation = joi.object({ checkTTL: joi.number().allow(""), pagespeedApiKey: joi.string().allow(""), language: joi.string().allow(""), - statusURL: joi.string().required(), + showURL: joi.bool().required(), systemEmailHost: joi.string().allow(""), systemEmailPort: joi.number().allow(""), systemEmailAddress: joi.string().allow(""),