Commit Graph

47 Commits

Author SHA1 Message Date
fc4e283124 Signed-off-by: Matt Bruce <mbrucedogs@gmail.com> 2026-02-16 16:46:41 -06:00
db06b43364 Signed-off-by: Matt Bruce <mbrucedogs@gmail.com> 2026-02-16 16:30:12 -06:00
bd09c14a02 Signed-off-by: Matt Bruce <mbrucedogs@gmail.com> 2026-02-16 16:20:01 -06:00
65fe6cc178 Merge branch 'develop' of ssh://git@192.168.1.128:220/mbrucedogs/Bedrock.git into develop 2026-02-09 16:54:40 -06:00
e50029d553 Signed-off-by: Matt Bruce <mbrucedogs@gmail.com> 2026-02-09 14:17:59 -06:00
111242ba9d Signed-off-by: Matt Bruce <mbrucedogs@gmail.com> 2026-02-09 14:06:45 -06:00
358b5ccf9d reset padding
Signed-off-by: Matt Bruce <mbrucedogs@gmail.com>
2026-02-09 09:48:57 -06:00
24badf872d Signed-off-by: Matt Bruce <mbrucedogs@gmail.com> 2026-02-09 09:35:57 -06:00
1e13ea74e7 Merge branch 'develop' of ssh://git@192.168.1.128:220/mbrucedogs/Bedrock.git into develop 2026-02-09 09:16:12 -06:00
36f317c883 removed print
Signed-off-by: Matt Bruce <mbrucedogs@gmail.com>
2026-02-09 09:15:37 -06:00
3e5e6b7447 feature updates
Signed-off-by: Matt Bruce <mbrucedogs@gmail.com>
2026-02-07 10:58:42 -06:00
edd3577ec1 Signed-off-by: Matt Bruce <mbrucedogs@gmail.com> 2026-02-03 09:36:53 -06:00
176830f712 Signed-off-by: Matt Bruce <mbrucedogs@gmail.com> 2026-01-27 15:24:09 -06:00
635751f906 Signed-off-by: Matt Bruce <mbrucedogs@gmail.com> 2026-01-27 13:29:12 -06:00
657ca6bc5c Signed-off-by: Matt Bruce <mbrucedogs@gmail.com> 2026-01-27 12:17:14 -06:00
492e088cef Signed-off-by: Matt Bruce <mbrucedogs@gmail.com> 2026-01-27 11:55:51 -06:00
7859b22927 Signed-off-by: Matt Bruce <mbrucedogs@gmail.com> 2026-01-27 11:42:54 -06:00
92e6de53c5 Signed-off-by: Matt Bruce <mbrucedogs@gmail.com> 2026-01-27 11:23:39 -06:00
113660a7f9 Signed-off-by: Matt Bruce <mbrucedogs@gmail.com> 2026-01-27 11:16:14 -06:00
d8b45af52f Signed-off-by: Matt Bruce <mbrucedogs@gmail.com> 2026-01-27 10:55:08 -06:00
e998661ce1 Signed-off-by: Matt Bruce <mbrucedogs@gmail.com> 2026-01-27 09:50:33 -06:00
4d84e2ec14 Signed-off-by: Matt Bruce <mbrucedogs@gmail.com> 2026-01-27 08:49:03 -06:00
bd69d8fc0a Signed-off-by: Matt Bruce <mbrucedogs@gmail.com> 2026-01-27 08:29:20 -06:00
ce905431ed Signed-off-by: Matt Bruce <mbrucedogs@gmail.com> 2026-01-12 13:29:00 -06:00
4a420242a8 Signed-off-by: Matt Bruce <mbrucedogs@gmail.com> 2026-01-12 08:23:20 -06:00
05f0907e0c Signed-off-by: Matt Bruce <mbrucedogs@gmail.com> 2026-01-12 08:11:21 -06:00
9fcb698b7b Use semantic colors for light/dark mode support in settings components 2026-01-10 17:39:58 -06:00
b84e32c04a Add THEME_GUIDE.md for app color theming documentation 2026-01-10 17:27:15 -06:00
f92021374d Signed-off-by: Matt Bruce <mbrucedogs@gmail.com> 2026-01-10 17:20:43 -06:00
f1a065509b Add QRCodeGenerator utility and make iOS-only 2026-01-08 18:14:43 -06:00
4ac3928646 Remove macOS target - iOS only 2026-01-08 18:11:32 -06:00
7c04a25fc2 Simplify LicensesView documentation pattern 2026-01-04 18:17:42 -06:00
9a0ebe2f55 Add LicensesView component with License model 2026-01-04 18:15:15 -06:00
41b3174c3b Add CloudSyncable protocol and iCloudSyncSettingsView for reusable iCloud sync section 2026-01-04 18:11:26 -06:00
3e1d63740f Add SettingsSegmentedPicker with title, subtitle, and titleAccessory support 2026-01-04 18:03:50 -06:00
835e41841b Remove VolumePicker (replaced by SettingsSlider with SliderFormat.percentage) 2026-01-04 17:52:08 -06:00
95a20ac5a3 Add settings components: SettingsCard, SettingsNavigationRow, SettingsSlider, titleAccessory for SettingsToggle, and update SETTINGS_GUIDE with debug section pattern 2026-01-04 17:50:26 -06:00
cf46b9f1f4 Split SettingsComponents into individual view files
- SettingsToggle.swift - Toggle row with title/subtitle
- VolumePicker.swift - Volume slider with speaker icons
- SegmentedPicker.swift - Horizontal capsule-style picker
- SelectableRow.swift - Card-like selectable row with badge support
- SelectionIndicator.swift - Checkmark/outline selection indicator
- BadgePill.swift - Capsule-shaped badge for values/tags
- SettingsSectionHeader.swift - Section header with icon
- SettingsRow.swift - Navigation-style row with icon

Each file has its own preview for easier development.
2026-01-04 16:58:17 -06:00
cc650c68d4 Add settings theming guide and fix Color typealias conflicts
- Add SETTINGS_GUIDE.md with comprehensive documentation for creating branded settings screens
- Rename Color.Text to Color.TextColors to avoid conflict with SwiftUI Text view
- Rename Color.Button to Color.ButtonColors to avoid conflict with SwiftUI Button view
- Add accentColor parameter to SettingsSectionHeader for customizable section icons
- Update README and PulsingModifier to use new TextColors typealias
2026-01-04 16:54:04 -06:00
c7c507c8f7 Add branding system with customizable launch screen and app icon
- Add AppIconView with configurable title, subtitle, icon, and colors
- Add LaunchScreenView with multiple pattern styles (dots, grid, radial, none)
- Add layout styles (iconAboveTitle, titleAboveIcon, iconOnly, titleOnly)
- Add IconGeneratorView for exporting 1024px app icons
- Add BrandingPreviewView for previewing branding assets
- Add AppLaunchView wrapper for animated app launch
- Add comprehensive BRANDING_GUIDE.md documentation
- Remove all casino-specific references, make fully generic
2026-01-04 14:38:32 -06:00
9212cd4c23 Fix hasCompletedInitialSync never being set for existing users
- Set hasCompletedInitialSync = true when user has existing data
- Only scheduleDelayedCloudCheck for fresh installs with no data
- Fixes UI stuck on 'Syncing...' for returning users
2026-01-04 13:33:32 -06:00
8add0a801a Fix CloudSyncManager sync status getting stuck on 'Syncing...'
- Set initial sync status on init based on iCloud availability
- Update status after initial synchronize call in init
- Properly set isSyncing and syncStatus in scheduleDelayedCloudCheck
- Update syncStatus to 'Synced' after handling cloud changes
2026-01-04 13:28:20 -06:00
b5a5c62fa8 Add PremiumGate utility for generic freemium settings gating
- Add PremiumGate enum with get/canSet helpers for premium-gated settings
- Supports entirely premium settings (returns default for free users)
- Supports partial premium (only specific values require premium)
- Preserves stored values so re-subscribing restores previous choices
2026-01-04 13:22:57 -06:00
40d1285c38 Fix Swift 6 concurrency warning for showDebugLogs
Mark showDebugLogs as nonisolated(unsafe) to resolve the 'static property is not concurrency-safe' error. This is appropriate for a debug flag that is typically set once at app launch.
2026-01-04 12:36:22 -06:00
9f4046bfd2 Use @_implementationOnly for UIKit imports to prevent macro conflicts 2026-01-02 12:15:08 -06:00
b3033c084a Remove @_exported imports to prevent macro conflicts
- Changed Exports.swift to use regular imports instead of @_exported
- This prevents ambiguous macro resolution issues in consuming apps
2026-01-02 12:02:27 -06:00
fa7d848f52 Initial commit: Bedrock design system and UI component library
- Design system: spacing, typography, colors, animations, opacity, shadows
- Protocol-based color theming (AppColorTheme)
- Settings UI components: toggles, pickers, selection indicators
- Sound and haptic feedback manager (generic AppSound protocol)
- Onboarding state management
- Cloud sync manager (PersistableData protocol)
- Visual effects: ConfettiView, PulsingModifier
- Debug utilities: DebugBorderModifier
- Device information utilities (cross-platform)
- Unit tests for design constants
2026-01-02 11:58:30 -06:00