Add HTTPS checkbox

This commit is contained in:
powermaker450 2024-09-10 12:28:56 -04:00
parent 42bbb67639
commit c4c3316e33

View file

@ -1,20 +1,24 @@
import { import {
Button, Button,
Checkbox,
Dialog, Dialog,
DialogActions, DialogActions,
DialogContent, DialogContent,
DialogTitle, DialogTitle,
FormControlLabel,
IconButton, IconButton,
TextField, TextField,
} from "@mui/material"; } from "@mui/material";
import SettingsIcon from "@mui/icons-material/Settings"; import SettingsIcon from "@mui/icons-material/Settings";
import React, { useState } from "react"; import React, { useState } from "react";
import { CheckBox } from "@mui/icons-material";
export interface EndpointDialogProps { export interface EndpointDialogProps {
endpoint: [string, React.Dispatch<React.SetStateAction<string>>]; endpoint: [string, React.Dispatch<React.SetStateAction<string>>];
secure: [boolean, React.Dispatch<React.SetStateAction<boolean>>];
} }
const EndpointDialog = ({ endpoint }: EndpointDialogProps) => { const EndpointDialog = ({ endpoint, secure }: EndpointDialogProps) => {
const [open, setOpen] = useState(false); const [open, setOpen] = useState(false);
const [error, setError] = useState(false); const [error, setError] = useState(false);
const [errorText, setErrorText] = useState(""); const [errorText, setErrorText] = useState("");
@ -35,7 +39,7 @@ const EndpointDialog = ({ endpoint }: EndpointDialogProps) => {
}; };
const showTheError = () => { const showTheError = () => {
setErrorText("Please enter a valid URL."); setErrorText('Please omit "http://" or "https://" from the endpoint.');
setError(true); setError(true);
} }
@ -45,7 +49,7 @@ const EndpointDialog = ({ endpoint }: EndpointDialogProps) => {
} }
const isValidEndpoint = () => { const isValidEndpoint = () => {
return endpoint[0].startsWith("http://") || endpoint[0].startsWith("https://"); return !(endpoint[0].startsWith("http://") || endpoint[0].startsWith("https://"));
} }
const saveEndpoint = () => { const saveEndpoint = () => {
@ -80,6 +84,19 @@ const EndpointDialog = ({ endpoint }: EndpointDialogProps) => {
error={error} error={error}
helperText={errorText} helperText={errorText}
/> />
<br />
<FormControlLabel
control={
<Checkbox
checked={secure[0]}
onClick={() => secure[1](!secure[0])}
/>
}
label="HTTPS"
/>
</DialogContent> </DialogContent>
<DialogActions> <DialogActions>
<Button <Button
@ -90,7 +107,9 @@ const EndpointDialog = ({ endpoint }: EndpointDialogProps) => {
closeTheError(); closeTheError();
saveEndpoint(); saveEndpoint();
console.log(`Endpoint set to ${endpoint[0]}.\n\nPOST URI: ${endpoint[0]}/post\nGET URI: ${endpoint[0]}/reviews`); const fullUri = `${secure[0] ? "https" : "http"}://${endpoint[0]}`;
console.log(`Endpoint set to ${fullUri}.\n\nPOST URI: ${fullUri}/post\nGET URI: ${fullUri}/reviews`);
} else { } else {
showTheError(); showTheError();
} }