Add initial duo pro trial status popover

What does this MR do and why?

Add initial duo pro trial status popover

  • iteratively building up the duo pro trial status widget.
  • modeled off of the ultimate trial status widget.
  • note that the Learn button is secondary category until we add the hand raise modal next and we'll change it to tertiary(?) at that time.
  • see https://gitlab.com/gitlab-org/gitlab/-/issues/457265

Changelog: added EE: true

MR acceptance checklist

Please evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

Screenshots or screen recordings

Screenshot_2024-05-09_at_3.39.03_PM

How to set up and validate locally

  1. Setup GDK to simulate SaaS
  2. Create a new top-level group.
  3. Go to admin panel and edit the group to apply the Ultimate plan.
  4. Add a duo pro trial to that namespace in the rails console
n = Namespace.last
add_on = ::GitlabSubscriptions::AddOn.where(name: ::GitlabSubscriptions::AddOn.names[:code_suggestions]).last
::GitlabSubscriptions::AddOnPurchase.create(add_on: add_on, namespace: n, quantity: 1, expires_on: 30.days.from_now, purchase_xid: SecureRandom.hex(16), trial: true)
  1. Visit the group page and verify widget seen.
  2. Create a project under that group and visit the project page and verify widget seen.

Related to #457265

Edited by Doug Stull

Merge request reports

Loading