diff --git a/apps/webapp/app/components/primitives/UpgradeCallout.tsx b/apps/webapp/app/components/primitives/UpgradeCallout.tsx index 873cb8355..852efb587 100644 --- a/apps/webapp/app/components/primitives/UpgradeCallout.tsx +++ b/apps/webapp/app/components/primitives/UpgradeCallout.tsx @@ -1,8 +1,8 @@ -import { RocketLaunchIcon } from "@heroicons/react/20/solid"; -import { Link } from "@remix-run/react"; +import { LockOpenIcon } from "@heroicons/react/24/solid"; import { useOrganization } from "~/hooks/useOrganizations"; -import { cn } from "~/utils/cn"; import { v3BillingPath } from "~/utils/pathBuilder"; +import { LinkButton } from "./Buttons"; +import { Header3 } from "./Headers"; import { Paragraph } from "./Paragraph"; type Props = { @@ -17,31 +17,26 @@ export function UpgradeCallout({ title, children, to }: Props) { to = to || v3BillingPath(organization); return ( - -
- -
- - {title} - - {typeof children === "string" ? ( - - {children} - - ) : ( - children - )} -
- Upgrade -
-
+
+ + + Upgrade +
- +
+ {title} + {typeof children === "string" ? ( + + {children} + + ) : ( + children + )} +
+
); } diff --git a/apps/webapp/app/routes/_app.orgs.$organizationSlug.projects.v3.$projectParam.apikeys/route.tsx b/apps/webapp/app/routes/_app.orgs.$organizationSlug.projects.v3.$projectParam.apikeys/route.tsx index 04d79ed4d..f35aa7cee 100644 --- a/apps/webapp/app/routes/_app.orgs.$organizationSlug.projects.v3.$projectParam.apikeys/route.tsx +++ b/apps/webapp/app/routes/_app.orgs.$organizationSlug.projects.v3.$projectParam.apikeys/route.tsx @@ -1,4 +1,5 @@ import { BookOpenIcon } from "@heroicons/react/20/solid"; +import { InformationCircleIcon } from "@heroicons/react/24/outline"; import { LoaderFunctionArgs } from "@remix-run/server-runtime"; import { typedjson, useTypedLoaderData } from "remix-typedjson"; import { AdminDebugTooltip } from "~/components/admin/debugTooltip"; @@ -23,11 +24,8 @@ import { } from "~/components/primitives/Table"; import { TextLink } from "~/components/primitives/TextLink"; import { UpgradeCallout } from "~/components/primitives/UpgradeCallout"; -import { useFeatures } from "~/hooks/useFeatures"; -import { useOrganization } from "~/hooks/useOrganizations"; import { ApiKeysPresenter } from "~/presenters/v3/ApiKeysPresenter.server"; import { requireUserId } from "~/services/session.server"; -import { cn } from "~/utils/cn"; import { ProjectParamSchema, docsPath } from "~/utils/pathBuilder"; export const loader = async ({ request, params }: LoaderFunctionArgs) => { @@ -84,56 +82,65 @@ export default function Page() { -
- Secret keys - - Secret keys should be used on your server – they give full API access and allow you to{" "} - trigger tasks from your backend. - -
- - - - Environment - Secret key - Key generated - Latest version - Env vars - Actions +
+
+ + + Environment + Secret key + Key generated + Latest version + Env vars + Actions + + + + {environments.map((environment) => ( + + + + + + + + + + + {environment.latestVersion ?? "–"} + {environment.environmentVariableCount} + + + - - - {environments.map((environment) => ( - - - - - - - - - - - {environment.latestVersion ?? "–"} - {environment.environmentVariableCount} - - - - - ))} - -
+ ))} + + + +
+
+
+ +
+
+ Secret keys + + Secret keys should be used on your server. They give full API access and allow you + to trigger tasks from your + backend. + +
+
{!hasStaging && ( - + Upgrade your plan to add a Staging environment. )}