Skip to content

Commit

Permalink
update
Browse files Browse the repository at this point in the history
ViewQuiz:
+ ridotto il padding della card della domanda corrente;
+ sostituiti "Domanda" con "D" e "Timer" con "Time" (così si risparmia spazio e su dispositivi con display stretto non va in overflow nascondendo il tempo rimanente;

icon_button_long_press:
+ sistemato un bug per cui quando veniva disabilitato e riabilitato, non si disattivava l'holding, quindi provando a ricliccarlo si perdeva un click;
+ aggiunta la possibilità di mostrare/nascondere il tempo rimanente;

ViewSettings:
+ aggiunte le funzioni per fare boundary checking di numero domande e timer;
+ refactor funzioni increase/decrease per numero domande e timer (sostituite con una singola funzione update();
+ aggiunta la possibilità di modificare il numero delle domande e il timer, inserendo il numero manualmente (se ci sono molte domande arrivare al limite massimo o minimo richiede parecchio tempo);
  • Loading branch information
mikyll committed Dec 22, 2023
1 parent 10cc211 commit d9f573b
Show file tree
Hide file tree
Showing 5 changed files with 226 additions and 116 deletions.
64 changes: 34 additions & 30 deletions app-mobile/flutter_application/lib/views/ViewQuiz.dart
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ class _ViewQuizState extends State<ViewQuiz> {

Quiz quiz = Quiz();

bool _showTime = true;
bool _isOver = false;
int _qIndex = 0;
int _correctAnswers = 0;
Expand Down Expand Up @@ -219,45 +220,48 @@ class _ViewQuizState extends State<ViewQuiz> {
child: Row(
children: [
Text(
"Domanda: ${_qIndex + 1}/${widget.settings.questionNumber}",
"D${_qIndex + 1}/${widget.settings.questionNumber}",
maxLines: 1,
style: const TextStyle(
fontSize: 24,
fontWeight: FontWeight.bold,
),
),
const Spacer(),
RichText(
maxLines: 2,
text: TextSpan(
style: TextStyle(
fontSize: 24,
fontWeight: FontWeight.bold,
color: themeProvider.isDarkMode
? Colors.white
: Colors.black),
children: <TextSpan>[
const TextSpan(text: 'Timer: '),
TextSpan(
text:
"${_timerCounter ~/ 60}:${(_timerCounter % 60).toInt() < 10 ? "0${(_timerCounter % 60).toInt()}" : (_timerCounter % 60).toInt()}",
const Spacer(flex: 1),
InkWell(
onTap: _isOver
? null
: () {
setState(() {
_showTime = !_showTime;
});
},
child: Opacity(
opacity: _showTime || _isOver ? 1.0 : 0.0,
child: RichText(
maxLines: 1,
text: TextSpan(
style: TextStyle(
fontSize: 24,
color: _getTimerColor(themeProvider),
),
fontSize: 24,
fontWeight: FontWeight.bold,
color: themeProvider.isDarkMode
? Colors.white
: Colors.black),
children: [
const TextSpan(text: 'Time: '),
TextSpan(
text:
"${_timerCounter ~/ 60}:${(_timerCounter % 60).toInt() < 10 ? "0${(_timerCounter % 60).toInt()}" : (_timerCounter % 60).toInt()}",
style: TextStyle(
fontSize: 24,
color: _getTimerColor(themeProvider),
),
),
],
),
],
),
),
),
/*AutoSizeText(
"Timer: ${_timerCounter ~/ 60}:${(_timerCounter % 60).toInt() < 10 ? "0${(_timerCounter % 60).toInt()}" : (_timerCounter % 60).toInt()}",
maxLines: 1,
style: TextStyle(
color: _getTimerColor(),
fontSize: 24,
fontWeight: FontWeight.bold,
),
),*/
],
),
),
Expand All @@ -266,7 +270,7 @@ class _ViewQuizState extends State<ViewQuiz> {
controller: _scrollController,
primary: false,
child: Padding(
padding: const EdgeInsets.symmetric(horizontal: 20.0),
padding: const EdgeInsets.symmetric(horizontal: 10.0),
child: QuestionWidget(
questionText: _currentQuestion,
answers: _currentAnswers,
Expand Down
Loading

0 comments on commit d9f573b

Please sign in to comment.