- Get a full enterprise grade production environment running within 1 hour. From development, infrastructure as
- code to fully deployed production application with a security score of 100%.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- );
-}
diff --git a/application/account-management/WebApp/routes/(index)/-components/FeatureSection2.tsx b/application/account-management/WebApp/routes/(index)/-components/FeatureSection2.tsx
deleted file mode 100644
index c1856146ce..0000000000
--- a/application/account-management/WebApp/routes/(index)/-components/FeatureSection2.tsx
+++ /dev/null
@@ -1,54 +0,0 @@
-// FeatureSection2: Displays a section with features
-export function FeatureSection2() {
- return (
-
-
-
FEATURES
- All the features you need to build anything you want
-
- );
-}
diff --git a/application/account-management/WebApp/routes/(index)/-components/FeatureSection3.tsx b/application/account-management/WebApp/routes/(index)/-components/FeatureSection3.tsx
deleted file mode 100644
index 96633f37f6..0000000000
--- a/application/account-management/WebApp/routes/(index)/-components/FeatureSection3.tsx
+++ /dev/null
@@ -1,76 +0,0 @@
-import ThemeModeSelector from "@/federated-modules/common/ThemeModeSelector";
-import { createAccountUrl } from "./cdnImages";
-
-// FeatureSection3: A functional component that displays the third feature section
-export function FeatureSection3() {
- return (
-
-
-
-
-
-
-
-
-
-
-
-
-
- );
-}
-
-// FeatureTitle: A functional component that displays the title of the feature section
-function FeatureTitle() {
- return (
- <>
-
FEATURES
-
- Focus on building and launching your core product. We got your back - Enterprise grade
-
-
- PlatformPlatform uses best practices and enterprise-grade tech to provide the foundation you need to build your
- core product.
-
- >
- );
-}
-
-// FeatureList: A functional component that displays a list of features
-function FeatureList() {
- return (
- <>
-
-
Sign up and Log in - built right in
-
- We’ve built user authentication and authorisation right in, so you don’t have to. With enterprise security
- grade and using best practice.
-
- No need for passwords and the problems of password resets, but just seamless one click sign up and log in
- using magic links and Passkeys.
-
- And you control your brand of course.
-
-
-
-
User Management and Multi-tenancy
-
- Onboard and easily manage your users using permissions and roles and let them create organizations for your
- multi-tenant SaaS product.
-
-
-
-
Dark Side of the Force
-
- Besides being Enterprise grade, with a security score of 100% and ISO compliancy, everything is not always as
- bright as it seems.
-
-
- Just click the
-
- button to switch to the Dark Side.
-
-
- >
- );
-}
diff --git a/application/account-management/WebApp/routes/(index)/-components/FeatureSection4.tsx b/application/account-management/WebApp/routes/(index)/-components/FeatureSection4.tsx
deleted file mode 100644
index d036fc6790..0000000000
--- a/application/account-management/WebApp/routes/(index)/-components/FeatureSection4.tsx
+++ /dev/null
@@ -1,60 +0,0 @@
-// FeatureSection4: A functional component that displays a section with features
-export function FeatureSection4() {
- return (
-
-
-
FEATURES
- Built by Founders, Engineers and Designers
-
- Skip the many months it takes to build an enterprise grade and production ready setup. We’ve done the hard
- work for you so you can focus on your core product.
-
-
-
-
- {/* FeatureBlock components are used to display individual features */}
-
-
-
-
-
-
-
-
-
- );
-}
-
-// FeatureBlock: A functional component that displays a single feature
-function FeatureBlock({ title, content }: Readonly) {
- return (
-
-
{title}
-
{content}
-
- );
-}
-
-// FeatureBlockProps: Type definition for the props of FeatureBlock component
-interface FeatureBlockProps {
- title: string;
- content: string;
-}
diff --git a/application/account-management/WebApp/routes/(index)/-components/FooterSection.tsx b/application/account-management/WebApp/routes/(index)/-components/FooterSection.tsx
deleted file mode 100644
index b41ddf5f12..0000000000
--- a/application/account-management/WebApp/routes/(index)/-components/FooterSection.tsx
+++ /dev/null
@@ -1,45 +0,0 @@
-import { Button } from "@repo/ui/components/Button";
-import { TextField } from "@repo/ui/components/TextField";
-import { githubLogo, linkedinLogo, logoWrap, slackLogo, twitterLogo, youtubeLogo } from "./cdnImages";
-
-// FooterSection: A functional component that displays the footer section
-export function FooterSection() {
- return (
- <>
-
-
-
Join our newsletter
-
Technology that has your back.
-
-
-
- {/* Button component is used to display a call to action */}
-
-
-
-
-
-
-
-
- Build amazing products on enterprise grade and open source technology.
-
- );
-}
diff --git a/application/account-management/WebApp/routes/(index)/-components/TechnologySection2.tsx b/application/account-management/WebApp/routes/(index)/-components/TechnologySection2.tsx
deleted file mode 100644
index 09960aefcc..0000000000
--- a/application/account-management/WebApp/routes/(index)/-components/TechnologySection2.tsx
+++ /dev/null
@@ -1,72 +0,0 @@
-import { infrastructure } from "./cdnImages";
-
-// TechnologySection2: A functional component that displays the technology section
-export function TechnologySection2() {
- return (
-
-
-
- {/* Display the section title */}
-
-
-
-
-
- {/* Display the feature list */}
-
-
-
-
-
-
-
-
-
- );
-}
-
-// FeatureTitle: A functional component that displays the section title
-function FeatureTitle() {
- return (
-
-
TECHNOLOGY
-
- We’ve taken care of all the tech stuff, so you can focus on getting your product launched
-
-
- Drawing on our expertise building true enterprise-grade products with millions of daily users in highly
- regulated sectors like healthcare, finance, government, etc., we help you create secure production-ready
- products.
-
-
- );
-}
-
-// FeatureList: A functional component that displays the feature list
-function FeatureList() {
- return (
-
-
-
Monorepo containing all application code
-
- PlatformPlatform is a monorepo containing all application code, infrastructure, tools, libraries,
- documentation, etc. A monorepo is a powerful way to organize a codebase, used by Google, Facebook, Uber,
- Microsoft, etc.
-
-
-
-
Deploy Azure Infrastructure
-
- This is how it looks when GitHub workflows has deployed Azure Infrastructure:
-
-
-
-
100% Security score
-
- This is the security score after deploying PlatformPlatform resources to Azure. Achieving a 100% security
- score in Azure Defender for Cloud without exemptions is not trivial.
-
+ You successfully installed PlatformPlatform! 🎉
+
+
+ Replace this sample page with your own product information and branding.
+
+
+
+
+
- return (
-
-
-
-
-
-
-
-
-
-
-
-
-
+
);
}
diff --git a/application/account-management/WebApp/routes/login/index.tsx b/application/account-management/WebApp/routes/login/index.tsx
index ec6d17cd77..63f5f23bc0 100644
--- a/application/account-management/WebApp/routes/login/index.tsx
+++ b/application/account-management/WebApp/routes/login/index.tsx
@@ -104,9 +104,13 @@ export function LoginForm() {
Don't have an account? Create one
+ {/*
+ Built with PlatformPlatform - https://github.com/platformplatform/PlatformPlatform
+ We'd appreciate it if you keep this attribution to help others discover this free, open-source platform. Thank you! 🙏
+ */}
- Powered by
+ Built with
diff --git a/application/account-management/WebApp/routes/signup/index.tsx b/application/account-management/WebApp/routes/signup/index.tsx
index b8a710b6bd..a17e744254 100644
--- a/application/account-management/WebApp/routes/signup/index.tsx
+++ b/application/account-management/WebApp/routes/signup/index.tsx
@@ -127,9 +127,13 @@ export function StartSignupForm() {
+ {/*
+ Built with PlatformPlatform - https://github.com/platformplatform/PlatformPlatform
+ We'd appreciate it if you keep this attribution to help others discover this free, open-source platform. Thank you! 🙏
+ */}
- Powered by
+ Built with
diff --git a/application/account-management/WebApp/shared/components/PublicFooter.tsx b/application/account-management/WebApp/shared/components/PublicFooter.tsx
new file mode 100644
index 0000000000..d77132acd3
--- /dev/null
+++ b/application/account-management/WebApp/shared/components/PublicFooter.tsx
@@ -0,0 +1,113 @@
+import { Trans } from "@lingui/react/macro";
+import { Image } from "@repo/ui/components/Image";
+import { Link } from "@repo/ui/components/Link";
+import { Tooltip, TooltipTrigger } from "@repo/ui/components/Tooltip";
+import { GithubIcon, LinkedinIcon, MailIcon, YoutubeIcon } from "lucide-react";
+import logoMark from "@/shared/images/logo-mark.svg";
+import logoWrap from "@/shared/images/logo-wrap.svg";
+
+export function PublicFooter() {
+ const currentYear = new Date().getFullYear();
+
+ return (
+
+ );
+}
diff --git a/application/account-management/WebApp/shared/components/PublicNavigation.tsx b/application/account-management/WebApp/shared/components/PublicNavigation.tsx
new file mode 100644
index 0000000000..16bcbeff3f
--- /dev/null
+++ b/application/account-management/WebApp/shared/components/PublicNavigation.tsx
@@ -0,0 +1,77 @@
+import { t } from "@lingui/core/macro";
+import { Trans } from "@lingui/react/macro";
+import { loginPath, signUpPath } from "@repo/infrastructure/auth/constants";
+import { useIsAuthenticated } from "@repo/infrastructure/auth/hooks";
+import { Image } from "@repo/ui/components/Image";
+import { Link } from "@repo/ui/components/Link";
+import LocaleSwitcher from "@/federated-modules/common/LocaleSwitcher";
+import SupportButton from "@/federated-modules/common/SupportButton";
+import ThemeModeSelector from "@/federated-modules/common/ThemeModeSelector";
+import AvatarButton from "@/federated-modules/topMenu/AvatarButton";
+import logoMark from "@/shared/images/logo-mark.svg";
+import logoWrap from "@/shared/images/logo-wrap.svg";
+
+export function PublicNavigation() {
+ const isAuthenticated = useIsAuthenticated();
+
+ return (
+
+ );
+}
diff --git a/application/account-management/WebApp/shared/layouts/HorizontalHeroLayout.tsx b/application/account-management/WebApp/shared/layouts/HorizontalHeroLayout.tsx
index 36e65db917..571057440f 100644
--- a/application/account-management/WebApp/shared/layouts/HorizontalHeroLayout.tsx
+++ b/application/account-management/WebApp/shared/layouts/HorizontalHeroLayout.tsx
@@ -17,8 +17,8 @@ export function HorizontalHeroLayout({ children }: Readonly
-
-
+
+
{children}
{/* Mobile-only icon controls at bottom of form */}
@@ -27,7 +27,7 @@ export function HorizontalHeroLayout({ children }: Readonly