All files / publisher/components/NewSnapNotification NewSnapNotification.tsx

100% Statements 4/4
100% Branches 4/4
100% Functions 1/1
100% Lines 4/4

Press n or j to go to the next uncovered block, b, p or k for the previous block.

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 43 44          2x 2x   2x       2x                                                              
import { Link, Notification } from "@canonical/react-components";
 
import type { ISnap } from "../../types";
 
function NewSnapNotification({ snap }: { snap: ISnap }): React.JSX.Element {
  const latestRelease = snap.latest_release;
  const snapName = snap.snapName;
 
  const title = latestRelease
    ? `You've released ${snapName} to the "${latestRelease.channels[0]}" channel!`
    : `You've uploaded ${snapName}!`;
 
  return (
    <>
      <Notification severity="information" title={title}>
        <p>
          Want to improve the listing in stores?
          <Link
            href={`/${snapName}/listing`}
            className="p-snap-list__notification-link"
          >
            Edit store listing
          </Link>
          {!latestRelease && (
            <>
              <br />
              Is your snap ready to release?
              <Link
                href="/docs/releasing-your-app"
                target="_blank"
                className="p-snap-list__notification-link"
              >
                Release it
              </Link>
            </>
          )}
        </p>
      </Notification>
    </>
  );
}
 
export default NewSnapNotification;