feat: add hover effect on an event card (#2487)

* chore: delete unncessary openCard method in RowCardContainer

* chore: delete unnessary code and add comment
This commit is contained in:
Yijing Huang 2023-05-09 21:19:52 -05:00 committed by GitHub
parent 151ee89855
commit f0a4b4b77d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 14 additions and 22 deletions

View File

@ -10,6 +10,7 @@ import 'package:flowy_infra/image.dart';
import 'package:flowy_infra/size.dart';
import 'package:flowy_infra/theme_extension.dart';
import 'package:flowy_infra_ui/flowy_infra_ui.dart';
import 'package:flowy_infra_ui/style_widget/hover.dart';
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
@ -100,7 +101,7 @@ class CalendarDayCard extends StatelessWidget {
);
}
GestureDetector _buildCard(BuildContext context, CalendarDayEvent event) {
Widget _buildCard(BuildContext context, CalendarDayEvent event) {
final styles = <FieldType, CardCellStyle>{
FieldType.Number: NumberCardCellStyle(10),
FieldType.URL: URLCardCellStyle(10),
@ -122,6 +123,7 @@ class CalendarDayCard extends StatelessWidget {
child: FlowyText.medium(
cellData,
textAlign: TextAlign.left,
color: Theme.of(context).colorScheme.onBackground,
fontSize: 11,
maxLines: null, // Enable multiple lines
),
@ -191,12 +193,8 @@ class CalendarDayCard extends StatelessWidget {
cardData: event.dateFieldId,
isEditing: false,
cellBuilder: cellBuilder,
openCard: (context) => showEventDetails(
context: context,
event: event,
viewId: viewId,
rowCache: _rowCache,
),
//Since we already have [showEventDetails] in calendar_day.dart, we don't need to implement it here again.
openCard: (_) {},
styleConfiguration: const RowCardStyleConfiguration(
showAccessory: false,
cellPadding: EdgeInsets.zero,
@ -206,15 +204,17 @@ class CalendarDayCard extends StatelessWidget {
onEndEditing: () {},
);
return GestureDetector(
return InkWell(
onTap: () => showEventDetails(
context: context,
event: event,
viewId: viewId,
rowCache: _rowCache,
),
child: MouseRegion(
cursor: SystemMouseCursors.click,
child: FlowyHover(
style: HoverStyle(
hoverColor: Theme.of(context).colorScheme.tertiaryContainer,
),
child: Container(
padding: const EdgeInsets.symmetric(horizontal: 2),
decoration: BoxDecoration(

View File

@ -141,7 +141,6 @@ class _RowCardState<T> extends State<RowCard<T>> {
}
},
openAccessory: _handleOpenAccessory,
openCard: (context) => widget.openCard(context),
child: _CardContent<T>(
rowNotifier: rowNotifier,
cellBuilder: widget.cellBuilder,

View File

@ -8,11 +8,9 @@ class RowCardContainer extends StatelessWidget {
final Widget child;
final CardAccessoryBuilder? accessoryBuilder;
final bool Function()? buildAccessoryWhen;
final void Function(BuildContext) openCard;
final void Function(AccessoryType) openAccessory;
const RowCardContainer({
required this.child,
required this.openCard,
required this.openAccessory,
this.accessoryBuilder,
this.buildAccessoryWhen,
@ -42,15 +40,10 @@ class RowCardContainer extends StatelessWidget {
}
}
return GestureDetector(
onTap: () => openCard(context),
child: Padding(
padding: const EdgeInsets.all(8),
child: ConstrainedBox(
constraints: const BoxConstraints(minHeight: 30),
child: container,
),
),
return Container(
padding: const EdgeInsets.all(8),
constraints: const BoxConstraints(minHeight: 30),
child: container,
);
},
),