🎨 Distinguish between new cards and review cards during spaced repetition https://github.com/siyuan-note/siyuan/issues/9377
This commit is contained in:
parent
b5494e9af7
commit
c32cad7c3e
1 changed files with 22 additions and 30 deletions
|
@ -626,8 +626,8 @@ func getAllDueFlashcards(reviewedCardIDs []string) (ret []*Flashcard, unreviewed
|
|||
for _, deck := range Decks {
|
||||
cards, unreviewedCnt, unreviewedNewCardCnt, unreviewedOldCardCnt := getDeckDueCards(deck, reviewedCardIDs, nil, Conf.Flashcard.NewCardLimit, Conf.Flashcard.ReviewCardLimit)
|
||||
unreviewedCount += unreviewedCnt
|
||||
unreviewedNewCardCnt += unreviewedNewCardCnt
|
||||
unreviewedOldCardCnt += unreviewedOldCardCnt
|
||||
unreviewedNewCardCount += unreviewedNewCardCnt
|
||||
unreviewedOldCardCount += unreviewedOldCardCnt
|
||||
for _, card := range cards {
|
||||
ret = append(ret, newFlashcard(card, card.BlockID(), deck.ID, now))
|
||||
}
|
||||
|
@ -994,38 +994,16 @@ func getDeckDueCards(deck *riff.Deck, reviewedCardIDs, blockIDs []string, newCar
|
|||
dues := deck.Dues()
|
||||
|
||||
var tmp []riff.Card
|
||||
for _, c := range dues {
|
||||
if nil == treenode.GetBlockTree(c.BlockID()) {
|
||||
continue
|
||||
}
|
||||
tmp = append(tmp, c)
|
||||
}
|
||||
dues = tmp
|
||||
tmp = nil
|
||||
|
||||
for _, c := range dues {
|
||||
if 0 < len(blockIDs) && !gulu.Str.Contains(c.BlockID(), blockIDs) {
|
||||
continue
|
||||
}
|
||||
tmp = append(tmp, c)
|
||||
|
||||
if 0 < len(reviewedCardIDs) {
|
||||
if !gulu.Str.Contains(c.ID(), reviewedCardIDs) {
|
||||
unreviewedCount++
|
||||
if riff.New == c.GetState() {
|
||||
unreviewedNewCardCount++
|
||||
} else {
|
||||
unreviewedOldCardCount++
|
||||
}
|
||||
}
|
||||
} else {
|
||||
unreviewedCount++
|
||||
if riff.New == c.GetState() {
|
||||
unreviewedNewCardCount++
|
||||
} else {
|
||||
unreviewedOldCardCount++
|
||||
}
|
||||
if nil == treenode.GetBlockTree(c.BlockID()) {
|
||||
continue
|
||||
}
|
||||
|
||||
tmp = append(tmp, c)
|
||||
}
|
||||
dues = tmp
|
||||
|
||||
|
@ -1055,8 +1033,22 @@ func getDeckDueCards(deck *riff.Deck, reviewedCardIDs, blockIDs []string, newCar
|
|||
}
|
||||
}
|
||||
|
||||
if 0 < len(reviewedCardIDs) && !gulu.Str.Contains(c.ID(), reviewedCardIDs) {
|
||||
continue
|
||||
if 0 < len(reviewedCardIDs) {
|
||||
if !gulu.Str.Contains(c.ID(), reviewedCardIDs) {
|
||||
unreviewedCount++
|
||||
if riff.New == c.GetState() {
|
||||
unreviewedNewCardCount++
|
||||
} else {
|
||||
unreviewedOldCardCount++
|
||||
}
|
||||
}
|
||||
} else {
|
||||
unreviewedCount++
|
||||
if riff.New == c.GetState() {
|
||||
unreviewedNewCardCount++
|
||||
} else {
|
||||
unreviewedOldCardCount++
|
||||
}
|
||||
}
|
||||
|
||||
ret = append(ret, c)
|
||||
|
|
Loading…
Add table
Reference in a new issue