From 68cde2571b5caa2e75804a87cd86c482d1d00bdc Mon Sep 17 00:00:00 2001 From: Szymon Kasprzyk Date: Thu, 26 Mar 2026 14:18:57 +0100 Subject: [PATCH 1/3] creates custom endpoint for events routes --- wp-content/plugins/vf-events/assets/qa.json | 36 +++++++++ .../vf-events/assets/vf-events-chatbot.js | 37 ---------- .../vf-events/templates/partials/chatbot.php | 12 +-- wp-content/themes/vf-wp/functions.php | 74 ------------------- 4 files changed, 40 insertions(+), 119 deletions(-) create mode 100644 wp-content/plugins/vf-events/assets/qa.json diff --git a/wp-content/plugins/vf-events/assets/qa.json b/wp-content/plugins/vf-events/assets/qa.json new file mode 100644 index 000000000..45c3c7957 --- /dev/null +++ b/wp-content/plugins/vf-events/assets/qa.json @@ -0,0 +1,36 @@ +{ + "predefinedQA": { + "How can I register?": { + "answer": "Answer 1 here" + }, + "Who is the contact person for this event?": { + "answer": "Answer 2 here" + }, + "Where is the event taking place?": { + "answer": "Answer 3 here", + "sources": [ + { + "domain": "ebi.ac.uk", + "title": "EMBL-EBI Training", + "url": "https://www.ebi.ac.uk/training/", + "description": "Delivering world-class training in data-driven life sciences." + } + ] + } + }, + "fallbackResponses": [ + { + "answer": "I'm sorry, I'm having trouble connecting to my knowledge base right now. Could you try again in a moment?", + "prompts": [ + { + "action_text": "Contact support team", + "action_url": "tel:+44 1223 494 444" + }, + { + "action_text": "Submit a support request", + "action_url": "https://www.ebi.ac.uk/about/contact/support/" + } + ] + } + ] +} diff --git a/wp-content/plugins/vf-events/assets/vf-events-chatbot.js b/wp-content/plugins/vf-events/assets/vf-events-chatbot.js index 87bdb8f3a..54b867bce 100644 --- a/wp-content/plugins/vf-events/assets/vf-events-chatbot.js +++ b/wp-content/plugins/vf-events/assets/vf-events-chatbot.js @@ -58,14 +58,6 @@ return selector ? selector.getAttribute("data-routes-path") : ""; } - function getRoutesPayloadElement() { - var selector = getSelectorElement(); - - return selector - ? selector.querySelector("[data-vf-js-events-chatbot-routes-payload]") - : null; - } - function getSelectorEmptyLabel() { var selector = getSelectorElement(); @@ -189,40 +181,11 @@ function loadEventRoutes() { var routesPath = getRoutesPath(); - var routesPayloadElement = getRoutesPayloadElement(); if (eventRoutesPromise) { return eventRoutesPromise; } - if (routesPayloadElement) { - eventRoutesPromise = Promise.resolve() - .then(function () { - var payloadText = routesPayloadElement.textContent || ""; - var parsedPayload = payloadText ? JSON.parse(payloadText) : { routes: [] }; - var routes = sortRoutesAlphabetically( - normalizeRoutesPayload(parsedPayload) - ); - - eventRoutesById = {}; - routes.forEach(function (route) { - if (route && route.id) { - eventRoutesById[route.id] = route; - } - }); - - return routes; - }) - .catch(function (error) { - console.error("Unable to parse inline event routes payload:", error); - eventRoutesById = {}; - eventRoutesPromise = null; - return []; - }); - - return eventRoutesPromise; - } - if (!routesPath) { return Promise.resolve([]); } diff --git a/wp-content/plugins/vf-events/templates/partials/chatbot.php b/wp-content/plugins/vf-events/templates/partials/chatbot.php index c433c6f9f..7092c59b1 100644 --- a/wp-content/plugins/vf-events/templates/partials/chatbot.php +++ b/wp-content/plugins/vf-events/templates/partials/chatbot.php @@ -13,10 +13,7 @@ $chatbot_event_id = get_post_field('post_name', $chatbot_event_post_id); $chatbot_plugin_base_url = plugin_dir_url(dirname(dirname(dirname(__FILE__))) . '/vf-events.php'); $chatbot_asset_base = untrailingslashit(get_theme_file_uri('assets/assets/vf-chatbot/assets')); -$chatbot_asset_base_custom = untrailingslashit(get_template_directory_uri() . '/assets/assets/chatbot'); -$chatbot_routes_payload = class_exists('VF_Events') - ? VF_Events::get_chatbot_routes_payload() - : array('routes' => array()); +$chatbot_qa_data_url = $chatbot_plugin_base_url . 'assets/qa.json'; $chatbot_routes_url = class_exists('VF_Events') ? VF_Events::get_chatbot_routes_url() : rest_url('vf-events/v1/chatbot-routes'); @@ -103,7 +100,6 @@
-