# Copyright 2024 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import("//build/config/apple/swift_source_set.gni")
import("//build/config/chrome_build.gni")

swift_source_set("ui_swift") {
  bridge_header = "account_menu_ui_swift_bridge.h"
  sources = [
    "ai_subscription_chip_view.swift",
    "subscription_bottom_wave.swift",
  ]
  deps = [ "//ios/chrome/browser/authentication/account_menu/public" ]
  frameworks = [
    "UIKit.framework",
    "SwiftUI.framework",
  ]
}

source_set("ui") {
  sources = [
    "account_menu_consumer.h",
    "account_menu_data_source.h",
    "account_menu_mutator.h",
    "account_menu_view_controller.h",
    "account_menu_view_controller.mm",
  ]
  deps = [
    ":ui_swift",
    "//base",
    "//components/strings",
    "//google_apis",
    "//ios/chrome/app/strings",
    "//ios/chrome/browser/authentication/account_menu/public",
    "//ios/chrome/browser/authentication/ui_bundled/cells",
    "//ios/chrome/browser/keyboard/ui_bundled",
    "//ios/chrome/browser/policy/model",
    "//ios/chrome/browser/settings/model/sync/utils:identity_error_util",
    "//ios/chrome/browser/settings/ui_bundled/cells",
    "//ios/chrome/browser/shared/model/profile:features",
    "//ios/chrome/browser/shared/ui/list_model",
    "//ios/chrome/browser/shared/ui/symbols",
    "//ios/chrome/browser/shared/ui/table_view",
    "//ios/chrome/browser/shared/ui/table_view:utils",
    "//ios/chrome/browser/shared/ui/table_view/content_configuration",
    "//ios/chrome/browser/signin/model:constants",
    "//ios/chrome/browser/signin/model:signin_util",
    "//ios/chrome/common/ui/colors",
    "//ios/chrome/common/ui/table_view:cells_constants",
    "//ios/chrome/common/ui/util",
    "//ios/chrome/common/ui/util:image_util",
    "//ui/base",
  ]
}

source_set("unit_tests") {
  testonly = true
  sources = [ "account_menu_view_controller_unittest.mm" ]
  deps = [
    ":ui",
    "//base",
    "//base/test:test_support",
    "//components/sync:test_support",
    "//components/test/ios",
    "//google_apis",
    "//ios/chrome/app/strings",
    "//ios/chrome/browser/authentication/ui_bundled/cells",
    "//ios/chrome/browser/policy/model",
    "//ios/chrome/browser/settings/model/sync/utils:identity_error_util",
    "//ios/chrome/browser/settings/ui_bundled:constants",
    "//ios/chrome/browser/settings/ui_bundled/cells",
    "//ios/chrome/browser/shared/model/application_context",
    "//ios/chrome/browser/shared/model/profile/test",
    "//ios/chrome/browser/shared/public/features",
    "//ios/chrome/browser/shared/ui/table_view:utils",
    "//ios/chrome/browser/shared/ui/table_view/cells",
    "//ios/chrome/browser/shared/ui/table_view/content_configuration",
    "//ios/chrome/browser/signin/model",
    "//ios/chrome/browser/signin/model:authentication_service",
    "//ios/chrome/browser/signin/model:authentication_service_factory",
    "//ios/chrome/browser/signin/model:fake_system_identity",
    "//ios/chrome/browser/signin/model:fake_system_identity_manager",
    "//ios/chrome/browser/signin/model:test_support",
    "//ios/chrome/browser/signin/model/avatar",
    "//ios/chrome/browser/sync/model",
    "//ios/chrome/browser/sync/model:test_support",
    "//ios/chrome/test:test_support",
    "//ios/web/public/test",
    "//testing/gtest",
    "//third_party/ocmock",
    "//ui/base",
  ]
}
