diff --git a/proto/anki/scheduler.proto b/proto/anki/scheduler.proto index 581f6d046..ecd68fa3e 100644 --- a/proto/anki/scheduler.proto +++ b/proto/anki/scheduler.proto @@ -311,6 +311,7 @@ message NextCardDataResponse { string css = 5; string body_class = 6; bool autoplay = 7; + bool marked = 13; optional TypedAnswer typed_answer = 12; repeated card_rendering.AVTag question_av_tags = 8; diff --git a/qt/aqt/mediasrv.py b/qt/aqt/mediasrv.py index b63518db0..02a6c6796 100644 --- a/qt/aqt/mediasrv.py +++ b/qt/aqt/mediasrv.py @@ -769,6 +769,8 @@ exposed_backend_list = [ "get_field_names", "get_note", "remove_notes", + "add_note_tags", + "remove_note_tags", # NotetypesService "get_notetype_names", "get_change_notetype_info", diff --git a/rslib/src/scheduler/service/mod.rs b/rslib/src/scheduler/service/mod.rs index d7bdae42d..796fbec54 100644 --- a/rslib/src/scheduler/service/mod.rs +++ b/rslib/src/scheduler/service/mod.rs @@ -404,6 +404,7 @@ impl crate::services::SchedulerService for Collection { if let Some(next_card) = next_card { let cid = next_card.card.id; let deck_config = self.deck_config_for_card(&next_card.card)?; + let note = self.get_note(next_card.card.note_id.into())?; let render = self.render_existing_card(cid, false, true)?; let show_due = self.get_config_bool(BoolKey::ShowIntervalsAboveAnswerButtons); @@ -454,7 +455,6 @@ impl crate::services::SchedulerService for Collection { let typed_answer = typed_answer_parent_node .map(|field| -> Result<(String, String)> { - let note = self.get_note(next_card.card.note_id.into())?; let notetype = self .get_notetype(note.notetype_id.into())? .or_not_found(note.notetype_id)?; @@ -468,6 +468,8 @@ impl crate::services::SchedulerService for Collection { }) .transpose()?; + let marked = note.tags.contains(&"marked".to_string()); + Ok(NextCardDataResponse { next_card: Some(NextCardData { queue: Some(queue.into()), @@ -482,6 +484,7 @@ impl crate::services::SchedulerService for Collection { text: answer.1, args: answer.0, }), + marked, // Filled by python front: "".to_string(), diff --git a/ts/routes/reviewer/+page.svelte b/ts/routes/reviewer/+page.svelte index 3eb014f18..517419267 100644 --- a/ts/routes/reviewer/+page.svelte +++ b/ts/routes/reviewer/+page.svelte @@ -20,6 +20,7 @@ License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html }); $: cardData = state.cardData; $: flag = $cardData?.queue?.cards[0].card?.flags; + $: marked = $cardData?.marked;