diff --git a/src/components/core/ExportRetroButton.vue b/src/components/core/ExportRetroButton.vue
new file mode 100644
index 0000000..f3ea65f
--- /dev/null
+++ b/src/components/core/ExportRetroButton.vue
@@ -0,0 +1,101 @@
+
+
+
+
+
+
+ {{ isExporting ? 'Exporting...' : 'Export' }}
+
+
+
+
+
+
+
diff --git a/src/components/icons/DownloadIcon.vue b/src/components/icons/DownloadIcon.vue
new file mode 100644
index 0000000..f6cd390
--- /dev/null
+++ b/src/components/icons/DownloadIcon.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
diff --git a/src/components/retrospective/RetrospectiveLayout.vue b/src/components/retrospective/RetrospectiveLayout.vue
index dffd124..d195dd0 100644
--- a/src/components/retrospective/RetrospectiveLayout.vue
+++ b/src/components/retrospective/RetrospectiveLayout.vue
@@ -4,6 +4,7 @@
import ModalifyComponent from '../core/ModalifyComponent.vue';
import QuestionLayout from '../question/QuestionLayout.vue';
import ShareRetro from '../core/ShareRetroButton.vue';
+ import ExportRetro from '../core/ExportRetroButton.vue';
import CreateQuestion from '../question/CreateQuestion.vue';
import { storeToRefs } from 'pinia';
import { RouterLink } from 'vue-router';
@@ -28,6 +29,7 @@
+
> => {
+ const result = await apiRequest
+ .post(
+ Endpoints.RetrospectiveExport,
+ {
+ retrospective_id: retrospectiveId,
+ export_type: exportType,
+ },
+ { responseType: 'blob' },
+ )
+ .catch(() => null);
+
+ if (!result) return { error: true };
+
+ return result.data;
+};
+
+export default {
+ createRetrospective,
+ getRetrospective,
+ deleteRestrospective,
+ updateRetrospective,
+ exportRetrospective,
+};