1
0
Fork 0
mirror of https://github.com/immich-app/immich.git synced 2025-01-23 12:12:45 +01:00

chore(mobile): Mobile make over ()

* chore: added overpass font

* Setting page

* style: app bar dialog

* style: backup controller and album selection page

* style: asset grid

* blanket fix

* blanket fix

* remove description input for local only asset

* revert

* merge main

* style: search page

* sharing page

* text size in sharing page

* style: library page

* library page

* album page + album creation page

* Navigationbar

* style: minor

* update

* album bottom sheet

* album option page

* minor style fix

* remove unused fonts

* remove fonts in pubspec
This commit is contained in:
Alex 2023-11-20 08:58:03 -06:00 committed by GitHub
parent f7ada7351e
commit acf099e481
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
61 changed files with 337 additions and 410 deletions
mobile
assets/i18n
fonts
lib
pubspec.yaml

View file

@ -224,7 +224,7 @@
"login_password_changed_success": "Password updated successfully", "login_password_changed_success": "Password updated successfully",
"map_assets_in_bounds": { "map_assets_in_bounds": {
"one": "{} photo", "one": "{} photo",
"many": "{} photos" "other": "{} photos"
}, },
"map_cannot_get_user_location": "Cannot get user's location", "map_cannot_get_user_location": "Cannot get user's location",
"map_location_dialog_cancel": "Cancel", "map_location_dialog_cancel": "Cancel",
@ -396,7 +396,7 @@
"sharing_page_album": "Shared albums", "sharing_page_album": "Shared albums",
"sharing_page_description": "Create shared albums to share photos and videos with people in your network.", "sharing_page_description": "Create shared albums to share photos and videos with people in your network.",
"sharing_page_empty_list": "EMPTY LIST", "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_shared_links": "Shared links",
"sharing_silver_appbar_share_partner": "Share with partner", "sharing_silver_appbar_share_partner": "Share with partner",
"tab_controller_nav_library": "Library", "tab_controller_nav_library": "Library",

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -16,7 +16,7 @@ class AlbumActionOutlinedButton extends StatelessWidget {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Padding( return Padding(
padding: const EdgeInsets.only(right: 8.0), padding: const EdgeInsets.only(right: 16.0),
child: OutlinedButton.icon( child: OutlinedButton.icon(
style: OutlinedButton.styleFrom( style: OutlinedButton.styleFrom(
padding: const EdgeInsets.symmetric(vertical: 0, horizontal: 10), padding: const EdgeInsets.symmetric(vertical: 0, horizontal: 10),
@ -32,13 +32,13 @@ class AlbumActionOutlinedButton extends StatelessWidget {
), ),
icon: Icon( icon: Icon(
iconData, iconData,
size: 15, size: 18,
color: context.primaryColor, color: context.primaryColor,
), ),
label: Text( label: Text(
labelText, labelText,
style: context.textTheme.labelSmall?.copyWith( style: context.textTheme.labelMedium?.copyWith(
fontWeight: FontWeight.bold, fontWeight: FontWeight.w600,
), ),
), ),
onPressed: onPressed, onPressed: onPressed,

View file

@ -72,17 +72,13 @@ class AlbumThumbnailCard extends StatelessWidget {
.tr(args: ['${album.assetCount}']) .tr(args: ['${album.assetCount}'])
: 'album_thumbnail_card_items' : 'album_thumbnail_card_items'
.tr(args: ['${album.assetCount}']), .tr(args: ['${album.assetCount}']),
style: TextStyle( style: context.textTheme.bodyMedium,
fontFamily: 'WorkSans',
fontSize: 12,
color: isDarkTheme ? Colors.white : Colors.black,
),
), ),
if (owner != null) const TextSpan(text: ' · '), if (owner != null) const TextSpan(text: ' · '),
if (owner != null) if (owner != null)
TextSpan( TextSpan(
text: owner, text: owner,
style: context.textTheme.labelSmall, style: context.textTheme.bodyMedium,
), ),
], ],
), ),
@ -114,11 +110,9 @@ class AlbumThumbnailCard extends StatelessWidget {
width: cardSize, width: cardSize,
child: Text( child: Text(
album.name, album.name,
style: TextStyle( style: context.textTheme.bodyMedium?.copyWith(
fontWeight: FontWeight.bold, color: context.primaryColor,
color: isDarkTheme fontWeight: FontWeight.w500,
? context.primaryColor
: Colors.black,
), ),
), ),
), ),

View file

@ -210,7 +210,7 @@ class AlbumViewerAppbar extends HookConsumerWidget
leading: const Icon(Icons.ios_share_rounded), leading: const Icon(Icons.ios_share_rounded),
title: const Text( title: const Text(
'album_viewer_appbar_share_to', 'album_viewer_appbar_share_to',
style: TextStyle(fontWeight: FontWeight.bold), style: TextStyle(fontWeight: FontWeight.w500),
).tr(), ).tr(),
onTap: () => onShareAssetsTo(), onTap: () => onShareAssetsTo(),
), ),
@ -219,7 +219,7 @@ class AlbumViewerAppbar extends HookConsumerWidget
leading: const Icon(Icons.delete_sweep_rounded), leading: const Icon(Icons.delete_sweep_rounded),
title: const Text( title: const Text(
'album_viewer_appbar_share_remove', 'album_viewer_appbar_share_remove',
style: TextStyle(fontWeight: FontWeight.bold), style: TextStyle(fontWeight: FontWeight.w500),
).tr(), ).tr(),
onTap: () => onRemoveFromAlbumPressed(), onTap: () => onRemoveFromAlbumPressed(),
) )
@ -232,7 +232,7 @@ class AlbumViewerAppbar extends HookConsumerWidget
leading: const Icon(Icons.delete_forever_rounded), leading: const Icon(Icons.delete_forever_rounded),
title: const Text( title: const Text(
'album_viewer_appbar_share_delete', 'album_viewer_appbar_share_delete',
style: TextStyle(fontWeight: FontWeight.bold), style: TextStyle(fontWeight: FontWeight.w500),
).tr(), ).tr(),
onTap: () => onDeleteAlbumPressed(), onTap: () => onDeleteAlbumPressed(),
) )
@ -240,7 +240,7 @@ class AlbumViewerAppbar extends HookConsumerWidget
leading: const Icon(Icons.person_remove_rounded), leading: const Icon(Icons.person_remove_rounded),
title: const Text( title: const Text(
'album_viewer_appbar_share_leave', 'album_viewer_appbar_share_leave',
style: TextStyle(fontWeight: FontWeight.bold), style: TextStyle(fontWeight: FontWeight.w500),
).tr(), ).tr(),
onTap: () => onLeaveAlbumPressed(), onTap: () => onLeaveAlbumPressed(),
), ),
@ -258,7 +258,7 @@ class AlbumViewerAppbar extends HookConsumerWidget
}, },
title: const Text( title: const Text(
"album_viewer_page_share_add_users", "album_viewer_page_share_add_users",
style: TextStyle(fontWeight: FontWeight.bold), style: TextStyle(fontWeight: FontWeight.w500),
).tr(), ).tr(),
), ),
ListTile( ListTile(
@ -269,7 +269,7 @@ class AlbumViewerAppbar extends HookConsumerWidget
}, },
title: const Text( title: const Text(
"control_bottom_app_bar_share", "control_bottom_app_bar_share",
style: TextStyle(fontWeight: FontWeight.bold), style: TextStyle(fontWeight: FontWeight.w500),
).tr(), ).tr(),
), ),
ListTile( ListTile(
@ -277,7 +277,7 @@ class AlbumViewerAppbar extends HookConsumerWidget
onTap: () => context.autoNavigate(AlbumOptionsRoute(album: album)), onTap: () => context.autoNavigate(AlbumOptionsRoute(album: album)),
title: const Text( title: const Text(
"translated_text_options", "translated_text_options",
style: TextStyle(fontWeight: FontWeight.bold), style: TextStyle(fontWeight: FontWeight.w500),
).tr(), ).tr(),
), ),
]; ];
@ -291,7 +291,7 @@ class AlbumViewerAppbar extends HookConsumerWidget
}, },
title: const Text( title: const Text(
"share_add_photos", "share_add_photos",
style: TextStyle(fontWeight: FontWeight.bold), style: TextStyle(fontWeight: FontWeight.w500),
).tr(), ).tr(),
), ),
]; ];

View file

@ -44,7 +44,7 @@ class AlbumViewerEditableTitle extends HookConsumerWidget {
} }
}, },
focusNode: titleFocusNode, focusNode: titleFocusNode,
style: const TextStyle(fontSize: 24, fontWeight: FontWeight.bold), style: context.textTheme.headlineMedium,
controller: titleTextEditController, controller: titleTextEditController,
onTap: () { onTap: () {
FocusScope.of(context).requestFocus(titleFocusNode); FocusScope.of(context).requestFocus(titleFocusNode);

View file

@ -91,7 +91,8 @@ class AlbumOptionsPage extends HookConsumerWidget {
actions = [ actions = [
ListTile( ListTile(
leading: const Icon(Icons.person_remove_rounded), 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), onTap: () => removeUserFromAlbum(user),
), ),
]; ];
@ -122,18 +123,16 @@ class AlbumOptionsPage extends HookConsumerWidget {
title: Text( title: Text(
album.owner.value?.name ?? "", album.owner.value?.name ?? "",
style: const TextStyle( style: const TextStyle(
fontWeight: FontWeight.bold, fontWeight: FontWeight.w500,
), ),
), ),
subtitle: Text( subtitle: Text(
album.owner.value?.email ?? "", 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", "shared_album_section_people_owner_label",
style: TextStyle( style: context.textTheme.labelLarge,
fontWeight: FontWeight.bold,
),
).tr(), ).tr(),
); );
} }
@ -152,12 +151,12 @@ class AlbumOptionsPage extends HookConsumerWidget {
title: Text( title: Text(
user.name, user.name,
style: const TextStyle( style: const TextStyle(
fontWeight: FontWeight.bold, fontWeight: FontWeight.w500,
), ),
), ),
subtitle: Text( subtitle: Text(
user.email, user.email,
style: TextStyle(color: Colors.grey[500]), style: TextStyle(color: Colors.grey[600]),
), ),
trailing: userId == user.id || isOwner trailing: userId == user.id || isOwner
? const Icon(Icons.more_horiz_rounded) ? const Icon(Icons.more_horiz_rounded)
@ -209,11 +208,15 @@ class AlbumOptionsPage extends HookConsumerWidget {
dense: true, dense: true,
title: Text( title: Text(
"shared_album_activity_setting_title", "shared_album_activity_setting_title",
style: context.textTheme.labelLarge style: context.textTheme.titleMedium
?.copyWith(fontWeight: FontWeight.bold), ?.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(), ).tr(),
subtitle:
const Text("shared_album_activity_setting_subtitle").tr(),
), ),
buildSectionTitle("shared_album_section_people_title".tr()), buildSectionTitle("shared_album_section_people_title".tr()),
buildOwnerInfo(), buildOwnerInfo(),

View file

@ -153,10 +153,7 @@ class AlbumViewerPage extends HookConsumerWidget {
padding: const EdgeInsets.only(left: 8.0), padding: const EdgeInsets.only(left: 8.0),
child: Text( child: Text(
album.name, album.name,
style: const TextStyle( style: context.textTheme.headlineMedium,
fontSize: 24,
fontWeight: FontWeight.bold,
),
), ),
), ),
); );
@ -191,10 +188,7 @@ class AlbumViewerPage extends HookConsumerWidget {
), ),
child: Text( child: Text(
dateRangeText, dateRangeText,
style: const TextStyle( style: context.textTheme.labelLarge,
fontSize: 14,
fontWeight: FontWeight.bold,
),
), ),
); );
} }

View file

@ -94,10 +94,7 @@ class CreateAlbumPage extends HookConsumerWidget {
padding: const EdgeInsets.only(top: 200, left: 18), padding: const EdgeInsets.only(top: 200, left: 18),
child: Text( child: Text(
'create_shared_album_page_share_add_assets', 'create_shared_album_page_share_add_assets',
style: context.textTheme.displayMedium?.copyWith( style: context.textTheme.labelLarge,
fontSize: 12,
fontWeight: FontWeight.normal,
),
).tr(), ).tr(),
), ),
); );
@ -119,7 +116,7 @@ class CreateAlbumPage extends HookConsumerWidget {
side: BorderSide( side: BorderSide(
color: context.isDarkTheme color: context.isDarkTheme
? const Color.fromARGB(255, 63, 63, 63) ? const Color.fromARGB(255, 63, 63, 63)
: const Color.fromARGB(255, 206, 206, 206), : const Color.fromARGB(255, 129, 129, 129),
), ),
shape: RoundedRectangleBorder( shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(5), borderRadius: BorderRadius.circular(5),
@ -134,9 +131,8 @@ class CreateAlbumPage extends HookConsumerWidget {
padding: const EdgeInsets.only(left: 8.0), padding: const EdgeInsets.only(left: 8.0),
child: Text( child: Text(
'create_shared_album_page_share_select_photos', 'create_shared_album_page_share_select_photos',
style: context.textTheme.labelLarge?.copyWith( style: context.textTheme.titleMedium?.copyWith(
fontSize: 16, color: context.primaryColor,
fontWeight: FontWeight.bold,
), ),
).tr(), ).tr(),
), ),
@ -222,11 +218,8 @@ class CreateAlbumPage extends HookConsumerWidget {
}, },
icon: const Icon(Icons.close_rounded), icon: const Icon(Icons.close_rounded),
), ),
title: Text( title: const Text(
'share_create_album', 'share_create_album',
style: context.textTheme.displayMedium?.copyWith(
color: context.primaryColor,
),
).tr(), ).tr(),
actions: [ actions: [
if (isSharedAlbum) if (isSharedAlbum)

View file

@ -125,10 +125,8 @@ class LibraryPage extends HookConsumerWidget {
), ),
Text( Text(
options[selectedAlbumSortOrder.value], options[selectedAlbumSortOrder.value],
style: TextStyle( style: context.textTheme.labelLarge?.copyWith(
fontWeight: FontWeight.bold,
color: context.primaryColor, color: context.primaryColor,
fontSize: 12.0,
), ),
), ),
], ],
@ -172,11 +170,9 @@ class LibraryPage extends HookConsumerWidget {
top: 8.0, top: 8.0,
bottom: 16, bottom: 16,
), ),
child: const Text( child: Text(
'library_page_new_album', 'library_page_new_album',
style: TextStyle( style: context.textTheme.labelLarge,
fontWeight: FontWeight.bold,
),
).tr(), ).tr(),
), ),
], ],
@ -198,9 +194,9 @@ class LibraryPage extends HookConsumerWidget {
child: Text( child: Text(
label, label,
style: TextStyle( style: TextStyle(
fontWeight: FontWeight.bold, color: context.isDarkTheme
fontSize: 13.0, ? Colors.white
color: isDarkTheme ? Colors.white : Colors.grey[800], : Colors.black.withAlpha(200),
), ),
), ),
), ),
@ -278,9 +274,11 @@ class LibraryPage extends HookConsumerWidget {
child: Row( child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween, mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [ children: [
const Text( Text(
'library_page_albums', 'library_page_albums',
style: TextStyle(fontWeight: FontWeight.bold), style: context.textTheme.bodyLarge?.copyWith(
fontWeight: FontWeight.w500,
),
).tr(), ).tr(),
buildSortButton(), buildSortButton(),
], ],
@ -326,9 +324,11 @@ class LibraryPage extends HookConsumerWidget {
child: Row( child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween, mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [ children: [
const Text( Text(
'library_page_device_albums', 'library_page_device_albums',
style: TextStyle(fontWeight: FontWeight.bold), style: context.textTheme.bodyLarge?.copyWith(
fontWeight: FontWeight.w500,
),
).tr(), ).tr(),
], ],
), ),

View file

@ -80,25 +80,20 @@ class SharingPage extends HookConsumerWidget {
maxLines: 1, maxLines: 1,
overflow: TextOverflow.ellipsis, overflow: TextOverflow.ellipsis,
style: context.textTheme.bodyMedium?.copyWith( style: context.textTheme.bodyMedium?.copyWith(
fontWeight: FontWeight.bold, color: context.primaryColor,
color: fontWeight: FontWeight.w500,
context.isDarkTheme ? context.primaryColor : Colors.black,
), ),
), ),
subtitle: isOwner subtitle: isOwner
? Text( ? Text(
'album_thumbnail_owned'.tr(), 'album_thumbnail_owned'.tr(),
style: const TextStyle( style: context.textTheme.bodyMedium,
fontSize: 12.0,
),
) )
: album.ownerName != null : album.ownerName != null
? Text( ? Text(
'album_thumbnail_shared_by' 'album_thumbnail_shared_by'
.tr(args: [album.ownerName!]), .tr(args: [album.ownerName!]),
style: const TextStyle( style: context.textTheme.bodyMedium,
fontSize: 12.0,
),
) )
: null, : null,
onTap: () { onTap: () {
@ -137,8 +132,8 @@ class SharingPage extends HookConsumerWidget {
"sharing_silver_appbar_create_shared_album", "sharing_silver_appbar_create_shared_album",
maxLines: 1, maxLines: 1,
style: TextStyle( style: TextStyle(
fontWeight: FontWeight.bold, fontWeight: FontWeight.w500,
fontSize: 11, fontSize: 12,
), ),
).tr(), ).tr(),
), ),
@ -154,8 +149,8 @@ class SharingPage extends HookConsumerWidget {
label: const Text( label: const Text(
"sharing_silver_appbar_shared_links", "sharing_silver_appbar_shared_links",
style: TextStyle( style: TextStyle(
fontWeight: FontWeight.bold, fontWeight: FontWeight.w500,
fontSize: 11, fontSize: 12,
), ),
maxLines: 1, maxLines: 1,
).tr(), ).tr(),
@ -236,9 +231,11 @@ class SharingPage extends HookConsumerWidget {
SliverPadding( SliverPadding(
padding: const EdgeInsets.all(12), padding: const EdgeInsets.all(12),
sliver: SliverToBoxAdapter( sliver: SliverToBoxAdapter(
child: const Text( child: Text(
"partner_page_title", "partner_page_title",
style: TextStyle(fontWeight: FontWeight.bold), style: context.textTheme.bodyLarge?.copyWith(
fontWeight: FontWeight.w500,
),
).tr(), ).tr(),
), ),
), ),
@ -246,10 +243,10 @@ class SharingPage extends HookConsumerWidget {
SliverPadding( SliverPadding(
padding: const EdgeInsets.all(12), padding: const EdgeInsets.all(12),
sliver: SliverToBoxAdapter( sliver: SliverToBoxAdapter(
child: const Text( child: Text(
"sharing_page_album", "sharing_page_album",
style: TextStyle( style: context.textTheme.bodyLarge?.copyWith(
fontWeight: FontWeight.bold, fontWeight: FontWeight.w500,
), ),
).tr(), ).tr(),
), ),

View file

@ -93,15 +93,11 @@ class DescriptionInput extends HookConsumerWidget {
maxLines: null, maxLines: null,
keyboardType: TextInputType.multiline, keyboardType: TextInputType.multiline,
controller: controller, controller: controller,
style: const TextStyle( style: context.textTheme.labelLarge,
fontSize: 14,
),
decoration: InputDecoration( decoration: InputDecoration(
hintText: 'description_input_hint_text'.tr(), hintText: 'description_input_hint_text'.tr(),
border: InputBorder.none, border: InputBorder.none,
hintStyle: TextStyle( hintStyle: context.textTheme.labelLarge?.copyWith(
fontWeight: FontWeight.normal,
fontSize: 12,
color: textColor.withOpacity(0.5), color: textColor.withOpacity(0.5),
), ),
suffixIcon: suffixIcon, suffixIcon: suffixIcon,

View file

@ -193,21 +193,15 @@ class ExifBottomSheet extends HookConsumerWidget {
children: [ children: [
Text( Text(
"exif_bottom_sheet_location", "exif_bottom_sheet_location",
style: TextStyle( style: context.textTheme.labelMedium?.copyWith(
fontSize: 11, color: context.textTheme.labelMedium?.color?.withAlpha(200),
color: textColor, fontWeight: FontWeight.w600,
fontWeight: FontWeight.bold,
), ),
).tr(), ).tr(),
buildMap(), buildMap(),
RichText( RichText(
text: TextSpan( text: TextSpan(
style: TextStyle( style: context.textTheme.labelLarge,
fontSize: 12,
fontWeight: FontWeight.bold,
color: textColor,
fontFamily: 'WorkSans',
),
children: [ children: [
if (exifInfo != null && exifInfo.city != null) if (exifInfo != null && exifInfo.city != null)
TextSpan( TextSpan(
@ -228,7 +222,9 @@ class ExifBottomSheet extends HookConsumerWidget {
), ),
Text( Text(
"${exifInfo!.latitude!.toStringAsFixed(4)}, ${exifInfo.longitude!.toStringAsFixed(4)}", "${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, titleAlignment: ListTileTitleAlignment.center,
title: Text( title: Text(
title, title,
style: TextStyle( style: context.textTheme.labelLarge,
fontWeight: FontWeight.bold,
color: textColor,
),
), ),
subtitle: subtitle, subtitle: subtitle,
); );
@ -278,7 +271,7 @@ class ExifBottomSheet extends HookConsumerWidget {
// There is both filename and size information // There is both filename and size information
return createImagePropertiesListStyle( return createImagePropertiesListStyle(
asset.fileName, asset.fileName,
Text(imgSizeString), Text(imgSizeString, style: context.textTheme.bodySmall),
); );
} else if (imgSizeString != null && asset.fileName.isEmpty) { } else if (imgSizeString != null && asset.fileName.isEmpty) {
// There is only size information // There is only size information
@ -305,10 +298,9 @@ class ExifBottomSheet extends HookConsumerWidget {
padding: const EdgeInsets.only(bottom: 8.0), padding: const EdgeInsets.only(bottom: 8.0),
child: Text( child: Text(
"exif_bottom_sheet_details", "exif_bottom_sheet_details",
style: TextStyle( style: context.textTheme.labelMedium?.copyWith(
fontSize: 11, color: context.textTheme.labelMedium?.color?.withAlpha(200),
color: textColor, fontWeight: FontWeight.w600,
fontWeight: FontWeight.bold,
), ),
).tr(), ).tr(),
), ),
@ -323,10 +315,7 @@ class ExifBottomSheet extends HookConsumerWidget {
), ),
title: Text( title: Text(
"${exifInfo!.make} ${exifInfo.model}", "${exifInfo!.make} ${exifInfo.model}",
style: TextStyle( style: context.textTheme.labelLarge,
color: textColor,
fontWeight: FontWeight.bold,
),
), ),
subtitle: exifInfo.f != null || subtitle: exifInfo.f != null ||
exifInfo.exposureSeconds != null || exifInfo.exposureSeconds != null ||
@ -334,6 +323,7 @@ class ExifBottomSheet extends HookConsumerWidget {
exifInfo.iso != null exifInfo.iso != null
? Text( ? Text(
"ƒ/${exifInfo.fNumber} ${exifInfo.exposureTime} ${exifInfo.focalLength} mm ISO ${exifInfo.iso ?? ''} ", "ƒ/${exifInfo.fNumber} ${exifInfo.exposureTime} ${exifInfo.focalLength} mm ISO ${exifInfo.iso ?? ''} ",
style: context.textTheme.bodySmall,
) )
: null, : null,
), ),

View file

@ -28,17 +28,17 @@ class BackupInfoCard extends StatelessWidget {
elevation: 0, elevation: 0,
borderOnForeground: false, borderOnForeground: false,
child: ListTile( child: ListTile(
minVerticalPadding: 15, minVerticalPadding: 18,
isThreeLine: true, isThreeLine: true,
title: Text( title: Text(
title, title,
style: const TextStyle(fontWeight: FontWeight.bold, fontSize: 20), style: context.textTheme.titleMedium,
), ),
subtitle: Padding( subtitle: Padding(
padding: const EdgeInsets.only(top: 8.0), padding: const EdgeInsets.only(top: 4.0, right: 18.0),
child: Text( child: Text(
subtitle, subtitle,
style: const TextStyle(fontSize: 12), style: context.textTheme.bodyMedium,
), ),
), ),
trailing: Column( trailing: Column(
@ -46,9 +46,12 @@ class BackupInfoCard extends StatelessWidget {
children: [ children: [
Text( Text(
info, 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(),
], ],
), ),
), ),

View file

@ -188,9 +188,9 @@ class CurrentUploadingAssetInfoBox extends HookConsumerWidget {
title: Row( title: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween, mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [ children: [
const Text( Text(
"backup_controller_page_uploading_file_info", "backup_controller_page_uploading_file_info",
style: TextStyle(fontWeight: FontWeight.bold, fontSize: 14), style: context.textTheme.titleSmall,
).tr(), ).tr(),
if (ref.watch(errorBackupListProvider).isNotEmpty) buildErrorChip(), if (ref.watch(errorBackupListProvider).isNotEmpty) buildErrorChip(),
], ],

View file

@ -100,7 +100,7 @@ class BackupAlbumSelectionPage extends HookConsumerWidget {
label: Text( label: Text(
album.name, album.name,
style: TextStyle( style: TextStyle(
fontSize: 10, fontSize: 12,
color: isDarkTheme ? Colors.black : Colors.white, color: isDarkTheme ? Colors.black : Colors.white,
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
), ),
@ -134,7 +134,7 @@ class BackupAlbumSelectionPage extends HookConsumerWidget {
label: Text( label: Text(
album.name, album.name,
style: TextStyle( style: TextStyle(
fontSize: 10, fontSize: 12,
color: isDarkTheme ? Colors.black : immichBackgroundColor, color: isDarkTheme ? Colors.black : immichBackgroundColor,
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
), ),
@ -203,7 +203,6 @@ class BackupAlbumSelectionPage extends HookConsumerWidget {
), ),
title: const Text( title: const Text(
"backup_album_selection_page_select_albums", "backup_album_selection_page_select_albums",
style: TextStyle(fontSize: 16, fontWeight: FontWeight.bold),
).tr(), ).tr(),
elevation: 0, elevation: 0,
), ),
@ -219,12 +218,9 @@ class BackupAlbumSelectionPage extends HookConsumerWidget {
vertical: 8.0, vertical: 8.0,
horizontal: 16.0, horizontal: 16.0,
), ),
child: const Text( child: Text(
"backup_album_selection_page_selection_info", "backup_album_selection_page_selection_info",
style: TextStyle( style: context.textTheme.titleSmall,
fontWeight: FontWeight.bold,
fontSize: 14,
),
).tr(), ).tr(),
), ),
// Selected Album Chips // Selected Album Chips
@ -250,19 +246,14 @@ class BackupAlbumSelectionPage extends HookConsumerWidget {
.toString(), .toString(),
], ],
), ),
style: const TextStyle( style: context.textTheme.titleSmall,
fontWeight: FontWeight.bold,
fontSize: 14,
),
), ),
subtitle: Padding( subtitle: Padding(
padding: const EdgeInsets.symmetric(vertical: 8.0), padding: const EdgeInsets.symmetric(vertical: 8.0),
child: Text( child: Text(
"backup_album_selection_page_albums_tap", "backup_album_selection_page_albums_tap",
style: TextStyle( style: context.textTheme.labelLarge?.copyWith(
fontSize: 12,
color: context.primaryColor, color: context.primaryColor,
fontWeight: FontWeight.bold,
), ),
).tr(), ).tr(),
), ),

View file

@ -193,7 +193,7 @@ class BackupControllerPage extends HookConsumerWidget {
: const Icon(Icons.cloud_off_rounded), : const Icon(Icons.cloud_off_rounded),
title: Text( title: Text(
backUpOption, backUpOption,
style: const TextStyle(fontWeight: FontWeight.bold, fontSize: 14), style: context.textTheme.titleSmall,
), ),
subtitle: Padding( subtitle: Padding(
padding: const EdgeInsets.symmetric(vertical: 8.0), padding: const EdgeInsets.symmetric(vertical: 8.0),
@ -213,9 +213,8 @@ class BackupControllerPage extends HookConsumerWidget {
.setAutoBackup(!isAutoBackup), .setAutoBackup(!isAutoBackup),
child: Text( child: Text(
backupBtnText, backupBtnText,
style: const TextStyle( style: context.textTheme.labelLarge?.copyWith(
fontWeight: FontWeight.bold, color: context.isDarkTheme ? Colors.black : Colors.white,
fontSize: 12,
), ),
), ),
), ),
@ -335,7 +334,7 @@ class BackupControllerPage extends HookConsumerWidget {
isBackgroundEnabled isBackgroundEnabled
? "backup_controller_page_background_is_on" ? "backup_controller_page_background_is_on"
: "backup_controller_page_background_is_off", : "backup_controller_page_background_is_off",
style: const TextStyle(fontWeight: FontWeight.bold, fontSize: 14), style: context.textTheme.titleSmall,
).tr(), ).tr(),
subtitle: Column( subtitle: Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
@ -426,9 +425,8 @@ class BackupControllerPage extends HookConsumerWidget {
isBackgroundEnabled isBackgroundEnabled
? "backup_controller_page_background_turn_off" ? "backup_controller_page_background_turn_off"
: "backup_controller_page_background_turn_on", : "backup_controller_page_background_turn_on",
style: const TextStyle( style: context.textTheme.labelLarge?.copyWith(
fontWeight: FontWeight.bold, color: context.isDarkTheme ? Colors.black : Colors.white,
fontSize: 12,
), ),
).tr(), ).tr(),
), ),
@ -511,10 +509,8 @@ class BackupControllerPage extends HookConsumerWidget {
padding: const EdgeInsets.only(top: 8.0), padding: const EdgeInsets.only(top: 8.0),
child: Text( child: Text(
text.trim().substring(0, text.length - 2), text.trim().substring(0, text.length - 2),
style: TextStyle( style: context.textTheme.labelLarge?.copyWith(
color: context.primaryColor, color: context.primaryColor,
fontSize: 12,
fontWeight: FontWeight.bold,
), ),
), ),
); );
@ -523,10 +519,8 @@ class BackupControllerPage extends HookConsumerWidget {
padding: const EdgeInsets.only(top: 8.0), padding: const EdgeInsets.only(top: 8.0),
child: Text( child: Text(
"backup_controller_page_none_selected".tr(), "backup_controller_page_none_selected".tr(),
style: TextStyle( style: context.textTheme.labelLarge?.copyWith(
color: context.primaryColor, color: context.primaryColor,
fontSize: 12,
fontWeight: FontWeight.bold,
), ),
), ),
); );
@ -546,10 +540,8 @@ class BackupControllerPage extends HookConsumerWidget {
padding: const EdgeInsets.only(top: 8.0), padding: const EdgeInsets.only(top: 8.0),
child: Text( child: Text(
text.trim().substring(0, text.length - 2), text.trim().substring(0, text.length - 2),
style: TextStyle( style: context.textTheme.labelLarge?.copyWith(
color: Colors.red[300], color: Colors.red[300],
fontSize: 12,
fontWeight: FontWeight.bold,
), ),
), ),
); );
@ -559,55 +551,57 @@ class BackupControllerPage extends HookConsumerWidget {
} }
buildFolderSelectionTile() { buildFolderSelectionTile() {
return Card( return Padding(
shape: RoundedRectangleBorder( padding: const EdgeInsets.only(top: 8.0),
borderRadius: BorderRadius.circular(20), child: Card(
side: BorderSide( shape: RoundedRectangleBorder(
color: context.isDarkTheme borderRadius: BorderRadius.circular(20),
? const Color.fromARGB(255, 56, 56, 56) side: BorderSide(
: Colors.black12, color: context.isDarkTheme
width: 1, ? 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(),
],
), ),
), ),
trailing: ElevatedButton( elevation: 0,
onPressed: () async { borderOnForeground: false,
await context.autoPush(const BackupAlbumSelectionRoute()); child: ListTile(
// waited until returning from selection minVerticalPadding: 18,
await ref title: Text(
.read(backupProvider.notifier) "backup_controller_page_albums",
.backupAlbumSelectionDone(); style: context.textTheme.titleMedium,
// 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,
),
).tr(), ).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( child: const Text(
"backup_controller_page_start_backup", "backup_controller_page_start_backup",
style: TextStyle( style: TextStyle(
fontSize: 14, fontSize: 16,
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
), ),
).tr(), ).tr(),
@ -680,7 +674,6 @@ class BackupControllerPage extends HookConsumerWidget {
elevation: 0, elevation: 0,
title: const Text( title: const Text(
"backup_controller_page_backup", "backup_controller_page_backup",
style: TextStyle(fontSize: 16, fontWeight: FontWeight.bold),
).tr(), ).tr(),
leading: IconButton( leading: IconButton(
onPressed: () { onPressed: () {
@ -735,7 +728,6 @@ class BackupControllerPage extends HookConsumerWidget {
if (showBackupFix) const Divider(), if (showBackupFix) const Divider(),
if (showBackupFix) buildCheckCorruptBackups(), if (showBackupFix) buildCheckCorruptBackups(),
const Divider(), const Divider(),
const Divider(),
const CurrentUploadingAssetInfoBox(), const CurrentUploadingAssetInfoBox(),
if (!hasExclusiveAccess) buildBackgroundBackupInfo(), if (!hasExclusiveAccess) buildBackgroundBackupInfo(),
buildBackupButton(), buildBackupButton(),

View file

@ -1,9 +1,13 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter/services.dart'; import 'package:flutter/services.dart';
import 'package:flutter_hooks/flutter_hooks.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:immich_mobile/extensions/build_context_extensions.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({ const GroupDividerTitle({
Key? key, Key? key,
required this.text, required this.text,
@ -21,6 +25,18 @@ class GroupDividerTitle extends ConsumerWidget {
@override @override
Widget build(BuildContext context, WidgetRef ref) { 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() { void handleTitleIconClick() {
HapticFeedback.heavyImpact(); HapticFeedback.heavyImpact();
if (selected) { if (selected) {
@ -31,8 +47,8 @@ class GroupDividerTitle extends ConsumerWidget {
} }
return Padding( return Padding(
padding: const EdgeInsets.only( padding: EdgeInsets.only(
top: 12.0, top: groupBy.value == GroupAssetsBy.month ? 32.0 : 16.0,
bottom: 16.0, bottom: 16.0,
left: 12.0, left: 12.0,
right: 12.0, right: 12.0,
@ -41,10 +57,14 @@ class GroupDividerTitle extends ConsumerWidget {
children: [ children: [
Text( Text(
text, text,
style: const TextStyle( style: groupBy.value == GroupAssetsBy.month
fontSize: 14, ? context.textTheme.bodyLarge?.copyWith(
fontWeight: FontWeight.bold, fontSize: 24.0,
), )
: context.textTheme.labelLarge?.copyWith(
color: context.textTheme.labelLarge?.color?.withAlpha(250),
fontWeight: FontWeight.w500,
),
), ),
const Spacer(), const Spacer(),
GestureDetector( GestureDetector(

View file

@ -222,10 +222,9 @@ class ImmichAssetGridViewState extends State<ImmichAssetGridView> {
padding: const EdgeInsets.only(left: 12.0, top: 24.0), padding: const EdgeInsets.only(left: 12.0, top: 24.0),
child: Text( child: Text(
title, title,
style: TextStyle( style: const TextStyle(
fontSize: 26, fontSize: 26,
fontWeight: FontWeight.bold, fontWeight: FontWeight.w500,
color: context.textTheme.displayLarge?.color,
), ),
), ),
); );

View file

@ -179,7 +179,7 @@ class AssetsInBoundBottomSheetState extends ConsumerState<MapPageBottomSheet> {
? "map_assets_in_bounds".plural(assetsInBound.value.length) ? "map_assets_in_bounds".plural(assetsInBound.value.length)
: "map_no_assets_in_bounds".tr(); : "map_no_assets_in_bounds".tr();
final dragHandle = Container( final dragHandle = Container(
height: 60, height: 70,
width: double.infinity, width: double.infinity,
decoration: BoxDecoration( decoration: BoxDecoration(
color: isDarkTheme ? Colors.grey[900] : Colors.grey[100], color: isDarkTheme ? Colors.grey[900] : Colors.grey[100],
@ -195,11 +195,7 @@ class AssetsInBoundBottomSheetState extends ConsumerState<MapPageBottomSheet> {
const SizedBox(height: 15), const SizedBox(height: 15),
Text( Text(
textToDisplay, textToDisplay,
style: TextStyle( style: context.textTheme.bodyLarge,
fontSize: 16,
color: context.textTheme.displayLarge?.color,
fontWeight: FontWeight.bold,
),
), ),
Divider( Divider(
height: 10, height: 10,

View file

@ -134,12 +134,16 @@ class MapSettingsDialog extends HookConsumerWidget {
backgroundColor: backgroundColor:
mapSettings.isDarkTheme ? Colors.grey[100] : Colors.grey[700], mapSettings.isDarkTheme ? Colors.grey[100] : Colors.grey[700],
), ),
child: Text( child: Padding(
"map_settings_dialog_cancel".tr(), padding: const EdgeInsets.symmetric(horizontal: 16.0),
style: theme.textTheme.labelSmall?.copyWith( child: Text(
fontWeight: FontWeight.bold, "map_settings_dialog_cancel".tr(),
color: style: theme.textTheme.labelLarge?.copyWith(
mapSettings.isDarkTheme ? Colors.grey[900] : Colors.grey[100], fontWeight: FontWeight.w500,
color: mapSettings.isDarkTheme
? Colors.grey[900]
: Colors.grey[100],
),
), ),
), ),
), ),
@ -155,11 +159,14 @@ class MapSettingsDialog extends HookConsumerWidget {
style: TextButton.styleFrom( style: TextButton.styleFrom(
backgroundColor: theme.primaryColor, backgroundColor: theme.primaryColor,
), ),
child: Text( child: Padding(
"map_settings_dialog_save".tr(), padding: const EdgeInsets.symmetric(horizontal: 16.0),
style: theme.textTheme.labelSmall?.copyWith( child: Text(
fontWeight: FontWeight.bold, "map_settings_dialog_save".tr(),
color: theme.primaryTextTheme.labelLarge?.color, style: theme.textTheme.labelLarge?.copyWith(
fontWeight: FontWeight.w500,
color: theme.primaryTextTheme.labelLarge?.color,
),
), ),
), ),
), ),

View file

@ -3,6 +3,7 @@ import 'dart:ui';
import 'package:cached_network_image/cached_network_image.dart'; import 'package:cached_network_image/cached_network_image.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:hooks_riverpod/hooks_riverpod.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/asset.dart';
import 'package:immich_mobile/shared/models/store.dart'; import 'package:immich_mobile/shared/models/store.dart';
import 'package:immich_mobile/shared/ui/immich_image.dart'; import 'package:immich_mobile/shared/ui/immich_image.dart';
@ -34,10 +35,9 @@ class MemoryCard extends HookConsumerWidget {
buildTitle() { buildTitle() {
return Text( return Text(
title, title,
style: const TextStyle( style: context.textTheme.headlineMedium?.copyWith(
color: Colors.white, color: Colors.white,
fontWeight: FontWeight.bold, fontWeight: FontWeight.w500,
fontSize: 24.0,
), ),
); );
} }

View file

@ -48,7 +48,7 @@ class MemoryLane extends HookConsumerWidget {
clipBehavior: Clip.hardEdge, clipBehavior: Clip.hardEdge,
child: ColorFiltered( child: ColorFiltered(
colorFilter: ColorFilter.mode( colorFilter: ColorFilter.mode(
Colors.black.withOpacity(0.1), Colors.black.withOpacity(0.2),
BlendMode.darken, BlendMode.darken,
), ),
child: ImmichImage( child: ImmichImage(
@ -71,9 +71,9 @@ class MemoryLane extends HookConsumerWidget {
child: Text( child: Text(
memory.title, memory.title,
style: const TextStyle( style: const TextStyle(
fontWeight: FontWeight.bold, fontWeight: FontWeight.w600,
color: Colors.white, color: Colors.white,
fontSize: 14, fontSize: 15,
), ),
), ),
), ),

View file

@ -138,8 +138,8 @@ class MemoryPage extends HookConsumerWidget {
memory.title, memory.title,
style: TextStyle( style: TextStyle(
color: Colors.grey[400], color: Colors.grey[400],
fontSize: 11.0, fontSize: 13.0,
fontWeight: FontWeight.w600, fontWeight: FontWeight.w500,
), ),
), ),
Text( Text(
@ -148,7 +148,7 @@ class MemoryPage extends HookConsumerWidget {
), ),
style: const TextStyle( style: const TextStyle(
color: Colors.white, color: Colors.white,
fontSize: 14.0, fontSize: 15.0,
fontWeight: FontWeight.w500, fontWeight: FontWeight.w500,
), ),
), ),

View file

@ -28,15 +28,11 @@ class PartnerList extends HookConsumerWidget {
leading: userAvatar(context, p, radius: 24), leading: userAvatar(context, p, radius: 24),
title: Text( title: Text(
"${p.name}'s photos", "${p.name}'s photos",
style: const TextStyle( style: context.textTheme.labelLarge,
fontWeight: FontWeight.bold,
fontSize: 14,
),
), ),
trailing: Text( trailing: Text(
"View all", "View all",
style: TextStyle( style: context.textTheme.labelLarge?.copyWith(
fontWeight: FontWeight.bold,
color: context.primaryColor, color: context.primaryColor,
), ),
), ),

View file

@ -84,8 +84,7 @@ class CuratedPeopleRow extends StatelessWidget {
padding: const EdgeInsets.only(top: 8.0), padding: const EdgeInsets.only(top: 8.0),
child: Text( child: Text(
"Add name", "Add name",
style: TextStyle( style: context.textTheme.labelLarge?.copyWith(
fontWeight: FontWeight.bold,
color: context.primaryColor, color: context.primaryColor,
), ),
), ),
@ -98,10 +97,7 @@ class CuratedPeopleRow extends StatelessWidget {
person.label, person.label,
textAlign: TextAlign.center, textAlign: TextAlign.center,
overflow: TextOverflow.ellipsis, overflow: TextOverflow.ellipsis,
style: const TextStyle( style: context.textTheme.labelLarge,
fontWeight: FontWeight.bold,
fontSize: 13.0,
),
), ),
), ),
], ],

View file

@ -58,10 +58,8 @@ class ImmichSearchBar extends HookConsumerWidget
}, },
decoration: InputDecoration( decoration: InputDecoration(
hintText: 'search_bar_hint'.tr(), hintText: 'search_bar_hint'.tr(),
hintStyle: context.textTheme.titleSmall?.copyWith( hintStyle: context.textTheme.bodyLarge?.copyWith(
color: context.themeData.colorScheme.onSurface.withOpacity(0.5), color: context.themeData.colorScheme.onSurface.withOpacity(0.75),
fontWeight: FontWeight.w500,
fontSize: 14,
), ),
enabledBorder: const UnderlineInputBorder( enabledBorder: const UnderlineInputBorder(
borderSide: BorderSide(color: Colors.transparent), borderSide: BorderSide(color: Colors.transparent),

View file

@ -27,16 +27,16 @@ class SearchRowTitle extends StatelessWidget {
children: [ children: [
Text( Text(
title, title,
style: context.textTheme.titleSmall, style: context.textTheme.bodyLarge?.copyWith(
fontWeight: FontWeight.w500,
),
), ),
TextButton( TextButton(
onPressed: onViewAllPressed, onPressed: onViewAllPressed,
child: Text( child: Text(
'search_page_view_all_button', 'search_page_view_all_button',
style: TextStyle( style: context.textTheme.labelLarge?.copyWith(
color: context.primaryColor, color: context.primaryColor,
fontWeight: FontWeight.bold,
fontSize: 14.0,
), ),
).tr(), ).tr(),
), ),

View file

@ -15,13 +15,8 @@ class AllPeoplePage extends HookConsumerWidget {
return Scaffold( return Scaffold(
appBar: AppBar( appBar: AppBar(
title: Text( title: const Text(
'all_people_page_title', 'all_people_page_title',
style: TextStyle(
color: context.primaryColor,
fontWeight: FontWeight.bold,
fontSize: 16.0,
),
).tr(), ).tr(),
leading: IconButton( leading: IconButton(
onPressed: () => context.autoPop(), onPressed: () => context.autoPop(),

View file

@ -18,13 +18,8 @@ class CuratedLocationPage extends HookConsumerWidget {
return Scaffold( return Scaffold(
appBar: AppBar( appBar: AppBar(
title: Text( title: const Text(
'curated_location_page_title', 'curated_location_page_title',
style: TextStyle(
color: context.primaryColor,
fontWeight: FontWeight.bold,
fontSize: 16.0,
),
).tr(), ).tr(),
leading: IconButton( leading: IconButton(
onPressed: () => context.autoPop(), onPressed: () => context.autoPop(),

View file

@ -33,8 +33,8 @@ class SearchPage extends HookConsumerWidget {
double imageSize = math.min(context.width / 3, 150); double imageSize = math.min(context.width / 3, 150);
TextStyle categoryTitleStyle = const TextStyle( TextStyle categoryTitleStyle = const TextStyle(
fontWeight: FontWeight.bold, fontWeight: FontWeight.w500,
fontSize: 14.0, fontSize: 15.0,
); );
Color categoryIconColor = context.isDarkTheme ? Colors.white : Colors.black; Color categoryIconColor = context.isDarkTheme ? Colors.white : Colors.black;
@ -156,7 +156,9 @@ class SearchPage extends HookConsumerWidget {
padding: const EdgeInsets.symmetric(horizontal: 16), padding: const EdgeInsets.symmetric(horizontal: 16),
child: Text( child: Text(
'search_page_your_activity', 'search_page_your_activity',
style: context.textTheme.titleSmall, style: context.textTheme.bodyLarge?.copyWith(
fontWeight: FontWeight.w500,
),
).tr(), ).tr(),
), ),
ListTile( ListTile(
@ -186,11 +188,15 @@ class SearchPage extends HookConsumerWidget {
padding: const EdgeInsets.symmetric(horizontal: 16.0), padding: const EdgeInsets.symmetric(horizontal: 16.0),
child: Text( child: Text(
'search_page_categories', 'search_page_categories',
style: context.textTheme.titleSmall, style: context.textTheme.bodyLarge?.copyWith(
fontWeight: FontWeight.w500,
),
).tr(), ).tr(),
), ),
ListTile( ListTile(
title: Text('search_page_screenshots', style: categoryTitleStyle).tr(), title:
Text('search_page_screenshots', style: categoryTitleStyle)
.tr(),
leading: Icon( leading: Icon(
Icons.screenshot, Icons.screenshot,
color: categoryIconColor, color: categoryIconColor,
@ -255,7 +261,7 @@ class CategoryDivider extends StatelessWidget {
Widget build(BuildContext context) { Widget build(BuildContext context) {
return const Padding( return const Padding(
padding: EdgeInsets.only( padding: EdgeInsets.only(
left: 72, left: 56,
right: 16, right: 16,
), ),
child: Divider( child: Divider(

View file

@ -45,17 +45,12 @@ class AdvancedSettings extends HookConsumerWidget {
return ExpansionTile( return ExpansionTile(
textColor: context.primaryColor, textColor: context.primaryColor,
title: const Text( title: Text(
"advanced_settings_tile_title", "advanced_settings_tile_title",
style: TextStyle( style: context.textTheme.titleMedium,
fontWeight: FontWeight.bold,
),
).tr(), ).tr(),
subtitle: const Text( subtitle: const Text(
"advanced_settings_tile_subtitle", "advanced_settings_tile_subtitle",
style: TextStyle(
fontSize: 13,
),
).tr(), ).tr(),
children: [ children: [
SettingsSwitchListTile( SettingsSwitchListTile(

View file

@ -54,8 +54,7 @@ class LayoutSettings extends HookConsumerWidget {
activeColor: context.primaryColor, activeColor: context.primaryColor,
title: Text( title: Text(
"asset_list_layout_settings_dynamic_layout_title", "asset_list_layout_settings_dynamic_layout_title",
style: context.textTheme.labelLarge style: context.textTheme.labelLarge,
?.copyWith(fontWeight: FontWeight.bold),
).tr(), ).tr(),
onChanged: switchChanged, onChanged: switchChanged,
value: useDynamicLayout.value, value: useDynamicLayout.value,

View file

@ -14,17 +14,12 @@ class AssetListSettings extends StatelessWidget {
Widget build(BuildContext context) { Widget build(BuildContext context) {
return ExpansionTile( return ExpansionTile(
textColor: context.primaryColor, textColor: context.primaryColor,
title: const Text( title: Text(
'asset_list_settings_title', 'asset_list_settings_title',
style: TextStyle( style: context.textTheme.titleMedium,
fontWeight: FontWeight.bold,
),
).tr(), ).tr(),
subtitle: const Text( subtitle: const Text(
'asset_list_settings_subtitle', 'asset_list_settings_subtitle',
style: TextStyle(
fontSize: 13,
),
).tr(), ).tr(),
children: const [ children: const [
TilesPerRow(), TilesPerRow(),

View file

@ -37,8 +37,7 @@ class StorageIndicator extends HookConsumerWidget {
activeColor: context.primaryColor, activeColor: context.primaryColor,
title: Text( title: Text(
"theme_setting_asset_list_storage_indicator_title", "theme_setting_asset_list_storage_indicator_title",
style: style: context.textTheme.labelLarge,
context.textTheme.labelLarge?.copyWith(fontWeight: FontWeight.bold),
).tr(), ).tr(),
onChanged: switchChanged, onChanged: switchChanged,
value: showStorageIndicator.value, value: showStorageIndicator.value,

View file

@ -37,12 +37,9 @@ class TilesPerRow extends HookConsumerWidget {
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
ListTile( ListTile(
title: const Text( title: Text(
"theme_setting_asset_list_tiles_per_row_title", "theme_setting_asset_list_tiles_per_row_title",
style: TextStyle( style: context.textTheme.labelLarge,
fontSize: 14,
fontWeight: FontWeight.bold,
),
).tr(args: ["${itemsValue.value.toInt()}"]), ).tr(args: ["${itemsValue.value.toInt()}"]),
), ),
Slider( Slider(

View file

@ -28,22 +28,19 @@ class ImageViewerQualitySetting extends HookConsumerWidget {
return ExpansionTile( return ExpansionTile(
textColor: context.primaryColor, textColor: context.primaryColor,
title: const Text( title: Text(
'theme_setting_image_viewer_quality_title', 'theme_setting_image_viewer_quality_title',
style: TextStyle( style: context.textTheme.titleMedium,
fontWeight: FontWeight.bold,
),
).tr(), ).tr(),
subtitle: const Text( subtitle: const Text(
'theme_setting_image_viewer_quality_subtitle', 'theme_setting_image_viewer_quality_subtitle',
style: TextStyle(
fontSize: 13,
),
).tr(), ).tr(),
children: [ children: [
ListTile( ListTile(
title: const Text('setting_image_viewer_help').tr(), title: Text(
dense: true, 'setting_image_viewer_help',
style: context.textTheme.bodyMedium,
).tr(),
), ),
SettingsSwitchListTile( SettingsSwitchListTile(
appSettingService: settings, appSettingService: settings,

View file

@ -27,30 +27,21 @@ class LocalStorageSettings extends HookConsumerWidget {
return ExpansionTile( return ExpansionTile(
textColor: context.primaryColor, textColor: context.primaryColor,
title: const Text( title: Text(
"cache_settings_tile_title", "cache_settings_tile_title",
style: TextStyle( style: context.textTheme.titleMedium,
fontWeight: FontWeight.bold,
),
).tr(), ).tr(),
subtitle: const Text( subtitle: const Text(
"cache_settings_tile_subtitle", "cache_settings_tile_subtitle",
style: TextStyle(
fontSize: 13,
),
).tr(), ).tr(),
children: [ children: [
ListTile( ListTile(
title: Text( title: Text(
"cache_settings_duplicated_assets_title", "cache_settings_duplicated_assets_title",
style: context.textTheme.labelLarge style: context.textTheme.titleSmall,
?.copyWith(fontWeight: FontWeight.bold),
).tr(args: ["${cacheItemCount.value}"]), ).tr(args: ["${cacheItemCount.value}"]),
subtitle: const Text( subtitle: const Text(
"cache_settings_duplicated_assets_subtitle", "cache_settings_duplicated_assets_subtitle",
style: TextStyle(
fontSize: 13,
),
).tr(), ).tr(),
trailing: TextButton( trailing: TextButton(
onPressed: cacheItemCount.value > 0 ? clearCache : null, onPressed: cacheItemCount.value > 0 ? clearCache : null,

View file

@ -67,17 +67,12 @@ class NotificationSetting extends HookConsumerWidget {
final String formattedValue = _formatSliderValue(sliderValue.value); final String formattedValue = _formatSliderValue(sliderValue.value);
return ExpansionTile( return ExpansionTile(
textColor: context.primaryColor, textColor: context.primaryColor,
title: const Text( title: Text(
'setting_notifications_title', 'setting_notifications_title',
style: TextStyle( style: context.textTheme.titleMedium,
fontWeight: FontWeight.bold,
),
).tr(), ).tr(),
subtitle: const Text( subtitle: const Text(
'setting_notifications_subtitle', 'setting_notifications_subtitle',
style: TextStyle(
fontSize: 13,
),
).tr(), ).tr(),
children: [ children: [
if (!hasPermission) if (!hasPermission)

View file

@ -40,10 +40,14 @@ class SettingsSwitchListTile extends StatelessWidget {
dense: true, dense: true,
title: Text( title: Text(
title, title,
style: style: context.textTheme.titleSmall,
context.textTheme.labelLarge?.copyWith(fontWeight: FontWeight.bold),
), ),
subtitle: subtitle != null ? Text(subtitle!) : null, subtitle: subtitle != null
? Text(
subtitle!,
style: context.textTheme.bodyMedium,
)
: null,
); );
} }
} }

View file

@ -26,17 +26,12 @@ class ThemeSetting extends HookConsumerWidget {
return ExpansionTile( return ExpansionTile(
textColor: context.primaryColor, textColor: context.primaryColor,
title: const Text( title: Text(
'theme_setting_theme_title', 'theme_setting_theme_title',
style: TextStyle( style: context.textTheme.titleMedium,
fontWeight: FontWeight.bold,
),
).tr(), ).tr(),
subtitle: const Text( subtitle: const Text(
'theme_setting_theme_subtitle', 'theme_setting_theme_subtitle',
style: TextStyle(
fontSize: 13,
),
).tr(), ).tr(),
children: [ children: [
SwitchListTile.adaptive( SwitchListTile.adaptive(

View file

@ -27,10 +27,6 @@ class SettingsPage extends HookConsumerWidget {
centerTitle: false, centerTitle: false,
title: const Text( title: const Text(
'setting_pages_app_bar_settings', 'setting_pages_app_bar_settings',
style: TextStyle(
fontSize: 16,
fontWeight: FontWeight.bold,
),
).tr(), ).tr(),
), ),
body: ListView( body: ListView(

View file

@ -148,8 +148,8 @@ class SharedLinkItem extends ConsumerWidget {
label: Text( label: Text(
labelText, labelText,
style: TextStyle( style: TextStyle(
fontSize: 10, fontSize: 11,
fontWeight: FontWeight.bold, fontWeight: FontWeight.w500,
color: isDarkMode ? Colors.black : Colors.white, color: isDarkMode ? Colors.black : Colors.white,
), ),
), ),

View file

@ -67,12 +67,10 @@ class SharedLinkPage extends HookConsumerWidget {
children: [ children: [
Padding( Padding(
padding: const EdgeInsets.only(left: 16.0, top: 16.0, bottom: 30.0), padding: const EdgeInsets.only(left: 16.0, top: 16.0, bottom: 30.0),
child: const Text( child: Text(
"shared_link_manage_links", "shared_link_manage_links",
style: TextStyle( style: context.textTheme.labelLarge?.copyWith(
fontSize: 14, color: context.textTheme.labelLarge?.color?.withAlpha(200),
color: Colors.grey,
fontWeight: FontWeight.bold,
), ),
).tr(), ).tr(),
), ),

View file

@ -54,7 +54,7 @@ class ImmichAppBarDialog extends HookConsumerWidget {
fontFamily: 'SnowburstOne', fontFamily: 'SnowburstOne',
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
color: context.primaryColor, color: context.primaryColor,
fontSize: 15, fontSize: 16,
), ),
), ),
), ),
@ -72,14 +72,15 @@ class ImmichAppBarDialog extends HookConsumerWidget {
leading: SizedBox( leading: SizedBox(
child: Icon( child: Icon(
icon, icon,
color: theme.textTheme.labelMedium?.color, color: theme.textTheme.labelLarge?.color?.withAlpha(250),
size: 20, size: 20,
), ),
), ),
title: Text( title: Text(
text, text,
style: style: theme.textTheme.labelLarge?.copyWith(
theme.textTheme.labelLarge?.copyWith(fontWeight: FontWeight.bold), color: theme.textTheme.labelLarge?.color?.withAlpha(250),
),
).tr(), ).tr(),
onTap: onTap, onTap: onTap,
); );
@ -145,9 +146,11 @@ class ImmichAppBarDialog extends HookConsumerWidget {
Icons.storage_rounded, Icons.storage_rounded,
color: theme.primaryColor, color: theme.primaryColor,
), ),
title: const Text( title: Text(
"backup_controller_page_server_storage", "backup_controller_page_server_storage",
style: TextStyle(fontWeight: FontWeight.bold, fontSize: 14), style: context.textTheme.labelLarge?.copyWith(
fontWeight: FontWeight.w500,
),
).tr(), ).tr(),
isThreeLine: true, isThreeLine: true,
subtitle: Padding( subtitle: Padding(
@ -230,7 +233,7 @@ class ImmichAppBarDialog extends HookConsumerWidget {
clipBehavior: Clip.hardEdge, clipBehavior: Clip.hardEdge,
alignment: Alignment.topCenter, alignment: Alignment.topCenter,
insetPadding: EdgeInsets.only( insetPadding: EdgeInsets.only(
top: isHorizontal ? 20 : 60, top: isHorizontal ? 20 : 40,
left: horizontalPadding, left: horizontalPadding,
right: horizontalPadding, right: horizontalPadding,
bottom: isHorizontal ? 20 : 100, bottom: isHorizontal ? 20 : 100,

View file

@ -31,8 +31,8 @@ class AppBarProfileInfoBox extends HookConsumerWidget {
} }
final userImage = UserCircleAvatar( final userImage = UserCircleAvatar(
radius: 20, radius: 22,
size: 40, size: 44,
user: user, user: user,
); );
@ -119,16 +119,15 @@ class AppBarProfileInfoBox extends HookConsumerWidget {
), ),
title: Text( title: Text(
authState.name, authState.name,
style: TextStyle( style: context.textTheme.titleMedium?.copyWith(
color: context.primaryColor, color: context.primaryColor,
fontWeight: FontWeight.bold, fontWeight: FontWeight.w500,
fontSize: 16,
), ),
), ),
subtitle: Text( subtitle: Text(
authState.userEmail, authState.userEmail,
style: context.textTheme.labelMedium?.copyWith( style: context.textTheme.bodySmall?.copyWith(
fontSize: 12, color: context.textTheme.bodySmall?.color?.withAlpha(200),
), ),
), ),
), ),

View file

@ -18,6 +18,8 @@ class AppBarServerInfo extends HookConsumerWidget {
ServerInfo serverInfoState = ref.watch(serverInfoProvider); ServerInfo serverInfoState = ref.watch(serverInfoProvider);
final appInfo = useState({}); final appInfo = useState({});
const titleFontSize = 12.0;
const contentFontSize = 11.0;
getPackageInfo() async { getPackageInfo() async {
PackageInfo packageInfo = await PackageInfo.fromPlatform(); PackageInfo packageInfo = await PackageInfo.fromPlatform();
@ -63,7 +65,7 @@ class AppBarServerInfo extends HookConsumerWidget {
style: TextStyle( style: TextStyle(
fontSize: 11, fontSize: 11,
color: context.primaryColor, color: context.primaryColor,
fontWeight: FontWeight.w600, fontWeight: FontWeight.w500,
), ),
), ),
), ),
@ -83,9 +85,9 @@ class AppBarServerInfo extends HookConsumerWidget {
child: Text( child: Text(
"server_info_box_app_version".tr(), "server_info_box_app_version".tr(),
style: TextStyle( style: TextStyle(
fontSize: 11, fontSize: titleFontSize,
color: context.textTheme.labelSmall?.color, color: context.textTheme.labelSmall?.color,
fontWeight: FontWeight.bold, fontWeight: FontWeight.w500,
), ),
), ),
), ),
@ -97,7 +99,7 @@ class AppBarServerInfo extends HookConsumerWidget {
child: Text( child: Text(
"${appInfo.value["version"]} build.${appInfo.value["buildNumber"]}", "${appInfo.value["version"]} build.${appInfo.value["buildNumber"]}",
style: TextStyle( style: TextStyle(
fontSize: 11, fontSize: contentFontSize,
color: context.textTheme.labelSmall?.color color: context.textTheme.labelSmall?.color
?.withOpacity(0.5), ?.withOpacity(0.5),
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
@ -123,9 +125,9 @@ class AppBarServerInfo extends HookConsumerWidget {
child: Text( child: Text(
"server_info_box_server_version".tr(), "server_info_box_server_version".tr(),
style: TextStyle( style: TextStyle(
fontSize: 11, fontSize: titleFontSize,
color: context.textTheme.labelSmall?.color, 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}" ? "${serverInfoState.serverVersion.major}.${serverInfoState.serverVersion.minor}.${serverInfoState.serverVersion.patch}"
: "--", : "--",
style: TextStyle( style: TextStyle(
fontSize: 11, fontSize: contentFontSize,
color: context.textTheme.labelSmall?.color color: context.textTheme.labelSmall?.color
?.withOpacity(0.5), ?.withOpacity(0.5),
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
@ -165,9 +167,9 @@ class AppBarServerInfo extends HookConsumerWidget {
child: Text( child: Text(
"server_info_box_server_url".tr(), "server_info_box_server_url".tr(),
style: TextStyle( style: TextStyle(
fontSize: 11, fontSize: titleFontSize,
color: context.textTheme.labelSmall?.color, color: context.textTheme.labelSmall?.color,
fontWeight: FontWeight.bold, fontWeight: FontWeight.w500,
), ),
), ),
), ),
@ -194,7 +196,7 @@ class AppBarServerInfo extends HookConsumerWidget {
child: Text( child: Text(
getServerUrl() ?? '--', getServerUrl() ?? '--',
style: TextStyle( style: TextStyle(
fontSize: 11, fontSize: contentFontSize,
color: context.textTheme.labelSmall?.color color: context.textTheme.labelSmall?.color
?.withOpacity(0.5), ?.withOpacity(0.5),
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
@ -234,9 +236,9 @@ class AppBarServerInfo extends HookConsumerWidget {
Text( Text(
"server_info_box_latest_release".tr(), "server_info_box_latest_release".tr(),
style: TextStyle( style: TextStyle(
fontSize: 11, fontSize: titleFontSize,
color: context.textTheme.labelSmall?.color, 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}" ? "${serverInfoState.latestVersion.major}.${serverInfoState.latestVersion.minor}.${serverInfoState.latestVersion.patch}"
: "--", : "--",
style: TextStyle( style: TextStyle(
fontSize: 11, fontSize: contentFontSize,
color: context.textTheme.labelSmall?.color color: context.textTheme.labelSmall?.color
?.withOpacity(0.5), ?.withOpacity(0.5),
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,

View file

@ -38,11 +38,11 @@ ThemeData immichLightTheme = ThemeData(
hintColor: Colors.indigo, hintColor: Colors.indigo,
focusColor: Colors.indigo, focusColor: Colors.indigo,
splashColor: Colors.indigo.withOpacity(0.15), splashColor: Colors.indigo.withOpacity(0.15),
fontFamily: 'WorkSans', fontFamily: 'Overpass',
scaffoldBackgroundColor: immichBackgroundColor, scaffoldBackgroundColor: immichBackgroundColor,
snackBarTheme: const SnackBarThemeData( snackBarTheme: const SnackBarThemeData(
contentTextStyle: TextStyle( contentTextStyle: TextStyle(
fontFamily: 'WorkSans', fontFamily: 'Overpass',
color: Colors.indigo, color: Colors.indigo,
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
), ),
@ -50,7 +50,7 @@ ThemeData immichLightTheme = ThemeData(
), ),
appBarTheme: AppBarTheme( appBarTheme: AppBarTheme(
titleTextStyle: const TextStyle( titleTextStyle: const TextStyle(
fontFamily: 'WorkSans', fontFamily: 'Overpass',
color: Colors.indigo, color: Colors.indigo,
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
fontSize: 18, fontSize: 18,
@ -125,9 +125,9 @@ ThemeData immichLightTheme = ThemeData(
surfaceTintColor: Colors.transparent, surfaceTintColor: Colors.transparent,
labelTextStyle: MaterialStatePropertyAll( labelTextStyle: MaterialStatePropertyAll(
TextStyle( TextStyle(
fontSize: 12, fontSize: 13,
fontWeight: FontWeight.w600, fontWeight: FontWeight.w500,
color: Colors.grey[700], color: Colors.grey[800],
), ),
), ),
), ),
@ -160,10 +160,10 @@ ThemeData immichDarkTheme = ThemeData(
primaryColor: immichDarkThemePrimaryColor, primaryColor: immichDarkThemePrimaryColor,
scaffoldBackgroundColor: immichDarkBackgroundColor, scaffoldBackgroundColor: immichDarkBackgroundColor,
hintColor: Colors.grey[600], hintColor: Colors.grey[600],
fontFamily: 'WorkSans', fontFamily: 'Overpass',
snackBarTheme: SnackBarThemeData( snackBarTheme: SnackBarThemeData(
contentTextStyle: TextStyle( contentTextStyle: TextStyle(
fontFamily: 'WorkSans', fontFamily: 'Overpass',
color: immichDarkThemePrimaryColor, color: immichDarkThemePrimaryColor,
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
), ),
@ -176,7 +176,7 @@ ThemeData immichDarkTheme = ThemeData(
), ),
appBarTheme: AppBarTheme( appBarTheme: AppBarTheme(
titleTextStyle: TextStyle( titleTextStyle: TextStyle(
fontFamily: 'WorkSans', fontFamily: 'Overpass',
color: immichDarkThemePrimaryColor, color: immichDarkThemePrimaryColor,
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
fontSize: 18, fontSize: 18,
@ -249,9 +249,9 @@ ThemeData immichDarkTheme = ThemeData(
surfaceTintColor: Colors.transparent, surfaceTintColor: Colors.transparent,
labelTextStyle: MaterialStatePropertyAll( labelTextStyle: MaterialStatePropertyAll(
TextStyle( TextStyle(
fontSize: 12, fontSize: 13,
fontWeight: FontWeight.w600, fontWeight: FontWeight.w500,
color: Colors.grey[500], color: Colors.grey[300],
), ),
), ),
), ),

View file

@ -97,27 +97,28 @@ flutter:
- assets/ - assets/
- assets/i18n/ - assets/i18n/
fonts: 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 - family: SnowburstOne
fonts: fonts:
- asset: fonts/SnowburstOne.ttf - asset: fonts/SnowburstOne.ttf
- family: Inconsolata - family: Inconsolata
fonts: fonts:
- asset: fonts/Inconsolata-Regular.ttf - 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: flutter_icons:
image_path_android: "assets/immich-logo-no-outline.png" image_path_android: "assets/immich-logo-no-outline.png"
image_path_ios: "assets/immich-logo-no-outline.png" image_path_ios: "assets/immich-logo-no-outline.png"