fix(feed): показать ещё (338), комментарии (325), переход в профиль (317)

This commit is contained in:
mso7nueh
2025-04-25 11:03:52 +03:00
parent bc7fcd5c65
commit 1178525a93
6 changed files with 95 additions and 65 deletions

View File

@@ -1,5 +1,5 @@
// String baseUrl = 'https://eatvio.ru';
String baseUrl = 'https://dev2.eatvio.com';
String baseUrl = 'https://eatvio.ru';
// String baseUrl = 'https://dev2.eatvio.com';
const List<int> durationValues = [7, 14, 21];

View File

@@ -12,75 +12,78 @@ class AuthorCard extends StatelessWidget {
final String title;
final Color? backgroundColor;
final TextStyle? titleStyle;
@override
Widget build(BuildContext context) {
return Container(
width: MediaQuery.sizeOf(context).width,
decoration: BoxDecoration(borderRadius: BorderRadius.circular(12), color: backgroundColor ?? appTheme.cardBackground),
child: Stack(
children: [
Padding(
padding: const EdgeInsets.only(left: 16, top: 16, bottom: 24),
child: Column(
children: [
ListTile(
contentPadding: EdgeInsets.zero,
leading: Container(
width: 64,
height: 64,
decoration: BoxDecoration(
shape: BoxShape.circle,
image: DecorationImage(
image: NetworkImage(author.authorProfileIcon),
fit: BoxFit.cover,
return GestureDetector(
onTap: () {
GoRouter.of(context).pushNamed('profileScreen', extra: author);
},
child: Container(
width: MediaQuery.sizeOf(context).width,
decoration: BoxDecoration(borderRadius: BorderRadius.circular(12), color: backgroundColor ?? appTheme.cardBackground),
child: Stack(
children: [
Padding(
padding: const EdgeInsets.only(left: 16, top: 16, bottom: 24),
child: Column(
children: [
ListTile(
contentPadding: EdgeInsets.zero,
leading: Container(
width: 64,
height: 64,
decoration: BoxDecoration(
shape: BoxShape.circle,
image: DecorationImage(
image: NetworkImage(author.authorProfileIcon),
fit: BoxFit.cover,
),
),
),
),
subtitle: Text(
author.authorName,
style: TextStyles.textLSemibold.copyWith(
color: appTheme.black,
),
),
title: Text(
title,
style: titleStyle ?? TextStyles.textSSemibold.copyWith(
color: appTheme.gray,
),
),
),
Row(
children: [
Text(
'Консультант',
style: TextStyles.textMMedium.copyWith(
subtitle: Text(
author.authorName,
style: TextStyles.textLSemibold.copyWith(
color: appTheme.black,
),
),
const SizedBox(width: 10),
if (author.authorPlaceInRating != null)
InfoBouble(
radius: 12,
backgroundColor: appTheme.whiteA700,
children: [
Text(
'${author.authorPlaceInRating}-й в рейтинге',
style: TextStyles.textMMediumAuto.copyWith(
color: appTheme.blueA400,
),
),
],
title: Text(
title,
style: titleStyle ?? TextStyles.textSSemibold.copyWith(
color: appTheme.gray,
),
],
),
],
),
),
Row(
children: [
Text(
'Консультант',
style: TextStyles.textMMedium.copyWith(
color: appTheme.black,
),
),
const SizedBox(width: 10),
if (author.authorPlaceInRating != null)
InfoBouble(
radius: 12,
backgroundColor: appTheme.whiteA700,
children: [
Text(
'${author.authorPlaceInRating}-й в рейтинге',
style: TextStyles.textMMediumAuto.copyWith(
color: appTheme.blueA400,
),
),
],
),
],
),
],
),
),
),
Positioned(
right: 8,
top: 8,
child: GestureDetector(
onTap: () => GoRouter.of(context).pushNamed('profileScreen', extra: author),
Positioned(
right: 8,
top: 8,
child: Container(
width: 28,
height: 28,
@@ -98,8 +101,8 @@ class AuthorCard extends StatelessWidget {
),
),
),
),
],
],
),
),
);
}

View File

@@ -42,6 +42,7 @@ class _CommentsWidgetState extends State<CommentsWidget> {
),
const SizedBox(height: 8),
],
const SizedBox(height: 48),
],
);
}

View File

@@ -153,6 +153,19 @@ class _DietsWidgetState extends State<DietsWidget> {
),
),
],
if (widget.diet.details.length > 200)
const Padding(
padding: EdgeInsets.only(left: 16, top: 8),
child: Text(
'Показать ещё',
style: TextStyle(
height: 1,
color: Color(0xFF8B8B8B),
fontSize: 14,
fontWeight: FontWeight.w600,
),
),
),
],
),
Padding(

View File

@@ -156,6 +156,19 @@ class _PlanWidgetState extends State<PlanWidget> {
},
),
),
if (widget.plan.details.length > 200)
const Padding(
padding: EdgeInsets.only(left: 16, top: 8),
child: Text(
'Показать ещё',
style: TextStyle(
height: 1,
color: Color(0xFF8B8B8B),
fontSize: 14,
fontWeight: FontWeight.w600,
),
),
),
],
],
),

View File

@@ -187,7 +187,7 @@ class _RecipesWidgetState extends State<RecipesWidget> {
),
if (widget.recipe.description.length > 200)
const Padding(
padding: EdgeInsets.symmetric(horizontal: 12),
padding: EdgeInsets.only(left: 16, top: 8),
child: Text(
'Показать ещё',
style: TextStyle(