diff --git a/.eslintrc.cjs b/.eslintrc.cjs
index 490b05d88..3366e53ba 100644
--- a/.eslintrc.cjs
+++ b/.eslintrc.cjs
@@ -38,7 +38,7 @@ module.exports = {
'vue/no-undef-components': [
'error',
{
- ignorePatterns: [],
+ ignorePatterns: ['.*-.*'],
},
],
},
diff --git a/src/frontend/Comments/BaseCommentsLogInto.vue b/src/frontend/Comments/BaseCommentsLogInto.vue
new file mode 100644
index 000000000..098acbbad
--- /dev/null
+++ b/src/frontend/Comments/BaseCommentsLogInto.vue
@@ -0,0 +1,5 @@
+Log in to comment
+
+
diff --git a/src/frontend/Comments/BaseCommentsMessage.vue b/src/frontend/Comments/BaseCommentsMessage.vue
new file mode 100644
index 000000000..7486b5da5
--- /dev/null
+++ b/src/frontend/Comments/BaseCommentsMessage.vue
@@ -0,0 +1,11 @@
+
+
+
+
+
+
diff --git a/src/frontend/Comments/BaseCommentsMessageActions.vue b/src/frontend/Comments/BaseCommentsMessageActions.vue
new file mode 100644
index 000000000..db7c25d52
--- /dev/null
+++ b/src/frontend/Comments/BaseCommentsMessageActions.vue
@@ -0,0 +1,9 @@
+
+
+
+
diff --git a/src/frontend/Comments/BaseCommentsMessageAuthor.vue b/src/frontend/Comments/BaseCommentsMessageAuthor.vue
new file mode 100644
index 000000000..89a081813
--- /dev/null
+++ b/src/frontend/Comments/BaseCommentsMessageAuthor.vue
@@ -0,0 +1,3 @@
+
+
+
diff --git a/src/frontend/Comments/BaseCommentsMessageAuthorAffiliation.vue b/src/frontend/Comments/BaseCommentsMessageAuthorAffiliation.vue
new file mode 100644
index 000000000..a300a9654
--- /dev/null
+++ b/src/frontend/Comments/BaseCommentsMessageAuthorAffiliation.vue
@@ -0,0 +1,8 @@
+
+ {{ currentMessage.author.affiliation }}
+
+
diff --git a/src/frontend/Comments/BaseCommentsMessageAuthorName.vue b/src/frontend/Comments/BaseCommentsMessageAuthorName.vue
new file mode 100644
index 000000000..f63a451b8
--- /dev/null
+++ b/src/frontend/Comments/BaseCommentsMessageAuthorName.vue
@@ -0,0 +1,8 @@
+
+ {{ currentMessage.author.name }}
+
+
diff --git a/src/frontend/Comments/BaseCommentsMessageAuthorOrcid.vue b/src/frontend/Comments/BaseCommentsMessageAuthorOrcid.vue
new file mode 100644
index 000000000..b471b2f78
--- /dev/null
+++ b/src/frontend/Comments/BaseCommentsMessageAuthorOrcid.vue
@@ -0,0 +1,8 @@
+
+ {{ currentMessage.author.orcid }}
+
+
diff --git a/src/frontend/Comments/BaseCommentsMessageBody.vue b/src/frontend/Comments/BaseCommentsMessageBody.vue
new file mode 100644
index 000000000..673e28f6c
--- /dev/null
+++ b/src/frontend/Comments/BaseCommentsMessageBody.vue
@@ -0,0 +1,11 @@
+
+
+ {{ currentMessage.body }}
+
+
+
diff --git a/src/frontend/Comments/BaseCommentsMessageDate.vue b/src/frontend/Comments/BaseCommentsMessageDate.vue
new file mode 100644
index 000000000..2b53b323a
--- /dev/null
+++ b/src/frontend/Comments/BaseCommentsMessageDate.vue
@@ -0,0 +1,8 @@
+
+ {{ currentMessage.date }}
+
+
diff --git a/src/frontend/Comments/BaseCommentsMessageProvider.vue b/src/frontend/Comments/BaseCommentsMessageProvider.vue
new file mode 100644
index 000000000..c89237680
--- /dev/null
+++ b/src/frontend/Comments/BaseCommentsMessageProvider.vue
@@ -0,0 +1,16 @@
+
+
+
+
+
diff --git a/src/frontend/Comments/BaseCommentsMessages.vue b/src/frontend/Comments/BaseCommentsMessages.vue
new file mode 100644
index 000000000..3000268f5
--- /dev/null
+++ b/src/frontend/Comments/BaseCommentsMessages.vue
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
+
diff --git a/src/frontend/Comments/BaseCommentsNew.vue b/src/frontend/Comments/BaseCommentsNew.vue
new file mode 100644
index 000000000..972c89729
--- /dev/null
+++ b/src/frontend/Comments/BaseCommentsNew.vue
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/src/frontend/Comments/BaseCommentsNewInput.vue b/src/frontend/Comments/BaseCommentsNewInput.vue
new file mode 100644
index 000000000..9d419db01
--- /dev/null
+++ b/src/frontend/Comments/BaseCommentsNewInput.vue
@@ -0,0 +1,4 @@
+
+
diff --git a/src/frontend/Comments/BaseCommentsNewSubmit.vue b/src/frontend/Comments/BaseCommentsNewSubmit.vue
new file mode 100644
index 000000000..08df0a0f0
--- /dev/null
+++ b/src/frontend/Comments/BaseCommentsNewSubmit.vue
@@ -0,0 +1,5 @@
+Submit
+
+
diff --git a/src/frontend/Comments/BaseCommentsVersion.vue b/src/frontend/Comments/BaseCommentsVersion.vue
new file mode 100644
index 000000000..9312a85d5
--- /dev/null
+++ b/src/frontend/Comments/BaseCommentsVersion.vue
@@ -0,0 +1,6 @@
+
+
+
+
diff --git a/src/frontend/Comments/BaseCommentsVersionContent.vue b/src/frontend/Comments/BaseCommentsVersionContent.vue
new file mode 100644
index 000000000..45c0a2a5c
--- /dev/null
+++ b/src/frontend/Comments/BaseCommentsVersionContent.vue
@@ -0,0 +1,6 @@
+
+
+
+
diff --git a/src/frontend/Comments/BaseCommentsVersionHeader.vue b/src/frontend/Comments/BaseCommentsVersionHeader.vue
new file mode 100644
index 000000000..576f0dae3
--- /dev/null
+++ b/src/frontend/Comments/BaseCommentsVersionHeader.vue
@@ -0,0 +1,8 @@
+
+
+
+
+
+
diff --git a/src/frontend/Comments/BaseCommentsVersionHeaderChevron.vue b/src/frontend/Comments/BaseCommentsVersionHeaderChevron.vue
new file mode 100644
index 000000000..da424b0f2
--- /dev/null
+++ b/src/frontend/Comments/BaseCommentsVersionHeaderChevron.vue
@@ -0,0 +1 @@
+▼
diff --git a/src/frontend/Comments/BaseCommentsVersionHeaderLabel.vue b/src/frontend/Comments/BaseCommentsVersionHeaderLabel.vue
new file mode 100644
index 000000000..bebf61760
--- /dev/null
+++ b/src/frontend/Comments/BaseCommentsVersionHeaderLabel.vue
@@ -0,0 +1 @@
+Version N
diff --git a/src/frontend/Comments/BaseCommentsVersionHeaderTrigger.vue b/src/frontend/Comments/BaseCommentsVersionHeaderTrigger.vue
new file mode 100644
index 000000000..5c2bd7410
--- /dev/null
+++ b/src/frontend/Comments/BaseCommentsVersionHeaderTrigger.vue
@@ -0,0 +1,8 @@
+
+
+
+
+
+
diff --git a/src/frontend/Comments/BaseCommentsVersions.vue b/src/frontend/Comments/BaseCommentsVersions.vue
new file mode 100644
index 000000000..5ffcb9153
--- /dev/null
+++ b/src/frontend/Comments/BaseCommentsVersions.vue
@@ -0,0 +1,6 @@
+
+
+
+
diff --git a/src/frontend/Comments/Comments.stories.js b/src/frontend/Comments/Comments.stories.js
new file mode 100644
index 000000000..0745db6a2
--- /dev/null
+++ b/src/frontend/Comments/Comments.stories.js
@@ -0,0 +1,15 @@
+import Comments from './PkpComments.vue';
+
+export default {
+ title: 'Comments',
+ component: Comments,
+ render: (args) => ({
+ components: {Comments},
+ setup() {
+ return {args};
+ },
+ template: '',
+ }),
+};
+
+export const Primary = {};
diff --git a/src/frontend/Comments/PkpComments copy.vue b/src/frontend/Comments/PkpComments copy.vue
new file mode 100644
index 000000000..9be9b9a51
--- /dev/null
+++ b/src/frontend/Comments/PkpComments copy.vue
@@ -0,0 +1,59 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/frontend/Comments/PkpComments.vue b/src/frontend/Comments/PkpComments.vue
new file mode 100644
index 000000000..4a7ea3244
--- /dev/null
+++ b/src/frontend/Comments/PkpComments.vue
@@ -0,0 +1,78 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/frontend/Comments/usePkpCommentsStore.js b/src/frontend/Comments/usePkpCommentsStore.js
new file mode 100644
index 000000000..05a539953
--- /dev/null
+++ b/src/frontend/Comments/usePkpCommentsStore.js
@@ -0,0 +1,20 @@
+import {defineStore} from 'pinia';
+import {ref} from 'vue';
+export const usePkpCommentsStore = defineStore('comments', () => {
+ const messages = ref([
+ {
+ body: 'blabla',
+ author: {name: 'name author', affiliation: 'affiliation', orcid: null},
+ },
+ {
+ body: 'blabla 2',
+ author: {
+ name: 'name author 2',
+ affiliation: 'affiliation 2',
+ orcid: null,
+ },
+ },
+ ]);
+
+ return {messages};
+});
diff --git a/src/frontend/components/PkpButton/BaseButton.vue b/src/frontend/components/PkpButton/BaseButton.vue
new file mode 100644
index 000000000..09e2a0686
--- /dev/null
+++ b/src/frontend/components/PkpButton/BaseButton.vue
@@ -0,0 +1,14 @@
+
+
+
+
+
diff --git a/src/frontend/components/PkpButton/PkpButton.vue b/src/frontend/components/PkpButton/PkpButton.vue
index f0d58f61c..62b824b82 100644
--- a/src/frontend/components/PkpButton/PkpButton.vue
+++ b/src/frontend/components/PkpButton/PkpButton.vue
@@ -1,26 +1,9 @@
-
+
+./BaseButton.vue
diff --git a/src/frontend/components/PkpDialog/PkpBaseDialog.vue b/src/frontend/components/PkpDialog/PkpBaseDialog.vue
new file mode 100644
index 000000000..2e13bf750
--- /dev/null
+++ b/src/frontend/components/PkpDialog/PkpBaseDialog.vue
@@ -0,0 +1,42 @@
+
+
+
+
+
+
+
diff --git a/src/frontend/components/PkpDialog/PkpBaseDialogActionButtons.vue b/src/frontend/components/PkpDialog/PkpBaseDialogActionButtons.vue
new file mode 100644
index 000000000..b14d26fd1
--- /dev/null
+++ b/src/frontend/components/PkpDialog/PkpBaseDialogActionButtons.vue
@@ -0,0 +1,21 @@
+
+
+
+ {{ action.label }}
+
+
+
+
diff --git a/src/frontend/components/PkpDialog/PkpBaseDialogBody.vue b/src/frontend/components/PkpDialog/PkpBaseDialogBody.vue
new file mode 100644
index 000000000..b3c1789a1
--- /dev/null
+++ b/src/frontend/components/PkpDialog/PkpBaseDialogBody.vue
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
diff --git a/src/frontend/components/PkpDialog/PkpBaseDialogContent.vue b/src/frontend/components/PkpDialog/PkpBaseDialogContent.vue
new file mode 100644
index 000000000..5611286f1
--- /dev/null
+++ b/src/frontend/components/PkpDialog/PkpBaseDialogContent.vue
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
diff --git a/src/frontend/components/PkpDialog/PkpBaseDialogOverlay.vue b/src/frontend/components/PkpDialog/PkpBaseDialogOverlay.vue
new file mode 100644
index 000000000..0c6e07aac
--- /dev/null
+++ b/src/frontend/components/PkpDialog/PkpBaseDialogOverlay.vue
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
diff --git a/src/frontend/components/PkpDialog/PkpBaseDialogTitle.vue b/src/frontend/components/PkpDialog/PkpBaseDialogTitle.vue
new file mode 100644
index 000000000..8677e1959
--- /dev/null
+++ b/src/frontend/components/PkpDialog/PkpBaseDialogTitle.vue
@@ -0,0 +1,9 @@
+
+ {{ dialogProps.title }}
+
+
diff --git a/src/frontend/components/PkpDialog/PkpDialog.stories.js b/src/frontend/components/PkpDialog/PkpDialog.stories.js
new file mode 100644
index 000000000..1d47ff605
--- /dev/null
+++ b/src/frontend/components/PkpDialog/PkpDialog.stories.js
@@ -0,0 +1,39 @@
+import PkpDialog from './PkpDialog.vue';
+
+export default {
+ title: 'PkpDialog',
+ component: PkpDialog,
+ render: (args) => ({
+ components: {PkpDialog},
+ setup() {
+ return {args};
+ },
+ template: '',
+ }),
+};
+
+export const Primary = {
+ args: {
+ open: true,
+ buttonName: 'Basic Example',
+ name: 'basic',
+ title: 'Submit Article',
+ message: 'Are you sure you want to submit this article?',
+ actions: [
+ {
+ label: 'Confirm',
+ isPrimary: true,
+ callback: (close) => {
+ // Simulate a server request
+ setTimeout(() => close(), 2000);
+ },
+ },
+ {
+ label: 'Cancel',
+ isSeconadary: true,
+ callback: (close) => close(),
+ },
+ ],
+ modalStyle: 'basic',
+ },
+};
diff --git a/src/frontend/components/PkpDialog/PkpDialog.vue b/src/frontend/components/PkpDialog/PkpDialog.vue
new file mode 100644
index 000000000..ebc65b414
--- /dev/null
+++ b/src/frontend/components/PkpDialog/PkpDialog.vue
@@ -0,0 +1,79 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/frontend/components/PkpDropdownActions/PkpDropdownActions.vue b/src/frontend/components/PkpDropdownActions/PkpDropdownActions.vue
deleted file mode 100644
index ebd47f4cd..000000000
--- a/src/frontend/components/PkpDropdownActions/PkpDropdownActions.vue
+++ /dev/null
@@ -1,126 +0,0 @@
-
-
-
-
-
-
-
-
- {{ item.label }}
-
-
-
-
-
-
-
-
-
diff --git a/src/frontend/components/PkpDropdownMenu/BaseDropdownMenu.vue b/src/frontend/components/PkpDropdownMenu/BaseDropdownMenu.vue
new file mode 100644
index 000000000..0b3892407
--- /dev/null
+++ b/src/frontend/components/PkpDropdownMenu/BaseDropdownMenu.vue
@@ -0,0 +1,52 @@
+
+
+
+
+
+
+
diff --git a/src/frontend/components/PkpDropdownMenu/BaseDropdownMenuItem.vue b/src/frontend/components/PkpDropdownMenu/BaseDropdownMenuItem.vue
new file mode 100644
index 000000000..8028a55f7
--- /dev/null
+++ b/src/frontend/components/PkpDropdownMenu/BaseDropdownMenuItem.vue
@@ -0,0 +1,14 @@
+
+
+
+
+
+
diff --git a/src/frontend/components/PkpDropdownMenu/BaseDropdownMenuItemLabel.vue b/src/frontend/components/PkpDropdownMenu/BaseDropdownMenuItemLabel.vue
new file mode 100644
index 000000000..fbe7bd8c5
--- /dev/null
+++ b/src/frontend/components/PkpDropdownMenu/BaseDropdownMenuItemLabel.vue
@@ -0,0 +1,8 @@
+
+ {{ item.label }}
+
+
diff --git a/src/frontend/components/PkpDropdownMenu/BaseDropdownMenuItems.vue b/src/frontend/components/PkpDropdownMenu/BaseDropdownMenuItems.vue
new file mode 100644
index 000000000..d876de4ad
--- /dev/null
+++ b/src/frontend/components/PkpDropdownMenu/BaseDropdownMenuItems.vue
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/src/frontend/components/PkpDropdownMenu/BaseDropdownMenuLabel.vue b/src/frontend/components/PkpDropdownMenu/BaseDropdownMenuLabel.vue
new file mode 100644
index 000000000..e69de29bb
diff --git a/src/frontend/components/PkpDropdownMenu/BaseDropdownMenuTrigger.vue b/src/frontend/components/PkpDropdownMenu/BaseDropdownMenuTrigger.vue
new file mode 100644
index 000000000..cfdc9fdd6
--- /dev/null
+++ b/src/frontend/components/PkpDropdownMenu/BaseDropdownMenuTrigger.vue
@@ -0,0 +1,10 @@
+
+
+
+
+
+
diff --git a/src/frontend/components/PkpDropdownMenu/BaseDropdownMenuTriggerIcon.vue b/src/frontend/components/PkpDropdownMenu/BaseDropdownMenuTriggerIcon.vue
new file mode 100644
index 000000000..b61c45030
--- /dev/null
+++ b/src/frontend/components/PkpDropdownMenu/BaseDropdownMenuTriggerIcon.vue
@@ -0,0 +1,3 @@
+
+
+
diff --git a/src/frontend/components/PkpDropdownMenu/PkpDropdownMenu.vue b/src/frontend/components/PkpDropdownMenu/PkpDropdownMenu.vue
new file mode 100644
index 000000000..d31e2e623
--- /dev/null
+++ b/src/frontend/components/PkpDropdownMenu/PkpDropdownMenu.vue
@@ -0,0 +1,77 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/frontend/components/PkpHelloWorld/PkpHelloWorld.vue b/src/frontend/components/PkpHelloWorld/PkpHelloWorld.vue
index 200e60e4d..cf401698b 100644
--- a/src/frontend/components/PkpHelloWorld/PkpHelloWorld.vue
+++ b/src/frontend/components/PkpHelloWorld/PkpHelloWorld.vue
@@ -5,13 +5,23 @@
+
+
-
+
+