merge: remote-tracking branch 'origin/main' into feat/integrity-checks-izzy

This commit is contained in:
izzy
2026-01-14 12:25:28 +00:00
89 changed files with 13815 additions and 4655 deletions
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+1 -1
View File
@@ -51,4 +51,4 @@ const Map<String, Locale> locales = {
const String translationsPath = 'assets/i18n';
const List<Locale> localesNotSupportedByOverpass = [Locale('el', 'GR'), Locale('sr', 'Cyrl')];
const List<Locale> localesNotSupportedByAppFont = [Locale('el', 'GR'), Locale('sr', 'Cyrl')];
+1 -1
View File
@@ -100,7 +100,7 @@ class AppLogPage extends HookConsumerWidget {
minLeadingWidth: 10,
title: Text(
truncateLogMessage(logMessage.message, 4),
style: TextStyle(fontSize: 14.0, color: context.colorScheme.onSurface, fontFamily: "Inconsolata"),
style: TextStyle(fontSize: 14.0, color: context.colorScheme.onSurface, fontFamily: "GoogleSansCode"),
),
subtitle: Text(
"at ${DateFormat("HH:mm:ss.SSS").format(logMessage.createdAt)} in ${logMessage.logger}",
@@ -57,7 +57,7 @@ class AppLogDetailPage extends HookConsumerWidget {
padding: const EdgeInsets.all(8.0),
child: SelectableText(
text,
style: const TextStyle(fontSize: 12.0, fontWeight: FontWeight.bold, fontFamily: "Inconsolata"),
style: const TextStyle(fontSize: 12.0, fontWeight: FontWeight.bold, fontFamily: "GoogleSansCode"),
),
),
),
@@ -88,7 +88,7 @@ class AppLogDetailPage extends HookConsumerWidget {
padding: const EdgeInsets.all(8.0),
child: SelectableText(
logger.toString(),
style: const TextStyle(fontSize: 12.0, fontWeight: FontWeight.bold, fontFamily: "Inconsolata"),
style: const TextStyle(fontSize: 12.0, fontWeight: FontWeight.bold, fontFamily: "GoogleSansCode"),
),
),
),
@@ -234,7 +234,7 @@ class FolderPath extends StatelessWidget {
Text(
currentFolder.path,
style: TextStyle(
fontFamily: 'Inconsolata',
fontFamily: 'GoogleSansCode',
fontWeight: FontWeight.bold,
fontSize: 14,
color: context.colorScheme.onSurface.withAlpha(175),
+2 -2
View File
@@ -41,7 +41,7 @@ class LoginPage extends HookConsumerWidget {
style: TextStyle(
color: context.colorScheme.onSurfaceSecondary,
fontWeight: FontWeight.bold,
fontFamily: "Inconsolata",
fontFamily: "GoogleSansCode",
),
),
const Text(' '),
@@ -51,7 +51,7 @@ class LoginPage extends HookConsumerWidget {
style: TextStyle(
color: context.primaryColor,
fontWeight: FontWeight.bold,
fontFamily: "Inconsolata",
fontFamily: "GoogleSansCode",
),
),
onTap: () {
@@ -527,7 +527,9 @@ class _AssetViewerState extends ConsumerState<AssetViewer> {
void _onScaleStateChanged(PhotoViewScaleState scaleState) {
if (scaleState != PhotoViewScaleState.initial) {
ref.read(assetViewerProvider.notifier).setControls(false);
if (!dragInProgress) {
ref.read(assetViewerProvider.notifier).setControls(false);
}
ref.read(videoPlayerControlsProvider.notifier).pause();
return;
}
@@ -450,7 +450,7 @@ class _SegmentWidget extends StatelessWidget {
alignment: Alignment.center,
child: Text(
_segment.date.year.toString(),
style: context.textTheme.labelMedium?.copyWith(fontFamily: "OverpassMono", fontWeight: FontWeight.w600),
style: context.textTheme.labelMedium?.copyWith(fontFamily: "GoogleSansCode", fontWeight: FontWeight.w600),
),
),
),
+2 -2
View File
@@ -147,9 +147,9 @@ ImmichTheme decolorizeSurfaces({required ImmichTheme theme}) {
}
String? _getFontFamilyFromLocale(Locale locale) {
if (localesNotSupportedByOverpass.contains(locale)) {
if (localesNotSupportedByAppFont.contains(locale)) {
// Let Flutter use the default font
return null;
}
return 'Overpass';
return 'GoogleSans';
}
@@ -58,7 +58,7 @@ class AdvancedBottomSheet extends HookConsumerWidget {
style: const TextStyle(
fontSize: 12.0,
fontWeight: FontWeight.bold,
fontFamily: "Inconsolata",
fontFamily: "GoogleSansCode",
),
showCursor: true,
),
@@ -36,7 +36,7 @@ class BackupUploadProgressBar extends ConsumerWidget {
),
Text(
" ${uploadProgress.toStringAsFixed(0)}%",
style: const TextStyle(fontSize: 12, fontFamily: "OverpassMono"),
style: const TextStyle(fontSize: 12, fontFamily: "GoogleSansCode"),
),
],
),
+2 -2
View File
@@ -26,10 +26,10 @@ class BackupUploadStats extends ConsumerWidget {
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Text(uploadFileProgress, style: const TextStyle(fontSize: 10, fontFamily: "OverpassMono")),
Text(uploadFileProgress, style: const TextStyle(fontSize: 10, fontFamily: "GoogleSansCode")),
Text(
_formatUploadFileSpeed(uploadFileSpeed),
style: const TextStyle(fontSize: 10, fontFamily: "OverpassMono"),
style: const TextStyle(fontSize: 10, fontFamily: "GoogleSansCode"),
),
],
),
+1 -1
View File
@@ -43,7 +43,7 @@ class PinInput extends StatelessWidget {
final defaultPinTheme = PinTheme(
width: getPinSize().width,
height: getPinSize().height,
textStyle: TextStyle(fontSize: 24, color: context.colorScheme.onSurface, fontFamily: 'Overpass Mono'),
textStyle: TextStyle(fontSize: 24, color: context.colorScheme.onSurface, fontFamily: 'GoogleSansCode'),
decoration: BoxDecoration(
borderRadius: const BorderRadius.all(Radius.circular(19)),
border: Border.all(color: context.colorScheme.surfaceBright),
@@ -50,7 +50,7 @@ class EntityCountTile extends StatelessWidget {
const Spacer(),
RichText(
text: TextSpan(
style: const TextStyle(fontSize: 18, fontFamily: 'OverpassMono', fontWeight: FontWeight.w600),
style: const TextStyle(fontSize: 18, fontFamily: 'GoogleSansCode', fontWeight: FontWeight.w600),
children: [
TextSpan(
text: zeroPadding(count, maxDigits),
@@ -117,7 +117,7 @@ class EndpointInputState extends ConsumerState<EndpointInput> {
autovalidateMode: AutovalidateMode.onUserInteraction,
validator: validateUrl,
keyboardType: TextInputType.url,
style: const TextStyle(fontFamily: 'Inconsolata', fontWeight: FontWeight.w600, fontSize: 14),
style: const TextStyle(fontFamily: 'GoogleSansCode', fontWeight: FontWeight.w600, fontSize: 14),
decoration: InputDecoration(
hintText: 'http(s)://immich.domain.com',
contentPadding: const EdgeInsets.all(16),
@@ -155,7 +155,7 @@ class LocalNetworkPreference extends HookConsumerWidget {
style: context.textTheme.labelLarge?.copyWith(
fontWeight: FontWeight.bold,
color: enabled ? context.primaryColor : context.colorScheme.onSurface.withAlpha(100),
fontFamily: 'Inconsolata',
fontFamily: 'GoogleSansCode',
),
),
trailing: IconButton(
@@ -175,7 +175,7 @@ class LocalNetworkPreference extends HookConsumerWidget {
style: context.textTheme.labelLarge?.copyWith(
fontWeight: FontWeight.bold,
color: enabled ? context.primaryColor : context.colorScheme.onSurface.withAlpha(100),
fontFamily: 'Inconsolata',
fontFamily: 'GoogleSansCode',
),
),
trailing: IconButton(
@@ -110,7 +110,7 @@ class NetworkingSettings extends HookConsumerWidget {
currentEndpoint ?? "--",
style: TextStyle(
fontSize: 16,
fontFamily: 'Inconsolata',
fontFamily: 'GoogleSansCode',
fontWeight: FontWeight.bold,
color: context.primaryColor,
),
+13 -11
View File
@@ -127,24 +127,26 @@ flutter:
assets:
- assets/
fonts:
- family: Inconsolata
- family: GoogleSans
fonts:
- asset: fonts/Inconsolata-Regular.ttf
- family: Overpass
fonts:
- asset: fonts/overpass/Overpass-Regular.ttf
- asset: fonts/GoogleSans/GoogleSans-Regular.ttf
weight: 400
- asset: fonts/overpass/Overpass-Italic.ttf
- asset: fonts/GoogleSans/GoogleSans-Italic.ttf
style: italic
- asset: fonts/overpass/Overpass-Medium.ttf
- asset: fonts/GoogleSans/GoogleSans-Medium.ttf
weight: 500
- asset: fonts/overpass/Overpass-SemiBold.ttf
- asset: fonts/GoogleSans/GoogleSans-SemiBold.ttf
weight: 600
- asset: fonts/overpass/Overpass-Bold.ttf
- asset: fonts/GoogleSans/GoogleSans-Bold.ttf
weight: 700
- family: OverpassMono
- family: GoogleSansCode
fonts:
- asset: fonts/overpass/OverpassMono.ttf
- asset: fonts/GoogleSansCode/GoogleSansCode-Regular.ttf
weight: 400
- asset: fonts/GoogleSansCode/GoogleSansCode-Medium.ttf
weight: 500
- asset: fonts/GoogleSansCode/GoogleSansCode-SemiBold.ttf
weight: 600
flutter_launcher_icons:
image_path_android: 'assets/immich-logo.png'
adaptive_icon_background: '#ffffff'