closed #111 - Make grid image picker for widget eyes and mouth

This commit is contained in:
Trey t
2022-03-12 11:32:00 -06:00
parent edf6802e85
commit 055b3f4bbd
126 changed files with 1885 additions and 230 deletions

View File

@@ -11,9 +11,9 @@ class CustomWidgetModel: ObservableObject, Codable, NSCopying {
static let numberOfBGItems = 109
static var randomWidget: CustomWidgetModel {
return CustomWidgetModel(leftEye: CustomWidgetEyeOptions.defaultOption,
rightEye: CustomWidgetEyeOptions.defaultOption,
mouth: CustomWidgetMouthOptions.defaultOption,
return CustomWidgetModel(leftEye: CustomWidgeImageOptions.defaultOption,
rightEye: CustomWidgeImageOptions.defaultOption,
mouth: CustomWidgeImageOptions.defaultOption,
background: CustomWidgetBackGroundOptions.defaultOption,
bgColor: Color.random(),
innerColor: Color.random(),
@@ -28,9 +28,9 @@ class CustomWidgetModel: ObservableObject, Codable, NSCopying {
createdDate: Date())
}
init(leftEye: CustomWidgetEyeOptions,
rightEye: CustomWidgetEyeOptions,
mouth: CustomWidgetMouthOptions,
init(leftEye: CustomWidgeImageOptions,
rightEye: CustomWidgeImageOptions,
mouth: CustomWidgeImageOptions,
background: CustomWidgetBackGroundOptions,
bgColor: Color,
innerColor: Color,
@@ -60,9 +60,9 @@ class CustomWidgetModel: ObservableObject, Codable, NSCopying {
self.createdDate = createdDate
}
@Published var leftEye: CustomWidgetEyeOptions
@Published var rightEye: CustomWidgetEyeOptions
@Published var mouth: CustomWidgetMouthOptions
@Published var leftEye: CustomWidgeImageOptions
@Published var rightEye: CustomWidgeImageOptions
@Published var mouth: CustomWidgeImageOptions
@Published var background: CustomWidgetBackGroundOptions
@Published var bgColor: Color
@@ -113,9 +113,9 @@ class CustomWidgetModel: ObservableObject, Codable, NSCopying {
required init(from decoder: Decoder) throws {
let container = try decoder.container(keyedBy: CodingKeys.self)
leftEye = try container.decode(CustomWidgetEyeOptions.self, forKey: .leftEye)
rightEye = try container.decode(CustomWidgetEyeOptions.self, forKey: .rightEye)
mouth = try container.decode(CustomWidgetMouthOptions.self, forKey: .mouth)
leftEye = try container.decode(CustomWidgeImageOptions.self, forKey: .leftEye)
rightEye = try container.decode(CustomWidgeImageOptions.self, forKey: .rightEye)
mouth = try container.decode(CustomWidgeImageOptions.self, forKey: .mouth)
background = try container.decode(CustomWidgetBackGroundOptions.self, forKey: .background)
bgColor = try container.decode(Color.self, forKey: .bgColor)
@@ -197,27 +197,88 @@ enum CustomWidgetEyes: String, Codable {
case right
}
enum CustomWidgetEyeOptions: String, CaseIterable, Codable {
case fire = "fire"
case bolt = "bolt2"
case dollar = "dollar"
case bell = "bell"
case btc = "btc"
case code = "code"
case crown = "crown"
case divide = "divide"
case exclamation = "exclamation"
case fan = "fan"
case floppy = "floppy"
case x = "x"
case skull = "skull"
case covid = "covid"
case bomb = "bomb"
case skull2 = "skull2"
case poo = "poo"
static public var defaultOption: CustomWidgetEyeOptions {
CustomWidgetEyeOptions.fire
enum CustomWidgeImageOptions: String, CaseIterable, Codable {
case bolt2 = "custom_icon/bolt2"
case star_solid = "custom_icon/star-solid"
case jet_fighter_solid = "custom_icon/jet-fighter-solid"
case circle_xmark_solid = "custom_icon/circle-xmark-solid"
case frown_regular = "custom_icon/frown-regular"
case bullhorn_solid = "custom_icon/bullhorn-solid"
case caret_down_solid = "custom_icon/caret-down-solid"
case meteor_solid = "custom_icon/meteor-solid"
case eye_solid = "custom_icon/eye-solid"
case battery_half_solid = "custom_icon/battery-half-solid"
case heart_crack_solid = "custom_icon/heart-crack-solid"
case life_ring_regular = "custom_icon/life-ring-regular"
case heart_solid = "custom_icon/heart-solid"
case location_crosshairs_solid = "custom_icon/location-crosshairs-solid"
case bitcoin_brands = "custom_icon/bitcoin-brands"
case baby_solid = "custom_icon/baby-solid"
case grin_regular = "custom_icon/grin-regular"
case bell = "custom_icon/bell"
case x = "custom_icon/x"
case shuttle_space_solid = "custom_icon/shuttle-space-solid"
case floppy = "custom_icon/floppy"
case exclamation = "custom_icon/exclamation"
case chess_queen_solid = "custom_icon/chess-queen-solid"
case lightbulb_solid = "custom_icon/lightbulb-solid"
case skull_solid = "custom_icon/skull-solid"
case dice_one_solid = "custom_icon/dice-one-solid"
case arrow_up_1_9_solid = "custom_icon/arrow-up-1-9-solid"
case fan = "custom_icon/fan"
case skull = "custom_icon/skull"
case dharmachakra_solid = "custom_icon/dharmachakra-solid"
case ban_solid = "custom_icon/ban-solid"
case sad_tear_regular = "custom_icon/sad-tear-regular"
case crown = "custom_icon/crown"
case futbol_regular = "custom_icon/futbol-regular"
case fire = "custom_icon/fire"
case crosshairs_solid = "custom_icon/crosshairs-solid"
case lemon_solid = "custom_icon/lemon-solid"
case caret_right_solid = "custom_icon/caret-right-solid"
case rainbow_solid = "custom_icon/rainbow-solid"
case apple_brands = "custom_icon/apple-brands"
case missing = "custom_icon/missing"
case pizza_slice_solid = "custom_icon/pizza-slice-solid"
case empire_brands = "custom_icon/empire-brands"
case caret_up_solid = "custom_icon/caret-up-solid"
case dragon_solid = "custom_icon/dragon-solid"
case cannabis_solid = "custom_icon/cannabis-solid"
case bullseye_solid = "custom_icon/bullseye-solid"
case code_compare_solid = "custom_icon/code-compare-solid"
case battery_empty_solid = "custom_icon/battery-empty-solid"
case moon_solid = "custom_icon/moon-solid"
case android_brands = "custom_icon/android-brands"
case poo = "custom_icon/poo"
case smile_beam_regular = "custom_icon/smile-beam-regular"
case code = "custom_icon/code"
case dollar = "custom_icon/dollar"
case btc = "custom_icon/btc"
case cross_solid = "custom_icon/cross-solid"
case bomb = "custom_icon/bomb"
case battery_full_solid = "custom_icon/battery-full-solid"
case gem_solid = "custom_icon/gem-solid"
case bolt_lightning_solid = "custom_icon/bolt-lightning-solid"
case skull2 = "custom_icon/skull2"
case caret_left_solid = "custom_icon/caret-left-solid"
case fort_awesome_brands = "custom_icon/fort-awesome-brands"
case hotjar_brands = "custom_icon/hotjar-brands"
case burger_solid = "custom_icon/burger-solid"
case egg_solid = "custom_icon/egg-solid"
case meh_regular = "custom_icon/meh-regular"
case battery_three_quarters_solid = "custom_icon/battery-three-quarters-solid"
case clock_solid = "custom_icon/clock-solid"
case battery_quarter_solid = "custom_icon/battery-quarter-solid"
case fly_brands = "custom_icon/fly-brands"
case baseball_solid = "custom_icon/baseball-solid"
case divide = "custom_icon/divide"
case covid = "custom_icon/covid"
case dice_d20_solid = "custom_icon/dice-d20-solid"
case microphone_solid = "custom_icon/microphone-solid"
case peace_solid = "custom_icon/peace-solid"
static public var defaultOption: CustomWidgeImageOptions {
CustomWidgeImageOptions.fire
}
public var image: Image {