diff --git a/mobile/assets/i18n/en-US.json b/mobile/assets/i18n/en-US.json index e46b51644b..387a6e370b 100644 --- a/mobile/assets/i18n/en-US.json +++ b/mobile/assets/i18n/en-US.json @@ -224,7 +224,7 @@ "login_password_changed_success": "Password updated successfully", "map_assets_in_bounds": { "one": "{} photo", - "many": "{} photos" + "other": "{} photos" }, "map_cannot_get_user_location": "Cannot get user's location", "map_location_dialog_cancel": "Cancel", @@ -396,7 +396,7 @@ "sharing_page_album": "Shared albums", "sharing_page_description": "Create shared albums to share photos and videos with people in your network.", "sharing_page_empty_list": "EMPTY LIST", - "sharing_silver_appbar_create_shared_album": "Create shared album", + "sharing_silver_appbar_create_shared_album": "New shared album", "sharing_silver_appbar_shared_links": "Shared links", "sharing_silver_appbar_share_partner": "Share with partner", "tab_controller_nav_library": "Library", diff --git a/mobile/fonts/WorkSans-Black.ttf b/mobile/fonts/WorkSans-Black.ttf deleted file mode 100644 index f0f61fbde8..0000000000 Binary files a/mobile/fonts/WorkSans-Black.ttf and /dev/null differ diff --git a/mobile/fonts/WorkSans-Bold.ttf b/mobile/fonts/WorkSans-Bold.ttf deleted file mode 100644 index c30cb07084..0000000000 Binary files a/mobile/fonts/WorkSans-Bold.ttf and /dev/null differ diff --git a/mobile/fonts/WorkSans-ExtraBold.ttf b/mobile/fonts/WorkSans-ExtraBold.ttf deleted file mode 100644 index 2d0d46a3ae..0000000000 Binary files a/mobile/fonts/WorkSans-ExtraBold.ttf and /dev/null differ diff --git a/mobile/fonts/WorkSans-Italic.ttf b/mobile/fonts/WorkSans-Italic.ttf deleted file mode 100644 index f2bf331027..0000000000 Binary files a/mobile/fonts/WorkSans-Italic.ttf and /dev/null differ diff --git a/mobile/fonts/WorkSans-Medium.ttf b/mobile/fonts/WorkSans-Medium.ttf deleted file mode 100644 index 1800fe2d88..0000000000 Binary files a/mobile/fonts/WorkSans-Medium.ttf and /dev/null differ diff --git a/mobile/fonts/WorkSans-SemiBold.ttf b/mobile/fonts/WorkSans-SemiBold.ttf deleted file mode 100644 index bce808c82f..0000000000 Binary files a/mobile/fonts/WorkSans-SemiBold.ttf and /dev/null differ diff --git a/mobile/fonts/WorkSans.ttf b/mobile/fonts/WorkSans.ttf deleted file mode 100644 index 09829a5169..0000000000 Binary files a/mobile/fonts/WorkSans.ttf and /dev/null differ diff --git a/mobile/fonts/overpass/Overpass-Bold.ttf b/mobile/fonts/overpass/Overpass-Bold.ttf new file mode 100644 index 0000000000..0cd2fb1077 Binary files /dev/null and b/mobile/fonts/overpass/Overpass-Bold.ttf differ diff --git a/mobile/fonts/overpass/Overpass-Italic.ttf b/mobile/fonts/overpass/Overpass-Italic.ttf new file mode 100644 index 0000000000..1031a9e57c Binary files /dev/null and b/mobile/fonts/overpass/Overpass-Italic.ttf differ diff --git a/mobile/fonts/overpass/Overpass-Medium.ttf b/mobile/fonts/overpass/Overpass-Medium.ttf new file mode 100644 index 0000000000..815276fe23 Binary files /dev/null and b/mobile/fonts/overpass/Overpass-Medium.ttf differ diff --git a/mobile/fonts/overpass/Overpass-Regular.ttf b/mobile/fonts/overpass/Overpass-Regular.ttf new file mode 100644 index 0000000000..b89906141e Binary files /dev/null and b/mobile/fonts/overpass/Overpass-Regular.ttf differ diff --git a/mobile/fonts/overpass/Overpass-SemiBold.ttf b/mobile/fonts/overpass/Overpass-SemiBold.ttf new file mode 100644 index 0000000000..b8faf9b99a Binary files /dev/null and b/mobile/fonts/overpass/Overpass-SemiBold.ttf differ diff --git a/mobile/fonts/overpass/OverpassMono.ttf b/mobile/fonts/overpass/OverpassMono.ttf new file mode 100644 index 0000000000..4502d61232 Binary files /dev/null and b/mobile/fonts/overpass/OverpassMono.ttf differ diff --git a/mobile/lib/modules/album/ui/album_action_outlined_button.dart b/mobile/lib/modules/album/ui/album_action_outlined_button.dart index eebaefc416..768be0e3cc 100644 --- a/mobile/lib/modules/album/ui/album_action_outlined_button.dart +++ b/mobile/lib/modules/album/ui/album_action_outlined_button.dart @@ -16,7 +16,7 @@ class AlbumActionOutlinedButton extends StatelessWidget { @override Widget build(BuildContext context) { return Padding( - padding: const EdgeInsets.only(right: 8.0), + padding: const EdgeInsets.only(right: 16.0), child: OutlinedButton.icon( style: OutlinedButton.styleFrom( padding: const EdgeInsets.symmetric(vertical: 0, horizontal: 10), @@ -32,13 +32,13 @@ class AlbumActionOutlinedButton extends StatelessWidget { ), icon: Icon( iconData, - size: 15, + size: 18, color: context.primaryColor, ), label: Text( labelText, - style: context.textTheme.labelSmall?.copyWith( - fontWeight: FontWeight.bold, + style: context.textTheme.labelMedium?.copyWith( + fontWeight: FontWeight.w600, ), ), onPressed: onPressed, diff --git a/mobile/lib/modules/album/ui/album_thumbnail_card.dart b/mobile/lib/modules/album/ui/album_thumbnail_card.dart index 7d5e42b1c2..b295deec54 100644 --- a/mobile/lib/modules/album/ui/album_thumbnail_card.dart +++ b/mobile/lib/modules/album/ui/album_thumbnail_card.dart @@ -72,17 +72,13 @@ class AlbumThumbnailCard extends StatelessWidget { .tr(args: ['${album.assetCount}']) : 'album_thumbnail_card_items' .tr(args: ['${album.assetCount}']), - style: TextStyle( - fontFamily: 'WorkSans', - fontSize: 12, - color: isDarkTheme ? Colors.white : Colors.black, - ), + style: context.textTheme.bodyMedium, ), if (owner != null) const TextSpan(text: ' · '), if (owner != null) TextSpan( text: owner, - style: context.textTheme.labelSmall, + style: context.textTheme.bodyMedium, ), ], ), @@ -114,11 +110,9 @@ class AlbumThumbnailCard extends StatelessWidget { width: cardSize, child: Text( album.name, - style: TextStyle( - fontWeight: FontWeight.bold, - color: isDarkTheme - ? context.primaryColor - : Colors.black, + style: context.textTheme.bodyMedium?.copyWith( + color: context.primaryColor, + fontWeight: FontWeight.w500, ), ), ), diff --git a/mobile/lib/modules/album/ui/album_viewer_appbar.dart b/mobile/lib/modules/album/ui/album_viewer_appbar.dart index cd0bd2ba61..fbab831f7b 100644 --- a/mobile/lib/modules/album/ui/album_viewer_appbar.dart +++ b/mobile/lib/modules/album/ui/album_viewer_appbar.dart @@ -210,7 +210,7 @@ class AlbumViewerAppbar extends HookConsumerWidget leading: const Icon(Icons.ios_share_rounded), title: const Text( 'album_viewer_appbar_share_to', - style: TextStyle(fontWeight: FontWeight.bold), + style: TextStyle(fontWeight: FontWeight.w500), ).tr(), onTap: () => onShareAssetsTo(), ), @@ -219,7 +219,7 @@ class AlbumViewerAppbar extends HookConsumerWidget leading: const Icon(Icons.delete_sweep_rounded), title: const Text( 'album_viewer_appbar_share_remove', - style: TextStyle(fontWeight: FontWeight.bold), + style: TextStyle(fontWeight: FontWeight.w500), ).tr(), onTap: () => onRemoveFromAlbumPressed(), ) @@ -232,7 +232,7 @@ class AlbumViewerAppbar extends HookConsumerWidget leading: const Icon(Icons.delete_forever_rounded), title: const Text( 'album_viewer_appbar_share_delete', - style: TextStyle(fontWeight: FontWeight.bold), + style: TextStyle(fontWeight: FontWeight.w500), ).tr(), onTap: () => onDeleteAlbumPressed(), ) @@ -240,7 +240,7 @@ class AlbumViewerAppbar extends HookConsumerWidget leading: const Icon(Icons.person_remove_rounded), title: const Text( 'album_viewer_appbar_share_leave', - style: TextStyle(fontWeight: FontWeight.bold), + style: TextStyle(fontWeight: FontWeight.w500), ).tr(), onTap: () => onLeaveAlbumPressed(), ), @@ -258,7 +258,7 @@ class AlbumViewerAppbar extends HookConsumerWidget }, title: const Text( "album_viewer_page_share_add_users", - style: TextStyle(fontWeight: FontWeight.bold), + style: TextStyle(fontWeight: FontWeight.w500), ).tr(), ), ListTile( @@ -269,7 +269,7 @@ class AlbumViewerAppbar extends HookConsumerWidget }, title: const Text( "control_bottom_app_bar_share", - style: TextStyle(fontWeight: FontWeight.bold), + style: TextStyle(fontWeight: FontWeight.w500), ).tr(), ), ListTile( @@ -277,7 +277,7 @@ class AlbumViewerAppbar extends HookConsumerWidget onTap: () => context.autoNavigate(AlbumOptionsRoute(album: album)), title: const Text( "translated_text_options", - style: TextStyle(fontWeight: FontWeight.bold), + style: TextStyle(fontWeight: FontWeight.w500), ).tr(), ), ]; @@ -291,7 +291,7 @@ class AlbumViewerAppbar extends HookConsumerWidget }, title: const Text( "share_add_photos", - style: TextStyle(fontWeight: FontWeight.bold), + style: TextStyle(fontWeight: FontWeight.w500), ).tr(), ), ]; diff --git a/mobile/lib/modules/album/ui/album_viewer_editable_title.dart b/mobile/lib/modules/album/ui/album_viewer_editable_title.dart index b73748f4a3..1ece28afbb 100644 --- a/mobile/lib/modules/album/ui/album_viewer_editable_title.dart +++ b/mobile/lib/modules/album/ui/album_viewer_editable_title.dart @@ -44,7 +44,7 @@ class AlbumViewerEditableTitle extends HookConsumerWidget { } }, focusNode: titleFocusNode, - style: const TextStyle(fontSize: 24, fontWeight: FontWeight.bold), + style: context.textTheme.headlineMedium, controller: titleTextEditController, onTap: () { FocusScope.of(context).requestFocus(titleFocusNode); diff --git a/mobile/lib/modules/album/views/album_options_part.dart b/mobile/lib/modules/album/views/album_options_part.dart index cac70df75a..6974a63907 100644 --- a/mobile/lib/modules/album/views/album_options_part.dart +++ b/mobile/lib/modules/album/views/album_options_part.dart @@ -91,7 +91,8 @@ class AlbumOptionsPage extends HookConsumerWidget { actions = [ ListTile( leading: const Icon(Icons.person_remove_rounded), - title: const Text("shared_album_section_people_remove_user").tr(), + title: const Text("shared_album_section_people_action_remove_user") + .tr(), onTap: () => removeUserFromAlbum(user), ), ]; @@ -122,18 +123,16 @@ class AlbumOptionsPage extends HookConsumerWidget { title: Text( album.owner.value?.name ?? "", style: const TextStyle( - fontWeight: FontWeight.bold, + fontWeight: FontWeight.w500, ), ), subtitle: Text( album.owner.value?.email ?? "", - style: TextStyle(color: Colors.grey[500]), + style: TextStyle(color: Colors.grey[600]), ), - trailing: const Text( + trailing: Text( "shared_album_section_people_owner_label", - style: TextStyle( - fontWeight: FontWeight.bold, - ), + style: context.textTheme.labelLarge, ).tr(), ); } @@ -152,12 +151,12 @@ class AlbumOptionsPage extends HookConsumerWidget { title: Text( user.name, style: const TextStyle( - fontWeight: FontWeight.bold, + fontWeight: FontWeight.w500, ), ), subtitle: Text( user.email, - style: TextStyle(color: Colors.grey[500]), + style: TextStyle(color: Colors.grey[600]), ), trailing: userId == user.id || isOwner ? const Icon(Icons.more_horiz_rounded) @@ -209,11 +208,15 @@ class AlbumOptionsPage extends HookConsumerWidget { dense: true, title: Text( "shared_album_activity_setting_title", - style: context.textTheme.labelLarge - ?.copyWith(fontWeight: FontWeight.bold), + style: context.textTheme.titleMedium + ?.copyWith(fontWeight: FontWeight.w500), + ).tr(), + subtitle: Text( + "shared_album_activity_setting_subtitle", + style: context.textTheme.labelLarge?.copyWith( + color: context.textTheme.labelLarge?.color?.withAlpha(175), + ), ).tr(), - subtitle: - const Text("shared_album_activity_setting_subtitle").tr(), ), buildSectionTitle("shared_album_section_people_title".tr()), buildOwnerInfo(), diff --git a/mobile/lib/modules/album/views/album_viewer_page.dart b/mobile/lib/modules/album/views/album_viewer_page.dart index bcb32b8359..f3b9827822 100644 --- a/mobile/lib/modules/album/views/album_viewer_page.dart +++ b/mobile/lib/modules/album/views/album_viewer_page.dart @@ -153,10 +153,7 @@ class AlbumViewerPage extends HookConsumerWidget { padding: const EdgeInsets.only(left: 8.0), child: Text( album.name, - style: const TextStyle( - fontSize: 24, - fontWeight: FontWeight.bold, - ), + style: context.textTheme.headlineMedium, ), ), ); @@ -191,10 +188,7 @@ class AlbumViewerPage extends HookConsumerWidget { ), child: Text( dateRangeText, - style: const TextStyle( - fontSize: 14, - fontWeight: FontWeight.bold, - ), + style: context.textTheme.labelLarge, ), ); } diff --git a/mobile/lib/modules/album/views/create_album_page.dart b/mobile/lib/modules/album/views/create_album_page.dart index 8f2c4e1280..7e5fb81682 100644 --- a/mobile/lib/modules/album/views/create_album_page.dart +++ b/mobile/lib/modules/album/views/create_album_page.dart @@ -94,10 +94,7 @@ class CreateAlbumPage extends HookConsumerWidget { padding: const EdgeInsets.only(top: 200, left: 18), child: Text( 'create_shared_album_page_share_add_assets', - style: context.textTheme.displayMedium?.copyWith( - fontSize: 12, - fontWeight: FontWeight.normal, - ), + style: context.textTheme.labelLarge, ).tr(), ), ); @@ -119,7 +116,7 @@ class CreateAlbumPage extends HookConsumerWidget { side: BorderSide( color: context.isDarkTheme ? const Color.fromARGB(255, 63, 63, 63) - : const Color.fromARGB(255, 206, 206, 206), + : const Color.fromARGB(255, 129, 129, 129), ), shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(5), @@ -134,9 +131,8 @@ class CreateAlbumPage extends HookConsumerWidget { padding: const EdgeInsets.only(left: 8.0), child: Text( 'create_shared_album_page_share_select_photos', - style: context.textTheme.labelLarge?.copyWith( - fontSize: 16, - fontWeight: FontWeight.bold, + style: context.textTheme.titleMedium?.copyWith( + color: context.primaryColor, ), ).tr(), ), @@ -222,11 +218,8 @@ class CreateAlbumPage extends HookConsumerWidget { }, icon: const Icon(Icons.close_rounded), ), - title: Text( + title: const Text( 'share_create_album', - style: context.textTheme.displayMedium?.copyWith( - color: context.primaryColor, - ), ).tr(), actions: [ if (isSharedAlbum) diff --git a/mobile/lib/modules/album/views/library_page.dart b/mobile/lib/modules/album/views/library_page.dart index 15229232b0..ce4d5e0cc8 100644 --- a/mobile/lib/modules/album/views/library_page.dart +++ b/mobile/lib/modules/album/views/library_page.dart @@ -125,10 +125,8 @@ class LibraryPage extends HookConsumerWidget { ), Text( options[selectedAlbumSortOrder.value], - style: TextStyle( - fontWeight: FontWeight.bold, + style: context.textTheme.labelLarge?.copyWith( color: context.primaryColor, - fontSize: 12.0, ), ), ], @@ -172,11 +170,9 @@ class LibraryPage extends HookConsumerWidget { top: 8.0, bottom: 16, ), - child: const Text( + child: Text( 'library_page_new_album', - style: TextStyle( - fontWeight: FontWeight.bold, - ), + style: context.textTheme.labelLarge, ).tr(), ), ], @@ -198,9 +194,9 @@ class LibraryPage extends HookConsumerWidget { child: Text( label, style: TextStyle( - fontWeight: FontWeight.bold, - fontSize: 13.0, - color: isDarkTheme ? Colors.white : Colors.grey[800], + color: context.isDarkTheme + ? Colors.white + : Colors.black.withAlpha(200), ), ), ), @@ -278,9 +274,11 @@ class LibraryPage extends HookConsumerWidget { child: Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ - const Text( + Text( 'library_page_albums', - style: TextStyle(fontWeight: FontWeight.bold), + style: context.textTheme.bodyLarge?.copyWith( + fontWeight: FontWeight.w500, + ), ).tr(), buildSortButton(), ], @@ -326,9 +324,11 @@ class LibraryPage extends HookConsumerWidget { child: Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ - const Text( + Text( 'library_page_device_albums', - style: TextStyle(fontWeight: FontWeight.bold), + style: context.textTheme.bodyLarge?.copyWith( + fontWeight: FontWeight.w500, + ), ).tr(), ], ), diff --git a/mobile/lib/modules/album/views/sharing_page.dart b/mobile/lib/modules/album/views/sharing_page.dart index 3061289a97..2e2e44aca9 100644 --- a/mobile/lib/modules/album/views/sharing_page.dart +++ b/mobile/lib/modules/album/views/sharing_page.dart @@ -80,25 +80,20 @@ class SharingPage extends HookConsumerWidget { maxLines: 1, overflow: TextOverflow.ellipsis, style: context.textTheme.bodyMedium?.copyWith( - fontWeight: FontWeight.bold, - color: - context.isDarkTheme ? context.primaryColor : Colors.black, + color: context.primaryColor, + fontWeight: FontWeight.w500, ), ), subtitle: isOwner ? Text( 'album_thumbnail_owned'.tr(), - style: const TextStyle( - fontSize: 12.0, - ), + style: context.textTheme.bodyMedium, ) : album.ownerName != null ? Text( 'album_thumbnail_shared_by' .tr(args: [album.ownerName!]), - style: const TextStyle( - fontSize: 12.0, - ), + style: context.textTheme.bodyMedium, ) : null, onTap: () { @@ -137,8 +132,8 @@ class SharingPage extends HookConsumerWidget { "sharing_silver_appbar_create_shared_album", maxLines: 1, style: TextStyle( - fontWeight: FontWeight.bold, - fontSize: 11, + fontWeight: FontWeight.w500, + fontSize: 12, ), ).tr(), ), @@ -154,8 +149,8 @@ class SharingPage extends HookConsumerWidget { label: const Text( "sharing_silver_appbar_shared_links", style: TextStyle( - fontWeight: FontWeight.bold, - fontSize: 11, + fontWeight: FontWeight.w500, + fontSize: 12, ), maxLines: 1, ).tr(), @@ -236,9 +231,11 @@ class SharingPage extends HookConsumerWidget { SliverPadding( padding: const EdgeInsets.all(12), sliver: SliverToBoxAdapter( - child: const Text( + child: Text( "partner_page_title", - style: TextStyle(fontWeight: FontWeight.bold), + style: context.textTheme.bodyLarge?.copyWith( + fontWeight: FontWeight.w500, + ), ).tr(), ), ), @@ -246,10 +243,10 @@ class SharingPage extends HookConsumerWidget { SliverPadding( padding: const EdgeInsets.all(12), sliver: SliverToBoxAdapter( - child: const Text( + child: Text( "sharing_page_album", - style: TextStyle( - fontWeight: FontWeight.bold, + style: context.textTheme.bodyLarge?.copyWith( + fontWeight: FontWeight.w500, ), ).tr(), ), diff --git a/mobile/lib/modules/asset_viewer/ui/description_input.dart b/mobile/lib/modules/asset_viewer/ui/description_input.dart index a8cb62524c..c5972a822d 100644 --- a/mobile/lib/modules/asset_viewer/ui/description_input.dart +++ b/mobile/lib/modules/asset_viewer/ui/description_input.dart @@ -93,15 +93,11 @@ class DescriptionInput extends HookConsumerWidget { maxLines: null, keyboardType: TextInputType.multiline, controller: controller, - style: const TextStyle( - fontSize: 14, - ), + style: context.textTheme.labelLarge, decoration: InputDecoration( hintText: 'description_input_hint_text'.tr(), border: InputBorder.none, - hintStyle: TextStyle( - fontWeight: FontWeight.normal, - fontSize: 12, + hintStyle: context.textTheme.labelLarge?.copyWith( color: textColor.withOpacity(0.5), ), suffixIcon: suffixIcon, diff --git a/mobile/lib/modules/asset_viewer/ui/exif_bottom_sheet.dart b/mobile/lib/modules/asset_viewer/ui/exif_bottom_sheet.dart index 4f2fbf50d6..08a6a0515d 100644 --- a/mobile/lib/modules/asset_viewer/ui/exif_bottom_sheet.dart +++ b/mobile/lib/modules/asset_viewer/ui/exif_bottom_sheet.dart @@ -193,21 +193,15 @@ class ExifBottomSheet extends HookConsumerWidget { children: [ Text( "exif_bottom_sheet_location", - style: TextStyle( - fontSize: 11, - color: textColor, - fontWeight: FontWeight.bold, + style: context.textTheme.labelMedium?.copyWith( + color: context.textTheme.labelMedium?.color?.withAlpha(200), + fontWeight: FontWeight.w600, ), ).tr(), buildMap(), RichText( text: TextSpan( - style: TextStyle( - fontSize: 12, - fontWeight: FontWeight.bold, - color: textColor, - fontFamily: 'WorkSans', - ), + style: context.textTheme.labelLarge, children: [ if (exifInfo != null && exifInfo.city != null) TextSpan( @@ -228,7 +222,9 @@ class ExifBottomSheet extends HookConsumerWidget { ), Text( "${exifInfo!.latitude!.toStringAsFixed(4)}, ${exifInfo.longitude!.toStringAsFixed(4)}", - style: const TextStyle(fontSize: 12), + style: context.textTheme.labelMedium?.copyWith( + color: context.textTheme.labelMedium?.color?.withAlpha(150), + ), ), ], ), @@ -258,10 +254,7 @@ class ExifBottomSheet extends HookConsumerWidget { titleAlignment: ListTileTitleAlignment.center, title: Text( title, - style: TextStyle( - fontWeight: FontWeight.bold, - color: textColor, - ), + style: context.textTheme.labelLarge, ), subtitle: subtitle, ); @@ -278,7 +271,7 @@ class ExifBottomSheet extends HookConsumerWidget { // There is both filename and size information return createImagePropertiesListStyle( asset.fileName, - Text(imgSizeString), + Text(imgSizeString, style: context.textTheme.bodySmall), ); } else if (imgSizeString != null && asset.fileName.isEmpty) { // There is only size information @@ -305,10 +298,9 @@ class ExifBottomSheet extends HookConsumerWidget { padding: const EdgeInsets.only(bottom: 8.0), child: Text( "exif_bottom_sheet_details", - style: TextStyle( - fontSize: 11, - color: textColor, - fontWeight: FontWeight.bold, + style: context.textTheme.labelMedium?.copyWith( + color: context.textTheme.labelMedium?.color?.withAlpha(200), + fontWeight: FontWeight.w600, ), ).tr(), ), @@ -323,10 +315,7 @@ class ExifBottomSheet extends HookConsumerWidget { ), title: Text( "${exifInfo!.make} ${exifInfo.model}", - style: TextStyle( - color: textColor, - fontWeight: FontWeight.bold, - ), + style: context.textTheme.labelLarge, ), subtitle: exifInfo.f != null || exifInfo.exposureSeconds != null || @@ -334,6 +323,7 @@ class ExifBottomSheet extends HookConsumerWidget { exifInfo.iso != null ? Text( "ƒ/${exifInfo.fNumber} ${exifInfo.exposureTime} ${exifInfo.focalLength} mm ISO ${exifInfo.iso ?? ''} ", + style: context.textTheme.bodySmall, ) : null, ), diff --git a/mobile/lib/modules/backup/ui/backup_info_card.dart b/mobile/lib/modules/backup/ui/backup_info_card.dart index a398bc83ef..4feccd19b3 100644 --- a/mobile/lib/modules/backup/ui/backup_info_card.dart +++ b/mobile/lib/modules/backup/ui/backup_info_card.dart @@ -28,17 +28,17 @@ class BackupInfoCard extends StatelessWidget { elevation: 0, borderOnForeground: false, child: ListTile( - minVerticalPadding: 15, + minVerticalPadding: 18, isThreeLine: true, title: Text( title, - style: const TextStyle(fontWeight: FontWeight.bold, fontSize: 20), + style: context.textTheme.titleMedium, ), subtitle: Padding( - padding: const EdgeInsets.only(top: 8.0), + padding: const EdgeInsets.only(top: 4.0, right: 18.0), child: Text( subtitle, - style: const TextStyle(fontSize: 12), + style: context.textTheme.bodyMedium, ), ), trailing: Column( @@ -46,9 +46,12 @@ class BackupInfoCard extends StatelessWidget { children: [ Text( info, - style: const TextStyle(fontSize: 24, fontWeight: FontWeight.bold), + style: context.textTheme.titleLarge, ), - const Text("backup_info_card_assets").tr(), + Text( + "backup_info_card_assets", + style: context.textTheme.labelLarge, + ).tr(), ], ), ), diff --git a/mobile/lib/modules/backup/ui/current_backup_asset_info_box.dart b/mobile/lib/modules/backup/ui/current_backup_asset_info_box.dart index 0ddc6beaf0..926ccd25b6 100644 --- a/mobile/lib/modules/backup/ui/current_backup_asset_info_box.dart +++ b/mobile/lib/modules/backup/ui/current_backup_asset_info_box.dart @@ -188,9 +188,9 @@ class CurrentUploadingAssetInfoBox extends HookConsumerWidget { title: Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ - const Text( + Text( "backup_controller_page_uploading_file_info", - style: TextStyle(fontWeight: FontWeight.bold, fontSize: 14), + style: context.textTheme.titleSmall, ).tr(), if (ref.watch(errorBackupListProvider).isNotEmpty) buildErrorChip(), ], diff --git a/mobile/lib/modules/backup/views/backup_album_selection_page.dart b/mobile/lib/modules/backup/views/backup_album_selection_page.dart index 7e0a0b513d..96ed879ac1 100644 --- a/mobile/lib/modules/backup/views/backup_album_selection_page.dart +++ b/mobile/lib/modules/backup/views/backup_album_selection_page.dart @@ -100,7 +100,7 @@ class BackupAlbumSelectionPage extends HookConsumerWidget { label: Text( album.name, style: TextStyle( - fontSize: 10, + fontSize: 12, color: isDarkTheme ? Colors.black : Colors.white, fontWeight: FontWeight.bold, ), @@ -134,7 +134,7 @@ class BackupAlbumSelectionPage extends HookConsumerWidget { label: Text( album.name, style: TextStyle( - fontSize: 10, + fontSize: 12, color: isDarkTheme ? Colors.black : immichBackgroundColor, fontWeight: FontWeight.bold, ), @@ -203,7 +203,6 @@ class BackupAlbumSelectionPage extends HookConsumerWidget { ), title: const Text( "backup_album_selection_page_select_albums", - style: TextStyle(fontSize: 16, fontWeight: FontWeight.bold), ).tr(), elevation: 0, ), @@ -219,12 +218,9 @@ class BackupAlbumSelectionPage extends HookConsumerWidget { vertical: 8.0, horizontal: 16.0, ), - child: const Text( + child: Text( "backup_album_selection_page_selection_info", - style: TextStyle( - fontWeight: FontWeight.bold, - fontSize: 14, - ), + style: context.textTheme.titleSmall, ).tr(), ), // Selected Album Chips @@ -250,19 +246,14 @@ class BackupAlbumSelectionPage extends HookConsumerWidget { .toString(), ], ), - style: const TextStyle( - fontWeight: FontWeight.bold, - fontSize: 14, - ), + style: context.textTheme.titleSmall, ), subtitle: Padding( padding: const EdgeInsets.symmetric(vertical: 8.0), child: Text( "backup_album_selection_page_albums_tap", - style: TextStyle( - fontSize: 12, + style: context.textTheme.labelLarge?.copyWith( color: context.primaryColor, - fontWeight: FontWeight.bold, ), ).tr(), ), diff --git a/mobile/lib/modules/backup/views/backup_controller_page.dart b/mobile/lib/modules/backup/views/backup_controller_page.dart index 6a949213a2..9ffdd7aa5a 100644 --- a/mobile/lib/modules/backup/views/backup_controller_page.dart +++ b/mobile/lib/modules/backup/views/backup_controller_page.dart @@ -193,7 +193,7 @@ class BackupControllerPage extends HookConsumerWidget { : const Icon(Icons.cloud_off_rounded), title: Text( backUpOption, - style: const TextStyle(fontWeight: FontWeight.bold, fontSize: 14), + style: context.textTheme.titleSmall, ), subtitle: Padding( padding: const EdgeInsets.symmetric(vertical: 8.0), @@ -213,9 +213,8 @@ class BackupControllerPage extends HookConsumerWidget { .setAutoBackup(!isAutoBackup), child: Text( backupBtnText, - style: const TextStyle( - fontWeight: FontWeight.bold, - fontSize: 12, + style: context.textTheme.labelLarge?.copyWith( + color: context.isDarkTheme ? Colors.black : Colors.white, ), ), ), @@ -335,7 +334,7 @@ class BackupControllerPage extends HookConsumerWidget { isBackgroundEnabled ? "backup_controller_page_background_is_on" : "backup_controller_page_background_is_off", - style: const TextStyle(fontWeight: FontWeight.bold, fontSize: 14), + style: context.textTheme.titleSmall, ).tr(), subtitle: Column( crossAxisAlignment: CrossAxisAlignment.start, @@ -426,9 +425,8 @@ class BackupControllerPage extends HookConsumerWidget { isBackgroundEnabled ? "backup_controller_page_background_turn_off" : "backup_controller_page_background_turn_on", - style: const TextStyle( - fontWeight: FontWeight.bold, - fontSize: 12, + style: context.textTheme.labelLarge?.copyWith( + color: context.isDarkTheme ? Colors.black : Colors.white, ), ).tr(), ), @@ -511,10 +509,8 @@ class BackupControllerPage extends HookConsumerWidget { padding: const EdgeInsets.only(top: 8.0), child: Text( text.trim().substring(0, text.length - 2), - style: TextStyle( + style: context.textTheme.labelLarge?.copyWith( color: context.primaryColor, - fontSize: 12, - fontWeight: FontWeight.bold, ), ), ); @@ -523,10 +519,8 @@ class BackupControllerPage extends HookConsumerWidget { padding: const EdgeInsets.only(top: 8.0), child: Text( "backup_controller_page_none_selected".tr(), - style: TextStyle( + style: context.textTheme.labelLarge?.copyWith( color: context.primaryColor, - fontSize: 12, - fontWeight: FontWeight.bold, ), ), ); @@ -546,10 +540,8 @@ class BackupControllerPage extends HookConsumerWidget { padding: const EdgeInsets.only(top: 8.0), child: Text( text.trim().substring(0, text.length - 2), - style: TextStyle( + style: context.textTheme.labelLarge?.copyWith( color: Colors.red[300], - fontSize: 12, - fontWeight: FontWeight.bold, ), ), ); @@ -559,55 +551,57 @@ class BackupControllerPage extends HookConsumerWidget { } buildFolderSelectionTile() { - return Card( - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.circular(20), - side: BorderSide( - color: context.isDarkTheme - ? const Color.fromARGB(255, 56, 56, 56) - : Colors.black12, - width: 1, - ), - ), - elevation: 0, - borderOnForeground: false, - child: ListTile( - minVerticalPadding: 15, - title: const Text( - "backup_controller_page_albums", - style: TextStyle(fontWeight: FontWeight.bold, fontSize: 20), - ).tr(), - subtitle: Padding( - padding: const EdgeInsets.only(top: 8.0), - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - const Text( - "backup_controller_page_to_backup", - style: TextStyle(fontSize: 12), - ).tr(), - buildSelectedAlbumName(), - buildExcludedAlbumName(), - ], + return Padding( + padding: const EdgeInsets.only(top: 8.0), + child: Card( + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(20), + side: BorderSide( + color: context.isDarkTheme + ? const Color.fromARGB(255, 56, 56, 56) + : Colors.black12, + width: 1, ), ), - trailing: ElevatedButton( - onPressed: () async { - await context.autoPush(const BackupAlbumSelectionRoute()); - // waited until returning from selection - await ref - .read(backupProvider.notifier) - .backupAlbumSelectionDone(); - // waited until backup albums are stored in DB - ref.read(albumProvider.notifier).getDeviceAlbums(); - }, - child: const Text( - "backup_controller_page_select", - style: TextStyle( - fontWeight: FontWeight.bold, - fontSize: 12, - ), + elevation: 0, + borderOnForeground: false, + child: ListTile( + minVerticalPadding: 18, + title: Text( + "backup_controller_page_albums", + style: context.textTheme.titleMedium, ).tr(), + subtitle: Padding( + padding: const EdgeInsets.only(top: 8.0), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + "backup_controller_page_to_backup", + style: context.textTheme.bodyMedium, + ).tr(), + buildSelectedAlbumName(), + buildExcludedAlbumName(), + ], + ), + ), + trailing: ElevatedButton( + onPressed: () async { + await context.autoPush(const BackupAlbumSelectionRoute()); + // waited until returning from selection + await ref + .read(backupProvider.notifier) + .backupAlbumSelectionDone(); + // waited until backup albums are stored in DB + ref.read(albumProvider.notifier).getDeviceAlbums(); + }, + child: const Text( + "backup_controller_page_select", + style: TextStyle( + fontWeight: FontWeight.bold, + ), + ).tr(), + ), ), ), ); @@ -657,7 +651,7 @@ class BackupControllerPage extends HookConsumerWidget { child: const Text( "backup_controller_page_start_backup", style: TextStyle( - fontSize: 14, + fontSize: 16, fontWeight: FontWeight.bold, ), ).tr(), @@ -680,7 +674,6 @@ class BackupControllerPage extends HookConsumerWidget { elevation: 0, title: const Text( "backup_controller_page_backup", - style: TextStyle(fontSize: 16, fontWeight: FontWeight.bold), ).tr(), leading: IconButton( onPressed: () { @@ -735,7 +728,6 @@ class BackupControllerPage extends HookConsumerWidget { if (showBackupFix) const Divider(), if (showBackupFix) buildCheckCorruptBackups(), const Divider(), - const Divider(), const CurrentUploadingAssetInfoBox(), if (!hasExclusiveAccess) buildBackgroundBackupInfo(), buildBackupButton(), diff --git a/mobile/lib/modules/home/ui/asset_grid/group_divider_title.dart b/mobile/lib/modules/home/ui/asset_grid/group_divider_title.dart index acb176aaae..1455f53ef5 100644 --- a/mobile/lib/modules/home/ui/asset_grid/group_divider_title.dart +++ b/mobile/lib/modules/home/ui/asset_grid/group_divider_title.dart @@ -1,9 +1,13 @@ import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; +import 'package:flutter_hooks/flutter_hooks.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart'; import 'package:immich_mobile/extensions/build_context_extensions.dart'; +import 'package:immich_mobile/modules/home/ui/asset_grid/asset_grid_data_structure.dart'; +import 'package:immich_mobile/modules/settings/providers/app_settings.provider.dart'; +import 'package:immich_mobile/modules/settings/services/app_settings.service.dart'; -class GroupDividerTitle extends ConsumerWidget { +class GroupDividerTitle extends HookConsumerWidget { const GroupDividerTitle({ Key? key, required this.text, @@ -21,6 +25,18 @@ class GroupDividerTitle extends ConsumerWidget { @override Widget build(BuildContext context, WidgetRef ref) { + final appSettingService = ref.watch(appSettingsServiceProvider); + final groupBy = useState(GroupAssetsBy.day); + + useEffect( + () { + groupBy.value = GroupAssetsBy.values[ + appSettingService.getSetting<int>(AppSettingsEnum.groupAssetsBy)]; + return null; + }, + [], + ); + void handleTitleIconClick() { HapticFeedback.heavyImpact(); if (selected) { @@ -31,8 +47,8 @@ class GroupDividerTitle extends ConsumerWidget { } return Padding( - padding: const EdgeInsets.only( - top: 12.0, + padding: EdgeInsets.only( + top: groupBy.value == GroupAssetsBy.month ? 32.0 : 16.0, bottom: 16.0, left: 12.0, right: 12.0, @@ -41,10 +57,14 @@ class GroupDividerTitle extends ConsumerWidget { children: [ Text( text, - style: const TextStyle( - fontSize: 14, - fontWeight: FontWeight.bold, - ), + style: groupBy.value == GroupAssetsBy.month + ? context.textTheme.bodyLarge?.copyWith( + fontSize: 24.0, + ) + : context.textTheme.labelLarge?.copyWith( + color: context.textTheme.labelLarge?.color?.withAlpha(250), + fontWeight: FontWeight.w500, + ), ), const Spacer(), GestureDetector( diff --git a/mobile/lib/modules/home/ui/asset_grid/immich_asset_grid_view.dart b/mobile/lib/modules/home/ui/asset_grid/immich_asset_grid_view.dart index 27b9f9d3dc..77940d254a 100644 --- a/mobile/lib/modules/home/ui/asset_grid/immich_asset_grid_view.dart +++ b/mobile/lib/modules/home/ui/asset_grid/immich_asset_grid_view.dart @@ -222,10 +222,9 @@ class ImmichAssetGridViewState extends State<ImmichAssetGridView> { padding: const EdgeInsets.only(left: 12.0, top: 24.0), child: Text( title, - style: TextStyle( + style: const TextStyle( fontSize: 26, - fontWeight: FontWeight.bold, - color: context.textTheme.displayLarge?.color, + fontWeight: FontWeight.w500, ), ), ); diff --git a/mobile/lib/modules/map/ui/map_page_bottom_sheet.dart b/mobile/lib/modules/map/ui/map_page_bottom_sheet.dart index 20d4654b6a..7e8ff13d04 100644 --- a/mobile/lib/modules/map/ui/map_page_bottom_sheet.dart +++ b/mobile/lib/modules/map/ui/map_page_bottom_sheet.dart @@ -179,7 +179,7 @@ class AssetsInBoundBottomSheetState extends ConsumerState<MapPageBottomSheet> { ? "map_assets_in_bounds".plural(assetsInBound.value.length) : "map_no_assets_in_bounds".tr(); final dragHandle = Container( - height: 60, + height: 70, width: double.infinity, decoration: BoxDecoration( color: isDarkTheme ? Colors.grey[900] : Colors.grey[100], @@ -195,11 +195,7 @@ class AssetsInBoundBottomSheetState extends ConsumerState<MapPageBottomSheet> { const SizedBox(height: 15), Text( textToDisplay, - style: TextStyle( - fontSize: 16, - color: context.textTheme.displayLarge?.color, - fontWeight: FontWeight.bold, - ), + style: context.textTheme.bodyLarge, ), Divider( height: 10, diff --git a/mobile/lib/modules/map/ui/map_settings_dialog.dart b/mobile/lib/modules/map/ui/map_settings_dialog.dart index 1d1e8b4c0e..9619bd661b 100644 --- a/mobile/lib/modules/map/ui/map_settings_dialog.dart +++ b/mobile/lib/modules/map/ui/map_settings_dialog.dart @@ -134,12 +134,16 @@ class MapSettingsDialog extends HookConsumerWidget { backgroundColor: mapSettings.isDarkTheme ? Colors.grey[100] : Colors.grey[700], ), - child: Text( - "map_settings_dialog_cancel".tr(), - style: theme.textTheme.labelSmall?.copyWith( - fontWeight: FontWeight.bold, - color: - mapSettings.isDarkTheme ? Colors.grey[900] : Colors.grey[100], + child: Padding( + padding: const EdgeInsets.symmetric(horizontal: 16.0), + child: Text( + "map_settings_dialog_cancel".tr(), + style: theme.textTheme.labelLarge?.copyWith( + fontWeight: FontWeight.w500, + color: mapSettings.isDarkTheme + ? Colors.grey[900] + : Colors.grey[100], + ), ), ), ), @@ -155,11 +159,14 @@ class MapSettingsDialog extends HookConsumerWidget { style: TextButton.styleFrom( backgroundColor: theme.primaryColor, ), - child: Text( - "map_settings_dialog_save".tr(), - style: theme.textTheme.labelSmall?.copyWith( - fontWeight: FontWeight.bold, - color: theme.primaryTextTheme.labelLarge?.color, + child: Padding( + padding: const EdgeInsets.symmetric(horizontal: 16.0), + child: Text( + "map_settings_dialog_save".tr(), + style: theme.textTheme.labelLarge?.copyWith( + fontWeight: FontWeight.w500, + color: theme.primaryTextTheme.labelLarge?.color, + ), ), ), ), diff --git a/mobile/lib/modules/memories/ui/memory_card.dart b/mobile/lib/modules/memories/ui/memory_card.dart index 8ef06e0d1f..6c27ea7485 100644 --- a/mobile/lib/modules/memories/ui/memory_card.dart +++ b/mobile/lib/modules/memories/ui/memory_card.dart @@ -3,6 +3,7 @@ import 'dart:ui'; import 'package:cached_network_image/cached_network_image.dart'; import 'package:flutter/material.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart'; +import 'package:immich_mobile/extensions/build_context_extensions.dart'; import 'package:immich_mobile/shared/models/asset.dart'; import 'package:immich_mobile/shared/models/store.dart'; import 'package:immich_mobile/shared/ui/immich_image.dart'; @@ -34,10 +35,9 @@ class MemoryCard extends HookConsumerWidget { buildTitle() { return Text( title, - style: const TextStyle( + style: context.textTheme.headlineMedium?.copyWith( color: Colors.white, - fontWeight: FontWeight.bold, - fontSize: 24.0, + fontWeight: FontWeight.w500, ), ); } diff --git a/mobile/lib/modules/memories/ui/memory_lane.dart b/mobile/lib/modules/memories/ui/memory_lane.dart index 65f0c65258..7377d06181 100644 --- a/mobile/lib/modules/memories/ui/memory_lane.dart +++ b/mobile/lib/modules/memories/ui/memory_lane.dart @@ -48,7 +48,7 @@ class MemoryLane extends HookConsumerWidget { clipBehavior: Clip.hardEdge, child: ColorFiltered( colorFilter: ColorFilter.mode( - Colors.black.withOpacity(0.1), + Colors.black.withOpacity(0.2), BlendMode.darken, ), child: ImmichImage( @@ -71,9 +71,9 @@ class MemoryLane extends HookConsumerWidget { child: Text( memory.title, style: const TextStyle( - fontWeight: FontWeight.bold, + fontWeight: FontWeight.w600, color: Colors.white, - fontSize: 14, + fontSize: 15, ), ), ), diff --git a/mobile/lib/modules/memories/views/memory_page.dart b/mobile/lib/modules/memories/views/memory_page.dart index ca88ed04d9..9c135961e4 100644 --- a/mobile/lib/modules/memories/views/memory_page.dart +++ b/mobile/lib/modules/memories/views/memory_page.dart @@ -138,8 +138,8 @@ class MemoryPage extends HookConsumerWidget { memory.title, style: TextStyle( color: Colors.grey[400], - fontSize: 11.0, - fontWeight: FontWeight.w600, + fontSize: 13.0, + fontWeight: FontWeight.w500, ), ), Text( @@ -148,7 +148,7 @@ class MemoryPage extends HookConsumerWidget { ), style: const TextStyle( color: Colors.white, - fontSize: 14.0, + fontSize: 15.0, fontWeight: FontWeight.w500, ), ), diff --git a/mobile/lib/modules/partner/ui/partner_list.dart b/mobile/lib/modules/partner/ui/partner_list.dart index ffd2bdf86b..6cf330509c 100644 --- a/mobile/lib/modules/partner/ui/partner_list.dart +++ b/mobile/lib/modules/partner/ui/partner_list.dart @@ -28,15 +28,11 @@ class PartnerList extends HookConsumerWidget { leading: userAvatar(context, p, radius: 24), title: Text( "${p.name}'s photos", - style: const TextStyle( - fontWeight: FontWeight.bold, - fontSize: 14, - ), + style: context.textTheme.labelLarge, ), trailing: Text( "View all", - style: TextStyle( - fontWeight: FontWeight.bold, + style: context.textTheme.labelLarge?.copyWith( color: context.primaryColor, ), ), diff --git a/mobile/lib/modules/search/ui/curated_people_row.dart b/mobile/lib/modules/search/ui/curated_people_row.dart index aec6188d4a..e838c59e12 100644 --- a/mobile/lib/modules/search/ui/curated_people_row.dart +++ b/mobile/lib/modules/search/ui/curated_people_row.dart @@ -84,8 +84,7 @@ class CuratedPeopleRow extends StatelessWidget { padding: const EdgeInsets.only(top: 8.0), child: Text( "Add name", - style: TextStyle( - fontWeight: FontWeight.bold, + style: context.textTheme.labelLarge?.copyWith( color: context.primaryColor, ), ), @@ -98,10 +97,7 @@ class CuratedPeopleRow extends StatelessWidget { person.label, textAlign: TextAlign.center, overflow: TextOverflow.ellipsis, - style: const TextStyle( - fontWeight: FontWeight.bold, - fontSize: 13.0, - ), + style: context.textTheme.labelLarge, ), ), ], diff --git a/mobile/lib/modules/search/ui/immich_search_bar.dart b/mobile/lib/modules/search/ui/immich_search_bar.dart index d34a78a77a..b3275237f3 100644 --- a/mobile/lib/modules/search/ui/immich_search_bar.dart +++ b/mobile/lib/modules/search/ui/immich_search_bar.dart @@ -58,10 +58,8 @@ class ImmichSearchBar extends HookConsumerWidget }, decoration: InputDecoration( hintText: 'search_bar_hint'.tr(), - hintStyle: context.textTheme.titleSmall?.copyWith( - color: context.themeData.colorScheme.onSurface.withOpacity(0.5), - fontWeight: FontWeight.w500, - fontSize: 14, + hintStyle: context.textTheme.bodyLarge?.copyWith( + color: context.themeData.colorScheme.onSurface.withOpacity(0.75), ), enabledBorder: const UnderlineInputBorder( borderSide: BorderSide(color: Colors.transparent), diff --git a/mobile/lib/modules/search/ui/search_row_title.dart b/mobile/lib/modules/search/ui/search_row_title.dart index df0f902f98..830bc94c98 100644 --- a/mobile/lib/modules/search/ui/search_row_title.dart +++ b/mobile/lib/modules/search/ui/search_row_title.dart @@ -27,16 +27,16 @@ class SearchRowTitle extends StatelessWidget { children: [ Text( title, - style: context.textTheme.titleSmall, + style: context.textTheme.bodyLarge?.copyWith( + fontWeight: FontWeight.w500, + ), ), TextButton( onPressed: onViewAllPressed, child: Text( 'search_page_view_all_button', - style: TextStyle( + style: context.textTheme.labelLarge?.copyWith( color: context.primaryColor, - fontWeight: FontWeight.bold, - fontSize: 14.0, ), ).tr(), ), diff --git a/mobile/lib/modules/search/views/all_people_page.dart b/mobile/lib/modules/search/views/all_people_page.dart index 892006293a..3af087e4e7 100644 --- a/mobile/lib/modules/search/views/all_people_page.dart +++ b/mobile/lib/modules/search/views/all_people_page.dart @@ -15,13 +15,8 @@ class AllPeoplePage extends HookConsumerWidget { return Scaffold( appBar: AppBar( - title: Text( + title: const Text( 'all_people_page_title', - style: TextStyle( - color: context.primaryColor, - fontWeight: FontWeight.bold, - fontSize: 16.0, - ), ).tr(), leading: IconButton( onPressed: () => context.autoPop(), diff --git a/mobile/lib/modules/search/views/curated_location_page.dart b/mobile/lib/modules/search/views/curated_location_page.dart index d9176e1788..cb6f8f9ae8 100644 --- a/mobile/lib/modules/search/views/curated_location_page.dart +++ b/mobile/lib/modules/search/views/curated_location_page.dart @@ -18,13 +18,8 @@ class CuratedLocationPage extends HookConsumerWidget { return Scaffold( appBar: AppBar( - title: Text( + title: const Text( 'curated_location_page_title', - style: TextStyle( - color: context.primaryColor, - fontWeight: FontWeight.bold, - fontSize: 16.0, - ), ).tr(), leading: IconButton( onPressed: () => context.autoPop(), diff --git a/mobile/lib/modules/search/views/search_page.dart b/mobile/lib/modules/search/views/search_page.dart index cead59e3cd..47ee66dc5e 100644 --- a/mobile/lib/modules/search/views/search_page.dart +++ b/mobile/lib/modules/search/views/search_page.dart @@ -33,8 +33,8 @@ class SearchPage extends HookConsumerWidget { double imageSize = math.min(context.width / 3, 150); TextStyle categoryTitleStyle = const TextStyle( - fontWeight: FontWeight.bold, - fontSize: 14.0, + fontWeight: FontWeight.w500, + fontSize: 15.0, ); Color categoryIconColor = context.isDarkTheme ? Colors.white : Colors.black; @@ -156,7 +156,9 @@ class SearchPage extends HookConsumerWidget { padding: const EdgeInsets.symmetric(horizontal: 16), child: Text( 'search_page_your_activity', - style: context.textTheme.titleSmall, + style: context.textTheme.bodyLarge?.copyWith( + fontWeight: FontWeight.w500, + ), ).tr(), ), ListTile( @@ -186,11 +188,15 @@ class SearchPage extends HookConsumerWidget { padding: const EdgeInsets.symmetric(horizontal: 16.0), child: Text( 'search_page_categories', - style: context.textTheme.titleSmall, + style: context.textTheme.bodyLarge?.copyWith( + fontWeight: FontWeight.w500, + ), ).tr(), ), ListTile( - title: Text('search_page_screenshots', style: categoryTitleStyle).tr(), + title: + Text('search_page_screenshots', style: categoryTitleStyle) + .tr(), leading: Icon( Icons.screenshot, color: categoryIconColor, @@ -255,7 +261,7 @@ class CategoryDivider extends StatelessWidget { Widget build(BuildContext context) { return const Padding( padding: EdgeInsets.only( - left: 72, + left: 56, right: 16, ), child: Divider( diff --git a/mobile/lib/modules/settings/ui/advanced_settings/advanced_settings.dart b/mobile/lib/modules/settings/ui/advanced_settings/advanced_settings.dart index e07c30dae2..d0397fe5a3 100644 --- a/mobile/lib/modules/settings/ui/advanced_settings/advanced_settings.dart +++ b/mobile/lib/modules/settings/ui/advanced_settings/advanced_settings.dart @@ -45,17 +45,12 @@ class AdvancedSettings extends HookConsumerWidget { return ExpansionTile( textColor: context.primaryColor, - title: const Text( + title: Text( "advanced_settings_tile_title", - style: TextStyle( - fontWeight: FontWeight.bold, - ), + style: context.textTheme.titleMedium, ).tr(), subtitle: const Text( "advanced_settings_tile_subtitle", - style: TextStyle( - fontSize: 13, - ), ).tr(), children: [ SettingsSwitchListTile( diff --git a/mobile/lib/modules/settings/ui/asset_list_settings/asset_list_layout_settings.dart b/mobile/lib/modules/settings/ui/asset_list_settings/asset_list_layout_settings.dart index 856935ccb5..aa3123f3d9 100644 --- a/mobile/lib/modules/settings/ui/asset_list_settings/asset_list_layout_settings.dart +++ b/mobile/lib/modules/settings/ui/asset_list_settings/asset_list_layout_settings.dart @@ -54,8 +54,7 @@ class LayoutSettings extends HookConsumerWidget { activeColor: context.primaryColor, title: Text( "asset_list_layout_settings_dynamic_layout_title", - style: context.textTheme.labelLarge - ?.copyWith(fontWeight: FontWeight.bold), + style: context.textTheme.labelLarge, ).tr(), onChanged: switchChanged, value: useDynamicLayout.value, diff --git a/mobile/lib/modules/settings/ui/asset_list_settings/asset_list_settings.dart b/mobile/lib/modules/settings/ui/asset_list_settings/asset_list_settings.dart index a7a2f8b958..c3e0fc8eb0 100644 --- a/mobile/lib/modules/settings/ui/asset_list_settings/asset_list_settings.dart +++ b/mobile/lib/modules/settings/ui/asset_list_settings/asset_list_settings.dart @@ -14,17 +14,12 @@ class AssetListSettings extends StatelessWidget { Widget build(BuildContext context) { return ExpansionTile( textColor: context.primaryColor, - title: const Text( + title: Text( 'asset_list_settings_title', - style: TextStyle( - fontWeight: FontWeight.bold, - ), + style: context.textTheme.titleMedium, ).tr(), subtitle: const Text( 'asset_list_settings_subtitle', - style: TextStyle( - fontSize: 13, - ), ).tr(), children: const [ TilesPerRow(), diff --git a/mobile/lib/modules/settings/ui/asset_list_settings/asset_list_storage_indicator.dart b/mobile/lib/modules/settings/ui/asset_list_settings/asset_list_storage_indicator.dart index 50896fe0b6..b94635a303 100644 --- a/mobile/lib/modules/settings/ui/asset_list_settings/asset_list_storage_indicator.dart +++ b/mobile/lib/modules/settings/ui/asset_list_settings/asset_list_storage_indicator.dart @@ -37,8 +37,7 @@ class StorageIndicator extends HookConsumerWidget { activeColor: context.primaryColor, title: Text( "theme_setting_asset_list_storage_indicator_title", - style: - context.textTheme.labelLarge?.copyWith(fontWeight: FontWeight.bold), + style: context.textTheme.labelLarge, ).tr(), onChanged: switchChanged, value: showStorageIndicator.value, diff --git a/mobile/lib/modules/settings/ui/asset_list_settings/asset_list_tiles_per_row.dart b/mobile/lib/modules/settings/ui/asset_list_settings/asset_list_tiles_per_row.dart index 5693e2a5fc..e2f2455824 100644 --- a/mobile/lib/modules/settings/ui/asset_list_settings/asset_list_tiles_per_row.dart +++ b/mobile/lib/modules/settings/ui/asset_list_settings/asset_list_tiles_per_row.dart @@ -37,12 +37,9 @@ class TilesPerRow extends HookConsumerWidget { crossAxisAlignment: CrossAxisAlignment.start, children: [ ListTile( - title: const Text( + title: Text( "theme_setting_asset_list_tiles_per_row_title", - style: TextStyle( - fontSize: 14, - fontWeight: FontWeight.bold, - ), + style: context.textTheme.labelLarge, ).tr(args: ["${itemsValue.value.toInt()}"]), ), Slider( diff --git a/mobile/lib/modules/settings/ui/image_viewer_quality_setting/image_viewer_quality_setting.dart b/mobile/lib/modules/settings/ui/image_viewer_quality_setting/image_viewer_quality_setting.dart index d0b86a186a..5c8620473b 100644 --- a/mobile/lib/modules/settings/ui/image_viewer_quality_setting/image_viewer_quality_setting.dart +++ b/mobile/lib/modules/settings/ui/image_viewer_quality_setting/image_viewer_quality_setting.dart @@ -28,22 +28,19 @@ class ImageViewerQualitySetting extends HookConsumerWidget { return ExpansionTile( textColor: context.primaryColor, - title: const Text( + title: Text( 'theme_setting_image_viewer_quality_title', - style: TextStyle( - fontWeight: FontWeight.bold, - ), + style: context.textTheme.titleMedium, ).tr(), subtitle: const Text( 'theme_setting_image_viewer_quality_subtitle', - style: TextStyle( - fontSize: 13, - ), ).tr(), children: [ ListTile( - title: const Text('setting_image_viewer_help').tr(), - dense: true, + title: Text( + 'setting_image_viewer_help', + style: context.textTheme.bodyMedium, + ).tr(), ), SettingsSwitchListTile( appSettingService: settings, diff --git a/mobile/lib/modules/settings/ui/local_storage_settings/local_storage_settings.dart b/mobile/lib/modules/settings/ui/local_storage_settings/local_storage_settings.dart index df1bcbdf7f..a64da04811 100644 --- a/mobile/lib/modules/settings/ui/local_storage_settings/local_storage_settings.dart +++ b/mobile/lib/modules/settings/ui/local_storage_settings/local_storage_settings.dart @@ -27,30 +27,21 @@ class LocalStorageSettings extends HookConsumerWidget { return ExpansionTile( textColor: context.primaryColor, - title: const Text( + title: Text( "cache_settings_tile_title", - style: TextStyle( - fontWeight: FontWeight.bold, - ), + style: context.textTheme.titleMedium, ).tr(), subtitle: const Text( "cache_settings_tile_subtitle", - style: TextStyle( - fontSize: 13, - ), ).tr(), children: [ ListTile( title: Text( "cache_settings_duplicated_assets_title", - style: context.textTheme.labelLarge - ?.copyWith(fontWeight: FontWeight.bold), + style: context.textTheme.titleSmall, ).tr(args: ["${cacheItemCount.value}"]), subtitle: const Text( "cache_settings_duplicated_assets_subtitle", - style: TextStyle( - fontSize: 13, - ), ).tr(), trailing: TextButton( onPressed: cacheItemCount.value > 0 ? clearCache : null, diff --git a/mobile/lib/modules/settings/ui/notification_setting/notification_setting.dart b/mobile/lib/modules/settings/ui/notification_setting/notification_setting.dart index 747c541d45..e996ad1ea6 100644 --- a/mobile/lib/modules/settings/ui/notification_setting/notification_setting.dart +++ b/mobile/lib/modules/settings/ui/notification_setting/notification_setting.dart @@ -67,17 +67,12 @@ class NotificationSetting extends HookConsumerWidget { final String formattedValue = _formatSliderValue(sliderValue.value); return ExpansionTile( textColor: context.primaryColor, - title: const Text( + title: Text( 'setting_notifications_title', - style: TextStyle( - fontWeight: FontWeight.bold, - ), + style: context.textTheme.titleMedium, ).tr(), subtitle: const Text( 'setting_notifications_subtitle', - style: TextStyle( - fontSize: 13, - ), ).tr(), children: [ if (!hasPermission) diff --git a/mobile/lib/modules/settings/ui/settings_switch_list_tile.dart b/mobile/lib/modules/settings/ui/settings_switch_list_tile.dart index e66e6319c9..b5277b9c15 100644 --- a/mobile/lib/modules/settings/ui/settings_switch_list_tile.dart +++ b/mobile/lib/modules/settings/ui/settings_switch_list_tile.dart @@ -40,10 +40,14 @@ class SettingsSwitchListTile extends StatelessWidget { dense: true, title: Text( title, - style: - context.textTheme.labelLarge?.copyWith(fontWeight: FontWeight.bold), + style: context.textTheme.titleSmall, ), - subtitle: subtitle != null ? Text(subtitle!) : null, + subtitle: subtitle != null + ? Text( + subtitle!, + style: context.textTheme.bodyMedium, + ) + : null, ); } } diff --git a/mobile/lib/modules/settings/ui/theme_setting/theme_setting.dart b/mobile/lib/modules/settings/ui/theme_setting/theme_setting.dart index fd25873cd8..0657fa7e00 100644 --- a/mobile/lib/modules/settings/ui/theme_setting/theme_setting.dart +++ b/mobile/lib/modules/settings/ui/theme_setting/theme_setting.dart @@ -26,17 +26,12 @@ class ThemeSetting extends HookConsumerWidget { return ExpansionTile( textColor: context.primaryColor, - title: const Text( + title: Text( 'theme_setting_theme_title', - style: TextStyle( - fontWeight: FontWeight.bold, - ), + style: context.textTheme.titleMedium, ).tr(), subtitle: const Text( 'theme_setting_theme_subtitle', - style: TextStyle( - fontSize: 13, - ), ).tr(), children: [ SwitchListTile.adaptive( diff --git a/mobile/lib/modules/settings/views/settings_page.dart b/mobile/lib/modules/settings/views/settings_page.dart index e0547d0d68..f6f66cb412 100644 --- a/mobile/lib/modules/settings/views/settings_page.dart +++ b/mobile/lib/modules/settings/views/settings_page.dart @@ -27,10 +27,6 @@ class SettingsPage extends HookConsumerWidget { centerTitle: false, title: const Text( 'setting_pages_app_bar_settings', - style: TextStyle( - fontSize: 16, - fontWeight: FontWeight.bold, - ), ).tr(), ), body: ListView( diff --git a/mobile/lib/modules/shared_link/ui/shared_link_item.dart b/mobile/lib/modules/shared_link/ui/shared_link_item.dart index 5b14c4ab11..85bfa4445f 100644 --- a/mobile/lib/modules/shared_link/ui/shared_link_item.dart +++ b/mobile/lib/modules/shared_link/ui/shared_link_item.dart @@ -148,8 +148,8 @@ class SharedLinkItem extends ConsumerWidget { label: Text( labelText, style: TextStyle( - fontSize: 10, - fontWeight: FontWeight.bold, + fontSize: 11, + fontWeight: FontWeight.w500, color: isDarkMode ? Colors.black : Colors.white, ), ), diff --git a/mobile/lib/modules/shared_link/views/shared_link_page.dart b/mobile/lib/modules/shared_link/views/shared_link_page.dart index 04f57a48b3..f878f121e3 100644 --- a/mobile/lib/modules/shared_link/views/shared_link_page.dart +++ b/mobile/lib/modules/shared_link/views/shared_link_page.dart @@ -67,12 +67,10 @@ class SharedLinkPage extends HookConsumerWidget { children: [ Padding( padding: const EdgeInsets.only(left: 16.0, top: 16.0, bottom: 30.0), - child: const Text( + child: Text( "shared_link_manage_links", - style: TextStyle( - fontSize: 14, - color: Colors.grey, - fontWeight: FontWeight.bold, + style: context.textTheme.labelLarge?.copyWith( + color: context.textTheme.labelLarge?.color?.withAlpha(200), ), ).tr(), ), diff --git a/mobile/lib/shared/ui/app_bar_dialog/app_bar_dialog.dart b/mobile/lib/shared/ui/app_bar_dialog/app_bar_dialog.dart index 60ee135b89..053770a92c 100644 --- a/mobile/lib/shared/ui/app_bar_dialog/app_bar_dialog.dart +++ b/mobile/lib/shared/ui/app_bar_dialog/app_bar_dialog.dart @@ -54,7 +54,7 @@ class ImmichAppBarDialog extends HookConsumerWidget { fontFamily: 'SnowburstOne', fontWeight: FontWeight.bold, color: context.primaryColor, - fontSize: 15, + fontSize: 16, ), ), ), @@ -72,14 +72,15 @@ class ImmichAppBarDialog extends HookConsumerWidget { leading: SizedBox( child: Icon( icon, - color: theme.textTheme.labelMedium?.color, + color: theme.textTheme.labelLarge?.color?.withAlpha(250), size: 20, ), ), title: Text( text, - style: - theme.textTheme.labelLarge?.copyWith(fontWeight: FontWeight.bold), + style: theme.textTheme.labelLarge?.copyWith( + color: theme.textTheme.labelLarge?.color?.withAlpha(250), + ), ).tr(), onTap: onTap, ); @@ -145,9 +146,11 @@ class ImmichAppBarDialog extends HookConsumerWidget { Icons.storage_rounded, color: theme.primaryColor, ), - title: const Text( + title: Text( "backup_controller_page_server_storage", - style: TextStyle(fontWeight: FontWeight.bold, fontSize: 14), + style: context.textTheme.labelLarge?.copyWith( + fontWeight: FontWeight.w500, + ), ).tr(), isThreeLine: true, subtitle: Padding( @@ -230,7 +233,7 @@ class ImmichAppBarDialog extends HookConsumerWidget { clipBehavior: Clip.hardEdge, alignment: Alignment.topCenter, insetPadding: EdgeInsets.only( - top: isHorizontal ? 20 : 60, + top: isHorizontal ? 20 : 40, left: horizontalPadding, right: horizontalPadding, bottom: isHorizontal ? 20 : 100, diff --git a/mobile/lib/shared/ui/app_bar_dialog/app_bar_profile_info.dart b/mobile/lib/shared/ui/app_bar_dialog/app_bar_profile_info.dart index abb81ca895..baae732b16 100644 --- a/mobile/lib/shared/ui/app_bar_dialog/app_bar_profile_info.dart +++ b/mobile/lib/shared/ui/app_bar_dialog/app_bar_profile_info.dart @@ -31,8 +31,8 @@ class AppBarProfileInfoBox extends HookConsumerWidget { } final userImage = UserCircleAvatar( - radius: 20, - size: 40, + radius: 22, + size: 44, user: user, ); @@ -119,16 +119,15 @@ class AppBarProfileInfoBox extends HookConsumerWidget { ), title: Text( authState.name, - style: TextStyle( + style: context.textTheme.titleMedium?.copyWith( color: context.primaryColor, - fontWeight: FontWeight.bold, - fontSize: 16, + fontWeight: FontWeight.w500, ), ), subtitle: Text( authState.userEmail, - style: context.textTheme.labelMedium?.copyWith( - fontSize: 12, + style: context.textTheme.bodySmall?.copyWith( + color: context.textTheme.bodySmall?.color?.withAlpha(200), ), ), ), diff --git a/mobile/lib/shared/ui/app_bar_dialog/app_bar_server_info.dart b/mobile/lib/shared/ui/app_bar_dialog/app_bar_server_info.dart index ec8fb09116..40b43838e9 100644 --- a/mobile/lib/shared/ui/app_bar_dialog/app_bar_server_info.dart +++ b/mobile/lib/shared/ui/app_bar_dialog/app_bar_server_info.dart @@ -18,6 +18,8 @@ class AppBarServerInfo extends HookConsumerWidget { ServerInfo serverInfoState = ref.watch(serverInfoProvider); final appInfo = useState({}); + const titleFontSize = 12.0; + const contentFontSize = 11.0; getPackageInfo() async { PackageInfo packageInfo = await PackageInfo.fromPlatform(); @@ -63,7 +65,7 @@ class AppBarServerInfo extends HookConsumerWidget { style: TextStyle( fontSize: 11, color: context.primaryColor, - fontWeight: FontWeight.w600, + fontWeight: FontWeight.w500, ), ), ), @@ -83,9 +85,9 @@ class AppBarServerInfo extends HookConsumerWidget { child: Text( "server_info_box_app_version".tr(), style: TextStyle( - fontSize: 11, + fontSize: titleFontSize, color: context.textTheme.labelSmall?.color, - fontWeight: FontWeight.bold, + fontWeight: FontWeight.w500, ), ), ), @@ -97,7 +99,7 @@ class AppBarServerInfo extends HookConsumerWidget { child: Text( "${appInfo.value["version"]} build.${appInfo.value["buildNumber"]}", style: TextStyle( - fontSize: 11, + fontSize: contentFontSize, color: context.textTheme.labelSmall?.color ?.withOpacity(0.5), fontWeight: FontWeight.bold, @@ -123,9 +125,9 @@ class AppBarServerInfo extends HookConsumerWidget { child: Text( "server_info_box_server_version".tr(), style: TextStyle( - fontSize: 11, + fontSize: titleFontSize, color: context.textTheme.labelSmall?.color, - fontWeight: FontWeight.bold, + fontWeight: FontWeight.w500, ), ), ), @@ -139,7 +141,7 @@ class AppBarServerInfo extends HookConsumerWidget { ? "${serverInfoState.serverVersion.major}.${serverInfoState.serverVersion.minor}.${serverInfoState.serverVersion.patch}" : "--", style: TextStyle( - fontSize: 11, + fontSize: contentFontSize, color: context.textTheme.labelSmall?.color ?.withOpacity(0.5), fontWeight: FontWeight.bold, @@ -165,9 +167,9 @@ class AppBarServerInfo extends HookConsumerWidget { child: Text( "server_info_box_server_url".tr(), style: TextStyle( - fontSize: 11, + fontSize: titleFontSize, color: context.textTheme.labelSmall?.color, - fontWeight: FontWeight.bold, + fontWeight: FontWeight.w500, ), ), ), @@ -194,7 +196,7 @@ class AppBarServerInfo extends HookConsumerWidget { child: Text( getServerUrl() ?? '--', style: TextStyle( - fontSize: 11, + fontSize: contentFontSize, color: context.textTheme.labelSmall?.color ?.withOpacity(0.5), fontWeight: FontWeight.bold, @@ -234,9 +236,9 @@ class AppBarServerInfo extends HookConsumerWidget { Text( "server_info_box_latest_release".tr(), style: TextStyle( - fontSize: 11, + fontSize: titleFontSize, color: context.textTheme.labelSmall?.color, - fontWeight: FontWeight.bold, + fontWeight: FontWeight.w500, ), ), ], @@ -252,7 +254,7 @@ class AppBarServerInfo extends HookConsumerWidget { ? "${serverInfoState.latestVersion.major}.${serverInfoState.latestVersion.minor}.${serverInfoState.latestVersion.patch}" : "--", style: TextStyle( - fontSize: 11, + fontSize: contentFontSize, color: context.textTheme.labelSmall?.color ?.withOpacity(0.5), fontWeight: FontWeight.bold, diff --git a/mobile/lib/utils/immich_app_theme.dart b/mobile/lib/utils/immich_app_theme.dart index 670a7660d9..76977b4461 100644 --- a/mobile/lib/utils/immich_app_theme.dart +++ b/mobile/lib/utils/immich_app_theme.dart @@ -38,11 +38,11 @@ ThemeData immichLightTheme = ThemeData( hintColor: Colors.indigo, focusColor: Colors.indigo, splashColor: Colors.indigo.withOpacity(0.15), - fontFamily: 'WorkSans', + fontFamily: 'Overpass', scaffoldBackgroundColor: immichBackgroundColor, snackBarTheme: const SnackBarThemeData( contentTextStyle: TextStyle( - fontFamily: 'WorkSans', + fontFamily: 'Overpass', color: Colors.indigo, fontWeight: FontWeight.bold, ), @@ -50,7 +50,7 @@ ThemeData immichLightTheme = ThemeData( ), appBarTheme: AppBarTheme( titleTextStyle: const TextStyle( - fontFamily: 'WorkSans', + fontFamily: 'Overpass', color: Colors.indigo, fontWeight: FontWeight.bold, fontSize: 18, @@ -125,9 +125,9 @@ ThemeData immichLightTheme = ThemeData( surfaceTintColor: Colors.transparent, labelTextStyle: MaterialStatePropertyAll( TextStyle( - fontSize: 12, - fontWeight: FontWeight.w600, - color: Colors.grey[700], + fontSize: 13, + fontWeight: FontWeight.w500, + color: Colors.grey[800], ), ), ), @@ -160,10 +160,10 @@ ThemeData immichDarkTheme = ThemeData( primaryColor: immichDarkThemePrimaryColor, scaffoldBackgroundColor: immichDarkBackgroundColor, hintColor: Colors.grey[600], - fontFamily: 'WorkSans', + fontFamily: 'Overpass', snackBarTheme: SnackBarThemeData( contentTextStyle: TextStyle( - fontFamily: 'WorkSans', + fontFamily: 'Overpass', color: immichDarkThemePrimaryColor, fontWeight: FontWeight.bold, ), @@ -176,7 +176,7 @@ ThemeData immichDarkTheme = ThemeData( ), appBarTheme: AppBarTheme( titleTextStyle: TextStyle( - fontFamily: 'WorkSans', + fontFamily: 'Overpass', color: immichDarkThemePrimaryColor, fontWeight: FontWeight.bold, fontSize: 18, @@ -249,9 +249,9 @@ ThemeData immichDarkTheme = ThemeData( surfaceTintColor: Colors.transparent, labelTextStyle: MaterialStatePropertyAll( TextStyle( - fontSize: 12, - fontWeight: FontWeight.w600, - color: Colors.grey[500], + fontSize: 13, + fontWeight: FontWeight.w500, + color: Colors.grey[300], ), ), ), diff --git a/mobile/pubspec.yaml b/mobile/pubspec.yaml index 88b5cd1cf3..edaae5218d 100644 --- a/mobile/pubspec.yaml +++ b/mobile/pubspec.yaml @@ -97,27 +97,28 @@ flutter: - assets/ - assets/i18n/ fonts: - - family: WorkSans - fonts: - - asset: fonts/WorkSans.ttf - - asset: fonts/WorkSans-Italic.ttf - style: italic - # - asset: fonts/WorkSans-Medium.ttf - # weight: 500 - # - asset: fonts/WorkSans-SemiBold.ttf - # weight: 600 - # - asset: fonts/WorkSans-Bold.ttf - # weight: 700 - # - asset: fonts/WorkSans-ExtraBold.ttf - # weight: 800 - # - asset: fonts/WorkSans-Black.ttf - # weight: 900 - family: SnowburstOne fonts: - asset: fonts/SnowburstOne.ttf - family: Inconsolata fonts: - asset: fonts/Inconsolata-Regular.ttf + - family: Overpass + fonts: + - asset: fonts/overpass/Overpass-Regular.ttf + weight: 400 + - asset: fonts/overpass/Overpass-Italic.ttf + style: italic + - asset: fonts/overpass/Overpass-Medium.ttf + weight: 500 + - asset: fonts/overpass/Overpass-SemiBold.ttf + weight: 600 + - asset: fonts/overpass/Overpass-Bold.ttf + weight: 700 + - family: OverpassMono + fonts: + - asset: fonts/overpass/OverpassMono.ttf + flutter_icons: image_path_android: "assets/immich-logo-no-outline.png" image_path_ios: "assets/immich-logo-no-outline.png"