As a user, I want to easily see my current knowledge level.
Requirements
Implement a segmented progress bar that represent:
the percentage of learned words (aka: kana, kanji, vocabulary)
the percentage of practicing words
the percentage of seen words
What needs to be done
Update jlpt_levels to have a level 0 which represent other.
under src/profile/models, create a GlobalKnowledgeLevel model (using freezed) with the following properties:
learned: int: number of learned words
practicing: int: number of practicing words
seen: int: number of seen words
total: int: total number of words that the progress bar represents
under src/profile/models, create a JLPTKnowledgeLevel model (using freezer) with
the following properties:
level: JLPTLevel: which level is represented here
hiragana?: GlobalKnowledgeLevel: global knowledge level for the Hiragana, passed only if JLPT contains some hiragana
katakana?: GlobalKnowledgeLevel: global knowledge level for the katakana, passed only if JLPT contains some katakana
kanji?: GlobalKnowledgeLevel: global knowledge level for the kanji, passed only if JLPT contains some kanji
vocabulary?: GlobalKnowledgeLevel: global knowledge level for the vocabulary, passed only if JLPT contains some vocabulary
a toGlobalKnowledgeLevel(): GlobalKnowledgeLevel method that merge hiragana, katakana, kanji, and vocabulary into a single GlobalKnowledgeLevel
under src/profile/widgets, create a GlobalKnowledgeLevelProgressBar widget. It should display a sectioned progress bar with a label (see design section for more info). The constructor should have the following parameters:
label: String: text to display on the left of the progress bar
level: GlobalKnowledgeLevel: level represented by the progress bar
onPressed?: VoidCallback: function to call when the progress bar is tapped
Design
KnowledgeLevelProgressBar wireframe
| Type | Dot color | Text EN |
|--------------|-----------|------------|
| `learned` | `#2b7f3b` | Learned |
| `practicing` | `#f08c00` | Practicing |
| `seen` | `#1971c2` | Seen |
![image](https://github.com/RoadTripMoustache/kana_to_kanji/assets/22211097/05cc46d1-f300-4742-ac71-66a326347087)
As a user, I want to easily see my current knowledge level.
Requirements
learned
words (aka: kana, kanji, vocabulary)practicing
wordsseen
wordsWhat needs to be done
jlpt_levels
to have a level 0 which represent other.src/profile/models
, create aGlobalKnowledgeLevel
model (using freezed) with the following properties:learned: int
: number of learned wordspracticing: int
: number of practicing wordsseen: int
: number of seen wordstotal: int
: total number of words that the progress bar representssrc/profile/models
, create aJLPTKnowledgeLevel
model (using freezer) withlevel: JLPTLevel
: which level is represented herehiragana?: GlobalKnowledgeLevel
: global knowledge level for the Hiragana, passed only if JLPT contains some hiraganakatakana?: GlobalKnowledgeLevel
: global knowledge level for the katakana, passed only if JLPT contains some katakanakanji?: GlobalKnowledgeLevel
: global knowledge level for the kanji, passed only if JLPT contains some kanjivocabulary?: GlobalKnowledgeLevel
: global knowledge level for the vocabulary, passed only if JLPT contains some vocabularytoGlobalKnowledgeLevel(): GlobalKnowledgeLevel
method that mergehiragana
,katakana
,kanji
, andvocabulary
into a singleGlobalKnowledgeLevel
src/profile/widgets
, create aGlobalKnowledgeLevelProgressBar
widget. It should display a sectioned progress bar with a label (see design section for more info). The constructor should have the following parameters:label: String
: text to display on the left of the progress barlevel: GlobalKnowledgeLevel
: level represented by the progress baronPressed?: VoidCallback
: function to call when the progress bar is tappedDesign
| Type | Dot color | Text EN | |--------------|-----------|------------| | `learned` | `#2b7f3b` | Learned | | `practicing` | `#f08c00` | Practicing | | `seen` | `#1971c2` | Seen | ![image](https://github.com/RoadTripMoustache/kana_to_kanji/assets/22211097/05cc46d1-f300-4742-ac71-66a326347087)KnowledgeLevelProgressBar
wireframeDependencies
Child of #130
Depends on:
145