summaryrefslogtreecommitdiff
path: root/lib/gitlab/nav/top_nav_view_model_builder.rb
blob: 60f5b2670712ccd65b33b5cfe7e76d35c6a00385 (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
# frozen_string_literal: true

module Gitlab
  module Nav
    class TopNavViewModelBuilder
      def initialize
        @menu_builder = ::Gitlab::Nav::TopNavMenuBuilder.new
        @views = {}
      end

      delegate :add_primary_menu_item, :add_secondary_menu_item, to: :@menu_builder

      def add_view(name, props)
        @views[name] = props
      end

      def build
        menu = @menu_builder.build

        menu.merge({
          views: @views,
          activeTitle: _('Menu')
        })
      end
    end
  end
end