| @@ -18,8 +18,84 @@ | ||
| 18 | 18 | */ |
| 19 | 19 | public function __construct() { |
| 20 | 20 | $this->addons_config = array( |
| 21 | 21 | |
| 22 | + 'mxchat-ai-search' => array( | |
| 23 | + 'title' => __('MxChat AI Search', 'mxchat'), | |
| 24 | + 'sidebar_title' => __('AI Search', 'mxchat'), | |
| 25 | + 'description' => __('Bring AI Overviews to your own site search. Visitors ask a question in your search bar and get a real answer drawn from your knowledge base, with sources — above your theme\'s normal results, as a full AI results page, or as a search box you can drop on any page.', 'mxchat'), | |
| 26 | + 'key_benefits' => array( | |
| 27 | + __('AI answers above your theme\'s search results', 'mxchat'), | |
| 28 | + __('Embeddable search box via shortcode or block', 'mxchat'), | |
| 29 | + __('Grounded in your knowledge base, with sources', 'mxchat') | |
| 30 | + ), | |
| 31 | + 'license' => 'MxChat PRO', | |
| 32 | + 'accent' => '#0ea5e9', | |
| 33 | + 'url' => 'https://mxchat.ai/add-ons/mxchat-search/', | |
| 34 | + 'plugin_file' => 'mxchat-search/mxchat-search.php', | |
| 35 | + 'config_page' => 'mxchat-search', | |
| 36 | + 'hero_features' => array( | |
| 37 | + array( | |
| 38 | + 'icon' => '<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="11" r="8"/><line x1="21" y1="21" x2="16.65" y2="16.65"/></svg>', | |
| 39 | + 'title' => __('AI Overview', 'mxchat'), | |
| 40 | + 'desc' => __('Answers above your normal results', 'mxchat'), | |
| 41 | + ), | |
| 42 | + array( | |
| 43 | + 'icon' => '<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"/><line x1="3" y1="9" x2="21" y2="9"/><line x1="7" y1="14" x2="14" y2="14"/></svg>', | |
| 44 | + 'title' => __('Drop It Anywhere', 'mxchat'), | |
| 45 | + 'desc' => __('Shortcode or block on any page', 'mxchat'), | |
| 46 | + ), | |
| 47 | + array( | |
| 48 | + 'icon' => '<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 19.5A2.5 2.5 0 0 1 6.5 17H20"/><path d="M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z"/></svg>', | |
| 49 | + 'title' => __('Your Own Content', 'mxchat'), | |
| 50 | + 'desc' => __('Grounded answers that cite sources', 'mxchat'), | |
| 51 | + ), | |
| 52 | + array( | |
| 53 | + 'icon' => '<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="13 2 3 14 12 14 11 22 21 10 12 10 13 2"/></svg>', | |
| 54 | + 'title' => __('Cost Controls', 'mxchat'), | |
| 55 | + 'desc' => __('Caching, rate limits, cheaper model', 'mxchat'), | |
| 56 | + ), | |
| 57 | + ), | |
| 58 | + ), | |
| 59 | + | |
| 60 | + 'mxchat-mcp' => array( | |
| 61 | + 'title' => __('MxChat MCP Server', 'mxchat'), | |
| 62 | + 'sidebar_title' => __('MCP Server', 'mxchat'), | |
| 63 | + 'description' => __('Turn your MxChat install into a Model Context Protocol server so Claude, ChatGPT, and Claude Code can list transcripts, push knowledge, and inspect bots directly — no per-message fees, no middleman API.', 'mxchat'), | |
| 64 | + 'key_benefits' => array( | |
| 65 | + __('JSON-RPC 2.0 MCP endpoint with OAuth + bearer auth', 'mxchat'), | |
| 66 | + __('One-click connect snippets for Claude Code, ChatGPT, mcp-inspector', 'mxchat'), | |
| 67 | + __('WooCommerce-aware tools: products, orders, customers', 'mxchat') | |
| 68 | + ), | |
| 69 | + 'license' => 'MxChat PRO', | |
| 70 | + 'accent' => '#7873f5', | |
| 71 | + 'url' => 'https://mxchat.ai/add-ons/mxchat-mcp/', | |
| 72 | + 'plugin_file' => 'mxchat-mcp/mxchat-mcp.php', | |
| 73 | + 'config_page' => 'mxchat-mcp', | |
| 74 | + 'hero_features' => array( | |
| 75 | + array( | |
| 76 | + 'icon' => '<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="16 18 22 12 16 6"/><polyline points="8 6 2 12 8 18"/></svg>', | |
| 77 | + 'title' => __('Open Protocol', 'mxchat'), | |
| 78 | + 'desc' => __('Standards-based MCP over Streamable HTTP', 'mxchat'), | |
| 79 | + ), | |
| 80 | + array( | |
| 81 | + 'icon' => '<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="11" width="18" height="11" rx="2" ry="2"/><path d="M7 11V7a5 5 0 0 1 10 0v4"/></svg>', | |
| 82 | + 'title' => __('OAuth + Bearer', 'mxchat'), | |
| 83 | + 'desc' => __('Reuses your MxChat REST token', 'mxchat'), | |
| 84 | + ), | |
| 85 | + array( | |
| 86 | + 'icon' => '<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="22 12 18 12 15 21 9 3 6 12 2 12"/></svg>', | |
| 87 | + 'title' => __('Chatbot Ops Tools', 'mxchat'), | |
| 88 | + 'desc' => __('Transcripts, knowledge, bots, search', 'mxchat'), | |
| 89 | + ), | |
| 90 | + array( | |
| 91 | + 'icon' => '<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="9" cy="21" r="1"/><circle cx="20" cy="21" r="1"/><path d="M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6"/></svg>', | |
| 92 | + 'title' => __('WooCommerce Aware', 'mxchat'), | |
| 93 | + 'desc' => __('Products, orders, customer lookups', 'mxchat'), | |
| 94 | + ), | |
| 95 | + ), | |
| 96 | + ), | |
| 97 | + | |
| 22 | 98 | 'mxchat-advanced-content' => array( |
| 23 | 99 | 'title' => __('MxChat Advanced Content Editor', 'mxchat'), |
| 24 | 100 | 'sidebar_title' => __('Content Gen.', 'mxchat'), |
| 25 | 101 | 'description' => __('Supercharge your AI content generation workflow. Add advanced editing tools, image management, SEO meta controls, and internal linking to the MxChat Content Generator—turning simple prompts into publish-ready posts and landing pages.', 'mxchat'), |
| @@ -29,10 +105,9 @@ | ||
| 29 | 105 | __('Automatic internal linking between posts', 'mxchat') |
| 30 | 106 | ), |
| 31 | 107 | 'license' => 'MxChat PRO', |
| 32 | 108 | 'accent' => '#6366f1', |
| 33 | - 'url' => 'https://mxchat.ai/documentation-bot/', | |
| 34 | - 'download_url' => 'https://mxchat.ai/advanced-content-editor/', | |
| 109 | + 'url' => 'https://mxchat.ai/add-ons/mxchat-advanced-content/', | |
| 35 | 110 | 'plugin_file' => 'mxchat-advanced-content/mxchat-advanced-content.php', |
| 36 | 111 | 'config_page' => 'mxchat-content', |
| 37 | 112 | 'hero_features' => array( |
| 38 | 113 | array( |
| @@ -67,9 +142,9 @@ | ||
| 67 | 142 | __('One-click theme application', 'mxchat') |
| 68 | 143 | ), |
| 69 | 144 | 'license' => 'MxChat PRO', |
| 70 | 145 | 'accent' => '#fa73e6', |
| 71 | - 'url' => 'https://mxchat.ai/ai-theme-customizer/', | |
| 146 | + 'url' => 'https://mxchat.ai/add-ons/mxchat-theme/', | |
| 72 | 147 | 'plugin_file' => 'mxchat-theme/mxchat-theme.php', |
| 73 | 148 | 'config_page' => 'mxchat-theme-settings', |
| 74 | 149 | 'hero_features' => array( |
| 75 | 150 | array( |
| @@ -104,9 +179,9 @@ | ||
| 104 | 179 | __('Searchable chat history', 'mxchat') |
| 105 | 180 | ), |
| 106 | 181 | 'license' => 'MxChat PRO', |
| 107 | 182 | 'accent' => '#fa73e6', |
| 108 | - 'url' => 'https://mxchat.ai/ai-admin-assistant/', | |
| 183 | + 'url' => 'https://mxchat.ai/add-ons/mxchat-admin-chat/', | |
| 109 | 184 | 'plugin_file' => 'mxchat-admin-chat/mxchat-admin-chat.php', |
| 110 | 185 | 'config_page' => 'mxchat-admin-chat', |
| 111 | 186 | 'hero_features' => array( |
| 112 | 187 | array( |
| @@ -141,9 +216,9 @@ | ||
| 141 | 216 | __('Media library integration', 'mxchat') |
| 142 | 217 | ), |
| 143 | 218 | 'license' => 'MxChat PRO', |
| 144 | 219 | 'accent' => '#ff6b35', |
| 145 | - 'url' => 'https://mxchat.ai/mxchat-veo-video-generation/', | |
| 220 | + 'url' => 'https://mxchat.ai/add-ons/mxchat-veo/', | |
| 146 | 221 | 'plugin_file' => 'mxchat-veo/mxchat-veo.php', |
| 147 | 222 | 'config_page' => 'mxchat-veo', |
| 148 | 223 | 'hero_features' => array( |
| 149 | 224 | array( |
| @@ -178,9 +253,9 @@ | ||
| 178 | 253 | __('Custom analysis prompts', 'mxchat') |
| 179 | 254 | ), |
| 180 | 255 | 'license' => 'MxChat PRO', |
| 181 | 256 | 'accent' => '#fa73e6', |
| 182 | - 'url' => 'https://mxchat.ai/image-analysis/', | |
| 257 | + 'url' => 'https://mxchat.ai/add-ons/mxchat-vision/', | |
| 183 | 258 | 'plugin_file' => 'mxchat-vision/mxchat-vision.php', |
| 184 | 259 | 'config_page' => 'mxchat-vision', |
| 185 | 260 | 'hero_features' => array( |
| 186 | 261 | array( |
| @@ -215,9 +290,9 @@ | ||
| 215 | 290 | __('Export lead data easily', 'mxchat') |
| 216 | 291 | ), |
| 217 | 292 | 'license' => 'MxChat PRO', |
| 218 | 293 | 'accent' => '#fa73e6', |
| 219 | - 'url' => 'https://mxchat.ai/forms-action/', | |
| 294 | + 'url' => 'https://mxchat.ai/add-ons/mxchat-forms/', | |
| 220 | 295 | 'plugin_file' => 'mxchat-forms/mxchat-forms.php', |
| 221 | 296 | 'config_page' => 'mxchat-forms', |
| 222 | 297 | 'hero_features' => array( |
| 223 | 298 | array( |
| @@ -252,9 +327,9 @@ | ||
| 252 | 327 | __('Page-specific bot assignments', 'mxchat') |
| 253 | 328 | ), |
| 254 | 329 | 'license' => 'MxChat PRO', |
| 255 | 330 | 'accent' => '#8b5cf6', |
| 256 | - 'url' => 'https://mxchat.ai/multi-bot/', | |
| 331 | + 'url' => 'https://mxchat.ai/add-ons/mxchat-multi-bot/', | |
| 257 | 332 | 'plugin_file' => 'mxchat-multi-bot/mxchat-multi-bot.php', |
| 258 | 333 | 'config_page' => 'mxchat-multi-bot', |
| 259 | 334 | 'hero_features' => array( |
| 260 | 335 | array( |
| @@ -289,9 +364,9 @@ | ||
| 289 | 364 | __('Built-in button styles & animations', 'mxchat') |
| 290 | 365 | ), |
| 291 | 366 | 'license' => 'MxChat PRO', |
| 292 | 367 | 'accent' => '#3ac9d1', |
| 293 | - 'url' => 'https://mxchat.ai/triggers/', | |
| 368 | + 'url' => 'https://mxchat.ai/add-ons/mxchat-trigger/', | |
| 294 | 369 | 'plugin_file' => 'mxchat-trigger/mxchat-trigger.php', |
| 295 | 370 | 'config_page' => 'mxchat-triggers', |
| 296 | 371 | 'hero_features' => array( |
| 297 | 372 | array( |
| @@ -327,10 +402,9 @@ | ||
| 327 | 402 | __('Domain-validated security keys', 'mxchat') |
| 328 | 403 | ), |
| 329 | 404 | 'license' => 'MxChat PRO', |
| 330 | 405 | 'accent' => '#10b981', |
| 331 | - 'url' => 'https://mxchat.ai/mxchat-anywhere-deploy-your-ai-chatbot-on-any-website-with-one-script-tag/', | |
| 332 | - 'download_url' => 'https://mxchat.ai/mxchat-anywhere-deploy-your-ai-chatbot-on-any-website-with-one-script-tag/', | |
| 406 | + 'url' => 'https://mxchat.ai/add-ons/mxchat-embed/', | |
| 333 | 407 | 'plugin_file' => 'mxchat-embed/mxchat-embed.php', |
| 334 | 408 | 'config_page' => 'mxchat-embed', |
| 335 | 409 | 'hero_features' => array( |
| 336 | 410 | array( |
| @@ -365,9 +439,9 @@ | ||
| 365 | 439 | __('Order history access', 'mxchat') |
| 366 | 440 | ), |
| 367 | 441 | 'license' => 'MxChat PRO', |
| 368 | 442 | 'accent' => '#fa73e6', |
| 369 | - 'url' => 'https://mxchat.ai/woocommerce/', | |
| 443 | + 'url' => 'https://mxchat.ai/add-ons/mxchat-woo/', | |
| 370 | 444 | 'plugin_file' => 'mxchat-woo/mxchat-woo.php', |
| 371 | 445 | 'config_page' => 'mxchat-woo', |
| 372 | 446 | 'hero_features' => array( |
| 373 | 447 | array( |
| @@ -392,45 +466,8 @@ | ||
| 392 | 466 | ), |
| 393 | 467 | ), |
| 394 | 468 | ), |
| 395 | 469 | |
| 396 | - 'mxchat-assistant-api' => array( | |
| 397 | - 'title' => __('MxChat Assistant API', 'mxchat'), | |
| 398 | - 'description' => __('Unlock the full power of OpenAI Assistants. Bypass MxChat\'s knowledge base and connect directly to your custom OpenAI Assistant for advanced AI capabilities and specialized responses.', 'mxchat'), | |
| 399 | - 'key_benefits' => array( | |
| 400 | - __('Custom OpenAI Assistant integration', 'mxchat'), | |
| 401 | - __('Advanced AI capabilities', 'mxchat'), | |
| 402 | - __('24-hour conversation persistence', 'mxchat') | |
| 403 | - ), | |
| 404 | - 'license' => 'MxChat PRO', | |
| 405 | - 'accent' => '#00d4aa', | |
| 406 | - 'url' => 'https://mxchat.ai/openai-assistants-api/', | |
| 407 | - 'plugin_file' => 'mxchat-assistant-api/mxchat-assistant-api.php', | |
| 408 | - 'config_page' => 'mxchat-assistant-api', | |
| 409 | - 'hero_features' => array( | |
| 410 | - array( | |
| 411 | - 'icon' => '<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="16 18 22 12 16 6"/><polyline points="8 6 2 12 8 18"/></svg>', | |
| 412 | - 'title' => __('OpenAI Assistants', 'mxchat'), | |
| 413 | - 'desc' => __('Connect your custom Assistant', 'mxchat'), | |
| 414 | - ), | |
| 415 | - array( | |
| 416 | - 'icon' => '<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2L2 7l10 5 10-5-10-5z"/><path d="M2 17l10 5 10-5"/><path d="M2 12l10 5 10-5"/></svg>', | |
| 417 | - 'title' => __('Advanced AI', 'mxchat'), | |
| 418 | - 'desc' => __('Full Assistant API capabilities', 'mxchat'), | |
| 419 | - ), | |
| 420 | - array( | |
| 421 | - 'icon' => '<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><polyline points="12 6 12 12 16 14"/></svg>', | |
| 422 | - 'title' => __('24hr Persistence', 'mxchat'), | |
| 423 | - 'desc' => __('Conversations persist all day', 'mxchat'), | |
| 424 | - ), | |
| 425 | - array( | |
| 426 | - 'icon' => '<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg>', | |
| 427 | - 'title' => __('Direct Connect', 'mxchat'), | |
| 428 | - 'desc' => __('Bypass MxChat knowledge base', 'mxchat'), | |
| 429 | - ), | |
| 430 | - ), | |
| 431 | - ), | |
| 432 | - | |
| 433 | 470 | 'mxchat-perplexity' => array( |
| 434 | 471 | 'title' => __('MxChat Perplexity', 'mxchat'), |
| 435 | 472 | 'description' => __('Give your chatbot real-time knowledge. Add powerful web search capabilities so your bot can answer questions about current events and time-sensitive information.', 'mxchat'), |
| 436 | 473 | 'key_benefits' => array( |
| @@ -439,9 +476,9 @@ | ||
| 439 | 476 | __('Up-to-date information', 'mxchat') |
| 440 | 477 | ), |
| 441 | 478 | 'license' => 'MxChat PRO', |
| 442 | 479 | 'accent' => '#fa73e6', |
| 443 | - 'url' => 'https://quickdeploywp.com/plugin/mxchat-perplexity/', | |
| 480 | + 'url' => 'https://mxchat.ai/add-ons/mxchat-perplexity/', | |
| 444 | 481 | 'plugin_file' => 'mxchat-perplexity/mxchat-perplexity.php', |
| 445 | 482 | 'config_page' => 'mxchat-perplexity', |
| 446 | 483 | 'hero_features' => array( |
| 447 | 484 | array( |
| @@ -476,9 +513,9 @@ | ||
| 476 | 513 | __('Spam protection', 'mxchat') |
| 477 | 514 | ), |
| 478 | 515 | 'license' => 'MxChat PRO', |
| 479 | 516 | 'accent' => '#fa73e6', |
| 480 | - 'url' => 'https://quickdeploywp.com/plugin/mxchat-moderation/', | |
| 517 | + 'url' => 'https://mxchat.ai/add-ons/mxchat-moderation/', | |
| 481 | 518 | 'plugin_file' => 'mxchat-moderation/mx-chat-moderation.php', |
| 482 | 519 | 'config_page' => 'mx-chat-moderation', |
| 483 | 520 | 'hero_features' => array( |
| 484 | 521 | array( |
| @@ -499,8 +536,45 @@ | ||
| 499 | 536 | array( |
| 500 | 537 | 'icon' => '<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M16 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"/><circle cx="8.5" cy="7" r="4"/><line x1="20" y1="8" x2="20" y2="14"/><line x1="23" y1="11" x2="17" y2="11"/></svg>', |
| 501 | 538 | 'title' => __('Brand Safety', 'mxchat'), |
| 502 | 539 | 'desc' => __('Keep chat professional', 'mxchat'), |
| 540 | + ), | |
| 541 | + ), | |
| 542 | + ), | |
| 543 | + | |
| 544 | + 'mxchat-migration-tool' => array( | |
| 545 | + 'title' => __('MxChat Migration Tool', 'mxchat'), | |
| 546 | + 'description' => __('Move your knowledge base safely between embedding models and vector databases. Re-embed existing content when switching models, migrate between WordPress and Pinecone storage, and export your knowledge base for backup.', 'mxchat'), | |
| 547 | + 'key_benefits' => array( | |
| 548 | + __('Re-embed when switching models', 'mxchat'), | |
| 549 | + __('WordPress ↔ Pinecone migration', 'mxchat'), | |
| 550 | + __('Knowledge base export', 'mxchat') | |
| 551 | + ), | |
| 552 | + 'license' => 'MxChat PRO', | |
| 553 | + 'accent' => '#fa73e6', | |
| 554 | + 'url' => 'https://mxchat.ai/add-ons/mxchat-migration-tool/', | |
| 555 | + 'plugin_file' => 'mxchat-migration-tool/mxchat-migration-tool.php', | |
| 556 | + 'config_page' => 'mxchat-migration', | |
| 557 | + 'hero_features' => array( | |
| 558 | + array( | |
| 559 | + 'icon' => '<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="16 3 21 3 21 8"/><line x1="4" y1="20" x2="21" y2="3"/><polyline points="21 16 21 21 16 21"/><line x1="15" y1="15" x2="21" y2="21"/><line x1="4" y1="4" x2="9" y2="9"/></svg>', | |
| 560 | + 'title' => __('Model Migration', 'mxchat'), | |
| 561 | + 'desc' => __('Re-embed for a new model', 'mxchat'), | |
| 562 | + ), | |
| 563 | + array( | |
| 564 | + 'icon' => '<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><ellipse cx="12" cy="5" rx="9" ry="3"/><path d="M21 12c0 1.66-4 3-9 3s-9-1.34-9-3"/><path d="M3 5v14c0 1.66 4 3 9 3s9-1.34 9-3V5"/></svg>', | |
| 565 | + 'title' => __('Database Moves', 'mxchat'), | |
| 566 | + 'desc' => __('WordPress ↔ Pinecone', 'mxchat'), | |
| 567 | + ), | |
| 568 | + array( | |
| 569 | + 'icon' => '<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"/><polyline points="7 10 12 15 17 10"/><line x1="12" y1="15" x2="12" y2="3"/></svg>', | |
| 570 | + 'title' => __('KB Export', 'mxchat'), | |
| 571 | + 'desc' => __('Back up as JSON or text', 'mxchat'), | |
| 572 | + ), | |
| 573 | + array( | |
| 574 | + 'icon' => '<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="22 12 16 12 14 15 10 9 8 12 2 12"/></svg>', | |
| 575 | + 'title' => __('Progress Tracking', 'mxchat'), | |
| 576 | + 'desc' => __('Batched with live status', 'mxchat'), | |
| 503 | 577 | ), |
| 504 | 578 | ), |
| 505 | 579 | ), |
| 506 | 580 | |