diff --git a/frontend/src/api/family.ts b/frontend/src/api/family.ts
index 5162b578..45852044 100644
--- a/frontend/src/api/family.ts
+++ b/frontend/src/api/family.ts
@@ -17,12 +17,23 @@ export interface Criterion {
test: string;
}
+export interface IdeaTopic {
+ id: number;
+ title: string;
+ rulebook_id: number;
+ /** Present on a single idea's read, not on the list. */
+ rules?: { id: number; title: string }[];
+}
+
export interface FamilyIdea {
note_id: number;
status: IdeaStatus;
applies_when: string;
canon_version: number;
topic_id: number | null;
+ /** The rule topic holding the idea's binding norms; null when none is
+ * linked or the reader does not own its rulebook. */
+ topic: IdeaTopic | null;
title: string;
note_type: string;
is_task: boolean;
diff --git a/frontend/src/views/FamilyView.vue b/frontend/src/views/FamilyView.vue
index 67444c6e..0ca2997f 100644
--- a/frontend/src/views/FamilyView.vue
+++ b/frontend/src/views/FamilyView.vue
@@ -259,6 +259,12 @@ onMounted(load);
{{ p }}
+
+ Binding rules:
+ {{ idea.topic.title }}
+