summaryrefslogtreecommitdiffstats
path: root/browser/components/aboutwelcome/content-src/components/AdditionalCTA.jsx
blob: 7685195666f9d610a4e6af39c3783e0c034fdff0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
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>
  );
};