diff --git a/Dockerfile b/Dockerfile index 7fa34179..7fd1148a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,7 +4,7 @@ ARG DEBIAN_VERSION="bookworm" ARG GO_VERSION="1.22" ARG NODE_VERSION="20" -FROM golang:${GO_VERSION}-${DEBIAN_VERSION} as go_builder +FROM golang:${GO_VERSION}-${DEBIAN_VERSION} AS go_builder FROM node:${NODE_VERSION}-${DEBIAN_VERSION} AS base COPY --from=go_builder /usr/local/go/ /usr/local/go/ diff --git a/service/latest_version/types.go b/service/latest_version/types.go index 8d6fea99..58145729 100644 --- a/service/latest_version/types.go +++ b/service/latest_version/types.go @@ -39,12 +39,12 @@ func getEmptyListETag() string { } // FindEmptyListETag finds the ETag for an empty list query on the GitHub API. -func FindEmptyListETag(access_token string) { +func FindEmptyListETag(accessToken string) { githubData := NewGitHubData("", nil) allowInvalidCerts := false lookup := New( - &access_token, + &accessToken, &allowInvalidCerts, githubData, nil, nil, nil, diff --git a/web/ui/package-lock.json b/web/ui/package-lock.json index ccfed52d..cd5d4c53 100644 --- a/web/ui/package-lock.json +++ b/web/ui/package-lock.json @@ -1659,9 +1659,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001610", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001610.tgz", - "integrity": "sha512-QFutAY4NgaelojVMjY63o6XlZyORPaLfyMnsl3HgnWdJUcX6K0oaJymHjH8PT5Gk7sTm8rvC/c5COUQKXqmOMA==", + "version": "1.0.30001611", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001611.tgz", + "integrity": "sha512-19NuN1/3PjA3QI8Eki55N8my4LzfkMCRLgCVfrl/slbSAchQfV0+GwjPrK3rq37As4UCLlM/DHajbKkAqbv92Q==", "funding": [ { "type": "opencollective", diff --git a/web/ui/react-app/src/components/approvals/service-info.tsx b/web/ui/react-app/src/components/approvals/service-info.tsx index 78d0bdbf..3e81c8eb 100644 --- a/web/ui/react-app/src/components/approvals/service-info.tsx +++ b/web/ui/react-app/src/components/approvals/service-info.tsx @@ -27,7 +27,7 @@ interface Props { service: ServiceSummaryType; updateAvailable: boolean; updateSkipped: boolean; - setShowUpdateInfo: () => void; + toggleShowUpdateInfo: () => void; } /** @@ -44,7 +44,7 @@ export const ServiceInfo: FC = ({ service, updateAvailable, updateSkipped, - setShowUpdateInfo, + toggleShowUpdateInfo, }) => { const { handleModal } = useContext(ModalContext); const delayedRender = useDelayedRender(250); @@ -110,6 +110,8 @@ export const ServiceInfo: FC = ({ ) : null; + const actionType = service.webhook ? "WebHooks" : "Commands"; + const actionReleaseButton = (service.webhook || service.command) && (!updateAvailable || updateSkipped) ? ( @@ -121,7 +123,7 @@ export const ServiceInfo: FC = ({ {updateSkipped ? "Approve this release" - : `Resend the ${service.webhook ? "WebHooks" : "Commands"}`} + : `Resend the ${actionType}`} } > @@ -161,7 +163,7 @@ export const ServiceInfo: FC = ({ variant="secondary" > {status.updateApproved && (service.webhook || service.command) - ? `${service.webhook ? "WebHooks" : "Commands"} already sent:` + ? `${actionType} already sent:` : "Update available:"} = ({ key="details" className="btn-flex btn-update-action" variant="primary" - onClick={() => setShowUpdateInfo()} + onClick={toggleShowUpdateInfo} > @@ -222,11 +224,9 @@ export const ServiceInfo: FC = ({ } >
- <> - Current version: - {deployedVersionIcon} - {skippedVersionIcon} - + Current version: + {deployedVersionIcon} + {skippedVersionIcon}
= ({ service, visible }) => ( - {service?.status && service.status?.latest_version_timestamp ? ( + {service?.status?.latest_version_timestamp ? ( <> Found{" "} {formatRelative( diff --git a/web/ui/react-app/src/components/approvals/service.tsx b/web/ui/react-app/src/components/approvals/service.tsx index 10beeafe..2dfb1108 100644 --- a/web/ui/react-app/src/components/approvals/service.tsx +++ b/web/ui/react-app/src/components/approvals/service.tsx @@ -21,10 +21,10 @@ interface Props { * @returns A component that displays the service */ const Service: FC = ({ service, editable = false }) => { - const [showUpdateInfo, setShowUpdateInfoMain] = useState(false); + const [showUpdateInfo, setShowUpdateInfo] = useState(false); - const setShowUpdateInfo = useCallback(() => { - setShowUpdateInfoMain((prevState) => !prevState); + const toggleShowUpdateInfo = useCallback(() => { + setShowUpdateInfo((prevState) => !prevState); }, []); const { handleModal } = useContext(ModalContext); @@ -113,7 +113,7 @@ const Service: FC = ({ service, editable = false }) => { /> diff --git a/web/ui/react-app/src/components/generic/boolean-with-default.tsx b/web/ui/react-app/src/components/generic/boolean-with-default.tsx index de9fd45f..29bf53f5 100644 --- a/web/ui/react-app/src/components/generic/boolean-with-default.tsx +++ b/web/ui/react-app/src/components/generic/boolean-with-default.tsx @@ -1,4 +1,4 @@ -import { Button, ButtonGroup, Col } from "react-bootstrap"; +import { Button, ButtonGroup, Col, FormLabel } from "react-bootstrap"; import { Controller, useFormContext } from "react-hook-form"; import { FC, memo, useEffect } from "react"; import { @@ -69,7 +69,7 @@ const BooleanWithDefault: FC = ({ style={{ display: "flex", alignItems: "center" }} > <> - {label && {label}} + {label && {label}} {tooltip && } diff --git a/web/ui/react-app/src/components/generic/form-label.tsx b/web/ui/react-app/src/components/generic/form-label.tsx index f7e836a2..15274489 100644 --- a/web/ui/react-app/src/components/generic/form-label.tsx +++ b/web/ui/react-app/src/components/generic/form-label.tsx @@ -27,24 +27,28 @@ const FormLabel: FC = ({ heading, required, small, -}: FormLabelProps) => ( - - {text} - {required && *} - {tooltip && } - -); +}: FormLabelProps) => { + const style = () => { + if (heading) + return { + fontSize: "1.25rem", + textDecorationLine: "underline", + paddingTop: "1.5rem", + }; + if (small) + return { + fontSize: "0.8rem", + }; + return undefined; + }; + + return ( + + {text} + {required && *} + {tooltip && } + + ); +}; export default FormLabel; diff --git a/web/ui/react-app/src/components/generic/form-select.tsx b/web/ui/react-app/src/components/generic/form-select.tsx index 13b676c7..5d097a58 100644 --- a/web/ui/react-app/src/components/generic/form-select.tsx +++ b/web/ui/react-app/src/components/generic/form-select.tsx @@ -80,9 +80,7 @@ const FormSelect: FC = ({ setValue(name, e.target.value) - } + onChange={onChange || ((e) => setValue(name, e.target.value))} > {options.map((opt) => (