diff --git a/packages/nc-gui-v2/components.d.ts b/packages/nc-gui-v2/components.d.ts index b4e16b4f77..692c3f667c 100644 --- a/packages/nc-gui-v2/components.d.ts +++ b/packages/nc-gui-v2/components.d.ts @@ -42,12 +42,14 @@ declare module '@vue/runtime-core' { ASpace: typeof import('ant-design-vue/es')['Space'] ASpin: typeof import('ant-design-vue/es')['Spin'] ASubMenu: typeof import('ant-design-vue/es')['SubMenu'] + ASwitch: typeof import('ant-design-vue/es')['Switch'] ATable: typeof import('ant-design-vue/es')['Table'] ATableColumn: typeof import('ant-design-vue/es')['TableColumn'] ATableColumnGroup: typeof import('ant-design-vue/es')['TableColumnGroup'] ATabPane: typeof import('ant-design-vue/es')['TabPane'] ATabs: typeof import('ant-design-vue/es')['Tabs'] ATag: typeof import('ant-design-vue/es')['Tag'] + ATextarea: typeof import('ant-design-vue/es')['Textarea'] ATooltip: typeof import('ant-design-vue/es')['Tooltip'] ATypographyTitle: typeof import('ant-design-vue/es')['TypographyTitle'] AUploadDragger: typeof import('ant-design-vue/es')['UploadDragger'] diff --git a/packages/nc-gui-v2/components/dashboard/TreeView.vue b/packages/nc-gui-v2/components/dashboard/TreeView.vue index ee49e992ae..37d97671bf 100644 --- a/packages/nc-gui-v2/components/dashboard/TreeView.vue +++ b/packages/nc-gui-v2/components/dashboard/TreeView.vue @@ -19,6 +19,7 @@ import MdiPlus from '~icons/mdi/plus-circle-outline' import MdiDrag from '~icons/mdi/drag-vertical' import MdiMenuIcon from '~icons/mdi/dots-vertical' import MdiAPIDocIcon from '~icons/mdi/open-in-new' +import SettingsModal from '~/components/dashboard/settings/SettingsModal.vue' const { addTab } = useTabs() const toast = useToast() @@ -290,7 +291,7 @@ const addTableTab = (table: TableType) => { {{ $t('title.teamAndSettings') }} - Team and settings + diff --git a/packages/nc-gui-v2/components/dashboard/settings/AppStore.vue b/packages/nc-gui-v2/components/dashboard/settings/AppStore.vue new file mode 100644 index 0000000000..6369ef3c05 --- /dev/null +++ b/packages/nc-gui-v2/components/dashboard/settings/AppStore.vue @@ -0,0 +1,181 @@ + + + + + + + + + + + {{ `Click on confirm to reset ${pluginApp && pluginApp.title}` }} + + + Cancel + Confirm + + + + + + + + + + + Edit + + + + + + Reset + + + + + + Install + + + + + + + + + + + {{ app.title }} + {{ app.description }} + + + + + + + diff --git a/packages/nc-gui-v2/components/dashboard/settings/AuditTab.vue b/packages/nc-gui-v2/components/dashboard/settings/AuditTab.vue index 66f17fcc67..a11e763013 100644 --- a/packages/nc-gui-v2/components/dashboard/settings/AuditTab.vue +++ b/packages/nc-gui-v2/components/dashboard/settings/AuditTab.vue @@ -5,14 +5,8 @@ import { timeAgo } from '~/utils/dateTimeUtils' import { h, useNuxtApp, useProject } from '#imports' import MdiReload from '~icons/mdi/reload' -interface Props { - projectId: string -} - -const { projectId } = defineProps() - const { $api } = useNuxtApp() -const { project, loadProject } = useProject() +const { project } = useProject() let isLoading = $ref(false) @@ -45,35 +39,36 @@ async function loadAudits(page = currentPage, limit = currentLimit) { onMounted(async () => { if (audits === null) { - await loadProject(projectId) await loadAudits(currentPage, currentLimit) } }) +const tableHeaderRenderer = (label: string) => () => h('div', { class: 'text-gray-500' }, label) + const columns = [ { - title: 'Operation Type', + title: tableHeaderRenderer('Operation Type'), dataIndex: 'op_type', key: 'op_type', }, { - title: 'Operation sub-type', + title: tableHeaderRenderer('Operation sub-type'), dataIndex: 'op_sub_type', key: 'op_sub_type', }, { - title: 'Description', + title: tableHeaderRenderer('Description'), dataIndex: 'description', key: 'description', }, { - title: 'User', + title: tableHeaderRenderer('User'), dataIndex: 'user', key: 'user', - customRender: (value: { text: string }) => h('div', () => value.text || 'Shared base'), + customRender: (value: { text: string }) => h('div', {}, value.text || 'Shared base'), }, { - title: 'Created', + title: tableHeaderRenderer('Created'), dataIndex: 'created_at', key: 'created_at', sort: 'desc', @@ -85,21 +80,22 @@ const columns = [ - - - - Reload - - + + + + + Reload + + + + - - diff --git a/packages/nc-gui-v2/components/dashboard/settings/SettingsModal.vue b/packages/nc-gui-v2/components/dashboard/settings/SettingsModal.vue new file mode 100644 index 0000000000..ddc82ef0cc --- /dev/null +++ b/packages/nc-gui-v2/components/dashboard/settings/SettingsModal.vue @@ -0,0 +1,137 @@ + + + + + SETTINGS + + + + + + + + + {{ tab.title }} + + + + + + + + + + + {{ tab.title }} + + + + + + + + + + diff --git a/packages/nc-gui-v2/components/dashboard/settings/appStore/AppInstall.vue b/packages/nc-gui-v2/components/dashboard/settings/appStore/AppInstall.vue new file mode 100644 index 0000000000..4ea53b667e --- /dev/null +++ b/packages/nc-gui-v2/components/dashboard/settings/appStore/AppInstall.vue @@ -0,0 +1,264 @@ + + + + + + + + + + + + + + + + {{ plugin.formDetails.title }} + + + + + + + + + + + + + + + + + + + {{ columnData.label }} * + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{ action.label }} + + + + + + + + diff --git a/packages/nc-gui-v2/package-lock.json b/packages/nc-gui-v2/package-lock.json index a1531206ab..847e55e76b 100644 --- a/packages/nc-gui-v2/package-lock.json +++ b/packages/nc-gui-v2/package-lock.json @@ -23,8 +23,10 @@ "devDependencies": { "@antfu/eslint-config": "^0.25.2", "@iconify-json/clarity": "^1.1.4", + "@iconify-json/ic": "^1.1.7", "@iconify-json/material-symbols": "^1.1.8", "@iconify-json/mdi": "^1.1.25", + "@iconify-json/ri": "^1.1.3", "@intlify/vite-plugin-vue-i18n": "^4.0.0", "@types/papaparse": "^5.3.2", "@types/sortablejs": "^1.13.0", @@ -10422,6 +10424,14 @@ "@iconify/types": "*" } }, + "node_modules/@iconify-json/ic": { + "version": "1.1.7", + "dev": true, + "license": "Apache 2.0", + "dependencies": { + "@iconify/types": "*" + } + }, "node_modules/@iconify-json/material-symbols": { "version": "1.1.8", "dev": true, @@ -10438,6 +10448,14 @@ "@iconify/types": "*" } }, + "node_modules/@iconify-json/ri": { + "version": "1.1.3", + "dev": true, + "license": "Apache 2.0", + "dependencies": { + "@iconify/types": "*" + } + }, "node_modules/@iconify/types": { "version": "1.1.0", "dev": true, @@ -11599,8 +11617,9 @@ }, "node_modules/@types/papaparse": { "version": "5.3.2", + "resolved": "https://registry.npmjs.org/@types/papaparse/-/papaparse-5.3.2.tgz", + "integrity": "sha512-BNbCHJkTE4RwmAFkCxEalET4mDvGr/1ld7ZtQ4i/laWI/iiVt+GL07stdvufle4KfywyvloqqpIiJscXNCrKxA==", "dev": true, - "license": "MIT", "dependencies": { "@types/node": "*" } @@ -11625,9 +11644,8 @@ }, "node_modules/@types/sortablejs": { "version": "1.13.0", - "resolved": "https://registry.npmjs.org/@types/sortablejs/-/sortablejs-1.13.0.tgz", - "integrity": "sha512-C3064MH72iEfeGCYEGCt7FCxXoAXaMPG0QPnstcxvPmbl54erpISu06d++FY37Smja64iWy5L8wOyHHBghWbJQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/tough-cookie": { "version": "4.0.2", @@ -18633,7 +18651,8 @@ }, "node_modules/papaparse": { "version": "5.3.2", - "license": "MIT" + "resolved": "https://registry.npmjs.org/papaparse/-/papaparse-5.3.2.tgz", + "integrity": "sha512-6dNZu0Ki+gyV0eBsFKJhYr+MdQYAzFUGlBMNj3GNrmHxmz1lfRa24CjFObPXtjcetlOv5Ad299MhIK0znp3afw==" }, "node_modules/parse-cache-control": { "version": "1.0.1", @@ -20361,8 +20380,7 @@ }, "node_modules/sortablejs": { "version": "1.15.0", - "resolved": "https://registry.npmjs.org/sortablejs/-/sortablejs-1.15.0.tgz", - "integrity": "sha512-bv9qgVMjUMf89wAvM6AxVvS/4MX3sPeN0+agqShejLU5z5GX4C75ow1O2e5k4L6XItUyAK3gH6AxSbXrOM5e8w==" + "license": "MIT" }, "node_modules/source-map": { "version": "0.7.4", @@ -22872,6 +22890,13 @@ "@iconify/types": "*" } }, + "@iconify-json/ic": { + "version": "1.1.7", + "dev": true, + "requires": { + "@iconify/types": "*" + } + }, "@iconify-json/material-symbols": { "version": "1.1.8", "dev": true, @@ -22886,6 +22911,13 @@ "@iconify/types": "*" } }, + "@iconify-json/ri": { + "version": "1.1.3", + "dev": true, + "requires": { + "@iconify/types": "*" + } + }, "@iconify/types": { "version": "1.1.0", "dev": true @@ -23690,6 +23722,8 @@ }, "@types/papaparse": { "version": "5.3.2", + "resolved": "https://registry.npmjs.org/@types/papaparse/-/papaparse-5.3.2.tgz", + "integrity": "sha512-BNbCHJkTE4RwmAFkCxEalET4mDvGr/1ld7ZtQ4i/laWI/iiVt+GL07stdvufle4KfywyvloqqpIiJscXNCrKxA==", "dev": true, "requires": { "@types/node": "*" @@ -23712,8 +23746,6 @@ }, "@types/sortablejs": { "version": "1.13.0", - "resolved": "https://registry.npmjs.org/@types/sortablejs/-/sortablejs-1.13.0.tgz", - "integrity": "sha512-C3064MH72iEfeGCYEGCt7FCxXoAXaMPG0QPnstcxvPmbl54erpISu06d++FY37Smja64iWy5L8wOyHHBghWbJQ==", "dev": true }, "@types/tough-cookie": { @@ -34276,7 +34308,9 @@ "dev": true }, "papaparse": { - "version": "5.3.2" + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/papaparse/-/papaparse-5.3.2.tgz", + "integrity": "sha512-6dNZu0Ki+gyV0eBsFKJhYr+MdQYAzFUGlBMNj3GNrmHxmz1lfRa24CjFObPXtjcetlOv5Ad299MhIK0znp3afw==" }, "parse-cache-control": { "version": "1.0.1", @@ -35331,9 +35365,7 @@ } }, "sortablejs": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/sortablejs/-/sortablejs-1.15.0.tgz", - "integrity": "sha512-bv9qgVMjUMf89wAvM6AxVvS/4MX3sPeN0+agqShejLU5z5GX4C75ow1O2e5k4L6XItUyAK3gH6AxSbXrOM5e8w==" + "version": "1.15.0" }, "source-map": { "version": "0.7.4", diff --git a/packages/nc-gui-v2/package.json b/packages/nc-gui-v2/package.json index 6ce78c2b7d..d98a34bd39 100644 --- a/packages/nc-gui-v2/package.json +++ b/packages/nc-gui-v2/package.json @@ -29,8 +29,10 @@ "devDependencies": { "@antfu/eslint-config": "^0.25.2", "@iconify-json/clarity": "^1.1.4", + "@iconify-json/ic": "^1.1.7", "@iconify-json/material-symbols": "^1.1.8", "@iconify-json/mdi": "^1.1.25", + "@iconify-json/ri": "^1.1.3", "@intlify/vite-plugin-vue-i18n": "^4.0.0", "@types/papaparse": "^5.3.2", "@types/sortablejs": "^1.13.0", diff --git a/packages/nc-gui-v2/public/plugins/aws.png b/packages/nc-gui-v2/public/plugins/aws.png new file mode 100755 index 0000000000..f069d1949f Binary files /dev/null and b/packages/nc-gui-v2/public/plugins/aws.png differ diff --git a/packages/nc-gui-v2/public/plugins/backblaze.jpeg b/packages/nc-gui-v2/public/plugins/backblaze.jpeg new file mode 100644 index 0000000000..8f879a995c Binary files /dev/null and b/packages/nc-gui-v2/public/plugins/backblaze.jpeg differ diff --git a/packages/nc-gui-v2/public/plugins/discord.png b/packages/nc-gui-v2/public/plugins/discord.png new file mode 100644 index 0000000000..9bd1aae3f6 Binary files /dev/null and b/packages/nc-gui-v2/public/plugins/discord.png differ diff --git a/packages/nc-gui-v2/public/plugins/gcs.png b/packages/nc-gui-v2/public/plugins/gcs.png new file mode 100755 index 0000000000..065a65f18e Binary files /dev/null and b/packages/nc-gui-v2/public/plugins/gcs.png differ diff --git a/packages/nc-gui-v2/public/plugins/linode.svg b/packages/nc-gui-v2/public/plugins/linode.svg new file mode 100644 index 0000000000..73322cbce6 --- /dev/null +++ b/packages/nc-gui-v2/public/plugins/linode.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/nc-gui-v2/public/plugins/mailersend.svg b/packages/nc-gui-v2/public/plugins/mailersend.svg new file mode 100644 index 0000000000..86288b89c0 --- /dev/null +++ b/packages/nc-gui-v2/public/plugins/mailersend.svg @@ -0,0 +1,31 @@ + + + + MailerSend Copy 2 + Created with Sketch. + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/nc-gui-v2/public/plugins/mattermost.png b/packages/nc-gui-v2/public/plugins/mattermost.png new file mode 100644 index 0000000000..1833aae407 Binary files /dev/null and b/packages/nc-gui-v2/public/plugins/mattermost.png differ diff --git a/packages/nc-gui-v2/public/plugins/minio.png b/packages/nc-gui-v2/public/plugins/minio.png new file mode 100644 index 0000000000..ad3f5c9c12 Binary files /dev/null and b/packages/nc-gui-v2/public/plugins/minio.png differ diff --git a/packages/nc-gui-v2/public/plugins/ovhCloud.png b/packages/nc-gui-v2/public/plugins/ovhCloud.png new file mode 100644 index 0000000000..52a8ca5746 Binary files /dev/null and b/packages/nc-gui-v2/public/plugins/ovhCloud.png differ diff --git a/packages/nc-gui-v2/public/plugins/s3.png b/packages/nc-gui-v2/public/plugins/s3.png new file mode 100755 index 0000000000..245f4cc582 Binary files /dev/null and b/packages/nc-gui-v2/public/plugins/s3.png differ diff --git a/packages/nc-gui-v2/public/plugins/scaleway.png b/packages/nc-gui-v2/public/plugins/scaleway.png new file mode 100644 index 0000000000..342a50f686 Binary files /dev/null and b/packages/nc-gui-v2/public/plugins/scaleway.png differ diff --git a/packages/nc-gui-v2/public/plugins/slack.webp b/packages/nc-gui-v2/public/plugins/slack.webp new file mode 100644 index 0000000000..1e6767b1e4 Binary files /dev/null and b/packages/nc-gui-v2/public/plugins/slack.webp differ diff --git a/packages/nc-gui-v2/public/plugins/spaces.png b/packages/nc-gui-v2/public/plugins/spaces.png new file mode 100644 index 0000000000..46ef15be6f Binary files /dev/null and b/packages/nc-gui-v2/public/plugins/spaces.png differ diff --git a/packages/nc-gui-v2/public/plugins/teams.ico b/packages/nc-gui-v2/public/plugins/teams.ico new file mode 100644 index 0000000000..ef5ef2b4b0 Binary files /dev/null and b/packages/nc-gui-v2/public/plugins/teams.ico differ diff --git a/packages/nc-gui-v2/public/plugins/twilio.png b/packages/nc-gui-v2/public/plugins/twilio.png new file mode 100644 index 0000000000..539c7f4520 Binary files /dev/null and b/packages/nc-gui-v2/public/plugins/twilio.png differ diff --git a/packages/nc-gui-v2/public/plugins/upcloud.png b/packages/nc-gui-v2/public/plugins/upcloud.png new file mode 100644 index 0000000000..5718e4fbc6 Binary files /dev/null and b/packages/nc-gui-v2/public/plugins/upcloud.png differ diff --git a/packages/nc-gui-v2/public/plugins/vultr.png b/packages/nc-gui-v2/public/plugins/vultr.png new file mode 100644 index 0000000000..9b1037eaef Binary files /dev/null and b/packages/nc-gui-v2/public/plugins/vultr.png differ diff --git a/packages/nc-gui-v2/public/plugins/whatsapp.png b/packages/nc-gui-v2/public/plugins/whatsapp.png new file mode 100644 index 0000000000..1a24b236ed Binary files /dev/null and b/packages/nc-gui-v2/public/plugins/whatsapp.png differ