Создание коллекций

This commit is contained in:
2025-03-25 20:53:53 +03:00
parent cb6ce05059
commit e6517402d3
375 changed files with 1775 additions and 1519 deletions

View File

@@ -1,3 +1,4 @@
import 'dart:convert';
import 'dart:math';
import 'package:auto_route/auto_route.dart';
@@ -6,15 +7,19 @@ import 'package:flutter_slidable/flutter_slidable.dart';
import 'package:remever/common/functions.dart';
import 'package:remever/common/resources.dart';
import 'package:remever/common/widgets/typography.dart';
import 'package:remever/common/widgets/w_if.dart';
import 'package:remever/common/widgets/wspace.dart';
import 'package:remever/components/extensions/context.dart';
import 'package:remever/database/database.dart';
import 'package:remever/gen/assets.gen.dart';
import 'package:remever/router.gr.dart';
import 'package:remever/screens/collections/widgets/collection_progress_bar.dart';
import 'package:remever/screens/dialogs/action_dialog.dart';
class CollectionCard extends StatelessWidget {
const CollectionCard({super.key});
const CollectionCard({super.key, required this.collection});
final Collection collection;
@override
Widget build(BuildContext context) {
@@ -36,7 +41,10 @@ class CollectionCard extends StatelessWidget {
context: context,
backgroundColor: const Color(0xFFFFE4E6),
foregroundColor: const Color(0xFFFF5C69),
icon: Icons.favorite_border,
icon:
collection.isLiked
? Icons.favorite_outlined
: Icons.favorite_border,
onPressed: () {},
),
const WSpace(8),
@@ -113,13 +121,16 @@ class CollectionCard extends StatelessWidget {
_buildIconWithText(
icon: Assets.icons.typeCards,
color: AppColors.disabled,
text: Random().nextInt(654).toString(),
text: collection.likesCount.toString(),
),
const WSpace(8),
_buildIconWithText(
icon: Assets.icons.typeLike1818,
icon:
collection.isLiked
? Assets.icons.typeLike1818
: Assets.icons.typeLike,
color: AppColors.danger,
text: Random().nextInt(7689).toString(),
text: collection.likesCount.toString(),
),
],
);
@@ -130,7 +141,7 @@ class CollectionCard extends StatelessWidget {
///
Widget _buildTitle() {
return AppTypography(
'Астрономия',
collection.title,
type: Medium16px(),
maxLines: 2,
softWrap: true,
@@ -141,6 +152,31 @@ class CollectionCard extends StatelessWidget {
/// Обложка коллекции
///
Widget _buildAvatar() {
return SizedBox.square(
dimension: 50.r,
child: DecoratedBox(
decoration: BoxDecoration(shape: BoxShape.circle, color: AppColors.bg),
child: Wif(
condition: collection.image != null,
builder:
(context) => ClipOval(
child: Image.memory(
base64Decode(collection.image!),
fit: BoxFit.cover,
),
),
fallback:
(context) => Center(
child: AppTypography(
collection.title.substring(0, 1),
type: Bold34px(),
),
),
),
),
);
return SizedBox.square(
dimension: 50.r,
child: DecoratedBox(