commits
- Added `updateGallerySortOrder` method in `ApiService` to update the sort order of gallery items.
- Introduced `GalleryItem` model to represent individual items in a gallery.
- Updated `GalleryCache` provider to handle reordering of gallery items and syncing with the backend.
- Modified `GallerySortOrderSheet` to pass context during reorder completion.
- Enhanced `ProfileWithGalleries` model to include favorite galleries.
- Refactored `ProfilePage` to directly use favorite galleries from the profile state.
- Updated JSON serialization for new fields in models.
- Improved error handling and state management in various components.
- Implemented `GalleryActionSheet` for managing gallery actions such as editing details, editing photos, changing sort order, and deleting galleries.
- Created `GalleryEditPhotosSheet` to allow users to edit photos in a gallery, including uploading new photos and removing existing ones.
- Added `GallerySortOrderSheet` for changing the order of photos in a gallery.
- Updated `GalleryPage` to integrate the new action sheet and editing functionalities.
- Enhanced `ProfilePage` to support refreshing and loading favorite galleries.
- Introduced new tab navigation for galleries and favorites in the profile section.
- Added `reorderables` package for improved UI interactions in sorting photos.
- Adjusted the profile following logic to correctly update followers count on follow/unfollow actions.
- Refactored CommentsPage to use Riverpod for state management, improving loading and error handling.
- Introduced CommentInputSheet for better comment submission UX.
- Enhanced CreateGalleryPage UI with improved layout and button styles.
- Updated GalleryPage to support pull-to-refresh functionality and improved layout.
- Modified ProfilePage to use a smaller button size for follow/unfollow actions.
- Added AppButtonSize enum to manage button sizes consistently across the app.
- Improved PlainTextField styling for better focus indication and usability.
- Updated notifications_page.dart to handle potential null values for author avatar and display name.
- Enhanced profile_page.dart to ensure safe access to profile description and gallery items.
- Modified gallery_action_buttons.dart to utilize Riverpod for managing favorite state.
- Changed gallery_photo_view.dart to safely check for photo alt text.
- Improved gallery_preview.dart to filter photos based on non-null thumbnails.
- Updated justified_gallery_view.dart to handle aspect ratios safely and ensure thumbnails are not null.
- Refactored timeline_item.dart to use Riverpod for gallery data and ensure safe access to actor details.
- Updated pubspec.yaml and pubspec.lock to include new dependencies and overrides for analyzer and linting packages.
- Updated CircularProgressIndicator colors to use theme's primary color.
- Replaced hardcoded colors in DrawerHeader and other widgets with theme colors.
- Enhanced text styles in various widgets to align with the app's theme.
- Refactored AppButton to utilize theme colors for primary and secondary variants.
- Improved text field styling with animated focus effects based on theme.
- Adjusted background colors and text colors in multiple screens to ensure consistency with the theme.
- Ensured all icons and text elements reflect the current theme's color scheme.
- Added Auth class for handling user login, session management, and token storage using Flutter Secure Storage.
- Introduced DpopHttpClient for making HTTP requests with DPoP proof, including nonce management and JWK thumbprint calculation.
- Created AtprotoSession model for managing session data.
- Updated main.dart to integrate authentication flow and handle sign-in state.
- Enhanced CreateGalleryPage to create galleries and navigate to the GalleryPage upon success.
- Improved error handling and loading states in ProfilePage and SplashPage.
- Added necessary imports and plugin registrations for secure storage across platforms (Linux, macOS, Windows).
- Updated pubspec.yaml to include new dependencies for secure storage, JOSE, and crypto functionalities.
- Added functionality to fetch and display a following timeline in the home page.
- Refactored the timeline fetching logic to handle both general and following timelines.
- Updated the UI to show loading indicators and empty states for both timelines.
- Enhanced the tab navigation to switch between the general timeline and following timeline.
- Improved code structure for better readability and maintainability.
fix: Update Notifications Page
- Removed unused case for 'gallery-mention' in notification handling.
- Ensured consistent use of theme colors for dividers in the notifications list.
chore: Clean up Splash Page Logging
- Removed logging of sensitive token information in the splash page.
chore: Update macOS and Windows Plugin Registrants
- Added share_plus plugin registration for macOS and Windows platforms.
chore: Update pubspec.yaml and pubspec.lock
- Removed direct dependencies on atproto packages and replaced them with at_uri and share_plus.
- Updated various package versions in pubspec.lock for better compatibility and performance.
- Simplified MyHomePage constructor by removing displayName parameter.
- Adjusted padding and layout in MyHomePage for better spacing.
- Updated AppBar styles in LogPage and ProfilePage for consistency.
- Enhanced notifications display by using theme colors for dividers.
- Implemented TabController in ProfilePage for galleries and favorites navigation.
- Reduced spacing in JustifiedGalleryView for a tighter layout.
- Added GalleryPhotoView for displaying images in a fullscreen view with swipe functionality.
- Added `updateGallerySortOrder` method in `ApiService` to update the sort order of gallery items.
- Introduced `GalleryItem` model to represent individual items in a gallery.
- Updated `GalleryCache` provider to handle reordering of gallery items and syncing with the backend.
- Modified `GallerySortOrderSheet` to pass context during reorder completion.
- Enhanced `ProfileWithGalleries` model to include favorite galleries.
- Refactored `ProfilePage` to directly use favorite galleries from the profile state.
- Updated JSON serialization for new fields in models.
- Improved error handling and state management in various components.
- Implemented `GalleryActionSheet` for managing gallery actions such as editing details, editing photos, changing sort order, and deleting galleries.
- Created `GalleryEditPhotosSheet` to allow users to edit photos in a gallery, including uploading new photos and removing existing ones.
- Added `GallerySortOrderSheet` for changing the order of photos in a gallery.
- Updated `GalleryPage` to integrate the new action sheet and editing functionalities.
- Enhanced `ProfilePage` to support refreshing and loading favorite galleries.
- Introduced new tab navigation for galleries and favorites in the profile section.
- Added `reorderables` package for improved UI interactions in sorting photos.
- Adjusted the profile following logic to correctly update followers count on follow/unfollow actions.
- Refactored CommentsPage to use Riverpod for state management, improving loading and error handling.
- Introduced CommentInputSheet for better comment submission UX.
- Enhanced CreateGalleryPage UI with improved layout and button styles.
- Updated GalleryPage to support pull-to-refresh functionality and improved layout.
- Modified ProfilePage to use a smaller button size for follow/unfollow actions.
- Added AppButtonSize enum to manage button sizes consistently across the app.
- Improved PlainTextField styling for better focus indication and usability.
- Updated notifications_page.dart to handle potential null values for author avatar and display name.
- Enhanced profile_page.dart to ensure safe access to profile description and gallery items.
- Modified gallery_action_buttons.dart to utilize Riverpod for managing favorite state.
- Changed gallery_photo_view.dart to safely check for photo alt text.
- Improved gallery_preview.dart to filter photos based on non-null thumbnails.
- Updated justified_gallery_view.dart to handle aspect ratios safely and ensure thumbnails are not null.
- Refactored timeline_item.dart to use Riverpod for gallery data and ensure safe access to actor details.
- Updated pubspec.yaml and pubspec.lock to include new dependencies and overrides for analyzer and linting packages.
- Updated CircularProgressIndicator colors to use theme's primary color.
- Replaced hardcoded colors in DrawerHeader and other widgets with theme colors.
- Enhanced text styles in various widgets to align with the app's theme.
- Refactored AppButton to utilize theme colors for primary and secondary variants.
- Improved text field styling with animated focus effects based on theme.
- Adjusted background colors and text colors in multiple screens to ensure consistency with the theme.
- Ensured all icons and text elements reflect the current theme's color scheme.
- Added Auth class for handling user login, session management, and token storage using Flutter Secure Storage.
- Introduced DpopHttpClient for making HTTP requests with DPoP proof, including nonce management and JWK thumbprint calculation.
- Created AtprotoSession model for managing session data.
- Updated main.dart to integrate authentication flow and handle sign-in state.
- Enhanced CreateGalleryPage to create galleries and navigate to the GalleryPage upon success.
- Improved error handling and loading states in ProfilePage and SplashPage.
- Added necessary imports and plugin registrations for secure storage across platforms (Linux, macOS, Windows).
- Updated pubspec.yaml to include new dependencies for secure storage, JOSE, and crypto functionalities.
- Added functionality to fetch and display a following timeline in the home page.
- Refactored the timeline fetching logic to handle both general and following timelines.
- Updated the UI to show loading indicators and empty states for both timelines.
- Enhanced the tab navigation to switch between the general timeline and following timeline.
- Improved code structure for better readability and maintainability.
fix: Update Notifications Page
- Removed unused case for 'gallery-mention' in notification handling.
- Ensured consistent use of theme colors for dividers in the notifications list.
chore: Clean up Splash Page Logging
- Removed logging of sensitive token information in the splash page.
chore: Update macOS and Windows Plugin Registrants
- Added share_plus plugin registration for macOS and Windows platforms.
chore: Update pubspec.yaml and pubspec.lock
- Removed direct dependencies on atproto packages and replaced them with at_uri and share_plus.
- Updated various package versions in pubspec.lock for better compatibility and performance.
- Simplified MyHomePage constructor by removing displayName parameter.
- Adjusted padding and layout in MyHomePage for better spacing.
- Updated AppBar styles in LogPage and ProfilePage for consistency.
- Enhanced notifications display by using theme colors for dividers.
- Implemented TabController in ProfilePage for galleries and favorites navigation.
- Reduced spacing in JustifiedGalleryView for a tighter layout.
- Added GalleryPhotoView for displaying images in a fullscreen view with swipe functionality.