diff --git a/classquiz/db/models.py b/classquiz/db/models.py
index 63c74d6..8d25793 100644
--- a/classquiz/db/models.py
+++ b/classquiz/db/models.py
@@ -119,6 +119,8 @@ class SlideElementTypes(str, Enum):
TEXT = "TEXT"
HEADLINE = "HEADLINE"
IMAGE = "IMAGE"
+ RECTANGLE = "RECTANGLE"
+ CIRCLE = "CIRCLE"
class SlideElement(BaseModel):
diff --git a/classquiz/routers/editor.py b/classquiz/routers/editor.py
index 7f1459f..1e2ec09 100644
--- a/classquiz/routers/editor.py
+++ b/classquiz/routers/editor.py
@@ -198,6 +198,7 @@ async def finish_edit(edit_id: str, quiz_input: QuizInput):
quiz.description = quiz_input.description
quiz.updated_at = datetime.now()
quiz.questions = quiz_input.dict()["questions"]
+ print(quiz.questions)
quiz.cover_image = quiz_input.cover_image
quiz.background_color = quiz_input.background_color
for image in images_to_delete:
diff --git a/frontend/src/lib/editor/slide.svelte b/frontend/src/lib/editor/slide.svelte
index 712e83b..a0e5ba6 100644
--- a/frontend/src/lib/editor/slide.svelte
+++ b/frontend/src/lib/editor/slide.svelte
@@ -6,6 +6,8 @@
@@ -190,6 +192,10 @@
{:else if el.type === ElementTypes.Headline}
+ {:else if el.type === ElementTypes.Rectangle}
+
+ {:else if el.type === ElementTypes.Circle}
+
{/if}
{/each}
diff --git a/frontend/src/lib/editor/slides/element_selection.svelte b/frontend/src/lib/editor/slides/element_selection.svelte
index ac07cf1..581c46b 100644
--- a/frontend/src/lib/editor/slides/element_selection.svelte
+++ b/frontend/src/lib/editor/slides/element_selection.svelte
@@ -11,7 +11,9 @@
export let selected_element;
const keybinding_list = {
t: ElementTypes.Text,
- h: ElementTypes.Headline
+ h: ElementTypes.Headline,
+ r: ElementTypes.Rectangle,
+ c: ElementTypes.Circle
// "i": ElementTypes.Image
};
@@ -50,6 +52,20 @@
type: ElementTypes.Text,
icon: undefined,
shortcut: 't'
+ },
+ {
+ name: 'Rectangle',
+ description: 'Just a rectangle',
+ type: ElementTypes.Rectangle,
+ icon: undefined,
+ shortcut: 'r'
+ },
+ {
+ name: 'Circle',
+ description: 'Just a circle',
+ type: ElementTypes.Circle,
+ icon: undefined,
+ shortcut: 'c'
}
];
diff --git a/frontend/src/lib/editor/slides/types/circle.svelte b/frontend/src/lib/editor/slides/types/circle.svelte
new file mode 100644
index 0000000..2a3b06a
--- /dev/null
+++ b/frontend/src/lib/editor/slides/types/circle.svelte
@@ -0,0 +1,20 @@
+
+
+
+
+ {#if editor}
+
+ {/if}
+
diff --git a/frontend/src/lib/editor/slides/types/rectangle.svelte b/frontend/src/lib/editor/slides/types/rectangle.svelte
new file mode 100644
index 0000000..502d7c8
--- /dev/null
+++ b/frontend/src/lib/editor/slides/types/rectangle.svelte
@@ -0,0 +1,20 @@
+
+
+
+
+ {#if editor}
+
+ {/if}
+
diff --git a/frontend/src/lib/quiz_types.ts b/frontend/src/lib/quiz_types.ts
index fbda89c..b336e93 100644
--- a/frontend/src/lib/quiz_types.ts
+++ b/frontend/src/lib/quiz_types.ts
@@ -5,9 +5,11 @@
*/
export enum ElementTypes {
- Text = 'TEXT',
- Headline = 'HEADLINE',
- Image = 'IMAGE'
+ Text = 'TEXT', // eslint-disable-line no-unused-vars
+ Headline = 'HEADLINE', // eslint-disable-line no-unused-vars
+ Image = 'IMAGE', // eslint-disable-line no-unused-vars
+ Rectangle = 'RECTANGLE', // eslint-disable-line no-unused-vars
+ Circle = 'CIRCLE' // eslint-disable-line no-unused-vars
}
export interface QuizData {