Flutter Pulse
417 subscribers
270 photos
541 links
На канале будут новости про flutter с сайтов, информация об обновлении пакетов, а также авторский контент.
Download Telegram
Flutter Tip: Как сделать нижние всплывающие окна точно по размеру контента (без лишнего пространства!)

При создании мобильных приложений на Flutter часто возникает необходимость отображать всплывающие окна снизу. Однако, по умолчанию, высота этих окон может быть больше, чем содержимое, что выглядит не очень эстетично. 🤔

Проблема: По умолчанию высота вашего модального окна будет больше, чем содержимое. 🤷‍♂️

Решение: Используйте виджет IntrinsicHeight, чтобы установить высоту всплывающего окна точно по размеру контента. 📏

Вот пример кода:

showCupertinoModalPopup<void>(
context: context,
builder: () => const IntrinsicHeight(
child: RecordChoiceSelector(), // Ваш виджет содержимого
),
);



Что делает IntrinsicHeight? 🔍
- Этот виджет устанавливает размер своего потомка в соответствии с его внутренней высотой. 📐

Результат: 🎉
- Всплывающее окно будет отображаться точно по размеру содержимого, без лишнего пространства. 👍


Оцените эту рубрику и напишите в комментариях, насколько она была для вас полезна! 🤗

Все подобные советы вы можете найти по хэштегу #FlutterPulseTips
#flutter #dart #flutterpulse #FlutterPulseTips #MobileDevelopment #FlutterTips #AppDevelopment #UIUX #CodingTips
Делаем простой навигатор с помощью google maps на flutter своими руками 📍📱
Узнайте, как создать удобный навигатор с помощью Google Maps на Flutter! 🚀 В статье мы расскажем о реализации функционала построения маршрута, отслеживания позиции, расчёта времени и расстояния 🕒.
Flutter и Dart помогут вам создать базовое решение для логистики и доставки 📦.
Читать здесь: https://habr.com/ru/articles/917134/ 📄
#flutter #dart #flutterpulse 🚀💻
Обзор пакетов на тему "Выбор даты и времени" для Flutter 🕰️

EasyDateTimelinePicker 📆
Удобный и настраиваемый виджет для выбора даты и времени с горизонтальной временной шкалой.
Версия: 2.0.9
👍 Лайки: 539, 📥 Скачиваний: 11.4К
Последнее обновление: 3 месяца назад
https://pub.dev/packages/easy_date_timeline

month_picker_dialog 📆
Диалоговое окно для выбора месяца, диапазона месяцев или года в стиле Material Design.
Версия: 6.2.3
👍 Лайки: 156, 📥 Скачиваний: 35.2К
Последнее обновление: 10 дней назад
https://pub.dev/packages/month_picker_dialog

Bottom Picker 📊
Популярный пакет для выбора даты и времени, теперь поддерживающий desktop и web.
Версия: 3.2.1
👍 Лайки: 332, 📥 Скачиваний: 11.8К
Последнее обновление: 4 дня назад
https://pub.dev/packages/bottom_picker

CalendarDatePicker2 📆
Легкий и настраиваемый календарь для выбора дат, поддерживающий режимы выбора одиночной даты, диапазона дат и нескольких дат.
Версия: 2.0.1
👍 Лайки: 613, 📥 Скачиваний: 187К
Последнее обновление: 15 дней назад
https://pub.dev/packages/calendar_date_picker2

Persian DateTime Picker 🕰️
Пакет для интеграции персидского календаря в ваши Flutter-приложения.
Версия: 3.1.0
👍 Лайки: 282, 📥 Скачиваний: 2.86К
Последнее обновление: 5 месяцев назад
https://pub.dev/packages/persian_datetime_picker

Syncfusion Flutter Date Range Picker 📆
Легковесный виджет для выбора одной даты, нескольких дат или диапазона дат.
Версия: 29.2.10
👍 Лайки: 1580, 📥 Скачиваний: 203К
Последнее обновление: 5 часов назад
https://pub.dev/packages/syncfusion_flutter_datepicker

#flutter #dart #pubdev #flutterpulse #flutterpulsethemedpackages #easydatetimelinepicker #month_picker_dialog #bottom_picker #calendar_date_picker2 #persian_datetime_picker #syncfusion_flutter_datepicker
Лучшие обновленные пакеты за последние 24 часа!

Firebase Auth для Flutter обновился до версии 5.6.0!
Пакет позволяет использовать API аутентификации Firebase в ваших Flutter-приложениях.
В новой версии добавлена поддержка инициализации конфигурации reCAPTCHA.
👍 Лайки: 4130, 📥 Скачиваний: 1.02М
https://pub.dev/packages/firebase_auth

Flutter Launcher Icons обновился до версии 0.14.4!
Этот пакет упрощает процесс обновления иконки запуска вашего приложения Flutter.
В новой версии удалены устаревшие правила, исправлена ошибка в генерации шаблона команды generate и стандартизировано использование асинхронного ввода/вывода и ожидания завершения работы.
👍 Лайки: 7640, 📥 Скачиваний: 1.47М
https://pub.dev/packages/flutter_launcher_icons

Firebase Core обновился до версии 3.14.0!
Пакет позволяет подключаться к нескольким приложениям Firebase в вашем Flutter-приложении.
В новой версии обновлена Firebase iOS SDK до 11.13.0.
👍 Лайки: 3870, 📥 Скачиваний: 2.63М
https://pub.dev/packages/firebase_core

_flutterfire_internals обновился до версии 1.3.56!
Пакет используется для хранения общего кода на Dart между плагинами FlutterFire.
В новой версии обновлена зависимость до последнего релиза.
👍 Лайки: 3, 📥 Скачиваний: 2.55М
https://pub.dev/packages/_flutterfire_internals

Firebase Cloud Messaging обновился до версии 15.2.7!
Пакет позволяет использовать API Firebase Cloud Messaging в ваших Flutter-приложениях.
В новой версии обновлена зависимость до последнего релиза.
👍 Лайки: 3780, 📥 Скачиваний: 1.6М
https://pub.dev/packages/firebase_messaging

Vector Graphics обновился до версии 1.1.19!
Этот пакет используется для рендеринга векторной графики в Flutter.
В новой версии обновлена минимальная поддерживаемая версия SDK и улучшена обработка изображений.
👍 Лайки: 89, 📥 Скачиваний: 2.16М
https://pub.dev/packages/vector_graphics

#firebase_auth #flutter_launcher_icons #firebase_core #_flutterfire_internals #firebase_messaging #vector_graphics #flutter #dart #pubdev #FlutterPulse #FlutterPulseBestPackages
🔥 ТОП самых просматриваемых видео по Flutter за неделю! 🔥
Собрали для вас самые полезные, просматриваемые и обсуждаемые видео последних дней. Обучение, код-ревью, конференции и даже магия AI в UI — всё в одном месте! 🎯

1. 🕒📊 Dart Code Metrics | Observable Flutter #63
📊 Узнайте, как Dart Code Metrics может помочь вашей команде писать более чистый код.
1 час 50 мин | 📲 5,101 просмотров
▶️ https://www.youtube.com/watch?v=ftPD7jTTsjg

2. 🕒📱 Const vs Final в Dart и Flutter
📊 В этом видео мы обсудим ключевые слова const и final, их использование и разницу между ними.
7 мин | 📲 4,425 просмотров
▶️ https://www.youtube.com/watch?v=ySVpiyc6vqo

3. 🕒📱 Код-ревью успешного Flutter-приложения с 100к+ загрузок... И вот что я нашел! 😱
📊 Разбор приложения Cashew на GitHub. Интересные находки, архитектура и полезные фишки.
30 мин | 📲 1,979 просмотров
▶️ https://www.youtube.com/watch?v=KNsYFMmHfkg

4. 🕒📱 Клонирование UI Airbnb за СЕКУНДЫ с помощью AI | Flutter Tutorial
📊 Используем Prompt2Flutter — генератор UI через ИИ. Быстро и эффективно!
5 мин | 📲 1,832 просмотров
▶️ https://www.youtube.com/watch?v=mxcZcLW71y4

5. 🕒📱 Flutter для начинающих • Tutorial
📊 Разработка приложений в стиле TikTok, Noon, YouTube — идеальный старт!
1 час 14 мин | 📲 1,109 просмотров
▶️ https://www.youtube.com/watch?v=K05a4S7n-G8

6. 🕒📱 Flutter Global Summit 25 - Flutter Day
📊 Всё самое важное с крупнейшего события для Flutter-разработчиков!
5 часов 50 мин | 📲 646 просмотров
▶️ https://www.youtube.com/watch?v=L2uJ5iXm4O8

7. 🕒📱 Создание адаптивного дашборда Flutter с помощью AI за секунды | Prompt2Flutter
📊 Пример, как быстро собрать адаптивный дашборд с помощью генерации интерфейса.
5 мин | 📲 385 просмотров
▶️ https://www.youtube.com/watch?v=Q_9IjbkqwKo

8. 🕒📱 Humpday Q&A/AMA и живое кодирование!
📊 Общение с командой Flutter, обсуждение Dart и сессия живого кодинга.
3 часа 2 мин | 📲 378 просмотров
▶️ https://www.youtube.com/watch?v=DfMHiEs5j2o

9. 🕒📱 Получение данных из подколлекций Firebase Firestore в Flutter
📊 Как правильно извлекать и структурировать данные в вашем Firestore-проекте.
9 мин | 📲 296 просмотров
▶️ https://www.youtube.com/watch?v=uf-IEqWXcfw

🧠 Смотрите самые интересные и полезные видео по Flutter, Dart и мобильной разработке!
📲 Подписывайтесь, чтобы не пропустить свежие подборки и гайды!

#Flutter #Dart #PubDev #FlutterPulse #FlutterPulseYouTube #МобильнаяРазработка #Программирование #РазработкаПриложений
Адаптивный конструктор одного виджета с помощью DeviceSizeBuilder

В этой статье мы рассмотрим, как использовать DeviceSizeBuilder для адаптации небольших частей экрана под разные типы устройств.

@override
Widget build(BuildContext context) {
return DeviceSizeBuilder(
builder: (device) => Column(
children: [
switch (device) {
DeviceType.small => const Spacer(),
// игнорируем остальные случаи
},
ElevatedButton(
onTap: () {},
child: Text('tap me'),
),
],
),
);
}

Чтобы иметь доступ к методу didChangeMetrics, нам нужно использовать WidgetsBinding:

class DeviceSizeBuilder extends StatefulWidget {
const DeviceSizeBuilder({
super.key,
required this.builder,
});

@override
State<DeviceSizeBuilder> createState() => _DeviceSizeBuilderState();
}

class _DeviceSizeBuilderState extends State<DeviceSizeBuilder> with WidgetsBindingObserver {
late DeviceType _lastSize;

@override
void initState() {
super.initState();
WidgetsBinding.instance.addObserver(this);
_lastSize = widget.builder;
}

@override
void dispose() {
WidgetsBinding.instance.removeObserver(this);
super.dispose();
}

@override
void didChangeMetrics() {
super.didChangeMetrics();
final newSize = DeviceType.fromWidth(viewportWidth);
if (_lastSize != newSize) {
setState(() {});
}
}

double get viewportWidth => MediaQuery.of(context).size.width;

@override
Widget build(BuildContext context) {
_lastSize = DeviceType.fromWidth(viewportWidth);
return widget.builder(_lastSize);
}
}

Мы хотим перестроить дочерний элемент только при изменении типа устройства.
Наши точки останова:

enum DeviceType {
small(0),
medium(600),
large(1024),
Xlarge(2200);

final double breakpoint;

const DeviceType(this.breakpoint);

static DeviceType fromWidth(double width) {
return switch (width) {
< 600 => DeviceType.small,
< 1024 => DeviceType.medium,
< 2200 => DeviceType.large,
_ => DeviceType.Xlarge,
};
}
}


Оцените новую рубрику и напишите нам о своих впечатлениях! 👍💬

Все подобные новости можно найти по хэштегу #FlutterPulseTips

#flutter #dart #flutterpulse #FlutterPulseTips #MobileDevelopment #ResponsiveDesign #UI #UX #Widgets #CodingTips
Обзор пакетов на тему "Выбор цвета и утилиты"

Material Color Utilities 🎨
Этот пакет используется для работы с цветами в Material Design 3, включая выбор темы из изображений и создание тонов цветов.
👍 Лайки: 240, 📥 Скачиваний: 5.36М
Последнее обновление 📅: 6 дней назад
https://pub.dev/packages/material_color_utilities

Palette Generator 🖌️
Пакет для Flutter - инструмент для извлечения основных цветов из изображений. Часто используется для создания цветовых схем интерфейса пользователя.
👍 Лайки: 672, 📥 Скачиваний: 7.59К
Последнее обновление 📅: 35 дней назад
https://pub.dev/packages/palette_generator

FlexSeedScheme 🌱
Этот пакет позволяет создавать более гибкие и мощные цветовые схемы для Flutter-приложений.
👍 Лайки: 87, 📥 Скачиваний: 300К
Последнее обновление 📅: 2 месяца назад
https://pub.dev/packages/flex_seed_scheme

AnsiColor 🖥️
Добавьте цвета в свои терминальные программы с помощью AnsiPen. Легко отключить для продакшена.
👍 Лайки: 158, 📥 Скачиваний: 1.35М
Последнее обновление 📅: 10 месяцев назад
https://pub.dev/packages/ansicolor

FlexColorPicker 🎨
Этот пакет позволяет создавать настраиваемые цветовые палитры для ваших приложений. Включает 6 разных типов цветовых палитр, поддержку Material Design 2 и 3, а также возможность копирования и вставки цветов.
👍 Лайки: 554, 📥 Скачиваний: 241К
Последнее обновление 📅: 42 дня назад
https://pub.dev/packages/flex_color_picker

flutter_colorpicker 🎨
Этот пакет позволяет вам создавать удобные и настраиваемые селекторы цвета для ваших приложений. Поддерживает форматы HSV, HSL, RGB и Material.
👍 Лайки: 977, 📥 Скачиваний: 270К
Последнее обновление 📅: 12 месяцев назад
https://pub.dev/packages/flutter_colorpicker

#flutter #dart #pubdev #flutterpulse #flutterpulsethemedpackages #MaterialColorUtilities #PaletteGenerator #FlexSeedScheme #AnsiColor #FlexColorPicker #flutter_colorpicker
Внимание всем разработчикам на Flutter! 🚀💻
Анна из Friflex Flutter Team Lead 👋 сегодня решила поговорить о режимах сборки в Flutter 🤔.
Вы знали, что существуют три основных режима: debug, profile и release? 🤷‍♀️
Давайте разберемся, чем они отличаются и когда их лучше использовать 📊.

◾️ Debug-режим - это режим отладки 🐜, где вы можете легко отслеживать значения переменных, останавливать выполнение по breakpoints и использовать hot reload 🔥.
Кроме этого, в debug-режиме вы можете подключать дополнительные инструменты, такие как DevTools и Flutter inspector 🛠️.

◾️ Profile-режим - это что-то среднее между debug- и release-режимами 🤝, где вы можете исследовать производительность приложения и оптимизировать код 📈.
Но помните, что profile-режим не поддерживается эмуляторами и симуляторами 📴, поэтому его стоит запускать на физических устройствах 📊.

◾️ Release-режим - это режим выпуска 🚀, где сборка максимально оптимизирована и не поддерживает дополнительные инструменты 🚫.

Хотите узнать больше о режимах сборки в Flutter? 🤔
Читайте полную статью по ссылке: https://t.me/flutterfriendly/164 📎

И не забудьте подписаться на наш канал flutterpulse, чтобы быть в курсе всех последних новостей и обновлений в мире Flutter! 📱
#flutter #dart #flutterpulse 💻👍
Лучшие обновленные пакеты за последние 24 часа!

Graphic (2.6.0)
Эта библиотека используется для создания гибких и интерактивных графиков и диаграмм в приложениях Flutter. В новой версии добавлены ступенчатые формы для линейных и областных графиков, улучшена стабильность и обновлены зависимости.
👍 Лайки: 813, 📥 Скачиваний: 57.1К
https://pub.dev/packages/graphic

gRPC (4.1.0)
Пакет gRPC - это высокопроизводительный, открытый фреймворк для создания RPC-сервисов. В новой версии добавлена поддержка серверных перехватчиков (serverInterceptors) в ConnectionServer.
👍 Лайки: 432, 📥 Скачиваний: 323К
https://pub.dev/packages/grpc

purchases_flutter (8.10.2)
Пакет purchases_flutter - это клиент для системы отслеживания подписок и покупок RevenueCat. В новой версии обновлены зависимости.
👍 Лайки: 806, 📥 Скачиваний: 149К
https://pub.dev/packages/purchases_flutter

google_maps_flutter_ios (2.15.3)
Пакет google_maps_flutter_ios - это реализация Google Maps для iOS в Flutter. В новой версии исправлены новые предупреждения анализа и обновлена минимальная поддерживаемая версия SDK.
👍 Лайки: 9, 📥 Скачиваний: 739К
https://pub.dev/packages/google_maps_flutter_ios

watcher (1.1.2)
Пакет watcher используется для мониторинга изменений в директориях и отправки уведомлений. В новой версии исправлена ошибка на Windows.
👍 Лайки: 216, 📥 Скачиваний: 7.2М
https://pub.dev/packages/watcher

supabase_flutter (0.0.1-dev.1)
Этот пакет позволяет легко интегрировать Supabase в ваши Flutter-приложения. Обновление включает в себя первоначальный выпуск пакета.
👍 Лайки: 821, 📥 Скачиваний: 170К
https://pub.dev/packages/supabase_flutter

#Flutter #Dart #pubdev #FlutterPulse #FlutterPulseBestPackages #Graphic #gRPC #purchases_flutter #google_maps_flutter_ios #watcher #supabase_flutter
Выход за рамки Material: добавление пользовательских цветов в тему Flutter

Хотите выйти за пределы стандартных ограничений Material Design в вашем приложении Flutter? 🤔 В этой статье мы расскажем, как создать расширение темы для добавления пользовательских цветов! 🎨

Шаг 1: Создание ThemeExtension
Для начала создайте класс, который будет предоставлять ваши цвета. Этот класс должен расширять ThemeExtension. Пример реализации:


import 'package:flutter/material.dart';

class AppareanceKitColors extends ThemeExtension<AppareanceKitColors> {
final Color primary;
final Color secondary;
final Color dark;
final Color onePrimary;
final Color background;
final Color onbackground;
final Color surface;
final Color onSurface;
final Color grey1;
final Color grey2;
final Color grey3;
final Color error;

const AppareanceKitColors({
required this.primary,
required this.secondary,
required this.dark,
required this.onePrimary,
required this.background,
required this.onbackground,
required this.surface,
required this.onSurface,
required this.grey1,
required this.grey2,
required this.grey3,
required this.error,
});

factory AppareanceKitColors.light() => const AppareanceKitColors(
primary: Color(0xFFF830FF),
secondary: Color(0xFF3057AD),
dark: Color(0xFF20001D),
onePrimary: Color(0xFF110551),
background: Color(0xFFFFFFFF),
onbackground: Color(0xFF110551),
surface: Color(0xFFAEAEAE),
onSurface: Color(0xFF000000),
grey1: Color(0xFFF9E5FF),
grey2: Color(0xFFFFD8FF),
grey3: Color(0xFF632338),
error: Color(0xFFC41E1E),
);
}



Шаг 2: Добавление расширения в тему Material
Теперь добавьте созданное расширение в вашу тему Material, используя свойство extensions:


MaterialApp(
theme: ThemeData(
extensions: [
AppareanceKitColors.light(),
],
),
)



Шаг 3: Использование цветов из расширения
Чтобы получить доступ к вашим цветам в любом месте приложения, используйте следующий код:


extension AppareanceKitThemeExt on BuildContext {
AppareanceKitColors get colors => Theme.of(this).extension<AppareanceKitColors>()!;
}

// Использование
Container(
color: context.colors.primary,
)



Оцените новую рубрику Flutter Pulse Tips и оставьте свои отзывы! 👍💬

Все подобные новости можно найти по хэштегу #FlutterPulseTips

#flutter #dart #flutterpulse #FlutterPulseTips #mobiledevelopment #appdevelopment #uiux #codingtips #FlutterTips #ThemeExtension #CustomColors
Обзор пакетов на тему "Здоровье и Фитнес" 🏋️‍♀️💪

health_kit_reporter 📊
Позволяет читать, писать и отслеживать данные из HealthKit на iOS. Поддерживает все методы из оригинальной библиотеки HealthKitReporter.
👍 Лайки: 57, 📥 Скачиваний: 2.6К
Последнее обновление 📅: 6 месяцев назад
https://pub.dev/packages/health_kit_reporter

Health 🏥
Позволяет читать и записывать данные о здоровье из Apple Health и Google Health Connect. Поддерживает работу с разрешениями, чтение и запись данных о здоровье, тренировках, приеме пищи и многом другом.
👍 Лайки: 604, 📥 Скачиваний: 32.8К
Последнее обновление 📅: 8 дней назад
https://pub.dev/packages/health

Huawei Health Kit Flutter Plugin 📈
Позволяет разработчикам создавать приложения, которые могут доступиться к данным о здоровье и фитнесе пользователей на основе их HUAWEI ID и авторизации.
👍 Лайки: 21, 📥 Скачиваний: 12
Последнее обновление 📅: 5 месяцев назад
https://pub.dev/packages/huawei_health

Polar ❄️
Обёртка для официального Polar SDK, позволяющая легко интегрировать поддержку устройств Polar в ваши приложения на Flutter.
👍 Лайки: 21, 📥 Скачиваний: 1.0К
Последнее обновление 📅: 22 дня назад
https://pub.dev/packages/polar

Pedometer 🚶‍♀️
Плагин позволяет непрерывно считать шаги и определять статус пешехода (ходьба или остановка) с помощью встроенного датчика пedometer в устройствах iOS и Android.
👍 Лайки: 323, 📥 Скачиваний: 11К
Последнее обновление 📅: 2 месяца назад
https://pub.dev/packages/pedometer

Body Part Selector 🤸‍♀️
Легкий и красивый селектор частей тела для ваших приложений.
👍 Лайки: 36, 📥 Скачиваний: 382
Последнее обновление 📅: 12 месяцев назад
https://pub.dev/packages/body_part_selector

#health_kit_reporter #Health #HuaweiHealthKitFlutterPlugin #Polar #Pedometer #BodyPartSelector #flutter #dart #pubdev #flutterpulse #flutterpulsethemedpackages
Лучшие обновленные пакеты за последние 24 часа!

win32 3.1.4
Пакет win32 предоставляет доступ к Win32 API из Dart. В новой версии исправлена ошибка экспорта crypt32 API.
👍 Лайки: 880, 📥 Скачиваний: 5.4М
https://pub.dev/packages/win32

Flutter Modular 6.4.1
Пакет Flutter Modular предназначен для реализации модульной структуры в ваших проектах на Flutter. В новой версии исправлена ошибка с Dispose в AppModule.
👍 Лайки: 1300, 📥 Скачиваний: 107К
https://pub.dev/packages/flutter_modular

go_router 15.2.0
Пакет go_router используется для декларативного маршрутизации в Flutter. В новой версии добавлены новые методы для типобезопасной маршрутизации.
👍 Лайки: 5320, 📥 Скачиваний: 1.73М
https://pub.dev/packages/go_router

signature 6.1.0
Пакет signature предоставляет высокопроизводительный холст для создания подписей. В новой версии обновлены зависимости и Flutter до версии 3.32.
👍 Лайки: 606, 📥 Скачиваний: 155К
https://pub.dev/packages/signature

file_picker 10.2.0
Пакет file_picker позволяет использовать системный файловый менеджер для выбора файлов. В новой версии добавлена поддержка изображений в формате webp на десктоп-платформах.
👍 Лайки: 4720, 📥 Скачиваний: 1.88М
https://pub.dev/packages/file_picker

shadcn_ui 0.27.2
Пакет shadcn_ui - это набор компонентов пользовательского интерфейса для Flutter. В новой версии исправлены ошибки в компонентах ShadAccordion и ShadContextMenuItem.
👍 Лайки: 608, 📥 Скачиваний: 12.6К
https://pub.dev/packages/shadcn_ui

#win32 #FlutterModular #gorouter #signature #filepicker #shadcnuI #flutter #dart #pubdev #FlutterPulse #FlutterPulseBestPackages
Шаблон Riverpod: упрощаем работу с состоянием приложения

Привет, разработчики Flutter! 👋 Сегодня мы рассмотрим полезный совет по использованию Riverpod - популярной библиотеки для управления состоянием приложения. 📈

Проблема: при использовании Riverpod часто приходится писать повторяющийся код, например, ref.read(myProvider).xxx. Это может быть утомительно и привести к ошибкам. 😩

Решение: использование расширений Dart для создания удобных шорткатов. 🔥



extension UserSessionRepositoryProvider on Ref {
UserSessionRepository get userSessionRepository =>
read(userSessionRepositoryProvider);

UserSessionRepository get userSessionRepository$ =>
watch(userSessionRepositoryProvider);
}



Эти расширения позволяют легко получать экземпляр UserSessionRepository, используя ref.userSessionRepository или следить за его изменениями с помощью ref.userSessionRepository$. 🔄

Пример использования:



Future<UserSession> startSession({
required Session session,
}) async {
final activeSession = await ref.userSessionRepository
.getActiveSession(idOrThrow);
if (activeSession != null) {
throw AlreadyRunningSessionException();
}
return ref.userSessionRepository.start(
idOrThrow,
UserSession.fromSession(session),
);
}



Такой подход делает код чище и читабельнее. 📚

Оцените новую рубрику и напишите в комментариях, насколько она вам полезна! 🤔

Все подобные новости можно найти по хэштегу #FlutterPulseTips 👍

#flutter #dart #flutterpulse #FlutterPulseTips #Riverpod #StateManagement #FlutterTips #MobileDevelopment #CodingTips
Обзор пакетов для печати на Flutter 🖨️

flutter_esc_pos_utils - утилиты для работы с принтерами ESC/POS.
Позволяет подключаться к принтерам по Wi-Fi/Ethernet, печатать текст, таблицы, изображения, штрих-коды и QR-коды.
👍 Лайки: 144, 📥 Скачиваний: 8.3К
Последнее обновление 📅: 13 месяцев назад
https://pub.dev/packages/flutter_esc_pos_utils

flutter_thermal_printer - пакет для работы с термальными принтерами на Android, iOS, macOS и Windows.
Поддерживает подключение по Bluetooth, USB, BLE и WiFi.
👍 Лайки: 74, 📥 Скачиваний: 1.8К
Последнее обновление 📅: 35 дней назад
https://pub.dev/packages/flutter_thermal_printer

printing - пакет для создания и печати документов в формате PDF на устройствах Android и iOS.
Использует пакет pdf для создания PDF-документов.
👍 Лайки: 1.7К, 📥 Скачиваний: 317К
Последнее обновление 📅: 4 месяца назад
https://pub.dev/packages/printing

flutter_bluetooth_printer - пакет для печати чеков на термопринтерах по Bluetooth в приложениях Flutter.
Позволяет создавать свои собственные чеки, печатать изображения и PDF-файлы, а также отправлять произвольные ESC/POS-команды.
👍 Лайки: 85, 📥 Скачиваний: 2.4К
Последнее обновление 📅: 18 дней назад
https://pub.dev/packages/flutter_bluetooth_printer

print_bluetooth_thermal - пакет для печати на термальных принтерах по Bluetooth.
Позволяет печатать билеты на термальных принтерах размером 58мм или 80мм на устройствах Android и iOS.
👍 Лайки: 124, 📥 Скачиваний: 7.9К
Последнее обновление 📅: 3 месяца назад
https://pub.dev/packages/print_bluetooth_thermal

sunmi_printer_plus - пакет для работы с принтерами Sunmi на Android-устройствах.
Позволяет печатать текст, штрих-коды, QR-коды, изображения и многое другое.
👍 Лайки: 137, 📥 Скачиваний: 7.5К
Последнее обновление 📅: 6 месяцев назад
https://pub.dev/packages/sunmi_printer_plus

#flutter #dart #pubdev #flutterpulse #flutterpulsethemedpackages #print_bluetooth_thermal #sunmi_printer_plus #flutter_thermal_printer #flutter_esc_pos_utils #flutter_bluetooth_printer #printing
Лучшие обновленные пакеты за последние 24 часа! 🚀

reactive_forms 18.0.1
Пакет для создания реактивных форм в Flutter. В новой версии исправлены проблемы с реактивностью в PopScope и добавлены новые методы для сброса контроля.
👍 Лайки: 903, 📥 Скачиваний: 76.9К
https://pub.dev/packages/reactive_forms

CamerAwesome 2.5.0
Пакет для интеграции камеры в Flutter-приложения. В новой версии исправлены ошибки с масштабом камеры на iOS и неточным предпросмотром.
👍 Лайки: 1.06К, 📥 Скачиваний: 29.3К
https://pub.dev/packages/camerawesome

pdfx 2.9.2
Пакет для отображения и работы с PDF-документами в Flutter. В новой версии исправлена ошибка PdfViewPinch при компиляции в WASM.
👍 Лайки: 481, 📥 Скачиваний: 229К
https://pub.dev/packages/pdfx

talker_logger 4.8.4
Пакет для логирования в приложениях. В новой версии добавлены аргументы семейства к логам в talker_riverpod_logger.
👍 Лайки: 49, 📥 Скачиваний: 252К
https://pub.dev/packages/talker_logger

Very Good CLI 0.26.0
Инструмент командной строки для Dart. В новой версии обновлены зависимости и лицензии, улучшена поддержка Flutter 3.32.0.
👍 Лайки: 672, 📥 Скачиваний: 71.9К
https://pub.dev/packages/very_good_cli

Talker 4.8.4
Пакет для обработки ошибок и логирования в приложениях на Dart и Flutter. В новой версии добавлены аргументы семейства в логи для Riverpod.
👍 Лайки: 724, 📥 Скачиваний: 248К
https://pub.dev/packages/talker

#reactive_forms #CamerAwesome #pdfx #talker_logger #VeryGoodCLI #Talker #flutter #dart #pubdev #FlutterPulse #FlutterPulseBestPackages
Flutter совет: шаблон RevenueCat

Вот несколько методов расширения, чтобы упростить работу с пакетом RevenueCat:

Получение периода подписки продукта в виде Duration



@override
Duration get duration => switch (revenueCatPackage.storeProduct.subscriptionPeriod) {
'P1W' => const Duration(days: 7),
'P1M' => const Duration(days: 30),
'P3M' => const Duration(days: 90),
'P6M' => const Duration(days: 180),
'P1Y' => const Duration(days: 365),
_ => Duration.zero,
};



Получение количества пробных дней для продукта



@override
int? get trialDays {
final introductory = revenueCatPackage.storeProduct.introductoryPrice;
if (introductory == null) {
return null;
}
if (introductory.price == 0) {
final unit = introductory.periodUnit;
switch (unit) {
case PeriodUnit.day:
return introductory.periodNumberOfUnits;
case PeriodUnit.week:
return introductory.periodNumberOfUnits * 7;
case PeriodUnit.month:
return introductory.periodNumberOfUnits * 30;
case PeriodUnit.year:
return introductory.periodNumberOfUnits * 365;
default:
return null;
}
}
return null;
}



Получение списка характеристик из метаданных RevenueCat в зависимости от языка пользователя



@override
List<String>? get features {
final locale = LocaleSettings.currentLocale.languageCode;
if (revenueCatOffer.metadata[locale] == null) {
return null;
}

final data = revenueCatOffer.metadata[locale]! as Map<Object?, Object?>;
final featurerObj = data["features"]! as List<Object?>;
return featurerObj.map((e) => e! as String).toList();
}



Оцените новую рубрику и напишите своё мнение! 👍💬

Все подобные новости можно найти по хэштегу #FlutterPulseTips

#flutter #dart #flutterpulse #FlutterPulseTips #RevenueCat #boilerplate #mobiledevelopment #appdevelopment #codingtips
Обзор пакетов на тему Кнопки и Кнопки прогресса

Animated Button 🎉
Создайте анимированные кнопки в вашем приложении с помощью этого простого и настраиваемого пакета. Возможности включают настройку высоты, ширины, цвета и тени.
👍 Лайки: 159, 📥 Скачиваний: 773
Последнее обновление 📅: 3 месяца назад
https://pub.dev/packages/animated_button

Flutter Animated Button 💫
Пакет для создания анимированных кнопок в Flutter. Поддерживает различные типы анимаций и настраиваемые стили.
👍 Лайки: 289, 📥 Скачиваний: 2.3К
Последнее обновление 📅: 6 месяцев назад
https://pub.dev/packages/flutter_animated_button

Flutter Swipe Button
Этот пакет позволяет создавать кнопки, которые активируются свайпом, предотвращая случайные клики.
👍 Лайки: 62, 📥 Скачиваний: 9.3К
Последнее обновление 📅: 12 месяцев назад
https://pub.dev/packages/flutter_swipe_button

Timer Button
Пакет Timer Button позволяет создать кнопку, которая становится активной после задержки времени. Поддерживает различные типы кнопок и настраивается.
👍 Лайки: 83, 📥 Скачиваний: 884
Последнее обновление 📅: 18 дней назад
https://pub.dev/packages/timer_button

GradientElevatedButton 🌟
Создавайте кнопки с градиентными фоновыми изображениями и настраивайте стиль по своему вкусу.
👍 Лайки: 15, 📥 Скачиваний: 830
Последнее обновление 📅: 3 месяца назад
https://pub.dev/packages/gradient_elevated_button

Pretty Animated Buttons
Включает 12 красивых анимированных кнопок, которые можно легко настроить.
👍 Лайки: 80, 📥 Скачиваний: 1.1К
Последнее обновление 📅: 10 месяцев назад
https://pub.dev/packages/pretty_animated_buttons

#flutter #dart #pubdev #flutterpulse #flutterpulsethemedpackages #animatedbutton #flutteranimatedbutton #flutterswipebutton #timerbutton #gradiantelevatedbutton #prettyanimatedbuttons