mirror of
https://github.com/Floriansylvain/RenewCMS.git
synced 2026-08-19 11:43:22 +02:00
First EditorJS implementation
This commit is contained in:
Vendored
+11
@@ -1,2 +1,13 @@
|
||||
/// <reference types="vite/client" />
|
||||
declare const __APP_ENV__: Record<string, string>
|
||||
declare module '@editorjs/paragraph';
|
||||
declare module '@editorjs/list';
|
||||
declare module '@editorjs/warning';
|
||||
declare module '@editorjs/delimiter';
|
||||
declare module '@editorjs/nested-list';
|
||||
declare module '@editorjs/checklist';
|
||||
declare module '@editorjs/quote';
|
||||
declare module '@editorjs/marker';
|
||||
declare module '@editorjs/code';
|
||||
declare module '@editorjs/table';
|
||||
declare module '@editorjs/underline';
|
||||
Generated
+362
-104
@@ -8,12 +8,25 @@
|
||||
"name": "admin-gui",
|
||||
"version": "0.0.0",
|
||||
"dependencies": {
|
||||
"@editorjs/checklist": "^1.4.0",
|
||||
"@editorjs/code": "^2.8.0",
|
||||
"@editorjs/delimiter": "^1.3.0",
|
||||
"@editorjs/editorjs": "^2.26.4",
|
||||
"@editorjs/header": "^2.7.0",
|
||||
"@editorjs/list": "^1.8.0",
|
||||
"@editorjs/marker": "^1.3.0",
|
||||
"@editorjs/nested-list": "^1.2.0",
|
||||
"@editorjs/paragraph": "^2.9.0",
|
||||
"@editorjs/quote": "^2.5.0",
|
||||
"@editorjs/table": "^2.2.0",
|
||||
"@editorjs/underline": "^1.1.0",
|
||||
"@editorjs/warning": "^1.3.0",
|
||||
"pinia": "^2.0.28",
|
||||
"vue": "^3.2.38",
|
||||
"vue-editor-js": "^2.0.2",
|
||||
"vue-router": "^4.1.5"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/editorjs__header": "^2.6.0",
|
||||
"@types/node": "^16.11.56",
|
||||
"@vitejs/plugin-vue": "^3.0.3",
|
||||
"@vue/tsconfig": "^0.1.3",
|
||||
@@ -39,6 +52,45 @@
|
||||
"resolved": "https://registry.npmjs.org/@codexteam/icons/-/icons-0.1.0.tgz",
|
||||
"integrity": "sha512-jW1fWnwtWzcP4FBGsaodbJY3s1ZaRU+IJy1pvJ7ygNQxkQinybJcwXoyt0a5mWwu/4w30A42EWhCrZn8lp4fdw=="
|
||||
},
|
||||
"node_modules/@editorjs/checklist": {
|
||||
"version": "1.4.0",
|
||||
"resolved": "https://registry.npmjs.org/@editorjs/checklist/-/checklist-1.4.0.tgz",
|
||||
"integrity": "sha512-KmkgWFYwkcFFvh7oBaUiqg8NBmJSnB87EC0P6obfqo3uDjCXXnen+KJfP+7JBcQx/OsiDlOS/lTxkyhxNtKtsA==",
|
||||
"dependencies": {
|
||||
"@codexteam/icons": "^0.0.4"
|
||||
}
|
||||
},
|
||||
"node_modules/@editorjs/checklist/node_modules/@codexteam/icons": {
|
||||
"version": "0.0.4",
|
||||
"resolved": "https://registry.npmjs.org/@codexteam/icons/-/icons-0.0.4.tgz",
|
||||
"integrity": "sha512-V8N/TY2TGyas4wLrPIFq7bcow68b3gu8DfDt1+rrHPtXxcexadKauRJL6eQgfG7Z0LCrN4boLRawR4S9gjIh/Q=="
|
||||
},
|
||||
"node_modules/@editorjs/code": {
|
||||
"version": "2.8.0",
|
||||
"resolved": "https://registry.npmjs.org/@editorjs/code/-/code-2.8.0.tgz",
|
||||
"integrity": "sha512-qlv1OqSEPKnLv/ZQgNFmVgqsMbGDkh/qgTEnbVWsS+yujo1nlwgVkqCB8tOkQGVsrpmAYLiWRlA413nKxxCN5w==",
|
||||
"dependencies": {
|
||||
"@codexteam/icons": "^0.0.5"
|
||||
}
|
||||
},
|
||||
"node_modules/@editorjs/code/node_modules/@codexteam/icons": {
|
||||
"version": "0.0.5",
|
||||
"resolved": "https://registry.npmjs.org/@codexteam/icons/-/icons-0.0.5.tgz",
|
||||
"integrity": "sha512-s6H2KXhLz2rgbMZSkRm8dsMJvyUNZsEjxobBEg9ztdrb1B2H3pEzY6iTwI4XUPJWJ3c3qRKwV4TrO3J5jUdoQA=="
|
||||
},
|
||||
"node_modules/@editorjs/delimiter": {
|
||||
"version": "1.3.0",
|
||||
"resolved": "https://registry.npmjs.org/@editorjs/delimiter/-/delimiter-1.3.0.tgz",
|
||||
"integrity": "sha512-/qz+3yRSPmx6dJpBcwnDfgKtCjOrCsQRoDhXR+wLWirGOchOifhYwQ/6JZyTvcgmY84UEoYY29/dgdWOGVPEEQ==",
|
||||
"dependencies": {
|
||||
"@codexteam/icons": "^0.0.5"
|
||||
}
|
||||
},
|
||||
"node_modules/@editorjs/delimiter/node_modules/@codexteam/icons": {
|
||||
"version": "0.0.5",
|
||||
"resolved": "https://registry.npmjs.org/@codexteam/icons/-/icons-0.0.5.tgz",
|
||||
"integrity": "sha512-s6H2KXhLz2rgbMZSkRm8dsMJvyUNZsEjxobBEg9ztdrb1B2H3pEzY6iTwI4XUPJWJ3c3qRKwV4TrO3J5jUdoQA=="
|
||||
},
|
||||
"node_modules/@editorjs/editorjs": {
|
||||
"version": "2.26.4",
|
||||
"resolved": "https://registry.npmjs.org/@editorjs/editorjs/-/editorjs-2.26.4.tgz",
|
||||
@@ -51,6 +103,123 @@
|
||||
"nanoid": "^3.1.22"
|
||||
}
|
||||
},
|
||||
"node_modules/@editorjs/header": {
|
||||
"version": "2.7.0",
|
||||
"resolved": "https://registry.npmjs.org/@editorjs/header/-/header-2.7.0.tgz",
|
||||
"integrity": "sha512-4fGKGe2ZYblVqR/P/iw5ieG00uXInFgNMftBMqJRYcB2hUPD30kuu7Sn6eJDcLXoKUMOeqi8Z2AlUxYAmvw7zQ==",
|
||||
"dependencies": {
|
||||
"@codexteam/icons": "^0.0.5"
|
||||
}
|
||||
},
|
||||
"node_modules/@editorjs/header/node_modules/@codexteam/icons": {
|
||||
"version": "0.0.5",
|
||||
"resolved": "https://registry.npmjs.org/@codexteam/icons/-/icons-0.0.5.tgz",
|
||||
"integrity": "sha512-s6H2KXhLz2rgbMZSkRm8dsMJvyUNZsEjxobBEg9ztdrb1B2H3pEzY6iTwI4XUPJWJ3c3qRKwV4TrO3J5jUdoQA=="
|
||||
},
|
||||
"node_modules/@editorjs/list": {
|
||||
"version": "1.8.0",
|
||||
"resolved": "https://registry.npmjs.org/@editorjs/list/-/list-1.8.0.tgz",
|
||||
"integrity": "sha512-Vq6cjyTXBzgegYv/MtTfuDdiz59yGhDEc/yAVXr6lmvoWAFs9cJ4TLuh4/9SbrbhIptcQLDvUjMDKmRrV6v2NQ==",
|
||||
"dependencies": {
|
||||
"@codexteam/icons": "^0.0.4"
|
||||
}
|
||||
},
|
||||
"node_modules/@editorjs/list/node_modules/@codexteam/icons": {
|
||||
"version": "0.0.4",
|
||||
"resolved": "https://registry.npmjs.org/@codexteam/icons/-/icons-0.0.4.tgz",
|
||||
"integrity": "sha512-V8N/TY2TGyas4wLrPIFq7bcow68b3gu8DfDt1+rrHPtXxcexadKauRJL6eQgfG7Z0LCrN4boLRawR4S9gjIh/Q=="
|
||||
},
|
||||
"node_modules/@editorjs/marker": {
|
||||
"version": "1.3.0",
|
||||
"resolved": "https://registry.npmjs.org/@editorjs/marker/-/marker-1.3.0.tgz",
|
||||
"integrity": "sha512-RYWYDnFPjNBJgR7KIGjB9gPnUwGvn2aIoRevAm422Wx1mg5eT4gcvwc0T5V76pYPSoD2Z0T2GPkzl9d1hl398w==",
|
||||
"dependencies": {
|
||||
"@codexteam/icons": "^0.0.5"
|
||||
}
|
||||
},
|
||||
"node_modules/@editorjs/marker/node_modules/@codexteam/icons": {
|
||||
"version": "0.0.5",
|
||||
"resolved": "https://registry.npmjs.org/@codexteam/icons/-/icons-0.0.5.tgz",
|
||||
"integrity": "sha512-s6H2KXhLz2rgbMZSkRm8dsMJvyUNZsEjxobBEg9ztdrb1B2H3pEzY6iTwI4XUPJWJ3c3qRKwV4TrO3J5jUdoQA=="
|
||||
},
|
||||
"node_modules/@editorjs/nested-list": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@editorjs/nested-list/-/nested-list-1.2.0.tgz",
|
||||
"integrity": "sha512-e2EBqWiR2rg4WSH18psQt14wGvwCPrnZ1RhG+M99ru27ETqjMb+W79+1M8Bm3VXBRLkANTpxJGXwnJxluBp/GA==",
|
||||
"dependencies": {
|
||||
"@codexteam/icons": "^0.0.2"
|
||||
}
|
||||
},
|
||||
"node_modules/@editorjs/nested-list/node_modules/@codexteam/icons": {
|
||||
"version": "0.0.2",
|
||||
"resolved": "https://registry.npmjs.org/@codexteam/icons/-/icons-0.0.2.tgz",
|
||||
"integrity": "sha512-KdeKj3TwaTHqM3IXd5YjeJP39PBUZTb+dtHjGlf5+b0VgsxYD4qzsZkb11lzopZbAuDsHaZJmAYQ8LFligIT6Q=="
|
||||
},
|
||||
"node_modules/@editorjs/paragraph": {
|
||||
"version": "2.9.0",
|
||||
"resolved": "https://registry.npmjs.org/@editorjs/paragraph/-/paragraph-2.9.0.tgz",
|
||||
"integrity": "sha512-lI6x1eiqFx2X3KmMak6gBlimFqXhG35fQpXMxzrjIphNLr4uPsXhVbyMPimPoLUnS9rM6Q00vptXmP2QNDd0zg==",
|
||||
"dependencies": {
|
||||
"@codexteam/icons": "^0.0.4"
|
||||
}
|
||||
},
|
||||
"node_modules/@editorjs/paragraph/node_modules/@codexteam/icons": {
|
||||
"version": "0.0.4",
|
||||
"resolved": "https://registry.npmjs.org/@codexteam/icons/-/icons-0.0.4.tgz",
|
||||
"integrity": "sha512-V8N/TY2TGyas4wLrPIFq7bcow68b3gu8DfDt1+rrHPtXxcexadKauRJL6eQgfG7Z0LCrN4boLRawR4S9gjIh/Q=="
|
||||
},
|
||||
"node_modules/@editorjs/quote": {
|
||||
"version": "2.5.0",
|
||||
"resolved": "https://registry.npmjs.org/@editorjs/quote/-/quote-2.5.0.tgz",
|
||||
"integrity": "sha512-24Mu8cESaj34a0kg1Enj7qiZ3yiCOsZI59+8xpfXLO/NkO7hBYWNForVcBy5yIWs/VLlEZK11FP37f/mHrKugQ==",
|
||||
"dependencies": {
|
||||
"@codexteam/icons": "^0.0.5"
|
||||
}
|
||||
},
|
||||
"node_modules/@editorjs/quote/node_modules/@codexteam/icons": {
|
||||
"version": "0.0.5",
|
||||
"resolved": "https://registry.npmjs.org/@codexteam/icons/-/icons-0.0.5.tgz",
|
||||
"integrity": "sha512-s6H2KXhLz2rgbMZSkRm8dsMJvyUNZsEjxobBEg9ztdrb1B2H3pEzY6iTwI4XUPJWJ3c3qRKwV4TrO3J5jUdoQA=="
|
||||
},
|
||||
"node_modules/@editorjs/table": {
|
||||
"version": "2.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@editorjs/table/-/table-2.2.0.tgz",
|
||||
"integrity": "sha512-vVfiNEk1EHFj1ohObX4g7iB/mVhPkx0o8yMb+v5gV/XnOysbRk46hiLmntJfgYp/NZvbYxcZk3mPvrE/NAe+pg==",
|
||||
"dependencies": {
|
||||
"@codexteam/icons": "^0.0.6"
|
||||
}
|
||||
},
|
||||
"node_modules/@editorjs/table/node_modules/@codexteam/icons": {
|
||||
"version": "0.0.6",
|
||||
"resolved": "https://registry.npmjs.org/@codexteam/icons/-/icons-0.0.6.tgz",
|
||||
"integrity": "sha512-L7Q5PET8PjKcBT5wp7VR+FCjwCi5PUp7rd/XjsgQ0CI5FJz0DphyHGRILMuDUdCW2MQT9NHbVr4QP31vwAkS/A=="
|
||||
},
|
||||
"node_modules/@editorjs/underline": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@editorjs/underline/-/underline-1.1.0.tgz",
|
||||
"integrity": "sha512-vQj2ROW1KreD31QHlhaPikmDJGWYzRBusN4Zyfwl9nIIQCByt4S8fZQpsrRvH4sct5mkirsHllNT00rJlqHK7Q==",
|
||||
"dependencies": {
|
||||
"@codexteam/icons": "^0.0.6"
|
||||
}
|
||||
},
|
||||
"node_modules/@editorjs/underline/node_modules/@codexteam/icons": {
|
||||
"version": "0.0.6",
|
||||
"resolved": "https://registry.npmjs.org/@codexteam/icons/-/icons-0.0.6.tgz",
|
||||
"integrity": "sha512-L7Q5PET8PjKcBT5wp7VR+FCjwCi5PUp7rd/XjsgQ0CI5FJz0DphyHGRILMuDUdCW2MQT9NHbVr4QP31vwAkS/A=="
|
||||
},
|
||||
"node_modules/@editorjs/warning": {
|
||||
"version": "1.3.0",
|
||||
"resolved": "https://registry.npmjs.org/@editorjs/warning/-/warning-1.3.0.tgz",
|
||||
"integrity": "sha512-b03oXNTxeqLXEH8Sqtzy0OXY3+Bbx6jpl2UnfFw9bN4KxTgrx3sIf5YtkavZmhZRmOFRFYdrl7bHxvr6KstO9Q==",
|
||||
"dependencies": {
|
||||
"@codexteam/icons": "^0.0.4"
|
||||
}
|
||||
},
|
||||
"node_modules/@editorjs/warning/node_modules/@codexteam/icons": {
|
||||
"version": "0.0.4",
|
||||
"resolved": "https://registry.npmjs.org/@codexteam/icons/-/icons-0.0.4.tgz",
|
||||
"integrity": "sha512-V8N/TY2TGyas4wLrPIFq7bcow68b3gu8DfDt1+rrHPtXxcexadKauRJL6eQgfG7Z0LCrN4boLRawR4S9gjIh/Q=="
|
||||
},
|
||||
"node_modules/@esbuild/android-arm": {
|
||||
"version": "0.15.18",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.15.18.tgz",
|
||||
@@ -83,6 +252,12 @@
|
||||
"node": ">=12"
|
||||
}
|
||||
},
|
||||
"node_modules/@types/editorjs__header": {
|
||||
"version": "2.6.0",
|
||||
"resolved": "https://registry.npmjs.org/@types/editorjs__header/-/editorjs__header-2.6.0.tgz",
|
||||
"integrity": "sha512-J9TyO/BjNVddi+syyXpvMRMtVz5Z62pwmFKynWsgP+wnJYdWF8ABqgomokIsAvuEwH5NHa/YxsTltYcPPGCRRQ==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/@types/node": {
|
||||
"version": "16.18.10",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.10.tgz",
|
||||
@@ -1785,11 +1960,6 @@
|
||||
"url": "https://github.com/sponsors/ljharb"
|
||||
}
|
||||
},
|
||||
"node_modules/tslib": {
|
||||
"version": "1.14.1",
|
||||
"resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
|
||||
"integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
|
||||
},
|
||||
"node_modules/typescript": {
|
||||
"version": "4.7.4",
|
||||
"resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.4.tgz",
|
||||
@@ -1889,53 +2059,6 @@
|
||||
"@vue/shared": "3.2.45"
|
||||
}
|
||||
},
|
||||
"node_modules/vue-editor-js": {
|
||||
"version": "2.0.2",
|
||||
"resolved": "https://registry.npmjs.org/vue-editor-js/-/vue-editor-js-2.0.2.tgz",
|
||||
"integrity": "sha512-Y07q/Nj4/BJOQlvlKN5R4UFCMUVgnDbJxDSZvMGXNCnMJyT1TEQmS2HAuc9euCp8EDGo/sJnm3y0NUQ+gonx2w==",
|
||||
"dependencies": {
|
||||
"@editorjs/editorjs": "^2.18.0",
|
||||
"@vue/composition-api": "^0.5.0"
|
||||
}
|
||||
},
|
||||
"node_modules/vue-editor-js/node_modules/@vue/compiler-sfc": {
|
||||
"version": "2.7.14",
|
||||
"resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-2.7.14.tgz",
|
||||
"integrity": "sha512-aNmNHyLPsw+sVvlQFQ2/8sjNuLtK54TC6cuKnVzAY93ks4ZBrvwQSnkkIh7bsbNhum5hJBS00wSDipQ937f5DA==",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@babel/parser": "^7.18.4",
|
||||
"postcss": "^8.4.14",
|
||||
"source-map": "^0.6.1"
|
||||
}
|
||||
},
|
||||
"node_modules/vue-editor-js/node_modules/@vue/composition-api": {
|
||||
"version": "0.5.0",
|
||||
"resolved": "https://registry.npmjs.org/@vue/composition-api/-/composition-api-0.5.0.tgz",
|
||||
"integrity": "sha512-9QDFWq7q839G1CTTaxeruPOTrrVOPSaVipJ2TxxK9QAruePNTHOGbOOFRpc8WLl4YPsu1/c29yBhMVmrXz8BZw==",
|
||||
"dependencies": {
|
||||
"tslib": "^1.9.3"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"vue": "^2.5.22"
|
||||
}
|
||||
},
|
||||
"node_modules/vue-editor-js/node_modules/csstype": {
|
||||
"version": "3.1.1",
|
||||
"resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz",
|
||||
"integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==",
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/vue-editor-js/node_modules/vue": {
|
||||
"version": "2.7.14",
|
||||
"resolved": "https://registry.npmjs.org/vue/-/vue-2.7.14.tgz",
|
||||
"integrity": "sha512-b2qkFyOM0kwqWFuQmgd4o+uHGU7T+2z3T+WQp8UBjADfEv2n4FEMffzBmCKNP0IGzOEEfYjvtcC62xaSKeQDrQ==",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@vue/compiler-sfc": "2.7.14",
|
||||
"csstype": "^3.1.0"
|
||||
}
|
||||
},
|
||||
"node_modules/vue-router": {
|
||||
"version": "4.1.6",
|
||||
"resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.1.6.tgz",
|
||||
@@ -2016,6 +2139,51 @@
|
||||
"resolved": "https://registry.npmjs.org/@codexteam/icons/-/icons-0.1.0.tgz",
|
||||
"integrity": "sha512-jW1fWnwtWzcP4FBGsaodbJY3s1ZaRU+IJy1pvJ7ygNQxkQinybJcwXoyt0a5mWwu/4w30A42EWhCrZn8lp4fdw=="
|
||||
},
|
||||
"@editorjs/checklist": {
|
||||
"version": "1.4.0",
|
||||
"resolved": "https://registry.npmjs.org/@editorjs/checklist/-/checklist-1.4.0.tgz",
|
||||
"integrity": "sha512-KmkgWFYwkcFFvh7oBaUiqg8NBmJSnB87EC0P6obfqo3uDjCXXnen+KJfP+7JBcQx/OsiDlOS/lTxkyhxNtKtsA==",
|
||||
"requires": {
|
||||
"@codexteam/icons": "^0.0.4"
|
||||
},
|
||||
"dependencies": {
|
||||
"@codexteam/icons": {
|
||||
"version": "0.0.4",
|
||||
"resolved": "https://registry.npmjs.org/@codexteam/icons/-/icons-0.0.4.tgz",
|
||||
"integrity": "sha512-V8N/TY2TGyas4wLrPIFq7bcow68b3gu8DfDt1+rrHPtXxcexadKauRJL6eQgfG7Z0LCrN4boLRawR4S9gjIh/Q=="
|
||||
}
|
||||
}
|
||||
},
|
||||
"@editorjs/code": {
|
||||
"version": "2.8.0",
|
||||
"resolved": "https://registry.npmjs.org/@editorjs/code/-/code-2.8.0.tgz",
|
||||
"integrity": "sha512-qlv1OqSEPKnLv/ZQgNFmVgqsMbGDkh/qgTEnbVWsS+yujo1nlwgVkqCB8tOkQGVsrpmAYLiWRlA413nKxxCN5w==",
|
||||
"requires": {
|
||||
"@codexteam/icons": "^0.0.5"
|
||||
},
|
||||
"dependencies": {
|
||||
"@codexteam/icons": {
|
||||
"version": "0.0.5",
|
||||
"resolved": "https://registry.npmjs.org/@codexteam/icons/-/icons-0.0.5.tgz",
|
||||
"integrity": "sha512-s6H2KXhLz2rgbMZSkRm8dsMJvyUNZsEjxobBEg9ztdrb1B2H3pEzY6iTwI4XUPJWJ3c3qRKwV4TrO3J5jUdoQA=="
|
||||
}
|
||||
}
|
||||
},
|
||||
"@editorjs/delimiter": {
|
||||
"version": "1.3.0",
|
||||
"resolved": "https://registry.npmjs.org/@editorjs/delimiter/-/delimiter-1.3.0.tgz",
|
||||
"integrity": "sha512-/qz+3yRSPmx6dJpBcwnDfgKtCjOrCsQRoDhXR+wLWirGOchOifhYwQ/6JZyTvcgmY84UEoYY29/dgdWOGVPEEQ==",
|
||||
"requires": {
|
||||
"@codexteam/icons": "^0.0.5"
|
||||
},
|
||||
"dependencies": {
|
||||
"@codexteam/icons": {
|
||||
"version": "0.0.5",
|
||||
"resolved": "https://registry.npmjs.org/@codexteam/icons/-/icons-0.0.5.tgz",
|
||||
"integrity": "sha512-s6H2KXhLz2rgbMZSkRm8dsMJvyUNZsEjxobBEg9ztdrb1B2H3pEzY6iTwI4XUPJWJ3c3qRKwV4TrO3J5jUdoQA=="
|
||||
}
|
||||
}
|
||||
},
|
||||
"@editorjs/editorjs": {
|
||||
"version": "2.26.4",
|
||||
"resolved": "https://registry.npmjs.org/@editorjs/editorjs/-/editorjs-2.26.4.tgz",
|
||||
@@ -2028,6 +2196,141 @@
|
||||
"nanoid": "^3.1.22"
|
||||
}
|
||||
},
|
||||
"@editorjs/header": {
|
||||
"version": "2.7.0",
|
||||
"resolved": "https://registry.npmjs.org/@editorjs/header/-/header-2.7.0.tgz",
|
||||
"integrity": "sha512-4fGKGe2ZYblVqR/P/iw5ieG00uXInFgNMftBMqJRYcB2hUPD30kuu7Sn6eJDcLXoKUMOeqi8Z2AlUxYAmvw7zQ==",
|
||||
"requires": {
|
||||
"@codexteam/icons": "^0.0.5"
|
||||
},
|
||||
"dependencies": {
|
||||
"@codexteam/icons": {
|
||||
"version": "0.0.5",
|
||||
"resolved": "https://registry.npmjs.org/@codexteam/icons/-/icons-0.0.5.tgz",
|
||||
"integrity": "sha512-s6H2KXhLz2rgbMZSkRm8dsMJvyUNZsEjxobBEg9ztdrb1B2H3pEzY6iTwI4XUPJWJ3c3qRKwV4TrO3J5jUdoQA=="
|
||||
}
|
||||
}
|
||||
},
|
||||
"@editorjs/list": {
|
||||
"version": "1.8.0",
|
||||
"resolved": "https://registry.npmjs.org/@editorjs/list/-/list-1.8.0.tgz",
|
||||
"integrity": "sha512-Vq6cjyTXBzgegYv/MtTfuDdiz59yGhDEc/yAVXr6lmvoWAFs9cJ4TLuh4/9SbrbhIptcQLDvUjMDKmRrV6v2NQ==",
|
||||
"requires": {
|
||||
"@codexteam/icons": "^0.0.4"
|
||||
},
|
||||
"dependencies": {
|
||||
"@codexteam/icons": {
|
||||
"version": "0.0.4",
|
||||
"resolved": "https://registry.npmjs.org/@codexteam/icons/-/icons-0.0.4.tgz",
|
||||
"integrity": "sha512-V8N/TY2TGyas4wLrPIFq7bcow68b3gu8DfDt1+rrHPtXxcexadKauRJL6eQgfG7Z0LCrN4boLRawR4S9gjIh/Q=="
|
||||
}
|
||||
}
|
||||
},
|
||||
"@editorjs/marker": {
|
||||
"version": "1.3.0",
|
||||
"resolved": "https://registry.npmjs.org/@editorjs/marker/-/marker-1.3.0.tgz",
|
||||
"integrity": "sha512-RYWYDnFPjNBJgR7KIGjB9gPnUwGvn2aIoRevAm422Wx1mg5eT4gcvwc0T5V76pYPSoD2Z0T2GPkzl9d1hl398w==",
|
||||
"requires": {
|
||||
"@codexteam/icons": "^0.0.5"
|
||||
},
|
||||
"dependencies": {
|
||||
"@codexteam/icons": {
|
||||
"version": "0.0.5",
|
||||
"resolved": "https://registry.npmjs.org/@codexteam/icons/-/icons-0.0.5.tgz",
|
||||
"integrity": "sha512-s6H2KXhLz2rgbMZSkRm8dsMJvyUNZsEjxobBEg9ztdrb1B2H3pEzY6iTwI4XUPJWJ3c3qRKwV4TrO3J5jUdoQA=="
|
||||
}
|
||||
}
|
||||
},
|
||||
"@editorjs/nested-list": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@editorjs/nested-list/-/nested-list-1.2.0.tgz",
|
||||
"integrity": "sha512-e2EBqWiR2rg4WSH18psQt14wGvwCPrnZ1RhG+M99ru27ETqjMb+W79+1M8Bm3VXBRLkANTpxJGXwnJxluBp/GA==",
|
||||
"requires": {
|
||||
"@codexteam/icons": "^0.0.2"
|
||||
},
|
||||
"dependencies": {
|
||||
"@codexteam/icons": {
|
||||
"version": "0.0.2",
|
||||
"resolved": "https://registry.npmjs.org/@codexteam/icons/-/icons-0.0.2.tgz",
|
||||
"integrity": "sha512-KdeKj3TwaTHqM3IXd5YjeJP39PBUZTb+dtHjGlf5+b0VgsxYD4qzsZkb11lzopZbAuDsHaZJmAYQ8LFligIT6Q=="
|
||||
}
|
||||
}
|
||||
},
|
||||
"@editorjs/paragraph": {
|
||||
"version": "2.9.0",
|
||||
"resolved": "https://registry.npmjs.org/@editorjs/paragraph/-/paragraph-2.9.0.tgz",
|
||||
"integrity": "sha512-lI6x1eiqFx2X3KmMak6gBlimFqXhG35fQpXMxzrjIphNLr4uPsXhVbyMPimPoLUnS9rM6Q00vptXmP2QNDd0zg==",
|
||||
"requires": {
|
||||
"@codexteam/icons": "^0.0.4"
|
||||
},
|
||||
"dependencies": {
|
||||
"@codexteam/icons": {
|
||||
"version": "0.0.4",
|
||||
"resolved": "https://registry.npmjs.org/@codexteam/icons/-/icons-0.0.4.tgz",
|
||||
"integrity": "sha512-V8N/TY2TGyas4wLrPIFq7bcow68b3gu8DfDt1+rrHPtXxcexadKauRJL6eQgfG7Z0LCrN4boLRawR4S9gjIh/Q=="
|
||||
}
|
||||
}
|
||||
},
|
||||
"@editorjs/quote": {
|
||||
"version": "2.5.0",
|
||||
"resolved": "https://registry.npmjs.org/@editorjs/quote/-/quote-2.5.0.tgz",
|
||||
"integrity": "sha512-24Mu8cESaj34a0kg1Enj7qiZ3yiCOsZI59+8xpfXLO/NkO7hBYWNForVcBy5yIWs/VLlEZK11FP37f/mHrKugQ==",
|
||||
"requires": {
|
||||
"@codexteam/icons": "^0.0.5"
|
||||
},
|
||||
"dependencies": {
|
||||
"@codexteam/icons": {
|
||||
"version": "0.0.5",
|
||||
"resolved": "https://registry.npmjs.org/@codexteam/icons/-/icons-0.0.5.tgz",
|
||||
"integrity": "sha512-s6H2KXhLz2rgbMZSkRm8dsMJvyUNZsEjxobBEg9ztdrb1B2H3pEzY6iTwI4XUPJWJ3c3qRKwV4TrO3J5jUdoQA=="
|
||||
}
|
||||
}
|
||||
},
|
||||
"@editorjs/table": {
|
||||
"version": "2.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@editorjs/table/-/table-2.2.0.tgz",
|
||||
"integrity": "sha512-vVfiNEk1EHFj1ohObX4g7iB/mVhPkx0o8yMb+v5gV/XnOysbRk46hiLmntJfgYp/NZvbYxcZk3mPvrE/NAe+pg==",
|
||||
"requires": {
|
||||
"@codexteam/icons": "^0.0.6"
|
||||
},
|
||||
"dependencies": {
|
||||
"@codexteam/icons": {
|
||||
"version": "0.0.6",
|
||||
"resolved": "https://registry.npmjs.org/@codexteam/icons/-/icons-0.0.6.tgz",
|
||||
"integrity": "sha512-L7Q5PET8PjKcBT5wp7VR+FCjwCi5PUp7rd/XjsgQ0CI5FJz0DphyHGRILMuDUdCW2MQT9NHbVr4QP31vwAkS/A=="
|
||||
}
|
||||
}
|
||||
},
|
||||
"@editorjs/underline": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@editorjs/underline/-/underline-1.1.0.tgz",
|
||||
"integrity": "sha512-vQj2ROW1KreD31QHlhaPikmDJGWYzRBusN4Zyfwl9nIIQCByt4S8fZQpsrRvH4sct5mkirsHllNT00rJlqHK7Q==",
|
||||
"requires": {
|
||||
"@codexteam/icons": "^0.0.6"
|
||||
},
|
||||
"dependencies": {
|
||||
"@codexteam/icons": {
|
||||
"version": "0.0.6",
|
||||
"resolved": "https://registry.npmjs.org/@codexteam/icons/-/icons-0.0.6.tgz",
|
||||
"integrity": "sha512-L7Q5PET8PjKcBT5wp7VR+FCjwCi5PUp7rd/XjsgQ0CI5FJz0DphyHGRILMuDUdCW2MQT9NHbVr4QP31vwAkS/A=="
|
||||
}
|
||||
}
|
||||
},
|
||||
"@editorjs/warning": {
|
||||
"version": "1.3.0",
|
||||
"resolved": "https://registry.npmjs.org/@editorjs/warning/-/warning-1.3.0.tgz",
|
||||
"integrity": "sha512-b03oXNTxeqLXEH8Sqtzy0OXY3+Bbx6jpl2UnfFw9bN4KxTgrx3sIf5YtkavZmhZRmOFRFYdrl7bHxvr6KstO9Q==",
|
||||
"requires": {
|
||||
"@codexteam/icons": "^0.0.4"
|
||||
},
|
||||
"dependencies": {
|
||||
"@codexteam/icons": {
|
||||
"version": "0.0.4",
|
||||
"resolved": "https://registry.npmjs.org/@codexteam/icons/-/icons-0.0.4.tgz",
|
||||
"integrity": "sha512-V8N/TY2TGyas4wLrPIFq7bcow68b3gu8DfDt1+rrHPtXxcexadKauRJL6eQgfG7Z0LCrN4boLRawR4S9gjIh/Q=="
|
||||
}
|
||||
}
|
||||
},
|
||||
"@esbuild/android-arm": {
|
||||
"version": "0.15.18",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.15.18.tgz",
|
||||
@@ -2042,6 +2345,12 @@
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"@types/editorjs__header": {
|
||||
"version": "2.6.0",
|
||||
"resolved": "https://registry.npmjs.org/@types/editorjs__header/-/editorjs__header-2.6.0.tgz",
|
||||
"integrity": "sha512-J9TyO/BjNVddi+syyXpvMRMtVz5Z62pwmFKynWsgP+wnJYdWF8ABqgomokIsAvuEwH5NHa/YxsTltYcPPGCRRQ==",
|
||||
"dev": true
|
||||
},
|
||||
"@types/node": {
|
||||
"version": "16.18.10",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.10.tgz",
|
||||
@@ -3220,11 +3529,6 @@
|
||||
"integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
|
||||
"dev": true
|
||||
},
|
||||
"tslib": {
|
||||
"version": "1.14.1",
|
||||
"resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
|
||||
"integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
|
||||
},
|
||||
"typescript": {
|
||||
"version": "4.7.4",
|
||||
"resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.4.tgz",
|
||||
@@ -3278,52 +3582,6 @@
|
||||
"@vue/shared": "3.2.45"
|
||||
}
|
||||
},
|
||||
"vue-editor-js": {
|
||||
"version": "2.0.2",
|
||||
"resolved": "https://registry.npmjs.org/vue-editor-js/-/vue-editor-js-2.0.2.tgz",
|
||||
"integrity": "sha512-Y07q/Nj4/BJOQlvlKN5R4UFCMUVgnDbJxDSZvMGXNCnMJyT1TEQmS2HAuc9euCp8EDGo/sJnm3y0NUQ+gonx2w==",
|
||||
"requires": {
|
||||
"@editorjs/editorjs": "^2.18.0",
|
||||
"@vue/composition-api": "^0.5.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"@vue/compiler-sfc": {
|
||||
"version": "2.7.14",
|
||||
"resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-2.7.14.tgz",
|
||||
"integrity": "sha512-aNmNHyLPsw+sVvlQFQ2/8sjNuLtK54TC6cuKnVzAY93ks4ZBrvwQSnkkIh7bsbNhum5hJBS00wSDipQ937f5DA==",
|
||||
"peer": true,
|
||||
"requires": {
|
||||
"@babel/parser": "^7.18.4",
|
||||
"postcss": "^8.4.14",
|
||||
"source-map": "^0.6.1"
|
||||
}
|
||||
},
|
||||
"@vue/composition-api": {
|
||||
"version": "0.5.0",
|
||||
"resolved": "https://registry.npmjs.org/@vue/composition-api/-/composition-api-0.5.0.tgz",
|
||||
"integrity": "sha512-9QDFWq7q839G1CTTaxeruPOTrrVOPSaVipJ2TxxK9QAruePNTHOGbOOFRpc8WLl4YPsu1/c29yBhMVmrXz8BZw==",
|
||||
"requires": {
|
||||
"tslib": "^1.9.3"
|
||||
}
|
||||
},
|
||||
"csstype": {
|
||||
"version": "3.1.1",
|
||||
"resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz",
|
||||
"integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==",
|
||||
"peer": true
|
||||
},
|
||||
"vue": {
|
||||
"version": "2.7.14",
|
||||
"resolved": "https://registry.npmjs.org/vue/-/vue-2.7.14.tgz",
|
||||
"integrity": "sha512-b2qkFyOM0kwqWFuQmgd4o+uHGU7T+2z3T+WQp8UBjADfEv2n4FEMffzBmCKNP0IGzOEEfYjvtcC62xaSKeQDrQ==",
|
||||
"peer": true,
|
||||
"requires": {
|
||||
"@vue/compiler-sfc": "2.7.14",
|
||||
"csstype": "^3.1.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"vue-router": {
|
||||
"version": "4.1.6",
|
||||
"resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.1.6.tgz",
|
||||
|
||||
@@ -9,12 +9,25 @@
|
||||
"type-check": "vue-tsc --noEmit"
|
||||
},
|
||||
"dependencies": {
|
||||
"@editorjs/checklist": "^1.4.0",
|
||||
"@editorjs/code": "^2.8.0",
|
||||
"@editorjs/delimiter": "^1.3.0",
|
||||
"@editorjs/editorjs": "^2.26.4",
|
||||
"@editorjs/header": "^2.7.0",
|
||||
"@editorjs/list": "^1.8.0",
|
||||
"@editorjs/marker": "^1.3.0",
|
||||
"@editorjs/nested-list": "^1.2.0",
|
||||
"@editorjs/paragraph": "^2.9.0",
|
||||
"@editorjs/quote": "^2.5.0",
|
||||
"@editorjs/table": "^2.2.0",
|
||||
"@editorjs/underline": "^1.1.0",
|
||||
"@editorjs/warning": "^1.3.0",
|
||||
"pinia": "^2.0.28",
|
||||
"vue": "^3.2.38",
|
||||
"vue-editor-js": "^2.0.2",
|
||||
"vue-router": "^4.1.5"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/editorjs__header": "^2.6.0",
|
||||
"@types/node": "^16.11.56",
|
||||
"@vitejs/plugin-vue": "^3.0.3",
|
||||
"@vue/tsconfig": "^0.1.3",
|
||||
|
||||
@@ -34,18 +34,39 @@ h1 {
|
||||
font-family: 'Frank Ruhl Libre', serif;
|
||||
font-size: 40px;
|
||||
}
|
||||
h2 { font-size: 32px; }
|
||||
h3 { font-size: 24px; }
|
||||
h4 { font-size: 18px; }
|
||||
h2, h3, h4, h5, h6 {
|
||||
|
||||
h2 {
|
||||
font-size: 32px;
|
||||
}
|
||||
|
||||
h3 {
|
||||
font-size: 24px;
|
||||
}
|
||||
|
||||
h4 {
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
h2,
|
||||
h3,
|
||||
h4,
|
||||
h5,
|
||||
h6 {
|
||||
font-family: 'Nunito', sans-serif;
|
||||
}
|
||||
|
||||
* {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
p,
|
||||
a,
|
||||
input,
|
||||
label,
|
||||
button,
|
||||
span {
|
||||
font-family: 'Hind', sans-serif;
|
||||
color: var(--neutral-dark);
|
||||
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.label-input,
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
{
|
||||
"time": 1672423262433,
|
||||
"blocks": [
|
||||
{
|
||||
"id": "SsMzvSlYdr",
|
||||
"type": "Header",
|
||||
"data": {
|
||||
"text": "Bienvenue sur l'éditeur d'article !",
|
||||
"level": 2
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "SCdiyR3ZLh",
|
||||
"type": "paragraph",
|
||||
"data": {
|
||||
"text": "<b>Ici</b>, vous pouvez <u class=\"cdx-underline\">créer</u> votre <i>article</i>."
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "PYzhBNCoxo",
|
||||
"type": "paragraph",
|
||||
"data": {
|
||||
"text": "Supprimez ces blocks pour commencer.<br>"
|
||||
}
|
||||
}
|
||||
],
|
||||
"version": "2.26.4"
|
||||
}
|
||||
@@ -0,0 +1,69 @@
|
||||
{
|
||||
"messages": {
|
||||
"ui": {
|
||||
"blockTunes": {
|
||||
"toggler": {
|
||||
"Click to tune": "Cliquez pour régler",
|
||||
"or drag to move": "ou glissez pour déplacer"
|
||||
}
|
||||
},
|
||||
"inlineToolbar": {
|
||||
"converter": {
|
||||
"Convert to": "Convertir en"
|
||||
}
|
||||
},
|
||||
"toolbar": {
|
||||
"toolbox": {
|
||||
"Add": "Ajouter"
|
||||
}
|
||||
}
|
||||
},
|
||||
"toolNames": {
|
||||
"Text": "Paragraphe",
|
||||
"Heading": "Titre",
|
||||
"List": "Liste",
|
||||
"Warning": "Avertissement",
|
||||
"Checklist": "Checklist",
|
||||
"Quote": "Citation",
|
||||
"Code": "Code",
|
||||
"Delimiter": "Délimiteur",
|
||||
"Table": "Tableau",
|
||||
"Link": "Lien",
|
||||
"Marker": "Surligner",
|
||||
"Bold": "Gras",
|
||||
"Italic": "Italique",
|
||||
"Underline": "Sousligner"
|
||||
},
|
||||
"tools": {
|
||||
"Header": {
|
||||
"Heading 1": "Titre 1",
|
||||
"Heading 2": "Titre 2",
|
||||
"Heading 3": "Titre 3",
|
||||
"Heading 4": "Titre 4",
|
||||
"Heading 5": "Titre 5",
|
||||
"Heading 6": "Titre 6"
|
||||
},
|
||||
"Warning": {
|
||||
"Title": "Titre",
|
||||
"Message": "Message"
|
||||
},
|
||||
"stub": {
|
||||
"The block can not be displayed correctly.": "Le block ne peut pas être affiché correctement :(."
|
||||
},
|
||||
"Code": {
|
||||
"Enter a code": "Entrez votre code"
|
||||
}
|
||||
},
|
||||
"blockTunes": {
|
||||
"delete": {
|
||||
"Delete": "Supprimer"
|
||||
},
|
||||
"moveUp": {
|
||||
"Move up": "Vers le haut"
|
||||
},
|
||||
"moveDown": {
|
||||
"Move down": "Vers le bas"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,83 @@
|
||||
<script setup lang="ts">
|
||||
import i18n from "@/assets/editor_translation.json";
|
||||
import defaultData from '@/assets/editor_default_content.json'
|
||||
|
||||
import EditorJS, { type EditorConfig, type OutputData } from "@editorjs/editorjs";
|
||||
import Header from "@editorjs/header";
|
||||
import List from "@editorjs/list";
|
||||
import NestedList from "@editorjs/nested-list";
|
||||
import CheckList from "@editorjs/checklist";
|
||||
import Quote from "@editorjs/quote";
|
||||
import Warning from "@editorjs/warning";
|
||||
import Marker from "@editorjs/marker";
|
||||
import Code from "@editorjs/code";
|
||||
import Table from "@editorjs/table";
|
||||
import Underline from "@editorjs/underline";
|
||||
import Delimiter from "@editorjs/delimiter";
|
||||
|
||||
|
||||
const props = defineProps<{
|
||||
showDefaultData: boolean
|
||||
}>()
|
||||
|
||||
function getEditorConfig(): EditorConfig {
|
||||
let editorConfig: EditorConfig = {
|
||||
tools: {
|
||||
Header,
|
||||
Quote,
|
||||
NestedList,
|
||||
Code,
|
||||
Table,
|
||||
Warning,
|
||||
Delimiter,
|
||||
Marker,
|
||||
Underline
|
||||
},
|
||||
i18n
|
||||
}
|
||||
if (!props.showDefaultData) return editorConfig
|
||||
editorConfig = {
|
||||
...editorConfig,
|
||||
data: defaultData
|
||||
}
|
||||
return editorConfig
|
||||
}
|
||||
|
||||
const editor = new EditorJS(getEditorConfig())
|
||||
|
||||
async function getEditorData(): Promise<OutputData | undefined> {
|
||||
let data = undefined
|
||||
await editor.save()
|
||||
.then(outputData => {
|
||||
data = outputData
|
||||
})
|
||||
.catch((error) => {
|
||||
console.error(error)
|
||||
})
|
||||
return data
|
||||
}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div class="container">
|
||||
<div id="editorjs"></div>
|
||||
<button @click="getEditorData()" class="button-primary">Enregistrer</button>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<style scoped>
|
||||
.container {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
#editorjs {
|
||||
font-family: 'Hind', sans-serif;
|
||||
}
|
||||
|
||||
button {
|
||||
margin: auto;
|
||||
}
|
||||
</style>
|
||||
@@ -1,15 +1,13 @@
|
||||
<script setup lang="ts">
|
||||
// import EditorJS from '@editorjs/editorjs';
|
||||
import { useAuthStore, type jwtFormat } from '@/stores/AuthStore';
|
||||
import Editor from '@/components/Editor.vue';
|
||||
import { useAuthStore } from '@/stores/AuthStore';
|
||||
import { ref } from 'vue';
|
||||
|
||||
const email = ref('')
|
||||
const password = ref('')
|
||||
|
||||
const baseURL = `http://${__APP_ENV__.APP_HOST_ADDRESS}:${__APP_ENV__.APP_API_PORT}`
|
||||
const articleID = ref('')
|
||||
|
||||
function getArticles() {
|
||||
fetch(`${baseURL}/articles/`, {
|
||||
function getArticles(id?: string) {
|
||||
fetch(`${baseURL}/articles/${id ?? ''}`, {
|
||||
headers: { "Authorization": `Bearer ${useAuthStore().token}` }
|
||||
})
|
||||
.then(response => response.json())
|
||||
@@ -23,49 +21,42 @@ function ping() {
|
||||
.then(response => response.json())
|
||||
.then(result => console.log(result))
|
||||
}
|
||||
|
||||
function jwtHandler(apiResponse: jwtFormat): void {
|
||||
if (apiResponse.code !== 200) {
|
||||
console.log(apiResponse)
|
||||
return
|
||||
}
|
||||
useAuthStore().token = apiResponse.token
|
||||
useAuthStore().expire = apiResponse.expire
|
||||
console.log('success! logged in.')
|
||||
}
|
||||
|
||||
function login(email: string, password: string): void {
|
||||
fetch(`${baseURL}/login/`, {
|
||||
method: "POST",
|
||||
body: JSON.stringify({
|
||||
email: email,
|
||||
password: password
|
||||
})
|
||||
})
|
||||
.then(response => response.json())
|
||||
.then(result => jwtHandler(result))
|
||||
}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<h2>Connexion</h2>
|
||||
|
||||
<form @submit.prevent="login(email, password)">
|
||||
<div class="inputs-group">
|
||||
<div>
|
||||
<label for="email">Email address</label>
|
||||
<input id="email" name="email" placeholder="email" type="text" v-model="email">
|
||||
<input type="text" placeholder="article ID" v-model="articleID">
|
||||
<button class="button-primary" @click="getArticles(articleID)">get article</button>
|
||||
</div>
|
||||
<div>
|
||||
<label for="password">Password</label>
|
||||
<input id="password" name="password" placeholder="password" type="password" v-model="password">
|
||||
</div>
|
||||
<button type="submit">Se connecter</button>
|
||||
</form>
|
||||
|
||||
<div>
|
||||
<div>
|
||||
<button class="button-primary" @click="getArticles()">get all articles</button>
|
||||
<div class="buttons-group">
|
||||
<button class="button-primary" @click="ping()">ping</button>
|
||||
</div>
|
||||
<div class="editor">
|
||||
<Editor :show-default-data="true"></Editor>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<style scoped>
|
||||
.buttons-group,
|
||||
.inputs-group {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 8px;
|
||||
margin: 32px;
|
||||
}
|
||||
|
||||
.inputs-group {
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.inputs-group div {
|
||||
flex-direction: row;
|
||||
gap: 8px;
|
||||
}
|
||||
|
||||
.editor {
|
||||
border: solid black 2px;
|
||||
}
|
||||
</style>
|
||||
Reference in New Issue
Block a user