diff --git a/package-lock.json b/package-lock.json index 4c587236e5..08de11562a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,7 +11,7 @@ "devDependencies": { "@aave/protocol-js": "^4.3.0", "@balancer-labs/assets": "github:balancer-labs/assets#master", - "@balancer-labs/sdk": "^1.1.4-beta.19", + "@balancer-labs/sdk": "^1.1.4-beta.20", "@balancer-labs/typechain": "^1.0.0", "@balancer-labs/v2-deployments": "^3.2.0", "@cowprotocol/contracts": "^1.3.1", @@ -1523,9 +1523,9 @@ } }, "node_modules/@balancer-labs/sdk": { - "version": "1.1.4-beta.19", - "resolved": "https://registry.npmjs.org/@balancer-labs/sdk/-/sdk-1.1.4-beta.19.tgz", - "integrity": "sha512-rPKkYpFyDZUq6Oh1qLaYGm2Z9k7pwvZumXWKraitUAYg3WxXh+VwU5f3zPVWXb1a+M4vwY6AHyT5vmdp/a7Q4w==", + "version": "1.1.4-beta.20", + "resolved": "https://registry.npmjs.org/@balancer-labs/sdk/-/sdk-1.1.4-beta.20.tgz", + "integrity": "sha512-O6OS+lp6LGYpvYc/bXuwIyfKJdw/Fl+/p53Sb3geKxeJHEPFpKXXoiXdQyG2BLLyWQyrxJyl3UkRo+9U+agDHA==", "dev": true, "dependencies": { "@balancer-labs/sor": "^4.1.1-beta.16", @@ -29577,9 +29577,9 @@ } }, "@balancer-labs/sdk": { - "version": "1.1.4-beta.19", - "resolved": "https://registry.npmjs.org/@balancer-labs/sdk/-/sdk-1.1.4-beta.19.tgz", - "integrity": "sha512-rPKkYpFyDZUq6Oh1qLaYGm2Z9k7pwvZumXWKraitUAYg3WxXh+VwU5f3zPVWXb1a+M4vwY6AHyT5vmdp/a7Q4w==", + "version": "1.1.4-beta.20", + "resolved": "https://registry.npmjs.org/@balancer-labs/sdk/-/sdk-1.1.4-beta.20.tgz", + "integrity": "sha512-O6OS+lp6LGYpvYc/bXuwIyfKJdw/Fl+/p53Sb3geKxeJHEPFpKXXoiXdQyG2BLLyWQyrxJyl3UkRo+9U+agDHA==", "dev": true, "requires": { "@balancer-labs/sor": "^4.1.1-beta.16", diff --git a/package.json b/package.json index 07af7ebfbb..0d4052b1bd 100644 --- a/package.json +++ b/package.json @@ -42,7 +42,7 @@ "devDependencies": { "@aave/protocol-js": "^4.3.0", "@balancer-labs/assets": "github:balancer-labs/assets#master", - "@balancer-labs/sdk": "^1.1.4-beta.19", + "@balancer-labs/sdk": "^1.1.4-beta.20", "@balancer-labs/typechain": "^1.0.0", "@balancer-labs/v2-deployments": "^3.2.0", "@cowprotocol/contracts": "^1.3.1", diff --git a/src/App.vue b/src/App.vue index c655bdefb4..26af782549 100644 --- a/src/App.vue +++ b/src/App.vue @@ -25,6 +25,8 @@ import useAlerts, { AlertPriority, AlertType, } from './composables/useAlerts'; +import { useI18n } from 'vue-i18n'; +import useNetwork from './composables/useNetwork'; // Dynamic import of layout components: // it prevents the initial bundle from including all the layouts (and their unique dependencies) @@ -75,15 +77,21 @@ const { sidebarOpen } = useSidebar(); const { addAlert } = useAlerts(); const { handleThirdPartyModalToggle, isThirdPartyServicesModalVisible } = useThirdPartyServices(); +const { t } = useI18n(); +const router = useRouter(); +const { networkSlug } = useNetwork(); // OPTIONAL FEATURE ALERTS are enabled by featureAlertEnabled toggle const featureAlert: Alert = { - id: 'feature-alert', - priority: AlertPriority.LOW, - label: '', // Add the new feature alert text here and set featureAlertEnabled to true to activate it - type: AlertType.FEATURE, + id: 'csp-alert', + priority: AlertPriority.HIGH, + label: t('poolWarnings.cspPoolVulnWarning.generalTitle'), // Add the new feature alert text here and set featureAlertEnabled to true to activate it + type: AlertType.ERROR, rememberClose: false, - actionOnClick: false, + actionLabel: 'Recovery exit', + action: () => { + router.push({ name: 'recovery-exit', params: { networkSlug } }); + }, }; const featureAlertEnabled = false; if (featureAlertEnabled) addAlert(featureAlert); diff --git a/src/components/_global/BalTable/BalTable.vue b/src/components/_global/BalTable/BalTable.vue index 0b750faa17..026fb35d91 100644 --- a/src/components/_global/BalTable/BalTable.vue +++ b/src/components/_global/BalTable/BalTable.vue @@ -199,16 +199,13 @@ const shouldRenderTotals = computed(() => props.columns.some(column => column.totalsCell !== undefined) ); -watch( - () => props.data, - newData => { - if (currentSortColumn.value && currentSortDirection.value !== null) { - handleSort(currentSortColumn.value, false); - return; - } - tableData.value = newData; +watch([() => props.data, () => props.isLoading], ([newData]) => { + if (currentSortColumn.value && currentSortDirection.value !== null) { + handleSort(currentSortColumn.value, false); + return; } -); + tableData.value = newData; +});