diff --git a/src/data/data.ts b/src/data/data.ts
index d354d1a..831ec69 100644
--- a/src/data/data.ts
+++ b/src/data/data.ts
@@ -1,8 +1,8 @@
+import { nanoid } from 'nanoid'
+import indexedDb from 'pouchdb-adapter-indexeddb'
+import PouchDb from 'pouchdb-browser'
import { DataType } from './DataType.enum'
import { Model } from './models/Model'
-import PouchDb from 'pouchdb-browser'
-import indexedDb from 'pouchdb-adapter-indexeddb'
-import { nanoid } from 'nanoid'
PouchDb.plugin(indexedDb)
@@ -38,7 +38,9 @@ class Data {
}
}
- public async update
(model: Model): Promise {
+ public async update>(
+ model: T
+ ): Promise {
try {
if (model._id) {
const oldModel = await this.get(model._id)
@@ -82,6 +84,21 @@ class Data {
}
}
+ public async getOrCreate>(
+ id: string,
+ initialValue: T
+ ): Promise {
+ const element = await this.get(id)
+
+ if (element) {
+ return element
+ }
+
+ await data.add({ ...initialValue, _id: id })
+
+ return this.getOrCreate(id, initialValue)
+ }
+
public async getAll>({
prefix,
includeDocs = true,
diff --git a/src/hooks/useMarkdown.hook.ts b/src/hooks/useMarkdown.hook.ts
index c79bb26..a4cd7b7 100644
--- a/src/hooks/useMarkdown.hook.ts
+++ b/src/hooks/useMarkdown.hook.ts
@@ -1,11 +1,11 @@
-import MarkdownIt from 'markdown-it'
+import { decodeBase64ToUTF8 } from '@/utils/decodeBase64ToUTF8'
+import { html5Media } from '@/utils/markdown/markdown-html5-media'
import markdownItClass from '@toycode/markdown-it-class'
+import MarkdownIt from 'markdown-it'
import blockEmbedPlugin from 'markdown-it-block-embed'
import markdownItCheckbox from 'markdown-it-checkbox'
-import markdownItSvgCodeCopy from 'markdown-it-svg-code-copy'
import markdownItFootnote from 'markdown-it-footnote'
-import { html5Media } from '@/utils/markdown/markdown-html5-media'
-import { decodeBase64ToUTF8 } from '@/utils/decodeBase64ToUTF8'
+import markdownItSvgCodeCopy from 'markdown-it-svg-code-copy'
const md = new MarkdownIt({
typographer: true,
diff --git a/src/modules/card/components/FlipCard.vue b/src/modules/card/components/FlipCard.vue
index 2392b77..985671e 100644
--- a/src/modules/card/components/FlipCard.vue
+++ b/src/modules/card/components/FlipCard.vue
@@ -1,3 +1,18 @@
+
+