mirror of
https://github.com/siyuan-note/siyuan.git
synced 2025-05-17 09:30:48 +08:00
🎨 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
@ -626,8 +626,8 @@ func getAllDueFlashcards(reviewedCardIDs []string) (ret []*Flashcard, unreviewed
|
|||||||
for _, deck := range Decks {
|
for _, deck := range Decks {
|
||||||
cards, unreviewedCnt, unreviewedNewCardCnt, unreviewedOldCardCnt := getDeckDueCards(deck, reviewedCardIDs, nil, Conf.Flashcard.NewCardLimit, Conf.Flashcard.ReviewCardLimit)
|
cards, unreviewedCnt, unreviewedNewCardCnt, unreviewedOldCardCnt := getDeckDueCards(deck, reviewedCardIDs, nil, Conf.Flashcard.NewCardLimit, Conf.Flashcard.ReviewCardLimit)
|
||||||
unreviewedCount += unreviewedCnt
|
unreviewedCount += unreviewedCnt
|
||||||
unreviewedNewCardCnt += unreviewedNewCardCnt
|
unreviewedNewCardCount += unreviewedNewCardCnt
|
||||||
unreviewedOldCardCnt += unreviewedOldCardCnt
|
unreviewedOldCardCount += unreviewedOldCardCnt
|
||||||
for _, card := range cards {
|
for _, card := range cards {
|
||||||
ret = append(ret, newFlashcard(card, card.BlockID(), deck.ID, now))
|
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()
|
dues := deck.Dues()
|
||||||
|
|
||||||
var tmp []riff.Card
|
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 {
|
for _, c := range dues {
|
||||||
if 0 < len(blockIDs) && !gulu.Str.Contains(c.BlockID(), blockIDs) {
|
if 0 < len(blockIDs) && !gulu.Str.Contains(c.BlockID(), blockIDs) {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
tmp = append(tmp, c)
|
|
||||||
|
|
||||||
if 0 < len(reviewedCardIDs) {
|
if nil == treenode.GetBlockTree(c.BlockID()) {
|
||||||
if !gulu.Str.Contains(c.ID(), reviewedCardIDs) {
|
continue
|
||||||
unreviewedCount++
|
|
||||||
if riff.New == c.GetState() {
|
|
||||||
unreviewedNewCardCount++
|
|
||||||
} else {
|
|
||||||
unreviewedOldCardCount++
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
unreviewedCount++
|
|
||||||
if riff.New == c.GetState() {
|
|
||||||
unreviewedNewCardCount++
|
|
||||||
} else {
|
|
||||||
unreviewedOldCardCount++
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
tmp = append(tmp, c)
|
||||||
}
|
}
|
||||||
dues = tmp
|
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) {
|
if 0 < len(reviewedCardIDs) {
|
||||||
continue
|
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)
|
ret = append(ret, c)
|
||||||
|
Loading…
Reference in New Issue
Block a user