This commit is contained in:
Yoshi 2024-08-12 21:03:35 +03:00
parent b2e843c5d9
commit 6c7da7b28d
16 changed files with 380 additions and 129 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

View file

@ -1,6 +1,6 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
import 'package:iconsax/iconsax.dart'; import 'package:iconsax_plus/iconsax_plus.dart';
import 'package:rain/app/controller/controller.dart'; import 'package:rain/app/controller/controller.dart';
import 'package:rain/app/data/weather.dart'; import 'package:rain/app/data/weather.dart';
import 'package:rain/app/widgets/daily/weather_daily.dart'; import 'package:rain/app/widgets/daily/weather_daily.dart';
@ -67,7 +67,7 @@ class _InfoWeatherCardState extends State<InfoWeatherCard> {
leading: IconButton( leading: IconButton(
onPressed: () => Get.back(), onPressed: () => Get.back(),
icon: const Icon( icon: const Icon(
Iconsax.arrow_left_1, IconsaxPlusLinear.arrow_left_3,
size: 20, size: 20,
), ),
), ),

View file

@ -1,6 +1,6 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
import 'package:iconsax/iconsax.dart'; import 'package:iconsax_plus/iconsax_plus.dart';
import 'package:rain/app/controller/controller.dart'; import 'package:rain/app/controller/controller.dart';
import 'package:rain/app/modules/cards/widgets/weather_card_list.dart'; import 'package:rain/app/modules/cards/widgets/weather_card_list.dart';
import 'package:rain/app/widgets/text_form.dart'; import 'package:rain/app/widgets/text_form.dart';
@ -66,7 +66,7 @@ class _ListWeatherCardState extends State<ListWeatherCard> {
labelText: 'search'.tr, labelText: 'search'.tr,
type: TextInputType.text, type: TextInputType.text,
icon: const Icon( icon: const Icon(
Iconsax.search_normal_1, IconsaxPlusLinear.search_normal_1,
size: 20, size: 20,
), ),
controller: searchTasks, controller: searchTasks,
@ -80,7 +80,7 @@ class _ListWeatherCardState extends State<ListWeatherCard> {
applyFilter(''); applyFilter('');
}, },
icon: const Icon( icon: const Icon(
Iconsax.close_circle, IconsaxPlusLinear.close_circle,
color: Colors.grey, color: Colors.grey,
size: 20, size: 20,
), ),

View file

@ -1,6 +1,6 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
import 'package:iconsax/iconsax.dart'; import 'package:iconsax_plus/iconsax_plus.dart';
import 'package:rain/app/api/api.dart'; import 'package:rain/app/api/api.dart';
import 'package:rain/app/api/city_api.dart'; import 'package:rain/app/api/city_api.dart';
import 'package:rain/app/controller/controller.dart'; import 'package:rain/app/controller/controller.dart';
@ -120,7 +120,7 @@ class _CreateWeatherCardState extends State<CreateWeatherCard>
elevation: kTextFieldElevation, elevation: kTextFieldElevation,
labelText: 'search'.tr, labelText: 'search'.tr,
type: TextInputType.text, type: TextInputType.text,
icon: const Icon(Iconsax.global_search), icon: const Icon(IconsaxPlusLinear.global_search),
controller: _controller, controller: _controller,
margin: const EdgeInsets.only( margin: const EdgeInsets.only(
left: 10, right: 10, top: 10), left: 10, right: 10, top: 10),
@ -176,7 +176,7 @@ class _CreateWeatherCardState extends State<CreateWeatherCard>
controller: _controllerLat, controller: _controllerLat,
labelText: 'lat'.tr, labelText: 'lat'.tr,
type: TextInputType.number, type: TextInputType.number,
icon: const Icon(Iconsax.location), icon: const Icon(IconsaxPlusLinear.location),
onChanged: (value) => setState(() {}), onChanged: (value) => setState(() {}),
margin: margin:
const EdgeInsets.only(left: 10, right: 10, top: 10), const EdgeInsets.only(left: 10, right: 10, top: 10),
@ -199,7 +199,7 @@ class _CreateWeatherCardState extends State<CreateWeatherCard>
controller: _controllerLon, controller: _controllerLon,
labelText: 'lon'.tr, labelText: 'lon'.tr,
type: TextInputType.number, type: TextInputType.number,
icon: const Icon(Iconsax.location), icon: const Icon(IconsaxPlusLinear.location),
onChanged: (value) => setState(() {}), onChanged: (value) => setState(() {}),
margin: margin:
const EdgeInsets.only(left: 10, right: 10, top: 10), const EdgeInsets.only(left: 10, right: 10, top: 10),
@ -222,7 +222,7 @@ class _CreateWeatherCardState extends State<CreateWeatherCard>
controller: _controllerCity, controller: _controllerCity,
labelText: 'city'.tr, labelText: 'city'.tr,
type: TextInputType.name, type: TextInputType.name,
icon: const Icon(Icons.location_city_rounded), icon: const Icon(IconsaxPlusLinear.building_3),
onChanged: (value) => setState(() {}), onChanged: (value) => setState(() {}),
margin: margin:
const EdgeInsets.only(left: 10, right: 10, top: 10), const EdgeInsets.only(left: 10, right: 10, top: 10),
@ -238,7 +238,7 @@ class _CreateWeatherCardState extends State<CreateWeatherCard>
controller: _controllerDistrict, controller: _controllerDistrict,
labelText: 'district'.tr, labelText: 'district'.tr,
type: TextInputType.streetAddress, type: TextInputType.streetAddress,
icon: const Icon(Iconsax.global), icon: const Icon(IconsaxPlusLinear.global),
onChanged: (value) => setState(() {}), onChanged: (value) => setState(() {}),
margin: margin:
const EdgeInsets.only(left: 10, right: 10, top: 10), const EdgeInsets.only(left: 10, right: 10, top: 10),

View file

@ -1,6 +1,6 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
import 'package:iconsax/iconsax.dart'; import 'package:iconsax_plus/iconsax_plus.dart';
import 'package:rain/app/controller/controller.dart'; import 'package:rain/app/controller/controller.dart';
import 'package:rain/app/modules/cards/view/info_weather_card.dart'; import 'package:rain/app/modules/cards/view/info_weather_card.dart';
import 'package:rain/app/modules/cards/widgets/weather_card_container.dart'; import 'package:rain/app/modules/cards/widgets/weather_card_container.dart';
@ -43,7 +43,7 @@ class _WeatherCardListState extends State<WeatherCardList> {
child: const Padding( child: const Padding(
padding: EdgeInsets.only(right: 15), padding: EdgeInsets.only(right: 15),
child: Icon( child: Icon(
Iconsax.trush_square, IconsaxPlusLinear.trash_square,
color: Colors.red, color: Colors.red,
), ),
), ),

View file

@ -3,7 +3,7 @@ import 'package:flutter/material.dart';
import 'package:gap/gap.dart'; import 'package:gap/gap.dart';
import 'package:geolocator/geolocator.dart'; import 'package:geolocator/geolocator.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
import 'package:iconsax/iconsax.dart'; import 'package:iconsax_plus/iconsax_plus.dart';
import 'package:rain/app/api/api.dart'; import 'package:rain/app/api/api.dart';
import 'package:rain/app/api/city_api.dart'; import 'package:rain/app/api/city_api.dart';
import 'package:rain/app/controller/controller.dart'; import 'package:rain/app/controller/controller.dart';
@ -75,7 +75,7 @@ class _SelectGeolocationState extends State<SelectGeolocation> {
Get.back(); Get.back();
}, },
icon: const Icon( icon: const Icon(
Iconsax.arrow_left_1, IconsaxPlusLinear.arrow_left_3,
size: 20, size: 20,
), ),
splashColor: Colors.transparent, splashColor: Colors.transparent,
@ -132,8 +132,8 @@ class _SelectGeolocationState extends State<SelectGeolocation> {
elevation: kTextFieldElevation, elevation: kTextFieldElevation,
labelText: 'search'.tr, labelText: 'search'.tr,
type: TextInputType.text, type: TextInputType.text,
icon: const Icon( icon: const Icon(IconsaxPlusLinear
Iconsax.global_search), .global_search),
controller: _controller, controller: _controller,
margin: const EdgeInsets.only( margin: const EdgeInsets.only(
left: 10, right: 10, top: 10), left: 10, right: 10, top: 10),
@ -276,7 +276,7 @@ class _SelectGeolocationState extends State<SelectGeolocation> {
setState(() => isLoading = false); setState(() => isLoading = false);
}, },
icon: const Icon( icon: const Icon(
Iconsax.location, IconsaxPlusLinear.location,
), ),
), ),
), ),
@ -288,7 +288,7 @@ class _SelectGeolocationState extends State<SelectGeolocation> {
controller: _controllerLat, controller: _controllerLat,
labelText: 'lat'.tr, labelText: 'lat'.tr,
type: TextInputType.number, type: TextInputType.number,
icon: const Icon(Iconsax.location), icon: const Icon(IconsaxPlusLinear.location),
margin: const EdgeInsets.only( margin: const EdgeInsets.only(
left: 10, left: 10,
right: 10, right: 10,
@ -315,7 +315,7 @@ class _SelectGeolocationState extends State<SelectGeolocation> {
controller: _controllerLon, controller: _controllerLon,
labelText: 'lon'.tr, labelText: 'lon'.tr,
type: TextInputType.number, type: TextInputType.number,
icon: const Icon(Iconsax.location), icon: const Icon(IconsaxPlusLinear.location),
margin: const EdgeInsets.only( margin: const EdgeInsets.only(
left: 10, left: 10,
right: 10, right: 10,
@ -342,7 +342,8 @@ class _SelectGeolocationState extends State<SelectGeolocation> {
controller: _controllerCity, controller: _controllerCity,
labelText: 'city'.tr, labelText: 'city'.tr,
type: TextInputType.name, type: TextInputType.name,
icon: const Icon(Icons.location_city_rounded), icon:
const Icon(IconsaxPlusLinear.building_3),
margin: const EdgeInsets.only( margin: const EdgeInsets.only(
left: 10, right: 10, top: 10), left: 10, right: 10, top: 10),
validator: (value) { validator: (value) {
@ -357,7 +358,7 @@ class _SelectGeolocationState extends State<SelectGeolocation> {
controller: _controllerDistrict, controller: _controllerDistrict,
labelText: 'district'.tr, labelText: 'district'.tr,
type: TextInputType.streetAddress, type: TextInputType.streetAddress,
icon: const Icon(Iconsax.global), icon: const Icon(IconsaxPlusLinear.global),
margin: const EdgeInsets.only( margin: const EdgeInsets.only(
left: 10, right: 10, top: 10), left: 10, right: 10, top: 10),
), ),

View file

@ -1,6 +1,6 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
import 'package:iconsax/iconsax.dart'; import 'package:iconsax_plus/iconsax_plus.dart';
import 'package:isar/isar.dart'; import 'package:isar/isar.dart';
import 'package:rain/app/api/api.dart'; import 'package:rain/app/api/api.dart';
import 'package:rain/app/api/city_api.dart'; import 'package:rain/app/api/city_api.dart';
@ -10,6 +10,7 @@ import 'package:rain/app/modules/cards/view/list_weather_card.dart';
import 'package:rain/app/modules/cards/widgets/create_card_weather.dart'; import 'package:rain/app/modules/cards/widgets/create_card_weather.dart';
import 'package:rain/app/modules/geolocation.dart'; import 'package:rain/app/modules/geolocation.dart';
import 'package:rain/app/modules/main/view/weather_main.dart'; import 'package:rain/app/modules/main/view/weather_main.dart';
import 'package:rain/app/modules/map/view/map.dart';
import 'package:rain/app/modules/settings/view/settings.dart'; import 'package:rain/app/modules/settings/view/settings.dart';
import 'package:rain/app/services/utils.dart'; import 'package:rain/app/services/utils.dart';
import 'package:rain/main.dart'; import 'package:rain/main.dart';
@ -32,6 +33,7 @@ class _HomePageState extends State<HomePage> with TickerProviderStateMixin {
final pages = [ final pages = [
const WeatherPage(), const WeatherPage(),
const ListWeatherCard(), const ListWeatherCard(),
const MapWeather(),
const SettingsPage(), const SettingsPage(),
]; ];
@ -73,6 +75,11 @@ class _HomePageState extends State<HomePage> with TickerProviderStateMixin {
final textTheme = context.textTheme; final textTheme = context.textTheme;
final labelLarge = textTheme.labelLarge; final labelLarge = textTheme.labelLarge;
final textStyle = textTheme.titleMedium?.copyWith(
fontWeight: FontWeight.w600,
fontSize: 18,
);
return DefaultTabController( return DefaultTabController(
length: pages.length, length: pages.length,
child: ScaffoldMessenger( child: ScaffoldMessenger(
@ -88,7 +95,7 @@ class _HomePageState extends State<HomePage> with TickerProviderStateMixin {
transition: Transition.downToUp); transition: Transition.downToUp);
}, },
icon: const Icon( icon: const Icon(
Iconsax.global_search, IconsaxPlusLinear.global_search,
size: 18, size: 18,
), ),
), ),
@ -184,26 +191,21 @@ class _HomePageState extends State<HomePage> with TickerProviderStateMixin {
.isNotEmpty .isNotEmpty
? 'loading'.tr ? 'loading'.tr
: 'searchCity'.tr, : 'searchCity'.tr,
style: textTheme.titleMedium?.copyWith( style: textStyle,
fontWeight: FontWeight.w600,
fontSize: 18,
),
); );
}, },
), ),
1 => Text( 1 => Text(
'cities'.tr, 'cities'.tr,
style: textTheme.titleMedium?.copyWith( style: textStyle,
fontWeight: FontWeight.w600,
fontSize: 18,
),
), ),
2 => Text( 2 => Text(
'map'.tr,
style: textStyle,
),
3 => Text(
'settings_full'.tr, 'settings_full'.tr,
style: textTheme.titleMedium?.copyWith( style: textStyle,
fontWeight: FontWeight.w600,
fontSize: 18,
),
), ),
int() => null, int() => null,
}, },
@ -221,7 +223,9 @@ class _HomePageState extends State<HomePage> with TickerProviderStateMixin {
setState(() {}); setState(() {});
}, },
icon: Icon( icon: Icon(
visible ? Icons.close : Iconsax.search_normal_1, visible
? IconsaxPlusLinear.close_circle
: IconsaxPlusLinear.search_normal_1,
size: 18, size: 18,
), ),
) )
@ -240,18 +244,23 @@ class _HomePageState extends State<HomePage> with TickerProviderStateMixin {
selectedIndex: tabIndex, selectedIndex: tabIndex,
destinations: [ destinations: [
NavigationDestination( NavigationDestination(
icon: const Icon(Iconsax.cloud_sunny), icon: const Icon(IconsaxPlusLinear.cloud_sunny),
selectedIcon: const Icon(Iconsax.cloud_sunny5), selectedIcon: const Icon(IconsaxPlusBold.cloud_sunny),
label: 'name'.tr, label: 'name'.tr,
), ),
NavigationDestination( NavigationDestination(
icon: const Icon(Iconsax.map_1), icon: const Icon(IconsaxPlusLinear.buildings),
selectedIcon: const Icon(Iconsax.map5), selectedIcon: const Icon(IconsaxPlusBold.buildings),
label: 'cities'.tr, label: 'cities'.tr,
), ),
NavigationDestination( NavigationDestination(
icon: const Icon(Iconsax.category), icon: const Icon(IconsaxPlusLinear.map),
selectedIcon: const Icon(Iconsax.category5), selectedIcon: const Icon(IconsaxPlusBold.map),
label: 'map'.tr,
),
NavigationDestination(
icon: const Icon(IconsaxPlusLinear.category),
selectedIcon: const Icon(IconsaxPlusBold.category),
label: 'settings_full'.tr, label: 'settings_full'.tr,
), ),
], ],
@ -266,7 +275,7 @@ class _HomePageState extends State<HomePage> with TickerProviderStateMixin {
const CreateWeatherCard(), const CreateWeatherCard(),
), ),
child: const Icon( child: const Icon(
Iconsax.add, IconsaxPlusLinear.add,
), ),
) )
: null, : null,

View file

@ -0,0 +1,95 @@
import 'dart:io';
import 'package:flutter/material.dart';
import 'package:flutter_map/flutter_map.dart';
import 'package:flutter_map_animations/flutter_map_animations.dart';
import 'package:flutter_map_cache/flutter_map_cache.dart';
import 'package:get/get.dart';
import 'package:latlong2/latlong.dart';
import 'package:path_provider/path_provider.dart';
import 'package:rain/app/controller/controller.dart';
import 'package:dio_cache_interceptor/dio_cache_interceptor.dart';
import 'package:dio_cache_interceptor_file_store/dio_cache_interceptor_file_store.dart';
class MapWeather extends StatefulWidget {
const MapWeather({super.key});
@override
State<MapWeather> createState() => _MapWeatherState();
}
class _MapWeatherState extends State<MapWeather> with TickerProviderStateMixin {
late final _animatedMapController = AnimatedMapController(vsync: this);
final weatherController = Get.put(WeatherController());
final Future<CacheStore> _cacheStoreFuture = _getCacheStore();
static Future<CacheStore> _getCacheStore() async {
final dir = await getTemporaryDirectory();
return FileCacheStore('${dir.path}${Platform.pathSeparator}MapTiles');
}
@override
Widget build(BuildContext context) {
final mainLocation = weatherController.location;
bool isDarkMode = Theme.of(context).brightness == Brightness.dark;
Widget darkModeTilesContainerBuilder(
BuildContext context,
Widget tilesContainer,
) {
return ColorFiltered(
colorFilter: const ColorFilter.matrix(<double>[
-0.2126, -0.7152, -0.0722, 0, 255, // Red channel
-0.2126, -0.7152, -0.0722, 0, 255, // Green channel
-0.2126, -0.7152, -0.0722, 0, 255, // Blue channel
0, 0, 0, 1, 0, // Alpha channel
]),
child: tilesContainer,
);
}
Widget openStreetMapTileLayer(CacheStore cacheStore) {
return TileLayer(
urlTemplate: 'https://tile.openstreetmap.org/{z}/{x}/{y}.png',
userAgentPackageName: 'com.darkmoonight.rain',
tileProvider: CachedTileProvider(
store: cacheStore,
maxStale: const Duration(days: 30),
));
}
return FutureBuilder<CacheStore>(
future: _cacheStoreFuture,
builder: (context, snapshot) {
if (snapshot.hasData) {
final cacheStore = snapshot.data!;
return FlutterMap(
mapController: _animatedMapController.mapController,
options: MapOptions(
backgroundColor: context.theme.scaffoldBackgroundColor,
initialCenter: LatLng(mainLocation.lat!, mainLocation.lon!),
initialZoom: 12,
cameraConstraint: CameraConstraint.contain(
bounds: LatLngBounds(
const LatLng(-90, -180),
const LatLng(90, 180),
),
),
),
children: [
isDarkMode
? darkModeTilesContainerBuilder(
context, openStreetMapTileLayer(cacheStore))
: openStreetMapTileLayer(cacheStore)
],
);
}
if (snapshot.hasError) {
return Center(child: Text(snapshot.error.toString()));
}
return const Center(child: CircularProgressIndicator());
},
);
}
}

View file

@ -5,8 +5,9 @@ import 'package:flutter_local_notifications/flutter_local_notifications.dart';
import 'package:gap/gap.dart'; import 'package:gap/gap.dart';
import 'package:geolocator/geolocator.dart'; import 'package:geolocator/geolocator.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
import 'package:iconsax/iconsax.dart'; import 'package:iconsax_plus/iconsax_plus.dart';
import 'package:intl/intl.dart'; import 'package:intl/intl.dart';
import 'package:line_awesome_flutter/line_awesome_flutter.dart';
import 'package:package_info_plus/package_info_plus.dart'; import 'package:package_info_plus/package_info_plus.dart';
import 'package:rain/app/controller/controller.dart'; import 'package:rain/app/controller/controller.dart';
import 'package:rain/app/data/weather.dart'; import 'package:rain/app/data/weather.dart';
@ -64,7 +65,7 @@ class _SettingsPageState extends State<SettingsPage> {
crossAxisAlignment: CrossAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center,
children: [ children: [
SettingCard( SettingCard(
icon: const Icon(Iconsax.brush_1), icon: const Icon(IconsaxPlusLinear.brush_1),
text: 'appearance'.tr, text: 'appearance'.tr,
onPressed: () { onPressed: () {
showModalBottomSheet( showModalBottomSheet(
@ -92,7 +93,7 @@ class _SettingsPageState extends State<SettingsPage> {
), ),
SettingCard( SettingCard(
elevation: 4, elevation: 4,
icon: const Icon(Iconsax.moon), icon: const Icon(IconsaxPlusLinear.moon),
text: 'theme'.tr, text: 'theme'.tr,
dropdown: true, dropdown: true,
dropdownName: settings.theme?.tr, dropdownName: settings.theme?.tr,
@ -123,7 +124,7 @@ class _SettingsPageState extends State<SettingsPage> {
), ),
SettingCard( SettingCard(
elevation: 4, elevation: 4,
icon: const Icon(Iconsax.mobile), icon: const Icon(IconsaxPlusLinear.mobile),
text: 'amoledTheme'.tr, text: 'amoledTheme'.tr,
switcher: true, switcher: true,
value: settings.amoledTheme, value: settings.amoledTheme,
@ -135,7 +136,7 @@ class _SettingsPageState extends State<SettingsPage> {
), ),
SettingCard( SettingCard(
elevation: 4, elevation: 4,
icon: const Icon(Iconsax.colorfilter), icon: const Icon(IconsaxPlusLinear.colorfilter),
text: 'materialColor'.tr, text: 'materialColor'.tr,
switcher: true, switcher: true,
value: settings.materialColor, value: settings.materialColor,
@ -147,7 +148,7 @@ class _SettingsPageState extends State<SettingsPage> {
), ),
SettingCard( SettingCard(
elevation: 4, elevation: 4,
icon: const Icon(Iconsax.additem), icon: const Icon(IconsaxPlusLinear.additem),
text: 'largeElement'.tr, text: 'largeElement'.tr,
switcher: true, switcher: true,
value: settings.largeElement, value: settings.largeElement,
@ -175,7 +176,7 @@ class _SettingsPageState extends State<SettingsPage> {
}, },
), ),
SettingCard( SettingCard(
icon: const Icon(Iconsax.code), icon: const Icon(IconsaxPlusLinear.code_1),
text: 'functions'.tr, text: 'functions'.tr,
onPressed: () { onPressed: () {
showModalBottomSheet( showModalBottomSheet(
@ -203,7 +204,7 @@ class _SettingsPageState extends State<SettingsPage> {
), ),
SettingCard( SettingCard(
elevation: 4, elevation: 4,
icon: const Icon(Iconsax.map_1), icon: const Icon(IconsaxPlusLinear.map),
text: 'location'.tr, text: 'location'.tr,
switcher: true, switcher: true,
value: settings.location, value: settings.location,
@ -270,7 +271,8 @@ class _SettingsPageState extends State<SettingsPage> {
), ),
SettingCard( SettingCard(
elevation: 4, elevation: 4,
icon: const Icon(Iconsax.notification_1), icon: const Icon(
IconsaxPlusLinear.notification_1),
text: 'notifications'.tr, text: 'notifications'.tr,
switcher: true, switcher: true,
value: settings.notifications, value: settings.notifications,
@ -307,7 +309,8 @@ class _SettingsPageState extends State<SettingsPage> {
), ),
SettingCard( SettingCard(
elevation: 4, elevation: 4,
icon: const Icon(Iconsax.notification_status), icon: const Icon(
IconsaxPlusLinear.notification_status),
text: 'timeRange'.tr, text: 'timeRange'.tr,
dropdown: true, dropdown: true,
dropdownName: '$timeRange', dropdownName: '$timeRange',
@ -334,7 +337,7 @@ class _SettingsPageState extends State<SettingsPage> {
), ),
SettingCard( SettingCard(
elevation: 4, elevation: 4,
icon: const Icon(Iconsax.timer_start), icon: const Icon(IconsaxPlusLinear.timer_start),
text: 'timeStart'.tr, text: 'timeStart'.tr,
info: true, info: true,
infoSettings: true, infoSettings: true,
@ -394,7 +397,7 @@ class _SettingsPageState extends State<SettingsPage> {
), ),
SettingCard( SettingCard(
elevation: 4, elevation: 4,
icon: const Icon(Iconsax.timer_pause), icon: const Icon(IconsaxPlusLinear.timer_pause),
text: 'timeEnd'.tr, text: 'timeEnd'.tr,
info: true, info: true,
infoSettings: true, infoSettings: true,
@ -464,7 +467,7 @@ class _SettingsPageState extends State<SettingsPage> {
}, },
), ),
SettingCard( SettingCard(
icon: const Icon(Iconsax.d_square), icon: const Icon(IconsaxPlusLinear.d_square),
text: 'data'.tr, text: 'data'.tr,
onPressed: () { onPressed: () {
showModalBottomSheet( showModalBottomSheet(
@ -492,7 +495,7 @@ class _SettingsPageState extends State<SettingsPage> {
), ),
SettingCard( SettingCard(
elevation: 4, elevation: 4,
icon: const Icon(Iconsax.cloud_notif), icon: const Icon(IconsaxPlusLinear.cloud_notif),
text: 'roundDegree'.tr, text: 'roundDegree'.tr,
switcher: true, switcher: true,
value: settings.roundDegree, value: settings.roundDegree,
@ -510,7 +513,7 @@ class _SettingsPageState extends State<SettingsPage> {
), ),
SettingCard( SettingCard(
elevation: 4, elevation: 4,
icon: const Icon(Iconsax.sun_1), icon: const Icon(IconsaxPlusLinear.sun_1),
text: 'degrees'.tr, text: 'degrees'.tr,
dropdown: true, dropdown: true,
dropdownName: settings.degrees.tr, dropdownName: settings.degrees.tr,
@ -533,7 +536,7 @@ class _SettingsPageState extends State<SettingsPage> {
), ),
SettingCard( SettingCard(
elevation: 4, elevation: 4,
icon: const Icon(Iconsax.rulerpen), icon: const Icon(IconsaxPlusLinear.rulerpen),
text: 'measurements'.tr, text: 'measurements'.tr,
dropdown: true, dropdown: true,
dropdownName: settings.measurements.tr, dropdownName: settings.measurements.tr,
@ -557,7 +560,7 @@ class _SettingsPageState extends State<SettingsPage> {
), ),
SettingCard( SettingCard(
elevation: 4, elevation: 4,
icon: const Icon(Iconsax.wind), icon: const Icon(IconsaxPlusLinear.wind),
text: 'wind'.tr, text: 'wind'.tr,
dropdown: true, dropdown: true,
dropdownName: settings.wind.tr, dropdownName: settings.wind.tr,
@ -573,7 +576,7 @@ class _SettingsPageState extends State<SettingsPage> {
), ),
SettingCard( SettingCard(
elevation: 4, elevation: 4,
icon: const Icon(Iconsax.ruler), icon: const Icon(IconsaxPlusLinear.ruler),
text: 'pressure'.tr, text: 'pressure'.tr,
dropdown: true, dropdown: true,
dropdownName: settings.pressure.tr, dropdownName: settings.pressure.tr,
@ -589,7 +592,7 @@ class _SettingsPageState extends State<SettingsPage> {
), ),
SettingCard( SettingCard(
elevation: 4, elevation: 4,
icon: const Icon(Iconsax.clock), icon: const Icon(IconsaxPlusLinear.clock_1),
text: 'timeformat'.tr, text: 'timeformat'.tr,
dropdown: true, dropdown: true,
dropdownName: settings.timeformat.tr, dropdownName: settings.timeformat.tr,
@ -615,7 +618,7 @@ class _SettingsPageState extends State<SettingsPage> {
}, },
), ),
SettingCard( SettingCard(
icon: const Icon(Iconsax.setting_3), icon: const Icon(IconsaxPlusLinear.setting_3),
text: 'widget'.tr, text: 'widget'.tr,
onPressed: () { onPressed: () {
showModalBottomSheet( showModalBottomSheet(
@ -643,7 +646,8 @@ class _SettingsPageState extends State<SettingsPage> {
), ),
SettingCard( SettingCard(
elevation: 4, elevation: 4,
icon: const Icon(Iconsax.bucket_square), icon:
const Icon(IconsaxPlusLinear.bucket_square),
text: 'widgetBackground'.tr, text: 'widgetBackground'.tr,
info: true, info: true,
infoWidget: CircleAvatar( infoWidget: CircleAvatar(
@ -711,7 +715,7 @@ class _SettingsPageState extends State<SettingsPage> {
), ),
IconButton( IconButton(
icon: const Icon( icon: const Icon(
Iconsax.tick_square, IconsaxPlusLinear.tick_square,
), ),
onPressed: () { onPressed: () {
if (colorBackground == null) { if (colorBackground == null) {
@ -735,7 +739,7 @@ class _SettingsPageState extends State<SettingsPage> {
), ),
SettingCard( SettingCard(
elevation: 4, elevation: 4,
icon: const Icon(Iconsax.text_block), icon: const Icon(IconsaxPlusLinear.text_block),
text: 'widgetText'.tr, text: 'widgetText'.tr,
info: true, info: true,
infoWidget: CircleAvatar( infoWidget: CircleAvatar(
@ -800,7 +804,7 @@ class _SettingsPageState extends State<SettingsPage> {
), ),
IconButton( IconButton(
icon: const Icon( icon: const Icon(
Iconsax.tick_square, IconsaxPlusLinear.tick_square,
), ),
onPressed: () { onPressed: () {
if (colorText == null) return; if (colorText == null) return;
@ -832,7 +836,7 @@ class _SettingsPageState extends State<SettingsPage> {
}, },
), ),
SettingCard( SettingCard(
icon: const Icon(Iconsax.language_square), icon: const Icon(IconsaxPlusLinear.language_square),
text: 'language'.tr, text: 'language'.tr,
info: true, info: true,
infoSettings: true, infoSettings: true,
@ -899,7 +903,7 @@ class _SettingsPageState extends State<SettingsPage> {
}, },
), ),
SettingCard( SettingCard(
icon: const Icon(Iconsax.dollar_square), icon: const Icon(IconsaxPlusLinear.dollar_square),
text: 'support'.tr, text: 'support'.tr,
onPressed: () { onPressed: () {
showModalBottomSheet( showModalBottomSheet(
@ -927,14 +931,14 @@ class _SettingsPageState extends State<SettingsPage> {
), ),
SettingCard( SettingCard(
elevation: 4, elevation: 4,
icon: const Icon(Iconsax.card), icon: const Icon(IconsaxPlusLinear.card),
text: 'DonationAlerts', text: 'DonationAlerts',
onPressed: () => urlLauncher( onPressed: () => urlLauncher(
'https://www.donationalerts.com/r/darkmoonight'), 'https://www.donationalerts.com/r/darkmoonight'),
), ),
SettingCard( SettingCard(
elevation: 4, elevation: 4,
icon: const Icon(Iconsax.wallet), icon: const Icon(IconsaxPlusLinear.wallet),
text: 'ЮMoney', text: 'ЮMoney',
onPressed: () => urlLauncher( onPressed: () => urlLauncher(
'https://yoomoney.ru/to/4100117672775961'), 'https://yoomoney.ru/to/4100117672775961'),
@ -951,7 +955,7 @@ class _SettingsPageState extends State<SettingsPage> {
}, },
), ),
SettingCard( SettingCard(
icon: const Icon(Iconsax.link_square), icon: const Icon(IconsaxPlusLinear.link_square),
text: 'groups'.tr, text: 'groups'.tr,
onPressed: () { onPressed: () {
showModalBottomSheet( showModalBottomSheet(
@ -979,7 +983,7 @@ class _SettingsPageState extends State<SettingsPage> {
), ),
SettingCard( SettingCard(
elevation: 4, elevation: 4,
icon: const Icon(Iconsax.voice_square), icon: const Icon(LineAwesomeIcons.discord),
text: 'Discord', text: 'Discord',
onPressed: () async { onPressed: () async {
final Uri url = Uri.parse( final Uri url = Uri.parse(
@ -992,7 +996,7 @@ class _SettingsPageState extends State<SettingsPage> {
), ),
SettingCard( SettingCard(
elevation: 4, elevation: 4,
icon: const Icon(Iconsax.message_square), icon: const Icon(LineAwesomeIcons.telegram),
text: 'Telegram', text: 'Telegram',
onPressed: () async { onPressed: () async {
final Uri url = final Uri url =
@ -1015,7 +1019,7 @@ class _SettingsPageState extends State<SettingsPage> {
}, },
), ),
SettingCard( SettingCard(
icon: const Icon(Iconsax.document), icon: const Icon(IconsaxPlusLinear.document),
text: 'license'.tr, text: 'license'.tr,
onPressed: () => Get.to( onPressed: () => Get.to(
LicensePage( LicensePage(
@ -1037,7 +1041,7 @@ class _SettingsPageState extends State<SettingsPage> {
), ),
), ),
SettingCard( SettingCard(
icon: const Icon(Iconsax.hierarchy_square_2), icon: const Icon(IconsaxPlusLinear.hierarchy_square_2),
text: 'version'.tr, text: 'version'.tr,
info: true, info: true,
infoWidget: _TextInfo( infoWidget: _TextInfo(
@ -1045,10 +1049,7 @@ class _SettingsPageState extends State<SettingsPage> {
), ),
), ),
SettingCard( SettingCard(
icon: Image.asset( icon: const Icon(LineAwesomeIcons.github),
'assets/images/github.png',
scale: 20,
),
text: '${'project'.tr} GitHub', text: '${'project'.tr} GitHub',
onPressed: () => onPressed: () =>
urlLauncher('https://github.com/darkmoonight/Rain'), urlLauncher('https://github.com/darkmoonight/Rain'),

View file

@ -1,6 +1,6 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
import 'package:iconsax/iconsax.dart'; import 'package:iconsax_plus/iconsax_plus.dart';
class SettingCard extends StatelessWidget { class SettingCard extends StatelessWidget {
const SettingCard({ const SettingCard({
@ -63,7 +63,7 @@ class SettingCard extends StatelessWidget {
? DropdownButton<String>( ? DropdownButton<String>(
icon: const Padding( icon: const Padding(
padding: EdgeInsets.only(left: 7), padding: EdgeInsets.only(left: 7),
child: Icon(Iconsax.arrow_down_1), child: Icon(IconsaxPlusLinear.arrow_down),
), ),
iconSize: 15, iconSize: 15,
alignment: AlignmentDirectional.centerEnd, alignment: AlignmentDirectional.centerEnd,
@ -85,14 +85,14 @@ class SettingCard extends StatelessWidget {
children: [ children: [
infoWidget!, infoWidget!,
const Icon( const Icon(
Iconsax.arrow_right_3, IconsaxPlusLinear.arrow_right_3,
size: 18, size: 18,
), ),
], ],
) )
: infoWidget! : infoWidget!
: const Icon( : const Icon(
Iconsax.arrow_right_3, IconsaxPlusLinear.arrow_right_3,
size: 18, size: 18,
), ),
), ),

View file

@ -1,6 +1,6 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
import 'package:iconsax/iconsax.dart'; import 'package:iconsax_plus/iconsax_plus.dart';
import 'package:intl/intl.dart'; import 'package:intl/intl.dart';
import 'package:rain/app/data/weather.dart'; import 'package:rain/app/data/weather.dart';
import 'package:rain/app/widgets/desc/desc_container.dart'; import 'package:rain/app/widgets/desc/desc_container.dart';
@ -65,7 +65,7 @@ class _InfoDailyCardState extends State<InfoDailyCard> {
Get.back(); Get.back();
}, },
icon: const Icon( icon: const Icon(
Iconsax.arrow_left_1, IconsaxPlusLinear.arrow_left_3,
size: 20, size: 20,
), ),
splashColor: Colors.transparent, splashColor: Colors.transparent,

View file

@ -1,6 +1,6 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
import 'package:iconsax/iconsax.dart'; import 'package:iconsax_plus/iconsax_plus.dart';
import 'package:rain/app/data/weather.dart'; import 'package:rain/app/data/weather.dart';
import 'package:rain/app/widgets/daily/info_daily_card.dart'; import 'package:rain/app/widgets/daily/info_daily_card.dart';
import 'package:rain/app/widgets/daily/list_daily_card.dart'; import 'package:rain/app/widgets/daily/list_daily_card.dart';
@ -32,7 +32,7 @@ class _WeatherMoreState extends State<WeatherMore> {
Get.back(); Get.back();
}, },
icon: const Icon( icon: const Icon(
Iconsax.arrow_left_1, IconsaxPlusLinear.arrow_left_3,
size: 20, size: 20,
), ),
splashColor: transparent, splashColor: transparent,

View file

@ -1,5 +1,4 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_glow/flutter_glow.dart';
import 'package:gap/gap.dart'; import 'package:gap/gap.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
import 'package:intl/intl.dart'; import 'package:intl/intl.dart';
@ -51,12 +50,17 @@ class _WeatherNowState extends State<WeatherNow> {
fit: BoxFit.fill, fit: BoxFit.fill,
height: 200, height: 200,
), ),
GlowText( Text(
'${roundDegree ? widget.degree.round() : widget.degree}', '${roundDegree ? widget.degree.round() : widget.degree}',
style: context.textTheme.displayLarge?.copyWith( style: context.textTheme.displayLarge?.copyWith(
fontSize: 90, fontSize: 90,
fontWeight: FontWeight.w800, fontWeight: FontWeight.w800,
), shadows: const [
Shadow(
blurRadius: 15,
offset: Offset(5, 5),
)
]),
), ),
Text( Text(
statusWeather.getText(widget.weather), statusWeather.getText(widget.weather),

View file

@ -132,5 +132,6 @@ class RuRu {
'hourlyVariables': 'Почасовые погодные условия', 'hourlyVariables': 'Почасовые погодные условия',
'dailyVariables': 'Ежедневные погодные условия', 'dailyVariables': 'Ежедневные погодные условия',
'largeElement': 'Отображение погоды большим элементом', 'largeElement': 'Отображение погоды большим элементом',
'map': 'Карта',
}; };
} }

View file

@ -26,10 +26,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: ansicolor name: ansicolor
sha256: "8bf17a8ff6ea17499e40a2d2542c2f481cd7615760c6d34065cb22bfd22e6880" sha256: "50e982d500bc863e1d703448afdbf9e5a72eb48840a4f766fa361ffd6877055f"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.0.2" version: "2.0.3"
archive: archive:
dependency: transitive dependency: transitive
description: description:
@ -214,6 +214,14 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.0.0" version: "1.0.0"
dart_earcut:
dependency: transitive
description:
name: dart_earcut
sha256: "41b493147e30a051efb2da1e3acb7f38fe0db60afba24ac1ea5684cee272721e"
url: "https://pub.dev"
source: hosted
version: "1.1.0"
dart_style: dart_style:
dependency: transitive dependency: transitive
description: description:
@ -262,6 +270,22 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "5.5.0+1" version: "5.5.0+1"
dio_cache_interceptor:
dependency: "direct main"
description:
name: dio_cache_interceptor
sha256: fb7905c0d12075d8786a6b63bffd64ae062d053f682cfaf28d145a2686507308
url: "https://pub.dev"
source: hosted
version: "3.5.0"
dio_cache_interceptor_file_store:
dependency: "direct main"
description:
name: dio_cache_interceptor_file_store
sha256: "9c5eff94481913ade139bb33ce58095483aae805aa1cb39c0471ca76f624c366"
url: "https://pub.dev"
source: hosted
version: "1.2.3"
dio_web_adapter: dio_web_adapter:
dependency: transitive dependency: transitive
description: description:
@ -290,10 +314,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: ffi name: ffi
sha256: "493f37e7df1804778ff3a53bd691d8692ddf69702cf4c1c1096a2e41b4779e21" sha256: "16ed7b077ef01ad6170a3d0c57caa4a112a38d7a2ed5602e0aca9ca6f3d98da6"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.1.2" version: "2.1.3"
file: file:
dependency: transitive dependency: transitive
description: description:
@ -323,15 +347,6 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.6.0" version: "0.6.0"
flutter_glow:
dependency: "direct main"
description:
path: "."
ref: HEAD
resolved-ref: "7c5e1fd34583db4b40073add9ca329b03bf52a51"
url: "https://github.com/payam-zahedi/flutter-glow.git"
source: git
version: "0.3.1"
flutter_hsvcolor_picker: flutter_hsvcolor_picker:
dependency: "direct main" dependency: "direct main"
description: description:
@ -385,6 +400,38 @@ packages:
description: flutter description: flutter
source: sdk source: sdk
version: "0.0.0" version: "0.0.0"
flutter_map:
dependency: "direct main"
description:
name: flutter_map
sha256: "2ecb34619a4be19df6f40c2f8dce1591675b4eff7a6857bd8f533706977385da"
url: "https://pub.dev"
source: hosted
version: "7.0.2"
flutter_map_animations:
dependency: "direct main"
description:
name: flutter_map_animations
sha256: "826c10a551d9dbb686a8ed9ee8815b974475812c41beb4ce9fe19095fe1c5611"
url: "https://pub.dev"
source: hosted
version: "0.7.0"
flutter_map_cache:
dependency: "direct main"
description:
name: flutter_map_cache
sha256: "47607b8d95ca791f0367d18955035d098faf80990e5e3bb0dbfa26271a6c2f43"
url: "https://pub.dev"
source: hosted
version: "1.5.1"
flutter_map_cancellable_tile_provider:
dependency: "direct main"
description:
name: flutter_map_cancellable_tile_provider
sha256: "6a2221be8044bd2abfd6ec1de97483fe03f01c7f8b6c2adb4ba160f60d95699a"
url: "https://pub.dev"
source: hosted
version: "3.0.0"
flutter_native_splash: flutter_native_splash:
dependency: "direct dev" dependency: "direct dev"
description: description:
@ -595,14 +642,14 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "4.0.2" version: "4.0.2"
iconsax: iconsax_plus:
dependency: "direct main" dependency: "direct main"
description: description:
name: iconsax name: iconsax_plus
sha256: fb0144c61f41f3f8a385fadc27783ea9f5359670be885ed7f35cef32565d5228 sha256: e9e51b0652a1d3ceea5fedbfc2c1bb4ad432c2ceb7be7de2e30caf085678933c
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.0.8" version: "1.0.0"
image: image:
dependency: transitive dependency: transitive
description: description:
@ -691,6 +738,14 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.2.0" version: "0.2.0"
latlong2:
dependency: "direct main"
description:
name: latlong2
sha256: "98227922caf49e6056f91b6c56945ea1c7b166f28ffcd5fb8e72fc0b453cc8fe"
url: "https://pub.dev"
source: hosted
version: "0.9.1"
leak_tracker: leak_tracker:
dependency: transitive dependency: transitive
description: description:
@ -715,6 +770,14 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "3.0.1" version: "3.0.1"
line_awesome_flutter:
dependency: "direct main"
description:
name: line_awesome_flutter
sha256: "24cef0a34816ffed9846f1793172333be50dc29678d499893b3cb38d3c53db24"
url: "https://pub.dev"
source: hosted
version: "3.0.1"
lints: lints:
dependency: transitive dependency: transitive
description: description:
@ -723,6 +786,22 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "4.0.0" version: "4.0.0"
lists:
dependency: transitive
description:
name: lists
sha256: "4ca5c19ae4350de036a7e996cdd1ee39c93ac0a2b840f4915459b7d0a7d4ab27"
url: "https://pub.dev"
source: hosted
version: "1.0.1"
logger:
dependency: transitive
description:
name: logger
sha256: "697d067c60c20999686a0add96cf6aba723b3aa1f83ecf806a8097231529ec32"
url: "https://pub.dev"
source: hosted
version: "2.4.0"
logging: logging:
dependency: transitive dependency: transitive
description: description:
@ -755,6 +834,14 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.11.1" version: "0.11.1"
material_floating_search_bar_2:
dependency: "direct main"
description:
name: material_floating_search_bar_2
sha256: ab0c6d209d9491f98dd4c72f2641d0ba1dd35c87effca1f23d8679bece43add0
url: "https://pub.dev"
source: hosted
version: "0.5.0"
meta: meta:
dependency: transitive dependency: transitive
description: description:
@ -763,6 +850,14 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.15.0" version: "1.15.0"
mgrs_dart:
dependency: transitive
description:
name: mgrs_dart
sha256: fb89ae62f05fa0bb90f70c31fc870bcbcfd516c843fb554452ab3396f78586f7
url: "https://pub.dev"
source: hosted
version: "2.0.0"
mime: mime:
dependency: transitive dependency: transitive
description: description:
@ -823,10 +918,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: path_provider_android name: path_provider_android
sha256: "490539678396d4c3c0b06efdaab75ae60675c3e0c66f72bc04c2e2c1e0e2abeb" sha256: "6f01f8e37ec30b07bc424b4deabac37cacb1bc7e2e515ad74486039918a37eb7"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.2.9" version: "2.2.10"
path_provider_foundation: path_provider_foundation:
dependency: transitive dependency: transitive
description: description:
@ -883,6 +978,14 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.1.8" version: "2.1.8"
polylabel:
dependency: transitive
description:
name: polylabel
sha256: "41b9099afb2aa6c1730bdd8a0fab1400d287694ec7615dd8516935fa3144214b"
url: "https://pub.dev"
source: hosted
version: "1.0.1"
pool: pool:
dependency: transitive dependency: transitive
description: description:
@ -891,6 +994,14 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.5.1" version: "1.5.1"
proj4dart:
dependency: transitive
description:
name: proj4dart
sha256: c8a659ac9b6864aa47c171e78d41bbe6f5e1d7bd790a5814249e6b68bc44324e
url: "https://pub.dev"
source: hosted
version: "2.1.0"
pub_semver: pub_semver:
dependency: transitive dependency: transitive
description: description:
@ -1008,6 +1119,14 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.2.0" version: "1.2.0"
synchronized:
dependency: transitive
description:
name: synchronized
sha256: "539ef412b170d65ecdafd780f924e5be3f60032a1128df156adad6c5b373d558"
url: "https://pub.dev"
source: hosted
version: "3.1.0+1"
term_glyph: term_glyph:
dependency: transitive dependency: transitive
description: description:
@ -1064,6 +1183,14 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.3.2" version: "1.3.2"
unicode:
dependency: transitive
description:
name: unicode
sha256: "0f69e46593d65245774d4f17125c6084d2c20b4e473a983f6e21b7d7762218f1"
url: "https://pub.dev"
source: hosted
version: "0.3.1"
universal_io: universal_io:
dependency: transitive dependency: transitive
description: description:
@ -1196,10 +1323,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: win32 name: win32
sha256: "015002c060f1ae9f41a818f2d5640389cc05283e368be19dc8d77cecb43c40c9" sha256: "68d1e89a91ed61ad9c370f9f8b6effed9ae5e0ede22a270bdfa6daf79fc2290a"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "5.5.3" version: "5.5.4"
win32_registry: win32_registry:
dependency: transitive dependency: transitive
description: description:
@ -1208,6 +1335,14 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.1.4" version: "1.1.4"
wkt_parser:
dependency: transitive
description:
name: wkt_parser
sha256: "8a555fc60de3116c00aad67891bcab20f81a958e4219cc106e3c037aa3937f13"
url: "https://pub.dev"
source: hosted
version: "2.0.0"
workmanager: workmanager:
dependency: "direct main" dependency: "direct main"
description: description:

View file

@ -17,22 +17,18 @@ dependencies:
gap: ^3.0.1 gap: ^3.0.1
dio: ^5.5.0+1 dio: ^5.5.0+1
intl: ^0.19.0 intl: ^0.19.0
isar:
version: ^3.1.7
hosted: https://pub.isar-community.dev/
shimmer: ^3.0.0 shimmer: ^3.0.0
iconsax: ^0.0.8 latlong2: ^0.9.1
timezone: ^0.9.4 timezone: ^0.9.4
geocoding: ^3.0.0 geocoding: ^3.0.0
geolocator: ^13.0.1 geolocator: ^13.0.1
home_widget: ^0.6.0 home_widget: ^0.6.0
workmanager: ^0.5.2 workmanager: ^0.5.2
flutter_map: ^7.0.2
google_fonts: ^6.2.1 google_fonts: ^6.2.1
url_launcher: ^6.3.0 url_launcher: ^6.3.0
iconsax_plus: ^1.0.0
time_machine: ^0.9.17 time_machine: ^0.9.17
flutter_glow:
git:
url: https://github.com/payam-zahedi/flutter-glow.git
dynamic_color: ^1.7.0 dynamic_color: ^1.7.0
path_provider: ^2.1.4 path_provider: ^2.1.4
# quick_settings: ^1.0.1 # quick_settings: ^1.0.1
@ -41,17 +37,26 @@ dependencies:
device_info_plus: ^10.1.2 device_info_plus: ^10.1.2
package_info_plus: ^8.0.2 package_info_plus: ^8.0.2
connectivity_plus: ^6.0.5 connectivity_plus: ^6.0.5
flutter_map_cache: ^1.5.1
freezed_annotation: ^2.4.4 freezed_annotation: ^2.4.4
isar_flutter_libs:
version: ^3.1.7
hosted: https://pub.isar-community.dev/
flutter_displaymode: ^0.6.0 flutter_displaymode: ^0.6.0
lat_lng_to_timezone: ^0.2.0 lat_lng_to_timezone: ^0.2.0
# font_awesome_flutter: ^10.7.0 line_awesome_flutter: ^3.0.1
dio_cache_interceptor: ^3.5.0
flutter_map_animations: ^0.7.0
flutter_hsvcolor_picker: ^1.5.1 flutter_hsvcolor_picker: ^1.5.1
scrollable_positioned_list: ^0.3.8 scrollable_positioned_list: ^0.3.8
flutter_local_notifications: ^17.2.2 flutter_local_notifications: ^17.2.2
material_floating_search_bar_2: ^0.5.0
internet_connection_checker_plus: ^2.5.1 internet_connection_checker_plus: ^2.5.1
dio_cache_interceptor_file_store: ^1.2.2
flutter_map_cancellable_tile_provider: ^3.0.0
isar:
version: ^3.1.7
hosted: https://pub.isar-community.dev/
isar_flutter_libs:
version: ^3.1.7
hosted: https://pub.isar-community.dev/
# Uncomment this for publishing FLOSS variant # Uncomment this for publishing FLOSS variant
# dependency_overrides: # dependency_overrides:
@ -67,12 +72,12 @@ dev_dependencies:
freezed: ^2.5.7 freezed: ^2.5.7
build_runner: ^2.4.12 build_runner: ^2.4.12
flutter_lints: ^4.0.0 flutter_lints: ^4.0.0
isar_generator:
version: ^3.1.7
hosted: https://pub.isar-community.dev/
json_serializable: ^6.8.0 json_serializable: ^6.8.0
flutter_native_splash: ^2.4.1 flutter_native_splash: ^2.4.1
flutter_launcher_icons: ^0.13.1 flutter_launcher_icons: ^0.13.1
isar_generator:
version: ^3.1.7
hosted: https://pub.isar-community.dev/
flutter_launcher_icons: flutter_launcher_icons:
android: true android: true