| // 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. |
| |
| #ifndef IOS_CHROME_BROWSER_HOME_CUSTOMIZATION_UTILS_HOME_CUSTOMIZATION_CONSTANTS_H_ |
| #define IOS_CHROME_BROWSER_HOME_CUSTOMIZATION_UTILS_HOME_CUSTOMIZATION_CONSTANTS_H_ |
| |
| #import <Foundation/Foundation.h> |
| |
| // Represents the section identifiers of the customization menu as an NSString. |
| typedef NSString CustomizationSection; |
| |
| // The section identifier for the main menu's background customizations. |
| extern CustomizationSection* const kCustomizationSectionBackground; |
| |
| // The section identifier for the main menu's visibility toggles. |
| extern CustomizationSection* const kCustomizationSectionMainToggles; |
| |
| // The section identifier for the Discover submenu's links. |
| extern CustomizationSection* const kCustomizationSectionDiscoverLinks; |
| |
| // The section identifier for the Magic Stack menu's visibility toggles. |
| extern CustomizationSection* const kCustomizationSectionMagicStackToggles; |
| |
| // The identifier for the bottom sheet's initial detent. |
| extern NSString* const kBottomSheetDetentIdentifier; |
| |
| // The identifier for the dismiss button on the top right of the navigation bar. |
| extern NSString* const kNavigationBarDismissButtonIdentifier; |
| |
| // The identifier for the back button on the top left of the navigation bar. |
| extern NSString* const kNavigationBarBackButtonIdentifier; |
| |
| // The identifiers for the main page toggle cells. |
| extern NSString* const kCustomizationToggleMostVisitedIdentifier; |
| extern NSString* const kCustomizationToggleMagicStackIdentifier; |
| extern NSString* const kCustomizationToggleDiscoverIdentifier; |
| |
| // The identifiers for the Magic Stack page toggle cells. |
| extern NSString* const kCustomizationToggleSetUpListIdentifier; |
| extern NSString* const kCustomizationToggleSafetyCheckIdentifier; |
| extern NSString* const kCustomizationToggleTabResumptionIdentifier; |
| extern NSString* const kCustomizationToggleParcelTrackingIdentifier; |
| extern NSString* const kCustomizationToggleShopCardPriceTrackingIdentifier; |
| extern NSString* const kCustomizationToggleShopCardReviewsIdentifier; |
| extern NSString* const kCustomizationToggleTipsIdentifier; |
| |
| // The identifiers for the navigable portions of the main page toggle cells. |
| extern NSString* const kCustomizationToggleMostVisitedNavigableIdentifier; |
| extern NSString* const kCustomizationToggleMagicStackNavigableIdentifier; |
| extern NSString* const kCustomizationToggleDiscoverNavigableIdentifier; |
| |
| // The identifiers for the Discover page's link cells. |
| extern NSString* const kCustomizationLinkFollowingIdentifier; |
| extern NSString* const kCustomizationLinkHiddenIdentifier; |
| extern NSString* const kCustomizationLinkActivityIdentifier; |
| extern NSString* const kCustomizationLinkLearnMoreIdentifier; |
| |
| // The identifiers for each menu page's collection view. |
| extern NSString* const kCustomizationCollectionMainIdentifier; |
| extern NSString* const kCustomizationCollectionMagicStackIdentifier; |
| extern NSString* const kCustomizationCollectionDiscoverIdentifier; |
| |
| // The identifiers for the background cells. |
| extern NSString* const kBackgroundCellIdentifier; |
| |
| // The identifier for the background picker cell. |
| extern NSString* const kBackgroundPickerCellIdentifier; |
| |
| // The URLs for the links in the Discover submenu. |
| extern const char kDiscoverFollowingURL[]; |
| extern const char kDiscoverHiddenURL[]; |
| extern const char kDiscoverActivityURL[]; |
| extern const char kDiscoverLearnMoreURL[]; |
| |
| // The number of recent backgrounds to show. |
| extern const NSInteger kNumberOfRecentBackgrounds; |
| |
| // The size of the toggle cell's icon. |
| extern const CGFloat kToggleIconPointSize; |
| |
| // Enum representing the customization submenus that can be navigated to. |
| enum class CustomizationMenuPage : NSInteger { |
| kMain, |
| kMagicStack, |
| kDiscover, |
| kUnknown, |
| }; |
| |
| // Enum representing the toggle cells to control module visibility. |
| enum class CustomizationToggleType : NSInteger { |
| // Main page toggles. |
| kMostVisited, |
| kMagicStack, |
| kDiscover, |
| |
| // Magic Stack page toggles. |
| kTips, |
| kSetUpList, |
| kSafetyCheck, |
| kTapResumption, |
| kParcelTracking, |
| kShopCard, |
| }; |
| |
| // Enum representing the link cells to navigate to external URLs. |
| enum class CustomizationLinkType : NSInteger { |
| kFollowing, |
| kHidden, |
| kActivity, |
| kLearnMore, |
| }; |
| |
| // Represents the background style used for home customization. |
| enum class HomeCustomizationBackgroundStyle : NSInteger { |
| // No background (default appearance). |
| kDefault, |
| |
| // Solid background color. |
| kColor, |
| |
| // Background chosen from preset gallery. |
| kPreset, |
| |
| // User-uploaded background image. |
| kUserUploaded, |
| }; |
| |
| #endif // IOS_CHROME_BROWSER_HOME_CUSTOMIZATION_UTILS_HOME_CUSTOMIZATION_CONSTANTS_H_ |