mirror of
https://github.com/darkmoonight/Rain.git
synced 2025-06-28 20:19:58 +00:00
added uv-index, cloudcover, dynamic_color
This commit is contained in:
parent
16261dd7db
commit
c0e865e66e
13 changed files with 308 additions and 79 deletions
Binary file not shown.
Before Width: | Height: | Size: 35 KiB |
Binary file not shown.
Before Width: | Height: | Size: 29 KiB After Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 35 KiB After Width: | Height: | Size: 35 KiB |
|
@ -73,7 +73,7 @@ class WeatherAPI {
|
|||
|
||||
Future<Iterable<Result>> getSuggestions(String query, Locale? locale) async {
|
||||
final url =
|
||||
'https://geocoding-api.open-meteo.com/v1/search?name=$query&count=10&language=${locale?.languageCode}&format=json';
|
||||
'https://geocoding-api.open-meteo.com/v1/search?name=$query&count=5&language=${locale?.languageCode}&format=json';
|
||||
try {
|
||||
Response response = await dioLocation.get(url);
|
||||
if (response.statusCode == 200) {
|
||||
|
|
|
@ -9,6 +9,7 @@ class Settings {
|
|||
bool? theme;
|
||||
bool location = false;
|
||||
bool notifications = false;
|
||||
bool materialColor = false;
|
||||
String measurements = 'metric';
|
||||
String degrees = 'celsius';
|
||||
String timeformat = '24';
|
||||
|
|
|
@ -7,7 +7,7 @@ part of 'weather.dart';
|
|||
// **************************************************************************
|
||||
|
||||
// coverage:ignore-file
|
||||
// ignore_for_file: duplicate_ignore, non_constant_identifier_names, constant_identifier_names, invalid_use_of_protected_member, unnecessary_cast, prefer_const_constructors, lines_longer_than_80_chars, require_trailing_commas, inference_failure_on_function_invocation, unnecessary_parenthesis, unnecessary_raw_strings, unnecessary_null_checks, join_return_with_assignment, prefer_final_locals, avoid_js_rounded_ints, avoid_positional_boolean_parameters
|
||||
// ignore_for_file: duplicate_ignore, non_constant_identifier_names, constant_identifier_names, invalid_use_of_protected_member, unnecessary_cast, prefer_const_constructors, lines_longer_than_80_chars, require_trailing_commas, inference_failure_on_function_invocation, unnecessary_parenthesis, unnecessary_raw_strings, unnecessary_null_checks, join_return_with_assignment, prefer_final_locals, avoid_js_rounded_ints, avoid_positional_boolean_parameters, always_specify_types
|
||||
|
||||
extension GetSettingsCollection on Isar {
|
||||
IsarCollection<Settings> get settings => this.collection();
|
||||
|
@ -27,28 +27,33 @@ const SettingsSchema = CollectionSchema(
|
|||
name: r'location',
|
||||
type: IsarType.bool,
|
||||
),
|
||||
r'measurements': PropertySchema(
|
||||
r'materialColor': PropertySchema(
|
||||
id: 2,
|
||||
name: r'materialColor',
|
||||
type: IsarType.bool,
|
||||
),
|
||||
r'measurements': PropertySchema(
|
||||
id: 3,
|
||||
name: r'measurements',
|
||||
type: IsarType.string,
|
||||
),
|
||||
r'notifications': PropertySchema(
|
||||
id: 3,
|
||||
id: 4,
|
||||
name: r'notifications',
|
||||
type: IsarType.bool,
|
||||
),
|
||||
r'onboard': PropertySchema(
|
||||
id: 4,
|
||||
id: 5,
|
||||
name: r'onboard',
|
||||
type: IsarType.bool,
|
||||
),
|
||||
r'theme': PropertySchema(
|
||||
id: 5,
|
||||
id: 6,
|
||||
name: r'theme',
|
||||
type: IsarType.bool,
|
||||
),
|
||||
r'timeformat': PropertySchema(
|
||||
id: 6,
|
||||
id: 7,
|
||||
name: r'timeformat',
|
||||
type: IsarType.string,
|
||||
)
|
||||
|
@ -64,7 +69,7 @@ const SettingsSchema = CollectionSchema(
|
|||
getId: _settingsGetId,
|
||||
getLinks: _settingsGetLinks,
|
||||
attach: _settingsAttach,
|
||||
version: '3.0.5',
|
||||
version: '3.1.0',
|
||||
);
|
||||
|
||||
int _settingsEstimateSize(
|
||||
|
@ -87,11 +92,12 @@ void _settingsSerialize(
|
|||
) {
|
||||
writer.writeString(offsets[0], object.degrees);
|
||||
writer.writeBool(offsets[1], object.location);
|
||||
writer.writeString(offsets[2], object.measurements);
|
||||
writer.writeBool(offsets[3], object.notifications);
|
||||
writer.writeBool(offsets[4], object.onboard);
|
||||
writer.writeBool(offsets[5], object.theme);
|
||||
writer.writeString(offsets[6], object.timeformat);
|
||||
writer.writeBool(offsets[2], object.materialColor);
|
||||
writer.writeString(offsets[3], object.measurements);
|
||||
writer.writeBool(offsets[4], object.notifications);
|
||||
writer.writeBool(offsets[5], object.onboard);
|
||||
writer.writeBool(offsets[6], object.theme);
|
||||
writer.writeString(offsets[7], object.timeformat);
|
||||
}
|
||||
|
||||
Settings _settingsDeserialize(
|
||||
|
@ -104,11 +110,12 @@ Settings _settingsDeserialize(
|
|||
object.degrees = reader.readString(offsets[0]);
|
||||
object.id = id;
|
||||
object.location = reader.readBool(offsets[1]);
|
||||
object.measurements = reader.readString(offsets[2]);
|
||||
object.notifications = reader.readBool(offsets[3]);
|
||||
object.onboard = reader.readBool(offsets[4]);
|
||||
object.theme = reader.readBoolOrNull(offsets[5]);
|
||||
object.timeformat = reader.readString(offsets[6]);
|
||||
object.materialColor = reader.readBool(offsets[2]);
|
||||
object.measurements = reader.readString(offsets[3]);
|
||||
object.notifications = reader.readBool(offsets[4]);
|
||||
object.onboard = reader.readBool(offsets[5]);
|
||||
object.theme = reader.readBoolOrNull(offsets[6]);
|
||||
object.timeformat = reader.readString(offsets[7]);
|
||||
return object;
|
||||
}
|
||||
|
||||
|
@ -124,14 +131,16 @@ P _settingsDeserializeProp<P>(
|
|||
case 1:
|
||||
return (reader.readBool(offset)) as P;
|
||||
case 2:
|
||||
return (reader.readString(offset)) as P;
|
||||
case 3:
|
||||
return (reader.readBool(offset)) as P;
|
||||
case 3:
|
||||
return (reader.readString(offset)) as P;
|
||||
case 4:
|
||||
return (reader.readBool(offset)) as P;
|
||||
case 5:
|
||||
return (reader.readBoolOrNull(offset)) as P;
|
||||
return (reader.readBool(offset)) as P;
|
||||
case 6:
|
||||
return (reader.readBoolOrNull(offset)) as P;
|
||||
case 7:
|
||||
return (reader.readString(offset)) as P;
|
||||
default:
|
||||
throw IsarError('Unknown property with id $propertyId');
|
||||
|
@ -419,6 +428,16 @@ extension SettingsQueryFilter
|
|||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Settings, Settings, QAfterFilterCondition> materialColorEqualTo(
|
||||
bool value) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(FilterCondition.equalTo(
|
||||
property: r'materialColor',
|
||||
value: value,
|
||||
));
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Settings, Settings, QAfterFilterCondition> measurementsEqualTo(
|
||||
String value, {
|
||||
bool caseSensitive = true,
|
||||
|
@ -762,6 +781,18 @@ extension SettingsQuerySortBy on QueryBuilder<Settings, Settings, QSortBy> {
|
|||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Settings, Settings, QAfterSortBy> sortByMaterialColor() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addSortBy(r'materialColor', Sort.asc);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Settings, Settings, QAfterSortBy> sortByMaterialColorDesc() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addSortBy(r'materialColor', Sort.desc);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Settings, Settings, QAfterSortBy> sortByMeasurements() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addSortBy(r'measurements', Sort.asc);
|
||||
|
@ -861,6 +892,18 @@ extension SettingsQuerySortThenBy
|
|||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Settings, Settings, QAfterSortBy> thenByMaterialColor() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addSortBy(r'materialColor', Sort.asc);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Settings, Settings, QAfterSortBy> thenByMaterialColorDesc() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addSortBy(r'materialColor', Sort.desc);
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Settings, Settings, QAfterSortBy> thenByMeasurements() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addSortBy(r'measurements', Sort.asc);
|
||||
|
@ -937,6 +980,12 @@ extension SettingsQueryWhereDistinct
|
|||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Settings, Settings, QDistinct> distinctByMaterialColor() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addDistinctBy(r'materialColor');
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Settings, Settings, QDistinct> distinctByMeasurements(
|
||||
{bool caseSensitive = true}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
|
@ -990,6 +1039,12 @@ extension SettingsQueryProperty
|
|||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Settings, bool, QQueryOperations> materialColorProperty() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addPropertyName(r'materialColor');
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<Settings, String, QQueryOperations> measurementsProperty() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addPropertyName(r'measurements');
|
||||
|
@ -1022,7 +1077,7 @@ extension SettingsQueryProperty
|
|||
}
|
||||
|
||||
// coverage:ignore-file
|
||||
// ignore_for_file: duplicate_ignore, non_constant_identifier_names, constant_identifier_names, invalid_use_of_protected_member, unnecessary_cast, prefer_const_constructors, lines_longer_than_80_chars, require_trailing_commas, inference_failure_on_function_invocation, unnecessary_parenthesis, unnecessary_raw_strings, unnecessary_null_checks, join_return_with_assignment, prefer_final_locals, avoid_js_rounded_ints, avoid_positional_boolean_parameters
|
||||
// ignore_for_file: duplicate_ignore, non_constant_identifier_names, constant_identifier_names, invalid_use_of_protected_member, unnecessary_cast, prefer_const_constructors, lines_longer_than_80_chars, require_trailing_commas, inference_failure_on_function_invocation, unnecessary_parenthesis, unnecessary_raw_strings, unnecessary_null_checks, join_return_with_assignment, prefer_final_locals, avoid_js_rounded_ints, avoid_positional_boolean_parameters, always_specify_types
|
||||
|
||||
extension GetMainWeatherCacheCollection on Isar {
|
||||
IsarCollection<MainWeatherCache> get mainWeatherCaches => this.collection();
|
||||
|
@ -1154,7 +1209,7 @@ const MainWeatherCacheSchema = CollectionSchema(
|
|||
getId: _mainWeatherCacheGetId,
|
||||
getLinks: _mainWeatherCacheGetLinks,
|
||||
attach: _mainWeatherCacheAttach,
|
||||
version: '3.0.5',
|
||||
version: '3.1.0',
|
||||
);
|
||||
|
||||
int _mainWeatherCacheEstimateSize(
|
||||
|
@ -5818,7 +5873,7 @@ extension MainWeatherCacheQueryProperty
|
|||
}
|
||||
|
||||
// coverage:ignore-file
|
||||
// ignore_for_file: duplicate_ignore, non_constant_identifier_names, constant_identifier_names, invalid_use_of_protected_member, unnecessary_cast, prefer_const_constructors, lines_longer_than_80_chars, require_trailing_commas, inference_failure_on_function_invocation, unnecessary_parenthesis, unnecessary_raw_strings, unnecessary_null_checks, join_return_with_assignment, prefer_final_locals, avoid_js_rounded_ints, avoid_positional_boolean_parameters
|
||||
// ignore_for_file: duplicate_ignore, non_constant_identifier_names, constant_identifier_names, invalid_use_of_protected_member, unnecessary_cast, prefer_const_constructors, lines_longer_than_80_chars, require_trailing_commas, inference_failure_on_function_invocation, unnecessary_parenthesis, unnecessary_raw_strings, unnecessary_null_checks, join_return_with_assignment, prefer_final_locals, avoid_js_rounded_ints, avoid_positional_boolean_parameters, always_specify_types
|
||||
|
||||
extension GetLocationCacheCollection on Isar {
|
||||
IsarCollection<LocationCache> get locationCaches => this.collection();
|
||||
|
@ -5860,7 +5915,7 @@ const LocationCacheSchema = CollectionSchema(
|
|||
getId: _locationCacheGetId,
|
||||
getLinks: _locationCacheGetLinks,
|
||||
attach: _locationCacheAttach,
|
||||
version: '3.0.5',
|
||||
version: '3.1.0',
|
||||
);
|
||||
|
||||
int _locationCacheEstimateSize(
|
||||
|
@ -6737,7 +6792,7 @@ extension LocationCacheQueryProperty
|
|||
}
|
||||
|
||||
// coverage:ignore-file
|
||||
// ignore_for_file: duplicate_ignore, non_constant_identifier_names, constant_identifier_names, invalid_use_of_protected_member, unnecessary_cast, prefer_const_constructors, lines_longer_than_80_chars, require_trailing_commas, inference_failure_on_function_invocation, unnecessary_parenthesis, unnecessary_raw_strings, unnecessary_null_checks, join_return_with_assignment, prefer_final_locals, avoid_js_rounded_ints, avoid_positional_boolean_parameters
|
||||
// ignore_for_file: duplicate_ignore, non_constant_identifier_names, constant_identifier_names, invalid_use_of_protected_member, unnecessary_cast, prefer_const_constructors, lines_longer_than_80_chars, require_trailing_commas, inference_failure_on_function_invocation, unnecessary_parenthesis, unnecessary_raw_strings, unnecessary_null_checks, join_return_with_assignment, prefer_final_locals, avoid_js_rounded_ints, avoid_positional_boolean_parameters, always_specify_types
|
||||
|
||||
extension GetWeatherCardCollection on Isar {
|
||||
IsarCollection<WeatherCard> get weatherCards => this.collection();
|
||||
|
@ -6889,7 +6944,7 @@ const WeatherCardSchema = CollectionSchema(
|
|||
getId: _weatherCardGetId,
|
||||
getLinks: _weatherCardGetLinks,
|
||||
attach: _weatherCardAttach,
|
||||
version: '3.0.5',
|
||||
version: '3.1.0',
|
||||
);
|
||||
|
||||
int _weatherCardEstimateSize(
|
||||
|
|
|
@ -43,6 +43,23 @@ class _SettingsPageState extends State<SettingsPage> {
|
|||
),
|
||||
// SettingLinks(
|
||||
// icon: Icon(
|
||||
// Iconsax.colorfilter,
|
||||
// color: context.theme.iconTheme.color,
|
||||
// ),
|
||||
// text: 'materialColor'.tr,
|
||||
// switcher: true,
|
||||
// dropdown: false,
|
||||
// value: settings.materialColor,
|
||||
// onChange: (value) {
|
||||
// isar.writeTxn(() async {
|
||||
// settings.materialColor = value;
|
||||
// isar.settings.put(settings);
|
||||
// });
|
||||
// setState(() {});
|
||||
// },
|
||||
// ),
|
||||
// SettingLinks(
|
||||
// icon: Icon(
|
||||
// Iconsax.notification,
|
||||
// color: context.theme.iconTheme.color,
|
||||
// ),
|
||||
|
|
|
@ -268,11 +268,61 @@ class _WeatherPageState extends State<WeatherPage> {
|
|||
),
|
||||
],
|
||||
),
|
||||
const SizedBox(height: 5),
|
||||
Row(
|
||||
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
|
||||
children: [
|
||||
DescWeather(
|
||||
imageName: 'assets/images/cloudy.png',
|
||||
value:
|
||||
'${locationController.mainWeather.cloudcover![locationController.hourOfDay.value]}%',
|
||||
desc: 'cloudcover'.tr,
|
||||
),
|
||||
DescWeather(
|
||||
imageName: 'assets/images/uv-index.png',
|
||||
value:
|
||||
'${locationController.mainWeather.uvIndex![locationController.hourOfDay.value].round()}',
|
||||
desc: 'uvIndex'.tr,
|
||||
message: locationController
|
||||
.mainWeather
|
||||
.uvIndex![locationController
|
||||
.hourOfDay.value]
|
||||
.round() <
|
||||
3
|
||||
? 'uvLow'.tr
|
||||
: locationController
|
||||
.mainWeather
|
||||
.uvIndex![locationController
|
||||
.hourOfDay.value]
|
||||
.round() <
|
||||
6
|
||||
? 'uvAverage'.tr
|
||||
: locationController
|
||||
.mainWeather
|
||||
.uvIndex![
|
||||
locationController
|
||||
.hourOfDay.value]
|
||||
.round() <
|
||||
8
|
||||
? 'uvHigh'.tr
|
||||
: locationController
|
||||
.mainWeather
|
||||
.uvIndex![
|
||||
locationController
|
||||
.hourOfDay
|
||||
.value]
|
||||
.round() <
|
||||
11
|
||||
? 'uvVeryHigh'.tr
|
||||
: 'uvExtreme'.tr,
|
||||
),
|
||||
],
|
||||
),
|
||||
],
|
||||
),
|
||||
)
|
||||
: const MyShimmer(
|
||||
hight: 350,
|
||||
hight: 400,
|
||||
edgeInsetsMargin: EdgeInsets.only(bottom: 15),
|
||||
),
|
||||
),
|
||||
|
|
|
@ -266,6 +266,40 @@ class _WeatherCardPageState extends State<WeatherCardPage> {
|
|||
),
|
||||
],
|
||||
),
|
||||
const SizedBox(height: 5),
|
||||
Row(
|
||||
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
|
||||
children: [
|
||||
DescWeather(
|
||||
imageName: 'assets/images/cloudy.png',
|
||||
value:
|
||||
'${widget.weatherCard.cloudcover![timeNow]}%',
|
||||
desc: 'cloudcover'.tr,
|
||||
),
|
||||
DescWeather(
|
||||
imageName: 'assets/images/uv-index.png',
|
||||
value:
|
||||
'${widget.weatherCard.uvIndex![timeNow].round()}',
|
||||
desc: 'uvIndex'.tr,
|
||||
message: widget.weatherCard.uvIndex![timeNow]
|
||||
.round() <
|
||||
3
|
||||
? 'uvLow'.tr
|
||||
: widget.weatherCard.uvIndex![timeNow].round() <
|
||||
6
|
||||
? 'uvAverage'.tr
|
||||
: widget.weatherCard.uvIndex![timeNow]
|
||||
.round() <
|
||||
8
|
||||
? 'uvHigh'.tr
|
||||
: widget.weatherCard.uvIndex![timeNow]
|
||||
.round() <
|
||||
11
|
||||
? 'uvVeryHigh'.tr
|
||||
: 'uvExtreme'.tr,
|
||||
),
|
||||
],
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
import 'package:connectivity_plus/connectivity_plus.dart';
|
||||
import 'package:dynamic_color/dynamic_color.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_displaymode/flutter_displaymode.dart';
|
||||
import 'package:flutter_localizations/flutter_localizations.dart';
|
||||
|
@ -70,6 +71,8 @@ class MyApp extends StatelessWidget {
|
|||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return DynamicColorBuilder(
|
||||
builder: (lightColorScheme, darkColorScheme) {
|
||||
return GetMaterialApp(
|
||||
themeMode: themeController.theme,
|
||||
theme: RainTheme.lightTheme,
|
||||
|
@ -101,8 +104,11 @@ class MyApp extends StatelessWidget {
|
|||
return supportedLocales.first;
|
||||
},
|
||||
debugShowCheckedModeBanner: false,
|
||||
home:
|
||||
settings.onboard == false ? const OnboardingPage() : const HomePage(),
|
||||
home: settings.onboard == false
|
||||
? const OnboardingPage()
|
||||
: const HomePage(),
|
||||
);
|
||||
},
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -82,6 +82,14 @@ class Translation extends Translations {
|
|||
'timeformat': 'Формат времени',
|
||||
'12': '12-часовой',
|
||||
'24': '24-часовой',
|
||||
'cloudcover': 'Облачный покров',
|
||||
'uvIndex': 'УФ-индекс',
|
||||
'materialColor': 'Использовать системный цвет (Android 12+)',
|
||||
'uvLow': 'Низкий',
|
||||
'uvAverage': 'Умеренный',
|
||||
'uvHigh': 'Высокий',
|
||||
'uvVeryHigh': 'Очень высокий',
|
||||
'uvExtreme': 'Экстремальный',
|
||||
},
|
||||
'en_US': {
|
||||
'start': 'Get Started',
|
||||
|
@ -162,6 +170,14 @@ class Translation extends Translations {
|
|||
'timeformat': 'Time format',
|
||||
'12': '12-hour',
|
||||
'24': '24-hour',
|
||||
'cloudcover': 'Сloudcover',
|
||||
'uvIndex': 'UV-index',
|
||||
'materialColor': 'Use system color (Android 12+)',
|
||||
'uvLow': 'Low',
|
||||
'uvAverage': 'Moderate',
|
||||
'uvHigh': 'High',
|
||||
'uvVeryHigh': 'Very high',
|
||||
'uvExtreme': 'Extreme',
|
||||
},
|
||||
'fr_FR': {
|
||||
'start': 'Démarrer',
|
||||
|
@ -243,6 +259,14 @@ class Translation extends Translations {
|
|||
'timeformat': 'Format horaire',
|
||||
'12': '12 heures',
|
||||
'24': '24 heures',
|
||||
'cloudcover': 'Сouverture nuageuse',
|
||||
'uvIndex': 'UV-indice',
|
||||
'materialColor': 'Utiliser la couleur du système (Android 12+)',
|
||||
'uvLow': 'Faible',
|
||||
'uvAverage': 'Modéré',
|
||||
'uvHigh': 'Élevé',
|
||||
'uvVeryHigh': 'Très élevé',
|
||||
'uvExtreme': 'Extrême',
|
||||
},
|
||||
'it_IT': {
|
||||
'start': 'Clicca per iniziare',
|
||||
|
@ -302,7 +326,8 @@ class Translation extends Translations {
|
|||
'district': 'Regione',
|
||||
'noWeatherCard': 'Aggiungi una città',
|
||||
'deletedCardWeather': 'Rimozione della città',
|
||||
'deletedCardWeatherQuery': 'Sei sicuro di voler rimuovere questa città?',
|
||||
'deletedCardWeatherQuery':
|
||||
'Sei sicuro di voler rimuovere questa città?',
|
||||
'delete': 'Elimina',
|
||||
'cancel': 'Annulla',
|
||||
'time': 'Orario locale',
|
||||
|
@ -323,6 +348,14 @@ class Translation extends Translations {
|
|||
'timeformat': 'Formato ora',
|
||||
'12': '12 ore',
|
||||
'24': '24 ore',
|
||||
'cloudcover': 'Copertura nuvolosa',
|
||||
'uvIndex': 'UV-indice',
|
||||
'materialColor': 'Usare il colore di sistema (Android 12+)',
|
||||
'uvLow': 'Basso',
|
||||
'uvAverage': 'Moderato',
|
||||
'uvHigh': 'Alto',
|
||||
'uvVeryHigh': 'Molto alto',
|
||||
'uvExtreme': 'Estremo',
|
||||
},
|
||||
'de_DE': {
|
||||
'start': 'Los gehts',
|
||||
|
@ -404,6 +437,14 @@ class Translation extends Translations {
|
|||
'timeformat': 'Zeitformat',
|
||||
'12': '12-stunden',
|
||||
'24': '24-stunden',
|
||||
'cloudcover': 'Wolkenbedeckung',
|
||||
'uvIndex': 'UV-index',
|
||||
'materialColor': 'Systemfarbe verwenden (Android 12+)',
|
||||
'uvLow': 'Niedrig',
|
||||
'uvAverage': 'Mäßig',
|
||||
'uvHigh': 'Hoch',
|
||||
'uvVeryHigh': 'Sehr hoch',
|
||||
'uvExtreme': 'Extrem',
|
||||
},
|
||||
'tr_TR': {
|
||||
'start': 'Başlat',
|
||||
|
@ -484,6 +525,14 @@ class Translation extends Translations {
|
|||
'timeformat': 'Saat biçimi',
|
||||
'12': '12 saat',
|
||||
'24': '24 saat',
|
||||
'cloudcover': 'Bulut örtüsü',
|
||||
'uvIndex': 'UV-indeksi',
|
||||
'materialColor': 'Sistem rengini kullan (Android 12+)',
|
||||
'uvLow': 'Düşük',
|
||||
'uvAverage': 'Orta',
|
||||
'uvHigh': 'Yüksek',
|
||||
'uvVeryHigh': 'Çok yüksek',
|
||||
'uvExtreme': 'Aşırı',
|
||||
},
|
||||
'pt_BR': {
|
||||
'start': 'Iniciar',
|
||||
|
@ -564,6 +613,14 @@ class Translation extends Translations {
|
|||
'timeformat': 'Formato de hora',
|
||||
'12': '12 horas',
|
||||
'24': '24 horas',
|
||||
'cloudcover': 'Сobertura de nuvens',
|
||||
'uvIndex': 'UV-índice',
|
||||
'materialColor': 'Usar cor do sistema (Android 12+)',
|
||||
'uvLow': 'Baixo',
|
||||
'uvAverage': 'Moderado',
|
||||
'uvHigh': 'Alto',
|
||||
'uvVeryHigh': 'Muito alto',
|
||||
'uvExtreme': 'Extremo',
|
||||
},
|
||||
'es_ES': {
|
||||
'start': 'Empezar',
|
||||
|
@ -601,7 +658,8 @@ class Translation extends Translations {
|
|||
'hPa': 'hPa',
|
||||
'settings': 'Ajustes',
|
||||
'no_inter': 'Sin conexión a Internet',
|
||||
'on_inter': 'Conéctate a Internet para obtener información meteorológica.',
|
||||
'on_inter':
|
||||
'Conéctate a Internet para obtener información meteorológica.',
|
||||
'location': 'Ubicación',
|
||||
'no_location':
|
||||
'Activa la localización para obtener información meteorológica para tu ubicación actual.',
|
||||
|
@ -644,6 +702,14 @@ class Translation extends Translations {
|
|||
'timeformat': 'Formato de hora',
|
||||
'12': '12 horas',
|
||||
'24': '24 horas',
|
||||
'cloudcover': 'Cobertura de nubes',
|
||||
'uvIndex': 'UV-índice',
|
||||
'materialColor': 'Usar color del sistema (Android 12+)',
|
||||
'uvLow': 'Bajo',
|
||||
'uvAverage': 'Moderado',
|
||||
'uvHigh': 'Alto',
|
||||
'uvVeryHigh': 'Muy alto',
|
||||
'uvExtreme': 'Extremo',
|
||||
},
|
||||
};
|
||||
}
|
||||
|
|
24
pubspec.lock
24
pubspec.lock
|
@ -133,10 +133,10 @@ packages:
|
|||
dependency: transitive
|
||||
description:
|
||||
name: cli_util
|
||||
sha256: "66f86e916d285c1a93d3b79587d94bd71984a66aac4ff74e524cfa7877f1395c"
|
||||
sha256: b8db3080e59b2503ca9e7922c3df2072cf13992354d5e944074ffa836fba43b7
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.3.5"
|
||||
version: "0.4.0"
|
||||
clock:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -298,18 +298,18 @@ packages:
|
|||
dependency: "direct main"
|
||||
description:
|
||||
name: flutter_glow
|
||||
sha256: b69b6306f87b496d34da7f0b88b41b324cb75255516f1f6913321e463eb66b31
|
||||
sha256: "158f041ddbc18f199dcfd9375d40b983a2bf887752598cdf7b41ac6ff36362bf"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.2.0"
|
||||
version: "0.3.0"
|
||||
flutter_launcher_icons:
|
||||
dependency: "direct dev"
|
||||
description:
|
||||
name: flutter_launcher_icons
|
||||
sha256: "02dcaf49d405f652b7160e882bacfc02cb497041bb2eab2a49b1c393cf9aac12"
|
||||
sha256: "8546a9b9510e1a260b8d55fb2d07096e8a8552c6a2c2bf529100344894b2b41a"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.12.0"
|
||||
version: "0.13.0"
|
||||
flutter_lints:
|
||||
dependency: "direct dev"
|
||||
description:
|
||||
|
@ -529,26 +529,26 @@ packages:
|
|||
dependency: "direct main"
|
||||
description:
|
||||
name: isar
|
||||
sha256: "5be35dbc489880fccc535da3d1c4b3f5fdeee6ebfcacd4b149e39e803c4029cd"
|
||||
sha256: aef9b9dd6ea4f5fca1f6fdc38e76010e4762cdb1400169d99a0b42e8f71e4f8a
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "3.0.5"
|
||||
version: "3.1.0"
|
||||
isar_flutter_libs:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: isar_flutter_libs
|
||||
sha256: "9794524734856a8a3629652f9f359b66e3fea3cebeec4dbdeb3e3a8fb253073e"
|
||||
sha256: "8dcfb6889e68d9f0ad9980d77b3903782811645d848786e6ea6518ea6058e45d"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "3.0.5"
|
||||
version: "3.1.0"
|
||||
isar_generator:
|
||||
dependency: "direct dev"
|
||||
description:
|
||||
name: isar_generator
|
||||
sha256: ee4ab5d5b251bc7e86e1257793b57af100065831f00f3a12404b177ae53c2d69
|
||||
sha256: "3813ddc78bff4d8328a5026a1c7af80a8c688719bf6fba6ec4b56f8772c5b8bf"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "3.0.5"
|
||||
version: "3.1.0"
|
||||
js:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
|
10
pubspec.yaml
10
pubspec.yaml
|
@ -15,20 +15,20 @@ dependencies:
|
|||
sdk: flutter
|
||||
get: ^4.6.5
|
||||
dio: ^5.1.1
|
||||
isar: ^3.0.5
|
||||
isar: ^3.1.0
|
||||
intl: ^0.17.0
|
||||
shimmer: ^2.0.0
|
||||
iconsax: ^0.0.8
|
||||
timezone: ^0.9.1
|
||||
geocoding: ^2.1.0
|
||||
geolocator: ^9.0.2
|
||||
flutter_glow: ^0.2.0
|
||||
flutter_glow: ^0.3.0
|
||||
url_launcher: ^6.1.10
|
||||
dynamic_color: ^1.6.3
|
||||
path_provider: ^2.0.14
|
||||
package_info_plus: ^3.1.0
|
||||
connectivity_plus: ^3.0.4
|
||||
isar_flutter_libs: ^3.0.5
|
||||
isar_flutter_libs: ^3.1.0
|
||||
flutter_displaymode: ^0.5.0
|
||||
lat_lng_to_timezone: ^0.2.0
|
||||
custom_navigation_bar: ^0.8.2
|
||||
|
@ -40,9 +40,9 @@ dev_dependencies:
|
|||
sdk: flutter
|
||||
flutter_lints: ^2.0.1
|
||||
build_runner: ^2.3.3
|
||||
isar_generator: ^3.0.5
|
||||
isar_generator: ^3.1.0
|
||||
flutter_native_splash: ^2.2.19
|
||||
flutter_launcher_icons: ^0.12.0
|
||||
flutter_launcher_icons: ^0.13.0
|
||||
|
||||
flutter_icons:
|
||||
android: true
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue