From 4e11dd258cce3199ac216766a190734efc23fc83 Mon Sep 17 00:00:00 2001 From: MateuszMichalowski <79852198+MateuszMichalowski@users.noreply.github.com> Date: Thu, 25 Jul 2024 16:15:04 +0200 Subject: [PATCH 1/2] feat(admin): automatic contributions updates (#3332) * feat(admin): Automatic Contributions update * feat(admin): Automatic Contributions fixed * feat(admin): Automatic Contributions remove unused code * feat(admin): Fix lint * feat(admin): fix lock --- admin/components.d.ts | 46 +++ admin/src/App.vue | 1 + .../ContributionLink/ContributionLink.vue | 25 +- .../ContributionLink/ContributionLinkForm.vue | 278 +++++++++--------- .../ContributionLink/ContributionLinkList.vue | 203 +++++++------ .../Federation/CommunityVisualizeItem.vue | 76 ++--- admin/src/components/FigureQrCode.vue | 28 +- admin/src/components/NavBar.vue | 2 +- .../src/components/Tables/StatisticTable.vue | 31 +- admin/src/components/input/EditableGroup.vue | 23 +- .../input/EditableGroupableLabel.vue | 6 +- admin/src/composables/useToast.js | 41 +++ admin/src/pages/CommunityStatistic.vue | 73 +++-- admin/src/pages/ContributionLinks.vue | 60 ++-- admin/src/pages/CreationConfirm.vue | 47 +-- admin/src/pages/FederationVisualize.vue | 96 +++--- admin/src/pages/UserSearch.vue | 4 +- admin/vite.config.js | 5 +- 18 files changed, 563 insertions(+), 482 deletions(-) create mode 100644 admin/src/composables/useToast.js diff --git a/admin/components.d.ts b/admin/components.d.ts index 16c738904..3e26eac67 100644 --- a/admin/components.d.ts +++ b/admin/components.d.ts @@ -7,6 +7,40 @@ export {} /* prettier-ignore */ declare module 'vue' { export interface GlobalComponents { + BAvatar: typeof import('bootstrap-vue-next')['BAvatar'] + BBadge: typeof import('bootstrap-vue-next')['BBadge'] + BButton: typeof import('bootstrap-vue-next')['BButton'] + BCard: typeof import('bootstrap-vue-next')['BCard'] + BCardText: typeof import('bootstrap-vue-next')['BCardText'] + BCol: typeof import('bootstrap-vue-next')['BCol'] + BCollapse: typeof import('bootstrap-vue-next')['BCollapse'] + BContainer: typeof import('bootstrap-vue-next')['BContainer'] + BForm: typeof import('bootstrap-vue-next')['BForm'] + BFormCheckbox: typeof import('bootstrap-vue-next')['BFormCheckbox'] + BFormGroup: typeof import('bootstrap-vue-next')['BFormGroup'] + BFormInput: typeof import('bootstrap-vue-next')['BFormInput'] + BFormRadioGroup: typeof import('bootstrap-vue-next')['BFormRadioGroup'] + BFormSelect: typeof import('bootstrap-vue-next')['BFormSelect'] + BFormTextarea: typeof import('bootstrap-vue-next')['BFormTextarea'] + BInputGroup: typeof import('bootstrap-vue-next')['BInputGroup'] + BLink: typeof import('bootstrap-vue-next')['BLink'] + BListGroup: typeof import('bootstrap-vue-next')['BListGroup'] + BListGroupItem: typeof import('bootstrap-vue-next')['BListGroupItem'] + BModal: typeof import('bootstrap-vue-next')['BModal'] + BPagination: typeof import('bootstrap-vue-next')['BPagination'] + BRow: typeof import('bootstrap-vue-next')['BRow'] + BTab: typeof import('bootstrap-vue-next')['BTab'] + BTable: typeof import('bootstrap-vue-next')['BTable'] + BTableLite: typeof import('bootstrap-vue-next')['BTableLite'] + BTableSimple: typeof import('bootstrap-vue-next')['BTableSimple'] + BTabs: typeof import('bootstrap-vue-next')['BTabs'] + BTbody: typeof import('bootstrap-vue-next')['BTbody'] + BTd: typeof import('bootstrap-vue-next')['BTd'] + BTh: typeof import('bootstrap-vue-next')['BTh'] + BThead: typeof import('bootstrap-vue-next')['BThead'] + BToastOrchestrator: typeof import('bootstrap-vue-next')['BToastOrchestrator'] + BTooltip: typeof import('bootstrap-vue-next')['BTooltip'] + BTr: typeof import('bootstrap-vue-next')['BTr'] ChangeUserRoleFormular: typeof import('./src/components/ChangeUserRoleFormular.vue')['default'] CommunityVisualizeItem: typeof import('./src/components/Federation/CommunityVisualizeItem.vue')['default'] ConfirmRegisterMailFormular: typeof import('./src/components/ConfirmRegisterMailFormular.vue')['default'] @@ -26,7 +60,15 @@ declare module 'vue' { EditCreationFormular: typeof import('./src/components/EditCreationFormular.vue')['default'] FederationVisualizeItem: typeof import('./src/components/Federation/FederationVisualizeItem.vue')['default'] FigureQrCode: typeof import('./src/components/FigureQrCode.vue')['default'] + IBiArrowClockwise: typeof import('~icons/bi/arrow-clockwise')['default'] + IBiBellFill: typeof import('~icons/bi/bell-fill')['default'] + IBiCheck: typeof import('~icons/bi/check')['default'] IBiEnvelope: typeof import('~icons/bi/envelope')['default'] + IBiEye: typeof import('~icons/bi/eye')['default'] + IBiList: typeof import('~icons/bi/list')['default'] + IBiPencil: typeof import('~icons/bi/pencil')['default'] + IBiPencilFill: typeof import('~icons/bi/pencil-fill')['default'] + IBiTrash: typeof import('~icons/bi/trash')['default'] IBiXCircle: typeof import('~icons/bi/x-circle')['default'] IIcBaselineClose: typeof import('~icons/ic/baseline-close')['default'] IOcticonCircleSlash24: typeof import('~icons/octicon/circle-slash24')['default'] @@ -48,4 +90,8 @@ declare module 'vue' { TransactionLinkList: typeof import('./src/components/TransactionLinkList.vue')['default'] UserQuery: typeof import('./src/components/UserQuery.vue')['default'] } + export interface ComponentCustomProperties { + vBToggle: typeof import('bootstrap-vue-next')['vBToggle'] + vBTooltip: typeof import('bootstrap-vue-next')['vBTooltip'] + } } diff --git a/admin/src/App.vue b/admin/src/App.vue index f7c6c9a9d..c272136a9 100644 --- a/admin/src/App.vue +++ b/admin/src/App.vue @@ -1,5 +1,6 @@ - diff --git a/admin/src/pages/UserSearch.vue b/admin/src/pages/UserSearch.vue index 96a4da363..72fa15934 100644 --- a/admin/src/pages/UserSearch.vue +++ b/admin/src/pages/UserSearch.vue @@ -51,6 +51,7 @@ import SearchUserTable from '../components/Tables/SearchUserTable' import UserQuery from '../components/UserQuery' import { BPagination, BButton } from 'bootstrap-vue-next' import { useI18n } from 'vue-i18n' +import { useAppToast } from '@/composables/useToast' const { t } = useI18n() @@ -66,6 +67,7 @@ const perPage = ref(25) const response = ref() const { creationLabel } = useCreationMonths() +const { toastSuccess } = useAppToast() const { result, refetch } = useQuery(searchUsers, { query: criteria.value, @@ -90,7 +92,7 @@ const updateRoles = (userId, roles) => { const updateDeletedAt = (userId, deletedAt) => { searchResult.value.find((obj) => obj.userId === userId).deletedAt = deletedAt - // toastSuccess(deletedAt ? $t('user_deleted') : $t('user_recovered')) + toastSuccess(deletedAt ? t('user_deleted') : t('user_recovered')) } const unconfirmedRegisterMails = () => { diff --git a/admin/vite.config.js b/admin/vite.config.js index 44e988040..3075c110c 100644 --- a/admin/vite.config.js +++ b/admin/vite.config.js @@ -4,11 +4,14 @@ import commonjs from 'vite-plugin-commonjs' import Icons from 'unplugin-icons/vite' import Components from 'unplugin-vue-components/vite' import IconsResolve from 'unplugin-icons/resolver' +import { BootstrapVueNextResolver } from 'bootstrap-vue-next' + const path = require('path') export default defineConfig({ base: '/admin/', server: { + host: '0.0.0.0', port: 8080, }, resolve: { @@ -30,7 +33,7 @@ export default defineConfig({ }, }), Components({ - resolvers: [IconsResolve()], + resolvers: [IconsResolve(), BootstrapVueNextResolver()], dts: true, }), Icons({ From e5b5294849b313bf1969e87651ef14abc91848e0 Mon Sep 17 00:00:00 2001 From: MateuszMichalowski <79852198+MateuszMichalowski@users.noreply.github.com> Date: Thu, 25 Jul 2024 23:30:33 +0200 Subject: [PATCH 2/2] feat(admin): migration of admin creation components (#3333) * feat(admin): Automatic Contributions update * feat(admin): Automatic Contributions fixed * feat(admin): Automatic Contributions remove unused code * feat(admin): Fix lint * feat(admin): Federation change error handling * feat(admin): fix lock * feat(admin): remove unused import * feat(admin): creation page updates * feat(admin): remove unused code * feat(admin): Code clenup, fixed navbar info badge --- admin/components.d.ts | 6 + .../ContributionLink/ContributionLinkForm.vue | 2 +- .../ContributionLink/ContributionLinkList.vue | 9 +- .../ContributionMessagesFormular.vue | 72 +- .../ContributionMessagesList.vue | 4 +- .../slots/ContributionMessagesListItem.vue | 4 +- admin/src/components/EditCreationFormular.vue | 44 +- admin/src/components/NavBar.vue | 28 +- admin/src/components/Overlay.vue | 84 +- .../components/Tables/OpenCreationsTable.vue | 60 +- admin/src/pages/ContributionLinks.vue | 4 +- admin/src/pages/CreationConfirm.vue | 721 +++++++++--------- admin/src/pages/FederationVisualize.vue | 13 +- admin/src/router/routes.js | 5 + 14 files changed, 542 insertions(+), 514 deletions(-) diff --git a/admin/components.d.ts b/admin/components.d.ts index 3e26eac67..47636873f 100644 --- a/admin/components.d.ts +++ b/admin/components.d.ts @@ -62,13 +62,19 @@ declare module 'vue' { FigureQrCode: typeof import('./src/components/FigureQrCode.vue')['default'] IBiArrowClockwise: typeof import('~icons/bi/arrow-clockwise')['default'] IBiBellFill: typeof import('~icons/bi/bell-fill')['default'] + IBiChatDots: typeof import('~icons/bi/chat-dots')['default'] IBiCheck: typeof import('~icons/bi/check')['default'] IBiEnvelope: typeof import('~icons/bi/envelope')['default'] + IBiExclamationCircleFill: typeof import('~icons/bi/exclamation-circle-fill')['default'] IBiEye: typeof import('~icons/bi/eye')['default'] IBiList: typeof import('~icons/bi/list')['default'] IBiPencil: typeof import('~icons/bi/pencil')['default'] IBiPencilFill: typeof import('~icons/bi/pencil-fill')['default'] + IBiPencilSquare: typeof import('~icons/bi/pencil-square')['default'] + IBiQuestionDiamond: typeof import('~icons/bi/question-diamond')['default'] + IBiQuestionSquare: typeof import('~icons/bi/question-square')['default'] IBiTrash: typeof import('~icons/bi/trash')['default'] + IBiX: typeof import('~icons/bi/x')['default'] IBiXCircle: typeof import('~icons/bi/x-circle')['default'] IIcBaselineClose: typeof import('~icons/ic/baseline-close')['default'] IOcticonCircleSlash24: typeof import('~icons/octicon/circle-slash24')['default'] diff --git a/admin/src/components/ContributionLink/ContributionLinkForm.vue b/admin/src/components/ContributionLink/ContributionLinkForm.vue index 332b9be0e..ebcfcf5e3 100644 --- a/admin/src/components/ContributionLink/ContributionLinkForm.vue +++ b/admin/src/components/ContributionLink/ContributionLinkForm.vue @@ -81,7 +81,7 @@ diff --git a/admin/src/components/ContributionLink/ContributionLinkList.vue b/admin/src/components/ContributionLink/ContributionLinkList.vue index 2cdba783c..beaa0c9ff 100644 --- a/admin/src/components/ContributionLink/ContributionLinkList.vue +++ b/admin/src/components/ContributionLink/ContributionLinkList.vue @@ -28,7 +28,14 @@ - +