feat(mobile): add album description functionality (#18886)

* feat(mobile): add album description functionality

- Introduced a new optional `description` field in the `Album` entity.
- Updated `AlbumViewerPageState` to manage `editDescriptionText`.
- Created `AlbumDescription` and `AlbumViewerEditableDescription` widgets for displaying and editing album descriptions.
- Enhanced `CreateAlbumPage` to include a description input field.
- Implemented backend support for updating album descriptions in `AlbumApiRepository` and `AlbumService`.
- Updated sync logic to handle album descriptions during data synchronization.
- Adjusted UI components to accommodate the new description feature.

* fix dart analysis error

* remove comment that shouldn't be there

* Album header styling

* fix: disable edit after album creation

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
This commit is contained in:
JobiJoba
2025-06-05 00:41:28 +07:00
committed by GitHub
parent 19ff39c2b9
commit 5d0ad853f4
18 changed files with 598 additions and 98 deletions
@@ -52,7 +52,9 @@ class AlbumViewerEditableTitle extends HookConsumerWidget {
}
},
focusNode: titleFocusNode,
style: context.textTheme.headlineMedium,
style: context.textTheme.headlineLarge?.copyWith(
fontWeight: FontWeight.w700,
),
controller: titleTextEditController,
onTap: () {
context.focusScope.requestFocus(titleFocusNode);
@@ -65,8 +67,10 @@ class AlbumViewerEditableTitle extends HookConsumerWidget {
}
},
decoration: InputDecoration(
contentPadding:
const EdgeInsets.symmetric(horizontal: 8, vertical: 8),
contentPadding: const EdgeInsets.symmetric(
horizontal: 8,
vertical: 0,
),
suffixIcon: titleFocusNode.hasFocus
? IconButton(
onPressed: () {