From 6c54c18c8e44c6e4459927b03910846d013a5eaf Mon Sep 17 00:00:00 2001 From: Dallas Groot Date: Mon, 6 Apr 2026 01:25:41 -0700 Subject: [PATCH] Initial Commit --- .../project.pbxproj | 339 ++++++++++++++++++ .../contents.xcworkspacedata | 7 + .../xcschemes/MoneyCounter.xcscheme | 80 +++++ .../xcschemes/xcschememanagement.plist | 22 ++ .../AppIcon.appiconset/1024.png | Bin 0 -> 188716 bytes .../AppIcon.appiconset/Contents.json | 14 + MoneyCounter/ContentView.swift | 234 ++++++++++++ MoneyCounter/HistoryView.swift | 87 +++++ MoneyCounter/Models.swift | 35 ++ MoneyCounter/MoneyCounterApp.swift | 13 + MoneyCounter/MoneyCounterViewModel.swift | 104 ++++++ MoneyCounter/NotesView.swift | 48 +++ MoneyCounter/readme.md | 37 ++ project.yml | 27 ++ 14 files changed, 1047 insertions(+) create mode 100644 Money Counter Helper.xcodeproj/project.pbxproj create mode 100644 Money Counter Helper.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 Money Counter Helper.xcodeproj/xcshareddata/xcschemes/MoneyCounter.xcscheme create mode 100644 Money Counter Helper.xcodeproj/xcuserdata/dallasgroot.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100644 MoneyCounter/Assets.xcassets/AppIcon.appiconset/1024.png create mode 100644 MoneyCounter/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 MoneyCounter/ContentView.swift create mode 100644 MoneyCounter/HistoryView.swift create mode 100644 MoneyCounter/Models.swift create mode 100644 MoneyCounter/MoneyCounterApp.swift create mode 100644 MoneyCounter/MoneyCounterViewModel.swift create mode 100644 MoneyCounter/NotesView.swift create mode 100644 MoneyCounter/readme.md create mode 100644 project.yml diff --git a/Money Counter Helper.xcodeproj/project.pbxproj b/Money Counter Helper.xcodeproj/project.pbxproj new file mode 100644 index 0000000..0103e36 --- /dev/null +++ b/Money Counter Helper.xcodeproj/project.pbxproj @@ -0,0 +1,339 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 77; + objects = { + +/* Begin PBXBuildFile section */ + 03FCE5019D47C07C927BFFDF /* MoneyCounterViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = E720D12F8A774AB3823CE549 /* MoneyCounterViewModel.swift */; }; + 04D9261E65BF1D1EA57A5A2A /* NotesView.swift in Sources */ = {isa = PBXBuildFile; fileRef = AEC99D9CC4D964FF3B95F7F4 /* NotesView.swift */; }; + 35A70D674AD823A371EB9886 /* readme.md in Resources */ = {isa = PBXBuildFile; fileRef = D17275F644BE74149E14AF72 /* readme.md */; }; + 5E78D53B3F80DBBF20F9DE64 /* Models.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8AC6BA222F4025FFC6DF5071 /* Models.swift */; }; + 84CBB754319506019217838D /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 36ABC0BC044FF8C24A5767F3 /* ContentView.swift */; }; + 8F7AFBF398CB8A13B05027E1 /* HistoryView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 691F130B5684308DE78A0F74 /* HistoryView.swift */; }; + 967B54CB13C131B79D88C3BD /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = F5B18E647F795687053A63BF /* Assets.xcassets */; }; + B176BF3999BF2BF85D64417B /* MoneyCounterApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = A1A61FC1D6DD22486FF51045 /* MoneyCounterApp.swift */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + 36ABC0BC044FF8C24A5767F3 /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = ""; }; + 3F3D64C0ADD174CD4EAB7E4A /* MoneyCounter.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = MoneyCounter.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 691F130B5684308DE78A0F74 /* HistoryView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HistoryView.swift; sourceTree = ""; }; + 8AC6BA222F4025FFC6DF5071 /* Models.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Models.swift; sourceTree = ""; }; + A1A61FC1D6DD22486FF51045 /* MoneyCounterApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MoneyCounterApp.swift; sourceTree = ""; }; + AEC99D9CC4D964FF3B95F7F4 /* NotesView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotesView.swift; sourceTree = ""; }; + D17275F644BE74149E14AF72 /* readme.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = readme.md; sourceTree = ""; }; + E720D12F8A774AB3823CE549 /* MoneyCounterViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MoneyCounterViewModel.swift; sourceTree = ""; }; + F5B18E647F795687053A63BF /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXGroup section */ + 6826BDA41F17D79DAD879CE7 /* Products */ = { + isa = PBXGroup; + children = ( + 3F3D64C0ADD174CD4EAB7E4A /* MoneyCounter.app */, + ); + name = Products; + sourceTree = ""; + }; + 68B272F56BFCCDB9F00C9C56 = { + isa = PBXGroup; + children = ( + A71888571558F3F5F5C79BAC /* MoneyCounter */, + 6826BDA41F17D79DAD879CE7 /* Products */, + ); + sourceTree = ""; + }; + A71888571558F3F5F5C79BAC /* MoneyCounter */ = { + isa = PBXGroup; + children = ( + F5B18E647F795687053A63BF /* Assets.xcassets */, + 36ABC0BC044FF8C24A5767F3 /* ContentView.swift */, + 691F130B5684308DE78A0F74 /* HistoryView.swift */, + 8AC6BA222F4025FFC6DF5071 /* Models.swift */, + A1A61FC1D6DD22486FF51045 /* MoneyCounterApp.swift */, + E720D12F8A774AB3823CE549 /* MoneyCounterViewModel.swift */, + AEC99D9CC4D964FF3B95F7F4 /* NotesView.swift */, + D17275F644BE74149E14AF72 /* readme.md */, + ); + path = MoneyCounter; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 62C96FF8FDA1D259F0B46031 /* MoneyCounter */ = { + isa = PBXNativeTarget; + buildConfigurationList = 3DF320375F54C769755D2132 /* Build configuration list for PBXNativeTarget "MoneyCounter" */; + buildPhases = ( + FCEC40F7A3605B57D3AFE3BE /* Sources */, + 3737AEB231AC5475179CA8A5 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = MoneyCounter; + packageProductDependencies = ( + ); + productName = MoneyCounter; + productReference = 3F3D64C0ADD174CD4EAB7E4A /* MoneyCounter.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + D79B23C9D01EE01A2D06739C /* Project object */ = { + isa = PBXProject; + attributes = { + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; + }; + buildConfigurationList = 3787E955246998DCB5E51E7C /* Build configuration list for PBXProject "Money Counter Helper" */; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + Base, + en, + ); + mainGroup = 68B272F56BFCCDB9F00C9C56; + minimizedProjectReferenceProxies = 1; + preferredProjectObjectVersion = 77; + productRefGroup = 6826BDA41F17D79DAD879CE7 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 62C96FF8FDA1D259F0B46031 /* MoneyCounter */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 3737AEB231AC5475179CA8A5 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 967B54CB13C131B79D88C3BD /* Assets.xcassets in Resources */, + 35A70D674AD823A371EB9886 /* readme.md in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + FCEC40F7A3605B57D3AFE3BE /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 84CBB754319506019217838D /* ContentView.swift in Sources */, + 8F7AFBF398CB8A13B05027E1 /* HistoryView.swift in Sources */, + 5E78D53B3F80DBBF20F9DE64 /* Models.swift in Sources */, + B176BF3999BF2BF85D64417B /* MoneyCounterApp.swift in Sources */, + 03FCE5019D47C07C927BFFDF /* MoneyCounterViewModel.swift in Sources */, + 04D9261E65BF1D1EA57A5A2A /* NotesView.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin XCBuildConfiguration section */ + 061E6A24D68135CFAA4B2A42 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CODE_SIGN_IDENTITY = "iPhone Developer"; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_TEAM = E9C9AGS9K6; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.finance"; + INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES; + INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; + INFOPLIST_KEY_UILaunchScreen_Generation = YES; + INFOPLIST_KEY_UIRequiresFullScreen = YES; + INFOPLIST_KEY_UISupportedInterfaceOrientations = "UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown"; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown"; + IPHONEOS_DEPLOYMENT_TARGET = 26.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = ca.dallasgroot.MoneyCounter; + SDKROOT = iphoneos; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 3A6E44877CB1EBF8B0188FC8 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "$(inherited)", + "DEBUG=1", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = iphoneos; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + }; + name = Debug; + }; + 3C8D9CCE6851BE8125AB26C9 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CODE_SIGN_IDENTITY = "iPhone Developer"; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_TEAM = E9C9AGS9K6; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.finance"; + INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES; + INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; + INFOPLIST_KEY_UILaunchScreen_Generation = YES; + INFOPLIST_KEY_UIRequiresFullScreen = YES; + INFOPLIST_KEY_UISupportedInterfaceOrientations = "UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown"; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown"; + IPHONEOS_DEPLOYMENT_TARGET = 26.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = ca.dallasgroot.MoneyCounter; + SDKROOT = iphoneos; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Release; + }; + 610A1B17D6C0F9D128701229 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = iphoneos; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + SWIFT_VERSION = 5.0; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 3787E955246998DCB5E51E7C /* Build configuration list for PBXProject "Money Counter Helper" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 3A6E44877CB1EBF8B0188FC8 /* Debug */, + 610A1B17D6C0F9D128701229 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 3DF320375F54C769755D2132 /* Build configuration list for PBXNativeTarget "MoneyCounter" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 061E6A24D68135CFAA4B2A42 /* Debug */, + 3C8D9CCE6851BE8125AB26C9 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; +/* End XCConfigurationList section */ + }; + rootObject = D79B23C9D01EE01A2D06739C /* Project object */; +} diff --git a/Money Counter Helper.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/Money Counter Helper.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..919434a --- /dev/null +++ b/Money Counter Helper.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/Money Counter Helper.xcodeproj/xcshareddata/xcschemes/MoneyCounter.xcscheme b/Money Counter Helper.xcodeproj/xcshareddata/xcschemes/MoneyCounter.xcscheme new file mode 100644 index 0000000..bf8abaa --- /dev/null +++ b/Money Counter Helper.xcodeproj/xcshareddata/xcschemes/MoneyCounter.xcscheme @@ -0,0 +1,80 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Money Counter Helper.xcodeproj/xcuserdata/dallasgroot.xcuserdatad/xcschemes/xcschememanagement.plist b/Money Counter Helper.xcodeproj/xcuserdata/dallasgroot.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000..24bdfb1 --- /dev/null +++ b/Money Counter Helper.xcodeproj/xcuserdata/dallasgroot.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,22 @@ + + + + + SchemeUserState + + MoneyCounter.xcscheme_^#shared#^_ + + orderHint + 0 + + + SuppressBuildableAutocreation + + 62C96FF8FDA1D259F0B46031 + + primary + + + + + diff --git a/MoneyCounter/Assets.xcassets/AppIcon.appiconset/1024.png b/MoneyCounter/Assets.xcassets/AppIcon.appiconset/1024.png new file mode 100644 index 0000000000000000000000000000000000000000..2d3fa67d7813d8dd01b610d8ae6f5cc5e1d1f848 GIT binary patch literal 188716 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
    HoSkjVlCQhBS> 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 z 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 0 { + HStack { + Text(viewModel.discrepancy >= 0 ? "Deposit Amount" : "Shortage") + .font(.headline) + Spacer() + Text(String(format: "$%.2f", viewModel.discrepancy)) + .font(.headline) + .foregroundColor(viewModel.discrepancy >= 0 ? .primary : .red) + } + } + + Divider() + + HStack { + Text("Total") + .font(.largeTitle) + .bold() + Spacer() + Text(String(format: "$%.2f", viewModel.total)) + .font(.largeTitle) + .bold() + } + } + .padding() + .background(Color(UIColor.secondarySystemBackground)) + .foregroundColor(.primary) + } + .background(Color(UIColor.systemBackground)) + // 2. Adds the "Done" button directly above the keyboard + .toolbar { + ToolbarItemGroup(placement: .keyboard) { + Spacer() + Button("Done") { + dismissKeyboard() + } + .font(.headline) + .foregroundColor(.blue) + } + } + .onChange(of: viewModel.looseDenominations) { _, _ in viewModel.saveCache() } + .onChange(of: viewModel.rollDenominations) { _, _ in viewModel.saveCache() } + .onChange(of: viewModel.startingFloat) { _, _ in viewModel.saveCache() } + .sheet(isPresented: $showingNotes) { + NotesView(notes: $sessionNotes, total: viewModel.total, discrepancy: viewModel.discrepancy, expectedFloat: viewModel.startingFloat) + } + .sheet(isPresented: $showingHistory) { + HistoryView(viewModel: viewModel) + } + .confirmationDialog("Reset Everything?", isPresented: $showingResetAlert) { + Button("Reset Counts & Notes", role: .destructive) { + withAnimation { viewModel.reset() } + sessionNotes = "" + } + Button("Reset Counts Only", role: .destructive) { + withAnimation { viewModel.reset() } + } + Button("Cancel", role: .cancel) { } + } + } + + private func dismissKeyboard() { + focusedField = nil + isFloatFocused = false + } + + private func saveCurrentSession() { + let newSave = SavedCount( + total: viewModel.total, + startingFloat: viewModel.startingFloat, + notes: sessionNotes, + snapshotData: viewModel.generateSnapshot() + ) + modelContext.insert(newSave) + } +} + +// DenominationRow remains exactly the same as the previous iteration +struct DenominationRow: View { + @Binding var denomination: MoneyCounterViewModel.Denomination + var focusedField: FocusState.Binding + var valueColor: Color + + var body: some View { + HStack(spacing: 16) { + HStack { + Text(formatValue(denomination.value)) + .font(.title2).bold() + .foregroundColor(valueColor) + .frame(width: 70, alignment: .leading) + Spacer() + } + .contentShape(Rectangle()) + .onTapGesture { focusedField.wrappedValue = nil } + + Button(action: { + denomination.count += 1 + focusedField.wrappedValue = nil + }) { + Image(systemName: "plus.circle.fill") + .foregroundColor(Color(UIColor.systemGreen)) + .font(.title) + } + + Button(action: { + if denomination.count > 0 { denomination.count -= 1 } + focusedField.wrappedValue = nil + }) { + Image(systemName: "minus.circle.fill") + .foregroundColor(Color(UIColor.systemRed)) + .font(.title) + } + + TextField("0", value: $denomination.count, format: .number) + .keyboardType(.numberPad) + .multilineTextAlignment(.center) + .font(.title2).bold() + .frame(width: 80) + .padding(.vertical, 4) + .focused(focusedField, equals: denomination.id) + .overlay( + Rectangle() + .frame(height: 1) + .foregroundColor(Color(UIColor.separator)), + alignment: .bottom + ) + .foregroundColor(.primary) + } + } + + private func formatValue(_ value: Double) -> String { + if value >= 1.0 { return String(format: "%.1f", value) } + else { return String(format: "%.2f", value) } + } +} diff --git a/MoneyCounter/HistoryView.swift b/MoneyCounter/HistoryView.swift new file mode 100644 index 0000000..8d215b1 --- /dev/null +++ b/MoneyCounter/HistoryView.swift @@ -0,0 +1,87 @@ +// +// HistoryView.swift +// MoneyCounter +// +// Created by Dallas Groot on 2026-04-06. +// + +import SwiftUI +import SwiftData + +struct HistoryView: View { + @Environment(\.dismiss) private var dismiss + @Environment(\.modelContext) private var modelContext + + // Auto-fetches and sorts by date descending + @Query(sort: \SavedCount.date, order: .reverse) private var savedCounts: [SavedCount] + + var viewModel: MoneyCounterViewModel + + var body: some View { + NavigationStack { + List { + ForEach(savedCounts) { save in + VStack(alignment: .leading, spacing: 6) { + HStack { + Text(save.date.formatted(date: .abbreviated, time: .shortened)) + .font(.headline) + Spacer() + Text(String(format: "$%.2f", save.total)) + .font(.title3).bold() + } + + if save.startingFloat > 0 { + HStack { + Text("Float: $\(save.startingFloat, specifier: "%.2f")") + .font(.subheadline).foregroundColor(.secondary) + Spacer() + Text(save.discrepancy >= 0 ? "Dep: +$\(save.discrepancy, specifier: "%.2f")" : "Short: $\(save.discrepancy, specifier: "%.2f")") + .font(.subheadline) + .foregroundColor(save.discrepancy >= 0 ? .green : .red) + } + } + + if !save.notes.isEmpty { + Text(save.notes) + .font(.caption) + .foregroundColor(.secondary) + .lineLimit(2) + } + } + .padding(.vertical, 4) + .swipeActions(edge: .leading) { + Button(action: { + resume(save: save) + }) { + Label("Resume", systemImage: "arrow.counterclockwise") + } + .tint(.blue) + } + } + .onDelete(perform: deleteItems) + } + .navigationTitle("Count History") + .toolbar { + ToolbarItem(placement: .navigationBarTrailing) { + Button("Close") { dismiss() } + } + } + .overlay { + if savedCounts.isEmpty { + ContentUnavailableView("No History", systemImage: "tray", description: Text("Saved counts will appear here.")) + } + } + } + } + + private func deleteItems(offsets: IndexSet) { + for index in offsets { + modelContext.delete(savedCounts[index]) + } + } + + private func resume(save: SavedCount) { + viewModel.restore(from: save.snapshotData, float: save.startingFloat) + dismiss() + } +} diff --git a/MoneyCounter/Models.swift b/MoneyCounter/Models.swift new file mode 100644 index 0000000..e518878 --- /dev/null +++ b/MoneyCounter/Models.swift @@ -0,0 +1,35 @@ +import Foundation +import SwiftData + +// Represents a snapshot of the counts at the time of saving +struct CountSnapshot: Codable { + var id: UUID + var value: Double + var count: Int + var isRoll: Bool +} + +@Model +class SavedCount { + var id: UUID + var date: Date + var total: Double + var startingFloat: Double + var notes: String + + // SwiftData automatically handles Codable arrays + var snapshotData: [CountSnapshot] + + var discrepancy: Double { + return total - startingFloat + } + + init(id: UUID = UUID(), date: Date = .now, total: Double, startingFloat: Double, notes: String, snapshotData: [CountSnapshot]) { + self.id = id + self.date = date + self.total = total + self.startingFloat = startingFloat + self.notes = notes + self.snapshotData = snapshotData + } +} diff --git a/MoneyCounter/MoneyCounterApp.swift b/MoneyCounter/MoneyCounterApp.swift new file mode 100644 index 0000000..a30467b --- /dev/null +++ b/MoneyCounter/MoneyCounterApp.swift @@ -0,0 +1,13 @@ +import SwiftUI +import SwiftData + +@main +struct MoneyCounterApp: App { + var body: some Scene { + WindowGroup { + ContentView() + } + // Modern iOS 26 data persistence + .modelContainer(for: SavedCount.self) + } +} diff --git a/MoneyCounter/MoneyCounterViewModel.swift b/MoneyCounter/MoneyCounterViewModel.swift new file mode 100644 index 0000000..1b30f98 --- /dev/null +++ b/MoneyCounter/MoneyCounterViewModel.swift @@ -0,0 +1,104 @@ +import SwiftUI +import Observation + +@Observable +class MoneyCounterViewModel { + struct Denomination: Identifiable, Codable, Equatable { + var id: UUID = UUID() + let value: Double + var count: Int = 0 + var isRoll: Bool = false + } + + var looseDenominations: [Denomination] = [ + Denomination(value: 0.05), + Denomination(value: 0.10), + Denomination(value: 0.25), + Denomination(value: 1.00), + Denomination(value: 2.00), + Denomination(value: 5.00), + Denomination(value: 10.00), + Denomination(value: 20.00), + Denomination(value: 50.00), + Denomination(value: 100.00) + ] + + var rollDenominations: [Denomination] = [ + Denomination(value: 2.00, isRoll: true), + Denomination(value: 5.00, isRoll: true), + Denomination(value: 10.00, isRoll: true), + Denomination(value: 25.00, isRoll: true), + Denomination(value: 50.00, isRoll: true) + ] + + var startingFloat: Double = 0.0 + + init() { + loadCache() + } + + var total: Double { + let looseTotal = looseDenominations.reduce(0) { $0 + ($1.value * Double($1.count)) } + let rollsTotal = rollDenominations.reduce(0) { $0 + ($1.value * Double($1.count)) } + return looseTotal + rollsTotal + } + + var discrepancy: Double { + total - startingFloat + } + + func reset() { + for i in looseDenominations.indices { looseDenominations[i].count = 0 } + for i in rollDenominations.indices { rollDenominations[i].count = 0 } + // The float is intentionally NOT reset here anymore so it persists + saveCache() + } + + func generateSnapshot() -> [CountSnapshot] { + let loose = looseDenominations.map { CountSnapshot(id: $0.id, value: $0.value, count: $0.count, isRoll: $0.isRoll) } + let rolls = rollDenominations.map { CountSnapshot(id: $0.id, value: $0.value, count: $0.count, isRoll: $0.isRoll) } + return loose + rolls + } + + func restore(from snapshot: [CountSnapshot], float: Double) { + startingFloat = float + + for snap in snapshot { + if snap.isRoll { + if let index = rollDenominations.firstIndex(where: { $0.value == snap.value }) { + rollDenominations[index].count = snap.count + } + } else { + if let index = looseDenominations.firstIndex(where: { $0.value == snap.value }) { + looseDenominations[index].count = snap.count + } + } + } + saveCache() + } + + // MARK: - Caching Logic + func saveCache() { + if let looseData = try? JSONEncoder().encode(looseDenominations) { + UserDefaults.standard.set(looseData, forKey: "cachedLoose") + } + if let rollData = try? JSONEncoder().encode(rollDenominations) { + UserDefaults.standard.set(rollData, forKey: "cachedRolls") + } + UserDefaults.standard.set(startingFloat, forKey: "cachedFloat") + } + + private func loadCache() { + if let looseData = UserDefaults.standard.data(forKey: "cachedLoose"), + let decodedLoose = try? JSONDecoder().decode([Denomination].self, from: looseData) { + looseDenominations = decodedLoose + } + + if let rollData = UserDefaults.standard.data(forKey: "cachedRolls"), + let decodedRolls = try? JSONDecoder().decode([Denomination].self, from: rollData) { + rollDenominations = decodedRolls + } + + startingFloat = UserDefaults.standard.double(forKey: "cachedFloat") + } +} diff --git a/MoneyCounter/NotesView.swift b/MoneyCounter/NotesView.swift new file mode 100644 index 0000000..d6836b9 --- /dev/null +++ b/MoneyCounter/NotesView.swift @@ -0,0 +1,48 @@ +import SwiftUI + +struct NotesView: View { + @Binding var notes: String + let total: Double + let discrepancy: Double + let expectedFloat: Double + @Environment(\.dismiss) private var dismiss + + var body: some View { + NavigationStack { + TextEditor(text: $notes) + .padding() + .navigationTitle("Session Notes") + .navigationBarTitleDisplayMode(.inline) + .toolbar { + ToolbarItem(placement: .navigationBarLeading) { + Button("Done") { dismiss() } + } + ToolbarItem(placement: .navigationBarTrailing) { + ShareLink(item: notes) + } + // Keyboard extension tools + ToolbarItemGroup(placement: .keyboard) { + Button(action: injectTotal) { Label("Total", systemImage: "dollarsign.circle") } + Spacer() + Button(action: injectDeposit) { Label("Deposit", systemImage: "arrow.down.circle") } + Spacer() + Button(action: injectTime) { Label("Time", systemImage: "clock") } + } + } + } + } + + private func injectTotal() { + notes += "\nTotal Count: \(String(format: "$%.2f", total))" + } + + private func injectDeposit() { + if expectedFloat > 0 { + notes += "\nFloat: \(String(format: "$%.2f", expectedFloat)) | Deposit: \(String(format: "$%.2f", discrepancy))" + } + } + + private func injectTime() { + notes += "\nChecked at: \(Date.now.formatted(date: .omitted, time: .shortened))" + } +} diff --git a/MoneyCounter/readme.md b/MoneyCounter/readme.md new file mode 100644 index 0000000..e0d911f --- /dev/null +++ b/MoneyCounter/readme.md @@ -0,0 +1,37 @@ + +Money Counter (iOS 26+) +A modern, highly resilient till-counting application built strictly with modern SwiftUI guidelines. It is designed to track loose change, bills, and rolled coins, automatically calculate deposits against a starting float, and persist data across app launches using SwiftData and UserDefaults caching. +✨ Features +• Loose & Roll Tracking: Distinct sections for loose denominations (green) and coin rolls (red). +• Starting Float & Deposit Math: Enter a starting float, and the app automatically calculates your expected deposit or cash shortage. +• Aggressive Auto-Caching: Every single tap or number entry is instantly saved to UserDefaults. If the app crashes or is swiped away, your exact count is restored upon reopening. +• Session Notes: A built-in scratchpad for the current count. Features custom keyboard toolbar buttons to instantly inject the time, total, and float discrepancy into the text. +• Count History: Save snapshots of your counts natively using SwiftData. View past counts, check over/short metrics, or swipe to "Resume" a past count directly back into the main calculator. +• Native Keyboard Handling: Includes interactive swipe-to-dismiss and a dedicated "Done" button on the numeric keyboard. +🏗 Architecture: How the Files Interact +This app uses modern Swift data flow. Instead of passing static variables back and forth, the app relies on Observation (@Observable) for live memory and SwiftData for permanent storage. +Here is how each file reads from and communicates with the others: +1. MoneyCounterApp.swift (The Entry Point) +• What it does: This is where the app launches. +• How it connects: It wraps ContentView and attaches .modelContainer(for: SavedCount.self). This is a crucial step—it tells the entire app environment that SwiftData exists and makes the database available to any file that asks for it. +2. Models.swift (The Database Schema) +• What it does: Defines the blueprint for what a "Saved History" item looks like. +• How it connects: It defines the @Model class SavedCount. This does not hold live UI data; it acts as the strict template that ContentView uses when writing to the database, and that HistoryView uses when reading from the database. +3. MoneyCounterViewModel.swift (The Brain) +• What it does: Handles all the math, stores the arrays of denominations, and manages the UserDefaults background caching. +• How it connects: It is marked with the modern @Observable macro. This means it acts like a live broadcast station. When ContentView creates an instance of it, the view automatically "listens" to it. If the ViewModel calculates a new total, ContentView instantly redraws without needing to be manually told to update. +4. ContentView.swift (The Main UI) +• What it does: Displays the scrolling list of coins/bills and the bottom totals bar. +• How it connects: * Reads from ViewModel: Uses @State private var viewModel to read the live totals and write button taps back to the ViewModel. +• Reads from AppStorage: Uses @AppStorage to hold the session notes string. This acts as an invisible bridge to the device's hard drive so the text survives app closures. +• Writes to SwiftData: It accesses the database provided by MoneyCounterApp using @Environment(\.modelContext). When you save a session, it packages the ViewModel's current numbers into a SavedCount model and pushes it into this context. +• Passes to Sub-Views: It opens NotesView and HistoryView as .sheet overlays, passing down the necessary references so they can see the same data. +5. NotesView.swift (The Sub-View for Text) +• What it does: Displays the text editor for shift notes. +• How it connects: It receives data from ContentView in two ways: +• @Binding var notes: It binds directly to the @AppStorage string in ContentView. Typing here actually edits the variable living inside ContentView. +• Constants (let total, let discrepancy): ContentView passes the current math totals down as read-only constants so NotesView can inject them into the text via its keyboard shortcut buttons. +6. HistoryView.swift (The SwiftData Reader) +• What it does: Displays the list of previously saved counts. +• How it connects: * Reads from SwiftData: Uses the @Query macro to automatically look into the database (set up by MoneyCounterApp) and fetch all SavedCount items, sorting them by date. +• Writes to ViewModel: When you swipe and tap "Resume", HistoryView takes the saved snapshot and pushes it directly into the MoneyCounterViewModel instance passed to it by ContentView. This instantly overwrites the live calculator with the historical data. diff --git a/project.yml b/project.yml new file mode 100644 index 0000000..d3fe433 --- /dev/null +++ b/project.yml @@ -0,0 +1,27 @@ +name: Money Counter Helper +options: + bundleIdPrefix: ca.dallasgroot + createIntermediateGroups: true + +targets: + MoneyCounter: + type: application + platform: iOS + deploymentTarget: "26.0" + sources: + - path: MoneyCounter + settings: + base: + ASSETCATALOG_COMPILER_APPICON_NAME: AppIcon + SWIFT_VERSION: 5.0 + MARKETING_VERSION: 1.0 + CURRENT_PROJECT_VERSION: 1 + + GENERATE_INFOPLIST_FILE: YES + INFOPLIST_KEY_UIApplicationSceneManifest_Generation: YES + INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents: YES + INFOPLIST_KEY_UILaunchScreen_Generation: YES + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone: UIInterfaceOrientationPortrait + + # Add this line to silence the orientation/multitasking warning: + INFOPLIST_KEY_UIRequiresFullScreen: YES