From 744c4b869174f86afdb1d39ee2ac65abaebd6d29 Mon Sep 17 00:00:00 2001 From: upsiflu Date: Tue, 26 Nov 2024 12:59:11 +0100 Subject: [PATCH] feat(ui-docs): implement dev:docs, build:docs and serve:docs (vitepress) NOTE: type:module added to front/package.json. TODO: Check if app still builds --- .gitignore | 9 + front/package.json | 7 +- front/src/components/ui/Activity.vue | 69 ++ front/src/components/ui/Alert.vue | 24 + front/src/components/ui/Button.vue | 80 ++ front/src/components/ui/Card.vue | 189 +++ front/src/components/ui/Input.vue | 38 + front/src/components/ui/Layout.vue | 80 ++ front/src/components/ui/Loader.vue | 19 + front/src/components/ui/Markdown.vue | 93 ++ front/src/components/ui/Modal.vue | 38 + front/src/components/ui/Pagination.vue | 118 ++ front/src/components/ui/Pill.vue | 22 + front/src/components/ui/Popover.vue | 135 +++ front/src/components/ui/SanitizedHtml.vue | 17 + front/src/components/ui/Tab.vue | 25 + front/src/components/ui/Tabs.vue | 45 + front/src/components/ui/Textarea.vue | 222 ++++ front/src/components/ui/Toc.vue | 52 + front/src/components/ui/Toggle.vue | 24 + front/src/components/ui/activity.md | 61 + front/src/components/ui/activity.scss | 123 ++ front/src/components/ui/alert.md | 98 ++ front/src/components/ui/alert.scss | 44 + front/src/components/ui/button.md | 276 +++++ front/src/components/ui/button.scss | 157 +++ front/src/components/ui/button/Options.vue | 11 + front/src/components/ui/button/Play.vue | 13 + front/src/components/ui/button/options.md | 9 + front/src/components/ui/button/options.scss | 8 + front/src/components/ui/button/play.md | 9 + front/src/components/ui/button/play.scss | 40 + front/src/components/ui/card.md | 242 ++++ front/src/components/ui/input.md | 54 + front/src/components/ui/input.scss | 92 ++ front/src/components/ui/layout.md | 147 +++ front/src/components/ui/layout/Spacer.vue | 18 + front/src/components/ui/layout/spacer.md | 75 ++ front/src/components/ui/loader.md | 48 + front/src/components/ui/loader.scss | 60 + front/src/components/ui/modal.md | 162 +++ front/src/components/ui/modal.scss | 109 ++ front/src/components/ui/pagination.md | 24 + front/src/components/ui/pagination.scss | 89 ++ front/src/components/ui/pill.md | 161 +++ front/src/components/ui/pill.scss | 66 ++ front/src/components/ui/popover.md | 588 ++++++++++ front/src/components/ui/popover.scss | 89 ++ .../components/ui/popover/PopoverCheckbox.vue | 17 + .../src/components/ui/popover/PopoverItem.vue | 27 + .../components/ui/popover/PopoverRadio.vue | 31 + .../ui/popover/PopoverRadioItem.vue | 14 + .../components/ui/popover/PopoverSubmenu.vue | 39 + front/src/components/ui/tabs.md | 67 ++ front/src/components/ui/tabs.scss | 67 ++ front/src/components/ui/textarea.md | 65 ++ front/src/components/ui/textarea.scss | 140 +++ front/src/components/ui/toc.md | 98 ++ front/src/components/ui/toc.scss | 65 ++ front/src/components/ui/toggle.md | 38 + front/src/components/ui/toggle.scss | 96 ++ front/src/composables/colors.ts | 15 + front/src/composables/screen.ts | 17 + front/src/injection-keys.ts | 15 + front/src/locales.ts | 2 +- front/tsconfig.json | 9 +- front/ui-docs/.vitepress/config.ts | 66 ++ front/ui-docs/.vitepress/theme/Layout.vue | 33 + front/ui-docs/.vitepress/theme/index.ts | 28 + front/ui-docs/index.md | 70 ++ front/ui-docs/vite.config.ts | 36 + front/yarn.lock | 1020 ++++++++++++++++- 72 files changed, 6243 insertions(+), 11 deletions(-) create mode 100644 front/src/components/ui/Activity.vue create mode 100644 front/src/components/ui/Alert.vue create mode 100644 front/src/components/ui/Button.vue create mode 100644 front/src/components/ui/Card.vue create mode 100644 front/src/components/ui/Input.vue create mode 100644 front/src/components/ui/Layout.vue create mode 100644 front/src/components/ui/Loader.vue create mode 100644 front/src/components/ui/Markdown.vue create mode 100644 front/src/components/ui/Modal.vue create mode 100644 front/src/components/ui/Pagination.vue create mode 100644 front/src/components/ui/Pill.vue create mode 100644 front/src/components/ui/Popover.vue create mode 100644 front/src/components/ui/SanitizedHtml.vue create mode 100644 front/src/components/ui/Tab.vue create mode 100644 front/src/components/ui/Tabs.vue create mode 100644 front/src/components/ui/Textarea.vue create mode 100644 front/src/components/ui/Toc.vue create mode 100644 front/src/components/ui/Toggle.vue create mode 100644 front/src/components/ui/activity.md create mode 100644 front/src/components/ui/activity.scss create mode 100644 front/src/components/ui/alert.md create mode 100644 front/src/components/ui/alert.scss create mode 100644 front/src/components/ui/button.md create mode 100644 front/src/components/ui/button.scss create mode 100644 front/src/components/ui/button/Options.vue create mode 100644 front/src/components/ui/button/Play.vue create mode 100644 front/src/components/ui/button/options.md create mode 100644 front/src/components/ui/button/options.scss create mode 100644 front/src/components/ui/button/play.md create mode 100644 front/src/components/ui/button/play.scss create mode 100644 front/src/components/ui/card.md create mode 100644 front/src/components/ui/input.md create mode 100644 front/src/components/ui/input.scss create mode 100644 front/src/components/ui/layout.md create mode 100644 front/src/components/ui/layout/Spacer.vue create mode 100644 front/src/components/ui/layout/spacer.md create mode 100644 front/src/components/ui/loader.md create mode 100644 front/src/components/ui/loader.scss create mode 100644 front/src/components/ui/modal.md create mode 100644 front/src/components/ui/modal.scss create mode 100644 front/src/components/ui/pagination.md create mode 100644 front/src/components/ui/pagination.scss create mode 100644 front/src/components/ui/pill.md create mode 100644 front/src/components/ui/pill.scss create mode 100644 front/src/components/ui/popover.md create mode 100644 front/src/components/ui/popover.scss create mode 100644 front/src/components/ui/popover/PopoverCheckbox.vue create mode 100644 front/src/components/ui/popover/PopoverItem.vue create mode 100644 front/src/components/ui/popover/PopoverRadio.vue create mode 100644 front/src/components/ui/popover/PopoverRadioItem.vue create mode 100644 front/src/components/ui/popover/PopoverSubmenu.vue create mode 100644 front/src/components/ui/tabs.md create mode 100644 front/src/components/ui/tabs.scss create mode 100644 front/src/components/ui/textarea.md create mode 100644 front/src/components/ui/textarea.scss create mode 100644 front/src/components/ui/toc.md create mode 100644 front/src/components/ui/toc.scss create mode 100644 front/src/components/ui/toggle.md create mode 100644 front/src/components/ui/toggle.scss create mode 100644 front/src/composables/colors.ts create mode 100644 front/src/composables/screen.ts create mode 100644 front/src/injection-keys.ts create mode 100644 front/ui-docs/.vitepress/config.ts create mode 100644 front/ui-docs/.vitepress/theme/Layout.vue create mode 100644 front/ui-docs/.vitepress/theme/index.ts create mode 100644 front/ui-docs/index.md create mode 100644 front/ui-docs/vite.config.ts diff --git a/.gitignore b/.gitignore index 6e47bf12f..2347aed57 100644 --- a/.gitignore +++ b/.gitignore @@ -75,6 +75,7 @@ api/staticfiles api/static api/.pytest_cache api/celerybeat-* + # Front oldfront/node_modules/ front/static/translations @@ -88,7 +89,15 @@ front/tests/e2e/reports front/test_results.xml front/coverage/ front/selenium-debug.log + +# Vitepress +front/ui-docs/.vitepress/cache +front/ui-docs/.vitepress/dist +front/ui-docs/public + +# Docs docs/_build + #Tauri front/tauri/gen diff --git a/front/package.json b/front/package.json index 653f758f1..07f7feaa2 100644 --- a/front/package.json +++ b/front/package.json @@ -1,13 +1,17 @@ { "name": "front", "version": "0.1.0", + "type": "module", "private": true, "description": "Funkwhale front-end", "author": "Funkwhale Collective ", "scripts": { "dev": "vite", + "dev:docs": "VP_DOCS=true vitepress dev ui-docs", "build": "vite build --mode development", "build:deployment": "vite build", + "build:docs": "VP_DOCS=true vitepress build ui-docs", + "serve:docs": "VP_DOCS=true vitepress serve ui-docs", "serve": "vite preview", "test": "vitest run", "test:unit": "vitest run --coverage", @@ -88,7 +92,7 @@ "@vue/eslint-config-standard": "8.0.1", "@vue/eslint-config-typescript": "12.0.0", "@vue/test-utils": "2.2.7", - "@vue/tsconfig": "0.5.1", + "@vue/tsconfig": "0.6.0", "cypress": "13.6.4", "eslint": "8.57.0", "eslint-config-standard": "17.1.0", @@ -115,6 +119,7 @@ "vite-plugin-node-polyfills": "0.17.0", "vite-plugin-pwa": "0.14.4", "vite-plugin-vue-devtools": "^7.5.2", + "vitepress": "1.5.0", "vitest": "1.3.1", "vue-tsc": "1.8.27", "workbox-core": "6.5.4", diff --git a/front/src/components/ui/Activity.vue b/front/src/components/ui/Activity.vue new file mode 100644 index 000000000..564022cfa --- /dev/null +++ b/front/src/components/ui/Activity.vue @@ -0,0 +1,69 @@ + + + + + diff --git a/front/src/components/ui/Alert.vue b/front/src/components/ui/Alert.vue new file mode 100644 index 000000000..d08835f7a --- /dev/null +++ b/front/src/components/ui/Alert.vue @@ -0,0 +1,24 @@ + + + + + diff --git a/front/src/components/ui/Button.vue b/front/src/components/ui/Button.vue new file mode 100644 index 000000000..d93669134 --- /dev/null +++ b/front/src/components/ui/Button.vue @@ -0,0 +1,80 @@ + + + + + diff --git a/front/src/components/ui/Card.vue b/front/src/components/ui/Card.vue new file mode 100644 index 000000000..232ee720a --- /dev/null +++ b/front/src/components/ui/Card.vue @@ -0,0 +1,189 @@ + + + + + diff --git a/front/src/components/ui/Input.vue b/front/src/components/ui/Input.vue new file mode 100644 index 000000000..36a575601 --- /dev/null +++ b/front/src/components/ui/Input.vue @@ -0,0 +1,38 @@ + + + + + diff --git a/front/src/components/ui/Layout.vue b/front/src/components/ui/Layout.vue new file mode 100644 index 000000000..cba165338 --- /dev/null +++ b/front/src/components/ui/Layout.vue @@ -0,0 +1,80 @@ + + + + + diff --git a/front/src/components/ui/Loader.vue b/front/src/components/ui/Loader.vue new file mode 100644 index 000000000..6a2afbcc3 --- /dev/null +++ b/front/src/components/ui/Loader.vue @@ -0,0 +1,19 @@ + + + + + diff --git a/front/src/components/ui/Markdown.vue b/front/src/components/ui/Markdown.vue new file mode 100644 index 000000000..dd8a3864a --- /dev/null +++ b/front/src/components/ui/Markdown.vue @@ -0,0 +1,93 @@ + + + diff --git a/front/src/components/ui/Modal.vue b/front/src/components/ui/Modal.vue new file mode 100644 index 000000000..80158c8ff --- /dev/null +++ b/front/src/components/ui/Modal.vue @@ -0,0 +1,38 @@ + + + + + diff --git a/front/src/components/ui/Pagination.vue b/front/src/components/ui/Pagination.vue new file mode 100644 index 000000000..196503465 --- /dev/null +++ b/front/src/components/ui/Pagination.vue @@ -0,0 +1,118 @@ + + + + + diff --git a/front/src/components/ui/Pill.vue b/front/src/components/ui/Pill.vue new file mode 100644 index 000000000..55ba3d2aa --- /dev/null +++ b/front/src/components/ui/Pill.vue @@ -0,0 +1,22 @@ + + + + + diff --git a/front/src/components/ui/Popover.vue b/front/src/components/ui/Popover.vue new file mode 100644 index 000000000..f669dd21b --- /dev/null +++ b/front/src/components/ui/Popover.vue @@ -0,0 +1,135 @@ + + + + + diff --git a/front/src/components/ui/SanitizedHtml.vue b/front/src/components/ui/SanitizedHtml.vue new file mode 100644 index 000000000..8b1356c21 --- /dev/null +++ b/front/src/components/ui/SanitizedHtml.vue @@ -0,0 +1,17 @@ + diff --git a/front/src/components/ui/Tab.vue b/front/src/components/ui/Tab.vue new file mode 100644 index 000000000..a53682f33 --- /dev/null +++ b/front/src/components/ui/Tab.vue @@ -0,0 +1,25 @@ + + + diff --git a/front/src/components/ui/Tabs.vue b/front/src/components/ui/Tabs.vue new file mode 100644 index 000000000..2ee624b21 --- /dev/null +++ b/front/src/components/ui/Tabs.vue @@ -0,0 +1,45 @@ + + + + + diff --git a/front/src/components/ui/Textarea.vue b/front/src/components/ui/Textarea.vue new file mode 100644 index 000000000..af3838514 --- /dev/null +++ b/front/src/components/ui/Textarea.vue @@ -0,0 +1,222 @@ + + +