diff --git a/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
index db77bb4..8e19b5e 100644
Binary files a/android/app/src/main/res/mipmap-hdpi/ic_launcher.png and b/android/app/src/main/res/mipmap-hdpi/ic_launcher.png differ
diff --git a/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
index 17987b7..4b4ad5b 100644
Binary files a/android/app/src/main/res/mipmap-mdpi/ic_launcher.png and b/android/app/src/main/res/mipmap-mdpi/ic_launcher.png differ
diff --git a/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
index 09d4391..4dd15fc 100644
Binary files a/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png and b/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png differ
diff --git a/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
index d5f1c8d..d2e38b5 100644
Binary files a/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png and b/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png differ
diff --git a/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
index 4d6372e..d305928 100644
Binary files a/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png and b/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png differ
diff --git a/assets/icon.png b/assets/icon.png
new file mode 100644
index 0000000..1d6c516
Binary files /dev/null and b/assets/icon.png differ
diff --git a/assets/svg/ru.svg b/assets/svg/ru.svg
new file mode 100644
index 0000000..ae12982
--- /dev/null
+++ b/assets/svg/ru.svg
@@ -0,0 +1,19 @@
+
+
+
\ No newline at end of file
diff --git a/assets/svg/uk.svg b/assets/svg/uk.svg
new file mode 100644
index 0000000..88e2211
--- /dev/null
+++ b/assets/svg/uk.svg
@@ -0,0 +1,23 @@
+
+
+
\ No newline at end of file
diff --git a/l10n.yaml b/l10n.yaml
new file mode 100644
index 0000000..d26d702
--- /dev/null
+++ b/l10n.yaml
@@ -0,0 +1,6 @@
+arb-dir: l10n
+template-arb-file: app_ru.arb
+output-localization-file: app_locale.dart
+output-dir: lib/components/locale/l10n
+output-class: AppLocale
+synthetic-package: false
\ No newline at end of file
diff --git a/l10n/app_en.arb b/l10n/app_en.arb
new file mode 100644
index 0000000..a01051c
--- /dev/null
+++ b/l10n/app_en.arb
@@ -0,0 +1,9 @@
+{
+ "@@locale": "en",
+
+ "search": "Search",
+ "liked": "liked!",
+ "disliked": "disliked :(",
+
+ "arbEnding": "Чтобы не забыть про отсутствие запятой :)"
+}
\ No newline at end of file
diff --git a/l10n/app_ru.arb b/l10n/app_ru.arb
new file mode 100644
index 0000000..c00dd02
--- /dev/null
+++ b/l10n/app_ru.arb
@@ -0,0 +1,9 @@
+{
+ "@@locale": "ru",
+
+ "search": "Поиск",
+ "liked": "Добавлено в понравившиеся :)",
+ "disliked": "Удалено из понравившегося :(",
+
+ "arbEnding": "Чтобы не забыть про отсутствие запятой :)"
+}
\ No newline at end of file
diff --git a/lib/Presentation/common/svg_objects.dart b/lib/Presentation/common/svg_objects.dart
new file mode 100644
index 0000000..d15afce
--- /dev/null
+++ b/lib/Presentation/common/svg_objects.dart
@@ -0,0 +1,34 @@
+import 'package:flutter/widgets.dart';
+import 'package:flutter_svg/flutter_svg.dart';
+import 'package:labs_petrushin/components/resources.g.dart';
+
+abstract class SvgObjects {
+ static void init() {
+ final pics = [
+ R.ASSETS_SVG_RU_SVG,
+ R.ASSETS_SVG_UK_SVG,
+ ];
+ for (final String p in pics) {
+ final loader = SvgAssetLoader(p);
+ svg.cache.putIfAbsent(loader.cacheKey(null), () => loader.loadBytes(null));
+ }
+ }
+}
+
+class SvgRu extends StatelessWidget {
+ const SvgRu({super.key});
+
+ @override
+ Widget build(BuildContext context) {
+ return SvgPicture.asset(R.ASSETS_SVG_RU_SVG);
+ }
+}
+
+class SvgUk extends StatelessWidget {
+ const SvgUk({super.key});
+
+ @override
+ Widget build(BuildContext context) {
+ return SvgPicture.asset(R.ASSETS_SVG_UK_SVG);
+ }
+}
\ No newline at end of file
diff --git a/lib/Presentation/detailPage.dart b/lib/Presentation/detailPage.dart
index 2db1fab..7c0e05a 100644
--- a/lib/Presentation/detailPage.dart
+++ b/lib/Presentation/detailPage.dart
@@ -10,7 +10,7 @@ class DetailPage extends StatelessWidget {
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
- title: const Text('Информация о продукции'),
+ title: const Text(''),
),
body: Padding(
padding: const EdgeInsets.all(16.0),
@@ -31,4 +31,4 @@ class DetailPage extends StatelessWidget {
),
);
}
-}
\ No newline at end of file
+}
diff --git a/lib/Presentation/home_page/bloc/bloc.dart b/lib/Presentation/home_page/bloc/bloc.dart
index 19efd8f..017c689 100644
--- a/lib/Presentation/home_page/bloc/bloc.dart
+++ b/lib/Presentation/home_page/bloc/bloc.dart
@@ -35,4 +35,4 @@ class HomeBloc extends Bloc {
error: error,
));
}
-}
\ No newline at end of file
+}
diff --git a/lib/Presentation/home_page/bloc/events.dart b/lib/Presentation/home_page/bloc/events.dart
index 025c2b0..cefba70 100644
--- a/lib/Presentation/home_page/bloc/events.dart
+++ b/lib/Presentation/home_page/bloc/events.dart
@@ -7,4 +7,4 @@ class HomeLoadDataEvent extends HomeEvent {
final int? nextPage;
const HomeLoadDataEvent({this.search, this.nextPage});
-}
\ No newline at end of file
+}
diff --git a/lib/Presentation/home_page/bloc/state.dart b/lib/Presentation/home_page/bloc/state.dart
index cb7ed56..f51fb67 100644
--- a/lib/Presentation/home_page/bloc/state.dart
+++ b/lib/Presentation/home_page/bloc/state.dart
@@ -6,23 +6,23 @@ part 'state.g.dart';
@CopyWith()
class HomeState extends Equatable {
- final HomeData? data;
- final bool isLoading;
- final bool isPaginationLoading;
- final String? error;
+ final HomeData? data;
+ final bool isLoading;
+ final bool isPaginationLoading;
+ final String? error;
- const HomeState({
- this.data,
- this.isLoading = false,
- this.isPaginationLoading = false,
- this.error,
- });
+ const HomeState({
+ this.data,
+ this.isLoading = false,
+ this.isPaginationLoading = false,
+ this.error,
+ });
- @override
- List