commits
- Expanded project description to include agent guidelines.
- Added detailed project overview, development environment setup, architecture, and Swift/SwiftUI instructions.
- Included anti-patterns and documentation update suggestions for better contributor guidance. @greptile
- Changed app title to include "Live Occupancy for VT Gyms" for better clarity.
- Added the app's URL to the configuration file.
- Updated the privacy policy link in the README to reflect the new URL.
- Added GitHub and Tangled links to the README for better accessibility.
- Updated CSS to hide the site footer, enhancing the main content's visibility.
- Changed header background color to black for both light and dark themes.
- Added styles for buttons in the page header to improve visibility and interaction in dark mode.
- Updated code block styling for better readability and consistency in dark mode, including overflow handling and border adjustments.
- Implemented a script to apply dark theme based on user preference or system settings.
- Added CSS variables for VT brand colors and established styles for dark mode.
- Enhanced page header and main content styles to adapt to dark mode settings.
- Improved section organization for better readability.
- Clarified descriptions of app features and functionalities.
- Enhanced the organization of sections for better readability.
- Updated descriptions to provide clearer information on app features and functionalities.
- Removed the logo image from the README header for a cleaner presentation.
- Updated the license section to include a direct link to the LICENSE file for easier access.
- Removed the logo image from the README header for a cleaner presentation.
- Updated the license section to include a direct link to the LICENSE file for easier access.
- Updated README to include a logo and a centered app image, along with a direct download link for the app.
- Modified privacy policy styles to use a lighter maroon color for links and added a personal website link.
- Removed unnecessary anchor tags around the app icon in the privacy policy for a cleaner layout.
- Updated contact email in the privacy policy for better communication.
- Removed unused imports and simplified barcode display logic in ContentView.
- Updated occupancy calculations to use gymService properties for better accuracy.
- Enhanced BarcodeDisplayView to cache generated barcode images and regenerate them on changes.
- Improved UI elements for better visual consistency and user experience.
- Removed unnecessary comments and code artifacts in ContentView, SettingsView, and BarcodeDisplayView to enhance clarity.
- Updated the handling of scene phases and barcode display logic in ContentView for better state management.
- Simplified the structure of BarcodeDisplayView and BarcodeDisplayOverlayView by eliminating redundant comments and improving layout handling.
- Enhanced GymOccupancyFetcher and GymService with clearer comments and improved data handling for occupancy updates.
- Streamlined the EventsViewModel by refining comments and ensuring efficient caching and network monitoring logic.
- Updated the README to provide a more concise overview of the VT Gym Tracker app, emphasizing its core services and architecture.
- Enhanced descriptions of gym occupancy tracking, events integration, and barcode scanning functionalities.
- Improved organization of sections for better readability and understanding of the app's capabilities.
- Added detailed explanations of data flow and technical components, including GymService, GymOccupancyFetcher, and EventsViewModel.
- Changed the icon in ContentView's button from "plus.rectangle.fill" to "plus.circle.fill" for better visual representation of adding a campus ID.
- Updated the label in SettingsView from "Campus ID" to "ID Number" and changed the icon to "number" for enhanced clarity.
- Adjusted foreground styles to maintain consistency across UI components.
- Implemented a clear container background for McComas, War Memorial, Bouldering Wall, and Rectangular widgets to enhance visual integration.
- Replaced Divider with a styled Rectangle in SmallWidgetView for a more consistent design across widget components.
- Changed the app title from "VT Gym Tracker" to "Gym Tracker" in AboutView and ContentView for a unified branding approach.
- Added list row insets to improve spacing in ContentView for better visual layout.
- Removed unnecessary vertical padding in OccupancyCard and EventCard to streamline the UI.
- Refactored CampusIDSection in SettingsView to improve Face ID handling and user experience when copying the Campus ID.
- Updated background and foreground color logic in SegmentedProgressBar, WatchCircularProgressView, WatchSegmentedProgressBar, and widget views to use a neutral gray for empty states.
- Adjusted opacity values for segment colors to maintain visual consistency across different components.
- Introduced abbreviated count formatting for occupancy and max capacity in OccupancyCard and WatchGymCardView.
- Updated GymOccupancyFetcher to include bouldering wall occupancy data.
- Enhanced UnifiedGymTrackerProvider to support bouldering wall occupancy in widget entries.
- Added new circular widget for bouldering wall occupancy and updated existing widgets to include it.
- Refactored widget views to maintain consistent design and functionality across all gym facilities.
- Changed the Privacy Policy URL in README to reflect the new path under the /docs folder.
- Updated the PrivacyPolicyView to use the new Privacy Policy URL for consistency with the README.
- Added a section in README for the app's Privacy Policy hosted on GitHub Pages, including setup instructions.
- Updated the PrivacyPolicyView to link to the new Privacy Policy URL on GitHub Pages.
- Changed the Bluesky profile link in AppInfo.swift to a new URL for consistency.
- Transitioned BarcodeScannerView from UIKit to SwiftUI for improved integration and performance.
- Implemented CodeScanner for barcode scanning functionality, simplifying the scanning process.
- Added a custom overlay for the scanning area with a privacy message.
- Introduced a flashlight toggle button for enhanced scanning in low-light conditions.
- Updated the handling of scanned barcodes to ensure proper formatting and storage.
- Replaced references to "Hokie Passport" with "Campus ID" throughout the app for consistency.
- Removed IDInputOptionsView and integrated its functionality into SettingsView and ManualIDInputView.
- Updated ContentView to utilize new manual input and barcode scanning options.
- Implemented background task scheduling for gym occupancy updates using BGTaskScheduler.
- Refactored color handling in CustomColors and SegmentedProgressBar to use named colors.
- Enhanced GymService to streamline occupancy data fetching and management.
- Updated README to reflect changes in HTML parsing method and library usage.
- Replaced NavigationView with TabView for better layout of gym facility cards.
- Introduced NetworkMonitor to manage network connectivity and trigger occupancy updates.
- Removed WatchUnifiedCard in favor of a more flexible WatchGymCardView for displaying occupancy data.
- Updated occupancy fetching logic to respond to network changes and periodic updates.
- Introduced a new section for the bouldering wall in ContentView.
- Updated OccupancyCard to accept a segment count for dynamic segment display.
- Enhanced GymService to fetch and manage occupancy data for the bouldering wall.
- Adjusted Constants to include bouldering wall facility ID and max capacity.
- Updated SegmentedProgressBar previews to reflect the new bouldering wall segment configuration.
- Changed header background color to black for both light and dark themes.
- Added styles for buttons in the page header to improve visibility and interaction in dark mode.
- Updated code block styling for better readability and consistency in dark mode, including overflow handling and border adjustments.
- Updated README to include a logo and a centered app image, along with a direct download link for the app.
- Modified privacy policy styles to use a lighter maroon color for links and added a personal website link.
- Removed unnecessary anchor tags around the app icon in the privacy policy for a cleaner layout.
- Updated contact email in the privacy policy for better communication.
- Removed unused imports and simplified barcode display logic in ContentView.
- Updated occupancy calculations to use gymService properties for better accuracy.
- Enhanced BarcodeDisplayView to cache generated barcode images and regenerate them on changes.
- Improved UI elements for better visual consistency and user experience.
- Removed unnecessary comments and code artifacts in ContentView, SettingsView, and BarcodeDisplayView to enhance clarity.
- Updated the handling of scene phases and barcode display logic in ContentView for better state management.
- Simplified the structure of BarcodeDisplayView and BarcodeDisplayOverlayView by eliminating redundant comments and improving layout handling.
- Enhanced GymOccupancyFetcher and GymService with clearer comments and improved data handling for occupancy updates.
- Streamlined the EventsViewModel by refining comments and ensuring efficient caching and network monitoring logic.
- Updated the README to provide a more concise overview of the VT Gym Tracker app, emphasizing its core services and architecture.
- Enhanced descriptions of gym occupancy tracking, events integration, and barcode scanning functionalities.
- Improved organization of sections for better readability and understanding of the app's capabilities.
- Added detailed explanations of data flow and technical components, including GymService, GymOccupancyFetcher, and EventsViewModel.
- Changed the icon in ContentView's button from "plus.rectangle.fill" to "plus.circle.fill" for better visual representation of adding a campus ID.
- Updated the label in SettingsView from "Campus ID" to "ID Number" and changed the icon to "number" for enhanced clarity.
- Adjusted foreground styles to maintain consistency across UI components.
- Changed the app title from "VT Gym Tracker" to "Gym Tracker" in AboutView and ContentView for a unified branding approach.
- Added list row insets to improve spacing in ContentView for better visual layout.
- Removed unnecessary vertical padding in OccupancyCard and EventCard to streamline the UI.
- Refactored CampusIDSection in SettingsView to improve Face ID handling and user experience when copying the Campus ID.
- Introduced abbreviated count formatting for occupancy and max capacity in OccupancyCard and WatchGymCardView.
- Updated GymOccupancyFetcher to include bouldering wall occupancy data.
- Enhanced UnifiedGymTrackerProvider to support bouldering wall occupancy in widget entries.
- Added new circular widget for bouldering wall occupancy and updated existing widgets to include it.
- Refactored widget views to maintain consistent design and functionality across all gym facilities.
- Transitioned BarcodeScannerView from UIKit to SwiftUI for improved integration and performance.
- Implemented CodeScanner for barcode scanning functionality, simplifying the scanning process.
- Added a custom overlay for the scanning area with a privacy message.
- Introduced a flashlight toggle button for enhanced scanning in low-light conditions.
- Updated the handling of scanned barcodes to ensure proper formatting and storage.
- Replaced references to "Hokie Passport" with "Campus ID" throughout the app for consistency.
- Removed IDInputOptionsView and integrated its functionality into SettingsView and ManualIDInputView.
- Updated ContentView to utilize new manual input and barcode scanning options.
- Implemented background task scheduling for gym occupancy updates using BGTaskScheduler.
- Refactored color handling in CustomColors and SegmentedProgressBar to use named colors.
- Enhanced GymService to streamline occupancy data fetching and management.
- Updated README to reflect changes in HTML parsing method and library usage.
- Replaced NavigationView with TabView for better layout of gym facility cards.
- Introduced NetworkMonitor to manage network connectivity and trigger occupancy updates.
- Removed WatchUnifiedCard in favor of a more flexible WatchGymCardView for displaying occupancy data.
- Updated occupancy fetching logic to respond to network changes and periodic updates.
- Introduced a new section for the bouldering wall in ContentView.
- Updated OccupancyCard to accept a segment count for dynamic segment display.
- Enhanced GymService to fetch and manage occupancy data for the bouldering wall.
- Adjusted Constants to include bouldering wall facility ID and max capacity.
- Updated SegmentedProgressBar previews to reflect the new bouldering wall segment configuration.