diff --git a/frontend/public/images/infisical-update-september-2023.png b/frontend/public/images/infisical-update-september-2023.png new file mode 100644 index 000000000..c11852762 Binary files /dev/null and b/frontend/public/images/infisical-update-september-2023.png differ diff --git a/frontend/src/components/v2/ContentLoader/ContentLoader.tsx b/frontend/src/components/v2/ContentLoader/ContentLoader.tsx index 343d8adeb..af83ac81c 100644 --- a/frontend/src/components/v2/ContentLoader/ContentLoader.tsx +++ b/frontend/src/components/v2/ContentLoader/ContentLoader.tsx @@ -23,10 +23,8 @@ export const ContentLoader = ({ text, frequency = 2000 }: Props) => { }, []); return ( -
-
- loading animation -
+
+ loading animation {text && isTextArray && ( { )} - {text && !isTextArray &&
{text}
} + {text && !isTextArray &&
{text}
}
); }; diff --git a/frontend/src/layouts/AppLayout/AppLayout.tsx b/frontend/src/layouts/AppLayout/AppLayout.tsx index 8c1391687..b57007fd1 100644 --- a/frontend/src/layouts/AppLayout/AppLayout.tsx +++ b/frontend/src/layouts/AppLayout/AppLayout.tsx @@ -10,6 +10,7 @@ import crypto from "crypto"; import { useEffect } from "react"; import { Controller, useForm } from "react-hook-form"; import { useTranslation } from "react-i18next"; +import Image from "next/image"; import Link from "next/link"; import { useRouter } from "next/router"; import { faGithub, faSlack } from "@fortawesome/free-brands-svg-icons"; @@ -67,9 +68,10 @@ import { useCreateWorkspace, useGetOrgTrialUrl, useGetSecretApprovalRequestCount, + useGetUserAction, useLogoutUser, - useUploadWsKey -} from "@app/hooks/api"; + useRegisterUserAction, + useUploadWsKey} from "@app/hooks/api"; interface LayoutProps { children: React.ReactNode; @@ -116,7 +118,8 @@ export const AppLayout = ({ children }: LayoutProps) => { const { user } = useUser(); const { subscription } = useSubscription(); const workspaceId = currentWorkspace?._id || ""; - // const [ isLearningNoteOpen, setIsLearningNoteOpen ] = useState(true); + const { data: updateClosed } = useGetUserAction("september_update_closed"); + const { data: secretApprovalReqCount } = useGetSecretApprovalRequestCount({ workspaceId }); const isAddingProjectsAllowed = subscription?.workspaceLimit @@ -143,6 +146,12 @@ export const AppLayout = ({ children }: LayoutProps) => { const { t } = useTranslation(); + const registerUserAction = useRegisterUserAction(); + + const closeUpdate = async () => { + await registerUserAction.mutateAsync("september_update_closed"); + } + const logout = useLogoutUser(); const logOutUser = async () => { try { @@ -488,9 +497,9 @@ export const AppLayout = ({ children }: LayoutProps) => { } icon="system-outline-189-domain-verification" > - Secret approval + Secret approvals {Boolean(secretApprovalReqCount?.open) && ( - + {secretApprovalReqCount?.open} )} @@ -546,19 +555,6 @@ export const AppLayout = ({ children }: LayoutProps) => { - {/* {workspaces.map(project => - - - {project.name} - - -
- {project.name} -
- )} */} { : "mb-4" } flex w-full cursor-default flex-col items-center px-3 text-sm text-mineshaft-400`} > - {/*
+ {/*
-
-
-
Kubernetes Operator
-
Integrate Infisical into your Kubernetes infrastructure
-
- kubernetes image + {router.asPath.includes("org") && (
null} diff --git a/frontend/src/pages/login/index.tsx b/frontend/src/pages/login/index.tsx index 8fd27c429..fd4011feb 100644 --- a/frontend/src/pages/login/index.tsx +++ b/frontend/src/pages/login/index.tsx @@ -9,7 +9,7 @@ export default function LoginPage() { const { t } = useTranslation(); return ( -
+
{t("common.head-title", { title: t("login.title") })} @@ -23,6 +23,7 @@ export default function LoginPage() {
+
); } diff --git a/frontend/src/pages/signup/index.tsx b/frontend/src/pages/signup/index.tsx index b37c9208b..57621e5d0 100644 --- a/frontend/src/pages/signup/index.tsx +++ b/frontend/src/pages/signup/index.tsx @@ -145,7 +145,7 @@ export default function SignUp() { }; return ( -
+
{t("common.head-title", { title: t("signup.title") })} diff --git a/frontend/src/views/Login/components/InitialStep/InitialStep.tsx b/frontend/src/views/Login/components/InitialStep/InitialStep.tsx index 3cc26fb4e..148018436 100644 --- a/frontend/src/views/Login/components/InitialStep/InitialStep.tsx +++ b/frontend/src/views/Login/components/InitialStep/InitialStep.tsx @@ -112,7 +112,7 @@ export const InitialStep = ({ setStep, email, setEmail, password, setPassword }:

Login to Infisical

-
+
-
+
-
+
-
+
@@ -194,10 +194,10 @@ export const InitialStep = ({ setStep, email, setEmail, password, setPassword }: placeholder="Enter your email..." isRequired autoComplete="username" - className="h-11" + className="h-10" />
-
+
setPassword(e.target.value)} @@ -206,15 +206,15 @@ export const InitialStep = ({ setStep, email, setEmail, password, setPassword }: isRequired autoComplete="current-password" id="current-password" - className="select:-webkit-autofill:focus h-11" + className="select:-webkit-autofill:focus h-10" />
-
+
+ diff --git a/frontend/src/views/Settings/BillingSettingsPage/components/BillingCloudTab/PreviewSection.tsx b/frontend/src/views/Settings/BillingSettingsPage/components/BillingCloudTab/PreviewSection.tsx index ee1ffe989..04d878b67 100644 --- a/frontend/src/views/Settings/BillingSettingsPage/components/BillingCloudTab/PreviewSection.tsx +++ b/frontend/src/views/Settings/BillingSettingsPage/components/BillingCloudTab/PreviewSection.tsx @@ -1,3 +1,7 @@ +import Link from "next/link"; +import { faArrowUpRightFromSquare } from "@fortawesome/free-solid-svg-icons"; +import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; + import { OrgPermissionCan } from "@app/components/permissions"; import { Button } from "@app/components/v2"; import { @@ -74,24 +78,36 @@ export const PreviewSection = () => { subscription?.slug !== "enterprise" && subscription?.slug !== "pro" && subscription?.slug !== "pro-annual" && ( -
-
-

Become Infisical

-

- Unlimited members, projects, RBAC, smart alerts, and so much more -

+
+
+
+

Unleash the full power of Infisical

+

+ Get unlimited members, projects, RBAC, smart alerts, and so much more. +

+
+ + {(isAllowed) => ( + + )} + +
+
+
Want to learn more?
+
+ + + Book a demo + + +
- - {(isAllowed) => ( - - )} -
)} {!isLoading && subscription && data && (