Files
Reflect/Shared/Views/CustomIcon/IconViewModel.swift
Trey t 0442eab1f8 Rebrand entire project from Feels to Reflect
Complete rename across all bundle IDs, App Groups, CloudKit containers,
StoreKit product IDs, data store filenames, URL schemes, logger subsystems,
Swift identifiers, user-facing strings (7 languages), file names, directory
names, Xcode project, schemes, assets, and documentation.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-26 11:47:16 -06:00

90 lines
3.4 KiB
Swift

//
// CustomIcon.swift
// Reflect (iOS)
//
// Created by Trey Tartt on 2/20/22.
//
import SwiftUI
@MainActor
class IconViewModel: ObservableObject {
static let numberOfBGItems = 109
static let great = IconViewModel(backgroundImage: MoodImages.FontAwesome.icon(forMood: .great),
bgColor: Color(hex: "31d158"),
bgOverlayColor: Color(hex: "208939"),
centerImage: MoodImages.FontAwesome.icon(forMood: .great),
innerColor: Color(hex: "31d158"))
static let good = IconViewModel(backgroundImage: MoodImages.FontAwesome.icon(forMood: .good),
bgColor: Color(hex: "ffd709"),
bgOverlayColor: Color(hex: "9d8405"),
centerImage: MoodImages.FontAwesome.icon(forMood: .good),
innerColor: Color(hex: "ffd709"))
static let average = IconViewModel(backgroundImage: MoodImages.FontAwesome.icon(forMood: .average),
bgColor: Color(hex: "0b84ff"),
bgOverlayColor: Color(hex: "074f9a"),
centerImage: MoodImages.FontAwesome.icon(forMood: .average),
innerColor: Color(hex: "0b84ff"))
static let bad = IconViewModel(backgroundImage: MoodImages.FontAwesome.icon(forMood: .bad),
bgColor: Color(hex: "ff9f0b"),
bgOverlayColor: Color(hex: "a06407"),
centerImage: MoodImages.FontAwesome.icon(forMood: .bad),
innerColor: Color(hex: "ff9f0b"))
static let horrible = IconViewModel(backgroundImage: MoodImages.FontAwesome.icon(forMood: .horrible),
bgColor: Color(hex: "fe5257"),
bgOverlayColor: Color(hex: "a92b26"),
centerImage: MoodImages.FontAwesome.icon(forMood: .horrible),
innerColor: Color(hex: "fe5257"))
init(backgroundImage: Image,
bgColor: Color,
bgOverlayColor: Color,
centerImage: Image,
innerColor: Color
) {
var blah = [(Image, UUID)]()
for _ in 0...IconViewModel.numberOfBGItems {
blah.append((backgroundImage, UUID()))
}
self.background = blah
self.bgColor = bgColor
self.bgOverlayColor = bgOverlayColor
self.centerImage = centerImage
self.innerColor = innerColor
}
@Published var background: [(Image, UUID)]
@Published var bgColor: Color
@Published var bgOverlayColor: Color
@Published var centerImage: Image
@Published var innerColor: Color
}
enum CustomIconBackGroundOptions: String, CaseIterable, Codable {
case horrible
case bad
case average
case good
case great
case random
static var selectable: [CustomIconBackGroundOptions] {
return [.great, .good, .average, .bad, .horrible]
}
static public var defaultOption: CustomIconBackGroundOptions {
CustomIconBackGroundOptions.random
}
public var image: Image {
return Image(self.rawValue, bundle: .main)
}
}