adminforth 3.2.2 → 3.2.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,15 +2,16 @@
2
2
  <button
3
3
  v-bind="$attrs"
4
4
  type="submit"
5
- class="afcl-button flex items-center justify-center gap-1 text-lightButtonsText bg-lightButtonsBackground border border-lightButtonsBorder dark:bg-darkButtonsBackground hover:bg-lightButtonsHover hover:border-lightButtonsBorderHover
6
- focus:ring-4 focus:outline-none focus:ring-lightButtonFocusRing focus:ring-opacity-50 font-medium rounded-lg text-sm px-5 py-2.5 text-center dark:focus:ring-darkButtonFocusRing dark:text-darkButtonsText dark:border-darkButtonsBorder dark:hover:bg-darkButtonsHover dark:hover:border-darkButtonsBorderHover"
5
+ class="afcl-button flex items-center justify-center gap-1 border focus:ring-4 focus:outline-none focus:ring-opacity-50 font-medium rounded-lg text-sm px-5 py-2.5 text-center"
7
6
  :class="{
7
+ 'text-lightButtonsText bg-lightButtonsBackground border-lightButtonsBorder dark:bg-darkButtonsBackground hover:bg-lightButtonsHover hover:border-lightButtonsBorderHover focus:ring-lightButtonFocusRing dark:focus:ring-darkButtonFocusRing dark:text-darkButtonsText dark:border-darkButtonsBorder dark:hover:bg-darkButtonsHover dark:hover:border-darkButtonsBorderHover': currentVariant === 'primary',
8
8
  'cursor-default opacity-50 pointer-events-none': props.disabled,
9
9
  'active brightness-200 hover:brightness-150' : props.active,
10
10
  'text-lightSecondaryContrast/70 bg-lightSecondary border-lightSecondaryContrast/30 dark:bg-darkSecondary hover:bg-lightSecondary/60 hover:border-lightSecondaryContrast/60 focus:ring-lightSecondary dark:focus:ring-darkSecondary/40 dark:text-darkSecondaryContrast dark:border-darkSecondaryContrast/40 dark:hover:bg-darkSecondary/60 dark:hover:border-white/60': currentVariant === 'secondary',
11
+ 'text-lightAcceptModalConfirmButtonText dark:text-darkAcceptModalConfirmButtonText bg-lightAcceptModalConfirmButtonBackground dark:bg-darkAcceptModalConfirmButtonBackground hover:bg-lightAcceptModalConfirmButtonBackgroundHover dark:hover:bg-darkAcceptModalConfirmButtonBackgroundHover focus:ring-lightAcceptModalConfirmButtonFocus dark:focus:ring-darkAcceptModalConfirmButtonFocus border-transparent hover:border-transparent': currentVariant === 'danger',
11
12
  }"
12
13
  >
13
- <Spinner v-if="props.loader" class="w-4 h-4 text-lightButtonsText dark:text-darkButtonsText fill-lightButtonsBackground dark:fill-darkPrimary" />
14
+ <Spinner v-if="props.loader" class="w-4 h-4 text-lightButtonsText dark:text-darkButtonsText fill-lightPrimary dark:fill-darkPrimary" />
14
15
  <slot></slot>
15
16
  </button>
16
17
  </template>
@@ -23,9 +24,9 @@ const props = withDefaults(defineProps<{
23
24
  loader?: boolean;
24
25
  disabled?: boolean;
25
26
  active?: boolean;
26
- variant?: 'primary' | 'secondary';
27
+ variant?: 'primary' | 'secondary' | 'danger';
27
28
  /** @deprecated use variant instead of mode */
28
- mode?: 'primary' | 'secondary';
29
+ mode?: 'primary' | 'secondary' | 'danger';
29
30
  }>(), {
30
31
  loader: false,
31
32
  disabled: false,
@@ -35,4 +36,4 @@ const props = withDefaults(defineProps<{
35
36
  // mode is deprecated, but we still want to support it for backward compatibility,
36
37
  // so we check both variant and mode props
37
38
  const currentVariant = computed(() => props.variant ?? props.mode ?? 'primary');
38
- </script>
39
+ </script>
@@ -3,7 +3,7 @@
3
3
  <span v-if="leftLabel" class="absolute -top-6 left-0 text-sm text-lightProgressBarText dark:text-darkProgressBarText">{{ leftLabel }}</span>
4
4
  <span v-if="rightLabel" class="absolute -top-6 right-0 text-sm text-lightProgressBarText dark:text-darkProgressBarText">{{ rightLabel }}</span>
5
5
  <div
6
- class="bg-lightProgressBarFilledColor dark:bg-darkProgressBarFilledColor h-2.5 rounded-full transition-all duration-300 ease-in-out"
6
+ class="bg-lightPrimary dark:bg-darkPrimary h-2.5 rounded-full transition-all duration-300 ease-in-out"
7
7
  :class="{ 'progress-bar': showAnimation, [`h-${props.height}`]: props.height }"
8
8
  :style="{ width: `${percentage}%` }"
9
9
  ></div>
@@ -88,4 +88,4 @@ const formatValue = (value: number): string => {
88
88
  transform: translateX(100%);
89
89
  }
90
90
  }
91
- </style>
91
+ </style>
@@ -39,20 +39,17 @@
39
39
  <hr class="border-t-2 border-gray-300 dark:border-gray-500 my-6">
40
40
 
41
41
  <div class="flex justify-center gap-4 w-full">
42
- <button @click="()=>{modalStore.onAcceptFunction(false);modalStore.togleModal()}" type="button" class="flex-1 py-2.5 px-4 text-sm font-medium text-gray-700 bg-white rounded-default border border-gray-200 hover:bg-gray-50 focus:ring-4 focus:ring-gray-100 transition-all dark:bg-gray-800 dark:text-gray-300 dark:border-gray-600 dark:hover:bg-gray-700">
42
+ <Button @click="()=>{modalStore.onAcceptFunction(false);modalStore.togleModal()}" type="button" variant="secondary" class="flex-1">
43
43
  {{ modalStore?.modalContent?.cancelText }}
44
- </button>
44
+ </Button>
45
45
 
46
- <button
46
+ <Button
47
47
  @click="()=>{ modalStore.onAcceptFunction(true);modalStore.togleModal()}"
48
48
  type="button"
49
- class="flex-1 flex items-center justify-center py-2.5 px-4 text-sm font-medium transition-all focus:outline-none
50
- border-none rounded-default shadow-sm focus:z-10 focus:ring-4 gap-1"
51
- :class="modalStore.modalContent.dangerous
52
- ? 'text-lightAcceptModalConfirmButtonText dark:text-darkAcceptModalConfirmButtonText bg-lightAcceptModalConfirmButtonBackground dark:bg-darkAcceptModalConfirmButtonBackground hover:bg-lightAcceptModalConfirmButtonBackgroundHover dark:hover:bg-darkAcceptModalConfirmButtonBackgroundHover focus:ring-lightAcceptModalConfirmButtonFocus dark:focus:ring-darkAcceptModalConfirmButtonFocus'
53
- : 'text-lightButtonsText dark:text-darkButtonsText bg-lightButtonsBackground dark:bg-darkButtonsBackground hover:bg-lightButtonsHover dark:hover:bg-darkButtonsHover focus:ring-lightButtonFocusRing dark:focus:ring-darkButtonFocusRing'">
49
+ class="flex-1"
50
+ :variant="modalStore.modalContent.dangerous ? 'danger' : 'primary'">
54
51
  {{ modalStore?.modalContent?.acceptText }}
55
- </button>
52
+ </Button>
56
53
  </div>
57
54
 
58
55
  <div v-if="modalStore?.modalContent?.guardMessage" class="flex items-center justify-center mt-6 text-xs text-gray-400 gap-1.5 font-medium">
@@ -69,7 +66,7 @@
69
66
  <script setup lang="ts">
70
67
  import { watch, ref } from 'vue';
71
68
  import { useModalStore } from '@/stores/modal';
72
- import { Modal } from '@/afcl';
69
+ import { Button, Modal } from '@/afcl';
73
70
  import { IconClipboardDocumentSolid, IconShieldCheck } from '@iconify-prerendered/vue-heroicons';
74
71
 
75
72
 
@@ -95,4 +92,4 @@ function close() {
95
92
  modalRef.value.close();
96
93
  }
97
94
 
98
- </script>
95
+ </script>
@@ -21,6 +21,7 @@ const LS_LANG_KEY = `afLanguage`;
21
21
  const MAX_CONSECUTIVE_EMPTY_RESULTS = 2;
22
22
  const ITEMS_PER_PAGE_LIMIT = 100;
23
23
  const AUTOLOGIN_QUERY_PARAM = 'autologin';
24
+ const START_OAUTH_QUERY_PARAM = 'start_oauth';
24
25
 
25
26
  export function getAutologinCredentials(autologin: unknown): { username: string, password: string } | null {
26
27
  if (typeof autologin !== 'string') {
@@ -117,6 +118,12 @@ export async function redirectToLogin() {
117
118
  if (currentPath !== '/login' && currentPath !== homePagePath) {
118
119
  query.next = next;
119
120
  }
121
+
122
+ const currentQuery = router.currentRoute.value.query;
123
+
124
+ if (START_OAUTH_QUERY_PARAM in currentQuery) {
125
+ query[START_OAUTH_QUERY_PARAM] = (currentQuery[START_OAUTH_QUERY_PARAM] as string) ?? '';
126
+ }
120
127
 
121
128
  await router.push({ name: 'login', query });
122
129
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "adminforth",
3
- "version": "3.2.2",
3
+ "version": "3.2.4",
4
4
  "description": "OpenSource Agent-Native forth-generation admin panel",
5
5
  "keywords": [
6
6
  "adminforth",