diff --git a/package-lock.json b/package-lock.json index 7110127f8f..e278e5e9a6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "omniroute", - "version": "2.3.17", + "version": "2.4.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "omniroute", - "version": "2.3.17", + "version": "2.4.0", "hasInstallScript": true, "license": "MIT", "workspaces": [ diff --git a/src/app/(dashboard)/dashboard/combos/page.tsx b/src/app/(dashboard)/dashboard/combos/page.tsx index 8a0777c335..e19b1fd8c0 100644 --- a/src/app/(dashboard)/dashboard/combos/page.tsx +++ b/src/app/(dashboard)/dashboard/combos/page.tsx @@ -145,6 +145,22 @@ const COMBO_TEMPLATE_FALLBACK = { }; const COMBO_TEMPLATES = [ + { + id: "free-stack", + icon: "volunteer_activism", + titleKey: "templateFreeStack", + descKey: "templateFreeStackDesc", + fallbackTitle: COMBO_TEMPLATE_FALLBACK.freeStackTitle, + fallbackDesc: COMBO_TEMPLATE_FALLBACK.freeStackDesc, + strategy: "round-robin", + suggestedName: "free-stack", + isFeatured: true, + config: { + maxRetries: 3, + retryDelayMs: 500, + healthCheckEnabled: true, + }, + }, { id: "high-availability", icon: "shield", @@ -190,21 +206,6 @@ const COMBO_TEMPLATES = [ healthCheckEnabled: true, }, }, - { - id: "free-stack", - icon: "volunteer_activism", - titleKey: "templateFreeStack", - descKey: "templateFreeStackDesc", - fallbackTitle: COMBO_TEMPLATE_FALLBACK.freeStackTitle, - fallbackDesc: COMBO_TEMPLATE_FALLBACK.freeStackDesc, - strategy: "round-robin", - suggestedName: "free-stack", - config: { - maxRetries: 3, - retryDelayMs: 500, - healthCheckEnabled: true, - }, - }, ]; function getStrategyMeta(strategy) { @@ -1486,7 +1487,7 @@ function ComboFormModal({ isOpen, combo, onClose, onSave, activeProviders }) { {!isEdit && ( -
+

{getI18nOrFallback(t, "templatesTitle", COMBO_TEMPLATE_FALLBACK.title)} @@ -1499,27 +1500,36 @@ function ComboFormModal({ isOpen, combo, onClose, onSave, activeProviders }) { )}

-
+
{COMBO_TEMPLATES.map((template) => ( ))}