<%# locals: (account:) %>

<% permission = account.permission_for(Current.user) %>
<%= render DS::Menu.new(testid: "account-menu") do |menu| %>
  <% if permission.in?([ :owner, :full_control ]) %>
    <% menu.with_item(variant: "link", text: "Edit", href: edit_account_path(account), icon: "pencil-line", data: { turbo_frame: :modal }) %>
  <% end %>
  <% menu.with_item(variant: "link", text: "Sharing", href: account_sharing_path(account), icon: "users", data: { turbo_frame: :modal }) %>

  <% if permission.in?([ :owner, :full_control ]) %>
    <% if account.supports_trades? %>
      <% menu.with_item(
        variant: "link",
        text: t(".import_trades"),
        href: imports_path({ import: { type: "TradeImport", account_id: account.id } }),
        icon: "download",
        data: { turbo_frame: :_top }
      ) %>
    <% elsif !account.crypto? %>
      <% menu.with_item(
        variant: "link",
        text: t(".import_transactions"),
        href: imports_path({ import: { type: "TransactionImport", account_id: account.id } }),
        icon: "download",
        data: { turbo_frame: :_top }
      ) %>
    <% end %>
  <% end %>

  <% if account.owned_by?(Current.user) && !account.linked? %>
    <% menu.with_item(
      variant: "button",
      text: "Delete account",
      href: account_path(account),
      method: :delete,
      icon: "trash-2",
      confirm: CustomConfirm.for_resource_deletion("account", high_severity: true),
      data: { turbo_frame: :_top }
    ) %>
  <% end %>
<% end %>
