summaryrefslogtreecommitdiffstats
path: root/browser/components/aboutwelcome/content-src/components/AdditionalCTA.jsx
diff options
context:
space:
mode:
Diffstat (limited to 'browser/components/aboutwelcome/content-src/components/AdditionalCTA.jsx')
-rw-r--r--browser/components/aboutwelcome/content-src/components/AdditionalCTA.jsx42
1 files changed, 42 insertions, 0 deletions
diff --git a/browser/components/aboutwelcome/content-src/components/AdditionalCTA.jsx b/browser/components/aboutwelcome/content-src/components/AdditionalCTA.jsx
new file mode 100644
index 0000000000..7685195666
--- /dev/null
+++ b/browser/components/aboutwelcome/content-src/components/AdditionalCTA.jsx
@@ -0,0 +1,42 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this file,
+ * You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+import React from "react";
+import { Localized } from "./MSLocalized";
+import { SubmenuButton } from "./SubmenuButton";
+
+export const AdditionalCTA = ({ content, handleAction }) => {
+ let buttonStyle = "";
+ const isSplitButton =
+ content.submenu_button?.attached_to === "additional_button";
+ let className = "additional-cta-box";
+ if (isSplitButton) {
+ className += " split-button-container";
+ }
+
+ if (!content.additional_button?.style) {
+ buttonStyle = "primary";
+ } else {
+ buttonStyle =
+ content.additional_button?.style === "link"
+ ? "cta-link"
+ : content.additional_button?.style;
+ }
+
+ return (
+ <div className={className}>
+ <Localized text={content.additional_button?.label}>
+ <button
+ className={`${buttonStyle} additional-cta`}
+ onClick={handleAction}
+ value="additional_button"
+ disabled={content.additional_button?.disabled === true}
+ />
+ </Localized>
+ {isSplitButton ? (
+ <SubmenuButton content={content} handleAction={handleAction} />
+ ) : null}
+ </div>
+ );
+};