diff --git a/flutter/lib/main.dart b/flutter/lib/main.dart index dbcc720..667ce02 100644 --- a/flutter/lib/main.dart +++ b/flutter/lib/main.dart @@ -41,6 +41,7 @@ class MyHomePage extends StatefulWidget { class _MyHomePageState extends State { late Map _save; List> _rankedResults = [[]]; + int _nextRemarkableNumbers = 0; void _loadSave(Map newSave) { setState(() { @@ -56,6 +57,7 @@ class _MyHomePageState extends State { saveMgr.fetch().then((response) { _loadSave(jsonDecode(response.body)); getRankedResults(_save); + getNextRemarkableNumber(_save); }); } @@ -77,12 +79,23 @@ class _MyHomePageState extends State { children: [ Padding( padding: const EdgeInsets.only(top: 48.0), - child: Text( - '#PR Cup', - style: GoogleFonts.racingSansOne( - color: fontColor, - fontSize: 64, - shadows: [Shadow(color: shadowColor, blurRadius: 8)]), + child: Column( + children: [ + Text( + '#PR Cup', + style: GoogleFonts.racingSansOne( + color: fontColor, + fontSize: 64, + shadows: [Shadow(color: shadowColor, blurRadius: 8)]), + ), + Text( + "Next target: #${_nextRemarkableNumbers.toString()}", + style: GoogleFonts.spaceGrotesk( + color: fontColor, + fontSize: 16, + shadows: [Shadow(color: shadowColor, blurRadius: 8)]), + ) + ], ), ), SizedBox(height: offsetH), @@ -159,4 +172,22 @@ class _MyHomePageState extends State { _rankedResults = rankedResults; }); } + + getNextRemarkableNumber(save) { + final allNumbers = save['remarkable_numbers']..sort(); + + final scoredNumbers = save['results'].map((r) => r['number']).toList() + ..sort(); + + final latestNumber = scoredNumbers.last; + final latestNumberIndex = allNumbers.indexOf(latestNumber); + + final nextRemarkableNumbers = latestNumberIndex + 1 < allNumbers.length + ? allNumbers[latestNumberIndex + 1] + : -1; + + setState(() { + _nextRemarkableNumbers = nextRemarkableNumbers; + }); + } }