61 lines
1.4 KiB
Dart
61 lines
1.4 KiB
Dart
|
|
import 'package:tangocard_reader/components/flashcard.dart';
|
|
import 'package:flutter/material.dart';
|
|
import 'package:tangocard_reader/models/data_entry.dart';
|
|
|
|
class FlashcardPage extends StatefulWidget {
|
|
final YokutangoEntry card;
|
|
final Function() onNextCard;
|
|
final bool languageFlipped;
|
|
final int? index;
|
|
|
|
const FlashcardPage({
|
|
required this.card,
|
|
required this.onNextCard,
|
|
this.languageFlipped = false,
|
|
this.index,
|
|
Key? key,
|
|
}) : super(key: key);
|
|
|
|
@override
|
|
_FlashcardPageState createState() => _FlashcardPageState();
|
|
}
|
|
|
|
class _FlashcardPageState extends State<FlashcardPage> {
|
|
bool isPressed = false;
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
return GestureDetector(
|
|
onTap: () {
|
|
if (isPressed) {
|
|
widget.onNextCard();
|
|
}
|
|
|
|
setState(() {
|
|
isPressed = !isPressed;
|
|
});
|
|
},
|
|
child: Center(
|
|
child: Row(
|
|
mainAxisAlignment: MainAxisAlignment.center,
|
|
children: [
|
|
Flashcard(
|
|
card: widget.card,
|
|
cardIndex: widget.index,
|
|
isLeftSide: true,
|
|
languageFlipped: widget.languageFlipped,
|
|
),
|
|
const SizedBox(width: 40),
|
|
Flashcard(
|
|
card: isPressed ? widget.card : null,
|
|
cardIndex: widget.index,
|
|
languageFlipped: widget.languageFlipped,
|
|
),
|
|
],
|
|
),
|
|
),
|
|
);
|
|
}
|
|
}
|