diff --git a/src/assets/service-account.mp4 b/src/assets/service-account.mp4 new file mode 100644 index 00000000..dfda40ce Binary files /dev/null and b/src/assets/service-account.mp4 differ diff --git a/src/components/Setup/Step0Welcome.tsx b/src/components/Setup/Step0Welcome.tsx index ebf89467..3fa05d86 100644 --- a/src/components/Setup/Step0Welcome.tsx +++ b/src/components/Setup/Step0Welcome.tsx @@ -1,7 +1,6 @@ import { ISetupStepBodyProps } from "pages/Setup"; import { FormControlLabel, Checkbox, Typography, Link } from "@mui/material"; -import OpenInNewIcon from "components/InlineOpenInNewIcon"; import { useAppContext } from "contexts/AppContext"; import { EXTERNAL_LINKS } from "constants/externalLinks"; @@ -38,30 +37,15 @@ export default function Step0Welcome({ } label={ <> - - I agree to the terms and conditions - + I agree to the{" "} - Read the simple English version - - - - Read the full terms and conditions - + terms and conditions } diff --git a/src/components/Setup/Step1RowyRun.tsx b/src/components/Setup/Step1RowyRun.tsx index f6dce24c..f4d89755 100644 --- a/src/components/Setup/Step1RowyRun.tsx +++ b/src/components/Setup/Step1RowyRun.tsx @@ -102,7 +102,7 @@ export default function Step1RowyRun({ title={ isValidRowyRunUrl ? `Rowy Run is set up at: ${rowyRunUrl}` - : "Deploy Rowy Run to your Google Cloud Platform project." + : "Deploy Rowy Run to your Google Cloud project." } > {!isValidRowyRunUrl && ( diff --git a/src/components/Setup/Step2ServiceAccount.tsx b/src/components/Setup/Step2ServiceAccount.tsx index e2532767..926e11f8 100644 --- a/src/components/Setup/Step2ServiceAccount.tsx +++ b/src/components/Setup/Step2ServiceAccount.tsx @@ -5,7 +5,6 @@ import { Typography, Link, Stack } from "@mui/material"; import LoadingButton from "@mui/lab/LoadingButton"; import OpenInNewIcon from "@mui/icons-material/OpenInNew"; import InlineOpenInNewIcon from "components/InlineOpenInNewIcon"; -import InfoIcon from "@mui/icons-material/InfoOutlined"; import SetupItem from "./SetupItem"; @@ -13,6 +12,8 @@ import { name } from "@root/package.json"; import { useAppContext } from "contexts/AppContext"; import { rowyRun } from "utils/rowyRun"; import { runRoutes } from "constants/runRoutes"; +import { WIKI_LINKS } from "constants/externalLinks"; +import screenRecording from "assets/service-account.mp4"; export default function Step2ServiceAccount({ rowyRunUrl, @@ -56,57 +57,48 @@ export default function Step2ServiceAccount({ return ( <> - - {name} Run uses the{" "} - - Firebase Admin SDK - {" "} - and{" "} - - Google Cloud SDKs - {" "} - to make changes to your Firestore database, authenticated with a{" "} + + {name} Run uses a{" "} service account + {" "} + to access your project. It operates exclusively on your GCP project, so + we never have access to any of your data.{" "} + + Learn more + - . - - - Rowy Run operates exclusively on your GCP project and we will never have - access to your service account or any of your data. -
    -
  • Service Account User – required to deploy Cloud Functions
  • -
  • Firebase Authentication Admin
  • -
  • Firestore Service Agent
  • -
- {!hasAllRoles && ( <> +
    +
  • Service Account User
  • +
  • Firebase Authentication Admin
  • +
  • Firestore Service Agent
  • +
+ )} - - - - On the Google Cloud Console page, click the Security tab to set - the service account for Rowy Run. - - + + Follow the steps in the screen recording below: + + +
); diff --git a/src/components/Setup/Step3ProjectOwner.tsx b/src/components/Setup/Step3ProjectOwner.tsx index 938b4b8e..6228e3b8 100644 --- a/src/components/Setup/Step3ProjectOwner.tsx +++ b/src/components/Setup/Step3ProjectOwner.tsx @@ -62,10 +62,9 @@ export default function Step3ProjectOwner({ return ( <> - The project owner requires the admin and owner roles to have full access - to manage this project. The default project owner is the Google Cloud - account used to deploy Rowy Run:{" "} - {email} + The project owner requires full access to manage this project. The + default project owner is the Google Cloud account used to deploy Rowy + Run: {email} theme.breakpoints.down("md")); + const [confirmProject, setConfirmProject] = useState(false); + const [confirmFirestore, setConfirmFirestore] = useState(false); + const [confirmAuth, setConfirmAuth] = useState(false); + return ( @@ -33,41 +47,81 @@ export default function DeployPage() { title="Get Started" description={ <> - - Set up {name} on your Google Cloud Platform project with this - one-click deploy button. - + + + Make sure you have the following: + + + setConfirmProject(e.target.checked)} + /> + } + label="A Google Cloud or Firebase project" + /> + setConfirmFirestore(e.target.checked)} + /> + } + label="Firestore enabled" + /> + setConfirmAuth(e.target.checked)} + /> + } + label="Firebase Authentication with the Google sign-in method enabled" + /> + + - - You must have a project set up on Google Cloud Platform or - Firebase. -
+ + Don’t have a project? Follow our{" "} - Learn how to create one - - + step-by-step guide + {" "} + to get started. } > - + {confirmProject && confirmFirestore && confirmAuth ? ( + + Run on Google Cloud + + ) : ( Run on Google Cloud - + )}