scheduleatfixedrate sseemitter but the front end only get message once [duplicate]

I use scheduleatfixedrate and sseemitter, but the front end only get message once.
my backend code is like this

 var scheduledFuture =
        sseExecutor.scheduleAtFixedRate(
            () -> {
              try {
                SseEmitter.SseEventBuilder event =
                    SseEmitter.event()
                        .data("SSE MVC - " + LocalTime.now())
                        .id(String.valueOf(System.currentTimeMillis()))
                        .name("sse event - mvc");

                emitter.send(event);
                log.info("Sent SSE message at {}", LocalTime.now());
              } catch (Exception ex) {
                log.error("SSE error: {}", ex.getMessage(), ex);
                emitter.completeWithError(ex);
              }
            },
            0,
            5,
            TimeUnit.SECONDS);

and I can get the message from the curl as below

curl result

but from the browser chrome, it only get the first message after 5s, instead of keeping on push message to the browser
browser result

js code is like this

 response = await fetch(sseUrl, {
          method: 'GET',
          headers: {
            Accept: 'text/event-stream',
            'Content-Type': 'application/json',
            Authorization: `Bearer ${token}`,
            'Cache-Control': 'no-cache',
          },
          signal: abortController.signal,
        })

Debugging Mindmap Extension — Reference Duplication Issue [closed]

This project is a Chrome extension that is kind of like a project that you can edit your history tab, add nodes from there, make nodes, make searchable nodes, drag the nodes, create new pages, delete them, send them to the back, front etc, save project, load project.

  • We start by clicking the M for Mindmap Tabs:

    enter image description here

  • Once clicked this is what we get:

    enter image description here

  • However once we right click on this node we get a lot of options:

    enter image description here

To get to the main problem that I wanted to ask you about, I need to show a couple of functionalities of this extension.

  • When we right click on the node we see an option pop up that says New Project which is supposed to create new project:

    enter image description here

  • Once Clicked we get this option to name our file and this is our Custom Name:

    enter image description here

  • Once we press ok then we get this message:

    enter image description here

  • Then we get this node pretty much the same as when we started earlier:

    enter image description here

One of the first prerequisite concepts that we have to understand is that extension is supposed to be able create pages within this particular project that we created as you see here that we called 20TestParent. And Pay attention that it says 1/1 because once we press create page it is suppose to say 1/2 on the first page an 2/2 on the second.

enter image description here

  • Once we created a page it’s just blank for now:

    enter image description here

  • Now we have 2/2 because we created a page and the total there are now is 2 and we are on the second page. So second prerequisite is that this extension is suppose to add nodes and be able to make a child and parent node links.

    enter image description here

  • We have to add a new node first so we press the add node option:

    enter image description here

  • We see that the node is added & we see we are on the second page so we want to rename just for reference for right now

    enter image description here

  • We want to call this ChildLINK because we want to make a link between the nodes and it will make sense in the next couple of pictures.

    enter image description here

  • So we click Create Child Link option

    enter image description here

  • and we get this as an Alert

    enter image description here

  • Now when we press Prev page

    enter image description here

  • We get to the 1st page and also it is here that we want to click the create parent link option:

    enter image description here

  • Once we clicked create parent we can click select or double click on the node and we will appear at the child node’s location:

    enter image description here

  • Once we click the select this is what we get:

    enter image description here

  • and once we press ok we are back at the child node:

    enter image description here

  • Also when you right click on the child you can go back to the parent by pressing go to root node as in here:

    enter image description here

  • We get the dialogue box again:

    enter image description here

  • We are right where we started:

    enter image description here

This same concept is supposed to work across pages however it doesn’t work. We added a new node and press the Make Parent Option:

enter image description here

We get the dialogue box:

enter image description here

however when we create a new project completely or load an existing project from the loads:

enter image description here

and when we click the Make Child Project From Selected option:

enter image description here

It says New Node is the entry for this newly made child project however it should say the ParentNodeForProject is the entry point for this newly child project also there should be go to Parent Node For project option here too that sends you back to that node and similarly that that node from that project can send you back here to this child project and back and forth.

enter image description here

So the code is in the bottom and hopefully the problem and expected result makes sense I made two video also that explain in video style more about this problem and the other features of the extension.

  1. Debugging Mindmap Extension — Reference Duplication Issue (Official) (Summarized/Short – 10:56 min.)

  2. Debugging Mindmap Extension — Reference Duplication Issue (Full – 28:11 min.)

Issue with reply buttons to sent mail when sending with google apps scripts mail merger

So i am developing a mail merger in google apps script (javascript) for the purpose of sending mail to multiple recipients at once.
I am currently looking into how to change the reply address into a different one than the sender’s, so that when the receiver clicks on the ‘reply’ button the address i choose will appear as receiver insted of the one i am sending from.
To achieve this i am using GmailApp.sendEmail with the replyTo field set to whatever address i need.
For the purpose of this project i would need ONLY the address i chose to appear as receiver when replying to a mail, however when a mail is sent with more than a single address in the ‘to’ field of the mail, i only get a single ‘reply’ button which acts as a ‘reply all’ (includes the address i chose as reply address as well as all other addresses in the ‘to’ field except for the receiver).

For testing purposes i have tried manually changing the reply address of my mail and sending a test email with two people in the ‘to’ field, and as expected both a ‘reply’ and a ‘reply all’ button appeared. It would seem that i only get this problem when sending mail with the mail merger i developed;
The same problem also occurs when using MailApp for sending instead of GmailApp.
However putting the other addresses in CC instead makes the correct buttons appear with the correct behavior (reply button only shows the address i chose as reply-to, reply all shows all the addresses).

Is there something i’m missing here? Is there any way to fix this to make it act the way i want?
The reply-to variable i am feeding GmailApp.sendEmail only contains the address i chose, so all i can think of is that this somehow depends on something both GmailApp and MailApp are doing when sending mail.

Testcafe how to force click on the element itself without responding to click on child elements

My test page has two elements. The width and height of the child element are larger than the parent element. When I execute the following code, the child element will be automatically scrolled. Is there any way to prevent the child element from scrolling and make the click only on the parent element?

test('test_temp', async t => {
        await t.wait(1000)
        await t.click('.parent',{
            offsetX: 300,
            offsetY: 300
        })
        await t.wait(5000)
        await t.eval(() => {
            window.HTMLElement.prototype.scrollIntoView = function () {
        // 禁用所有元素的滚动
    };
});
        await t.click('.parent',{
            offsetX: 20,
            offsetY: 20
        })
    })
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>testChild</title>
</head>
<body>
    <style>
        .parent {
            position: relative;
            width: 200px;
            height: 200px;
            overflow: auto;
            border: 2px solid black;
            z-index: 3;
            /* background: blueviolet; */
        }

        .child {
            content: "";
            position: absolute;
            top: 0; left: 0; right: 0; bottom: 0;
            width: 1000px;
            height: 1000px;
            background: linear-gradient(#0602f5, #01ff40, #f50222,#f1f502);
        }
</style>

<div class="parent">
    <div class="child">
    </div>
</div>

<script>
    const parent = document.querySelector('.parent');
    parent.addEventListener('click', function (e) {
        console.log(e, e.target, e.currentTarget);

    });
       const child = document.querySelector('.child');
       child.addEventListener('click', function (e) {
        console.log(e, e.target, e.currentTarget);
        e.stopPropagation(); 
       })
</script>

    
</body>
</html>

JavaScript Regex to capture multiple occurrences of a pattern

I am trying to parse a string like this:

something[one][two]

into ['something', 'one', 'two]`. There may be zero or more expressions in square brackets.

The closest I have got to is:

^(.*?)(?:(?:[(.*?)])(?![))*$

That separates out the first part, and survives not having anything in square brackets. However, I can’t find a way of separating the two expressions in square brackets: ['something', 'one][two'].

I thought that:

  • the lazy match (.*?)]) would stop on the next closing bracket, but it seems to go on.
  • the negative lookahead ((?![)) would stop the expression going on to the next square brackets.

What do I need to pick up the mutliple square bracket expressions?

I’m doing this in JavaScript, though I think the regex would be very similar for PHP or Perl.

The question at Regular expression to extract text between square brackets doesn’t capture the parts not in square brackets.

Note:

  • When the time comes, I really want to parse the string:

    something#thing.stuff[one][two]
    

    so I’ll need more than just picking out the square brackets. I’ve got most of the first part working, and it’s not a problem. However, I’ve narrowed down the problem to the multiple square brackets, which is the question here.

  • I think the question would apply to any repeated pattern after the initial part, so it’s really a question of how to pick up a repeated pattern.

JavaScript Regex to capture multiple occurances of a pattern

I am trying to parse a string like this:

something[one][two]

into ['something', 'one', 'two]`. There may be zero or more expressions in square brackets.

The closest I have got to is:

^(.*?)(?:(?:[(.*?)])(?![))*$

That separates out the first part, and survives not having anything in square brackets. However, I can’t find a way of separating the two expressions in square brackets: ['something', 'one][two'].

I thought that:

  • the lazy match (.*?)]) would stop on the next closing bracket, but it seems to go on.
  • the negative lookahead ((?![)) would stop the expression going on to the next square brackets.

What do I need to pick up the mutliple square bracket expressions?

I’m doing this in JavaScript, though I think the regex would be very similar for PHP or Perl.

Project wont push on github [closed]

I tried making a repository then when i did my initial commit there is an error(photo1) Photo1

I finished my project and I tried making a repository then when i did my initial commit there is an error(photo1) Photo1 and I cant run npm run dev anymore and it looks like this(photo2) Photo2. I am using laravel 12, Inertia, Tailwind, and vue js.

Javascript – Returning value (string array) from async function

I was able to download the dropbox jason file and parse it into and array inside the async function shown below. However when I try to use it outside the async function it is either returned as undefined or a promise. Below are more detials.

Load file from dropbox and parse the array. Works fine within this async function.

enter image description here

Results : within function (listed as local) the array works fine, outside function (listed as global), a promise is returned and the array is undefined or returned as a promise. Any assistance with using this array outside of the async function would be greatly appreciated.

enter image description here

I was expecting to return the array from the async function that uploads the array and parses it in a useable javascript array. As you can see from the results it works fine within the async function, however I need to access the array outside of the async function.

react-native-dropdown-select-list extremely slow with a .map after

I have two sections, the first allows you to select a product, and the second displays all the treatments using that products.

using: react-native-dropdown-select-list

Section 1:
has a SelectList with about 10 items in it

Section 2:
treatments.map()

When tapping the SelectList, it opens up to show the list, but dreadfully slow (about 10 frames a sec). If I remove the section 2, it works just fine. If I move section 2 to be above section 1, it works just fine.

Any idea how to fix this? It seems like an animation issue? Minimal Code below. This still causes the error

    const testProducts = [
        {
          _id: "1",
          name: "Product 1",
          price: 100,
        },
        {
          _id: "2",
          name: "Product 2",
          price: 200,
        }, 
        {
          _id: "3",
          name: "Product 3",
          price: 300,
        },
      ]
    
    const testTreatments = [
      {
        _id: "1",
        product: {
          _id: "1",
          name: "Product 1",
          price: 100,
        },
        date: "2023-01-01",
        dosage: 1,
      },
      {
        _id: "2",
        product: {
          _id: "2",
          name: "Product 2",
          price: 200,
        },
        date: "2023-01-02",
        dosage: 2,
      },
      {
        _id: "3",
        product: {
          _id: "3",
          name: "Product 3",
          price: 300,
        },
        date: "2023-01-03",
        dosage: 3,
      },
    ]

    <SelectList
      save="key"
      data={products.map((product) => {
        return product.name;
      })}
      setSelected={()=>{}}
      placeholder={"select product"}
    />
    
    
    
    <View>
      {testTreatments
        .sort((a, b) => {
          return a.date > b.date ? 1 : -1;
        })
        .map((treatment, index) => {
      return (
        <View key={index} style={styles.treatmentContainer}>
          <Text style={styles.subheading}>
            {treatment.product.name}
          </Text>
          <Text>{moment(treatment.date).format("MM/DD/YYYY")}</Text>
          <Text>{treatment.product.price * treatment.dosage}</Text>
        </View>
      );
    })}
    </View>

Next.js – delay issues with onclick using data from useEffect

I’ve making a small flight tracker system, and I’m encountering an issue. Here’s the code for a “Choose your flight” page:

"use client"

interface MyPageProps {
  searchParams: Promise<FlightSearchPanelData>;
}

export default function SelectFlight( {searchParams} : MyPageProps ) {
  const params = React.use(searchParams);
  const router = useRouter();
  const [flightData, setFlightData] = useState<ResultingFlightDetail[]>([]);
  const [loading, setLoading] = useState(true);
  const [error, setError] = useState<string | null>(null);
  const [selectedFlightData, setSelectedFlightData] = useState<ResultingFlightDetail>();  
  const isUsingFlightNumber = params.isUsingFlightNumber || "false";
  const flightFrom = params.flightFrom || "";
  const flightTo = params.flightTo || "";
  const flightNumber = params.flightNumber || "";
  const flightDate = params.flightDate || "";

  useEffect(() => {
    const fetchFlightData = async () => {
      try {
        setLoading(true);
        const params = await searchParams;        
        const url = new URL(`${BASE_API_URL}/api/flightsByFromTo`);
        url.searchParams.append('flightNumber', flightNumber);
        url.searchParams.append('flightFrom', flightFrom);
        url.searchParams.append('flightTo', flightTo);
        url.searchParams.append('flightDate', flightDate);

        const response = await fetch(url);
        
        if (!response.ok) {
          throw new Error(`HTTP error! status: ${response.status}`);
        }

        const result = await response.json();
        setFlightData(result);
      } catch (err) {
        setError(err instanceof Error ? err.message : 'An error occurred');
        console.log("error", err);
      } finally {
        setLoading(false);
      }
    };

    fetchFlightData();
  }, []);

  const handleClick = (event: React.MouseEvent) => {
    if (flightData.length > 0 && !loading) {
      const clickedId = parseInt(event.currentTarget.id);
      setSelectedFlightData(flightData[clickedId]);
      sessionStorage.setItem('individualFlightData', JSON.stringify(selectedFlightData));
      //router.push(`/flight/passenger_info`);
    }
  }
  
  if (error) {
    return (
      <div className="grid min-h-50 grid-cols-20 flex">
        <div className="col-start-2 col-span-18 flex flex-col mt-15 -mx-8 z-2">
          <div className="flex justify-center">
            Error: {error}
          </div>
        </div>
        <div className="fixed bottom-0 left-0 w-full">
          <FooterPanelWithBg />
        </div>
      </div>
    );
  }

  return (
    <div className="grid min-h-screen grid-cols-20 flex">
      <div className="flex flex-col col-start-2 col-span-18 mt-15">
        <div className="mx-60">
          {loading ? 
            <div className="flex justify-center">
              <div className="animate-spin rounded-full h-12 w-12 border-b-2 border-gray-900" />
            </div>
            :
            <div className="space-y-10">
            {flightData.map((data: ResultingFlightDetail, idx: number) => {
              return (
                <div 
                  id={idx.toString()} 
                  key={idx} 
                  className={
                    selectedFlightData?.id === (idx + 1).toString() ? 
                    "w-full h-26 p-4 rounded-md shadow-md flight-details-card-selected" :
                    "w-full h-26 p-4 rounded-md shadow-md flight-details-card"
                  }
                  onClick={handleClick}>
                  <div className="col-start-2 flex justify-end">
                    <div>
                      <div className="flight-details-flight-num flex justify-end">
                        {data.airlineCode || "XX"} {data.flightNum || "000"}
                      </div>
                      <div className="flight-details-flight-time">
                        {formatTimeToLongString(data.departureDateTime)} - {formatTimeToLongString(data.arrivalDateTime)}
                      </div>
                    </div>
                  </div>
                </div>
              )
            })}
            </div>
          }
        </div>
      </div>
    </div>
  );
}

While this seemingly fetches and displays the data, I have an issue with the OnClick function of the resulting divs.

The first issue is that by the first click, the array flightData is empty (and logging it confirms that), so selectedFlightData ends up being undefined. I have to click again to actually see the flightData populated and to properly set a selectedFlightData.

The second issue is that clicking on a div retains the last ID. So, for example, I click on the first item, it returns an undefined, I click on it again, it grabs the index of the first object. If I change my mind and select, say, the second item, the selectedFlightData doesn’t change – it’s still the first item. I have to click the second item AGAIN to get it to be selected.

I’m not sure what I’m doing wrong here. Any help would be much appreciated.

JavaScript Time Problems [duplicate]

A bit new to JavaScript and was doing a time clock. It works however I obviously have a problem with the time zone not working and midnight shows up as 00:xx:xx. Any help would be great.

// Time Clock
function startTime() {
  const today = new Date();
  let targetTimeZone = 'America/Los_Angeles';
  let h = today.getHours();
  let m = today.getMinutes();
  let s = today.getSeconds();
  m = checkTime(m);
  s = checkTime(s);
  am_pm = "AM";

  // Setting time for 12 Hrs format
  if (h >= 12) {
    if (h > 12) h -= 12;
    am_pm = "PM";
  } else if (h == 0) {
    hr = 12;
    am_pm = "AM";
  }

  // Add Leading Zero's
  h = h < 10 ? "0" + h : h;
  m = m < 10 ? "0" + m : m;
  s = s < 10 ? "0" + s : s;

  // Parse Time to Format
  document.getElementById('fleet_time').innerHTML = h + ":" + m + ":" + s + " " + am_pm + " PDT";
  setTimeout(startTime, 1000);
}

function checkTime(i) {
  return i;
}

startTime();
<div id="fleet_time"></div>

Can anyone explain to make it to me?

Can anyone explain to make it to me? I don’t know how to do this

tentei só que não consegui nem iniciar esse projeto se alguém puder me ajudar eu ficaria muito grato áaaassaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatentei só que não consegui nem iniciar esse projeto se alguém puder me ajudar eu ficaria muito grato áaaassaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatentei só que não consegui nem iniciar esse projeto se alguém puder me ajudar eu ficaria muito grato áaaassaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatentei só que não consegui nem iniciar esse projeto se alguém puder me ajudar eu ficaria muito grato áaaassaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatentei só que não consegui nem iniciar esse projeto se alguém puder me ajudar eu ficaria muito grato áaaassaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatentei só que não consegui nem iniciar esse projeto se alguém puder me ajudar eu ficaria muito grato áaaassaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatentei só que não consegui nem iniciar esse projeto se alguém puder me ajudar eu ficaria muito grato áaaassaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatentei só que não consegui nem iniciar esse projeto se alguém puder me ajudar eu ficaria muito grato áaaassaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatentei só que não consegui nem iniciar esse projeto se alguém puder me ajudar eu ficaria muito grato áaaassaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatentei só que não consegui nem iniciar esse projeto se alguém puder me ajudar eu ficaria muito grato áaaassaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatentei só que não consegui nem iniciar esse projeto se alguém puder me ajudar eu ficaria muito grato áaaassaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

404 Automatic Requests in Supabase

I am developing an NextJS app with supabase, I use Google OAuth and realtime database. I’m having a problem in my app that do requests that I don’t want to. It was over 2000 requests, all them are 404.

log

log2

logs supabase

I was developing normally and then that happened, I tried looking in the documentation and following the examples but didn’t work, I tried to delete .next folder but nothing didn’t either. I only works when I built the whole app, in dev mode it doesn’t work.

Want to increase vertical scroll speed so it directly stop on next div (Open of other suggestion)

Slow, gradual vertical scrolling: Current scroll updates pixel-by-pixel and does not jump or snap directly to each full viewport section.

Scroll stuck on hover: preventDefault() is called on all wheel events inside the container, blocking native scroll behavior on child elements and causing scroll freeze.

Missing scroll snapping: CSS scroll snap properties are not used, so the browser does not automatically align scroll positions to section boundaries.

No snap logic in JavaScript: The wheel handler increases scrollTop incrementally without rounding or jumping to exact section start positions.

Potential ref or event listener issues: Without proper container height, overflow, or ref attachment, wheel events may not trigger as expected.

   <StickyContainer>
        <TextContainer  ref={containerRef}>
          <TextBlock>
            <h1>Get Comprehensive Subject-Wise CSVTU Notes Instantly </h1>
          </TextBlock>

          <TextBlock>
            <h1> Prepare Better with Quality Material</h1>
            <p>CSVTU Study Hub</p>
          </TextBlock>

          <TextBlock>
            <h1>Smarter Learning, Better Scores </h1>
            <p> Designed for CSVTU Students</p>
          </TextBlock>
        </TextContainer>

        <StickyImage src={girlImage} alt="Sticky" />
      </StickyContainer>


  const containerRef = useRef(null);

 useEffect(() => {
  const container = containerRef.current;

  const onWheel = (evt) => {
    console.log("ahrsh")
    // Trigger only if event target is container or any of its descendants
    if (container.contains(evt.target)) {
      evt.preventDefault();
      container.scrollTop += evt.deltaY * 10; // increase vertical scroll speed
      console.log("harsh");
    }
  };

  container.addEventListener("wheel", onWheel, { passive: false });

  return () => {
    container.removeEventListener("wheel", onWheel);
  };
}, []);





const StickyContainer = styled.div`
  position: relative;
  height: 330vh;
  display: flex;
  align-items: flex-start; /* important for sticky to work */
  justify-content: space-around;
  border: 3px solid #97c52c;
  scroll-snap-align: start;
  scroll-behavior: smooth;
`;

const TextContainer = styled.div`
  scroll-behavior: smooth;
  width: 45vw;
  
`;

const TextBlock = styled.div`
  color: white;
  height: 100vh;
  box-sizing: border-box;
  margin-bottom: 60px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  padding: 20px;
  gap: 20px;

 animation: appear linear;
 animation-timeline: view();
 animation-range: entry 0% cover 40%;
`;

const StickyImage = styled.img`
  position: sticky;
  top: 40px;
  height: 700px;
  align-self: flex-start;
  object-fit: contain;
`;


Fast, precise vertical scrolling that jumps or snaps directly to the next full viewport section on each scroll input, improving navigation and user experience.

No scroll freeze or stuck behavior when hovering or scrolling inside the container or its child elements, ensuring smooth and uninterrupted scrolling.

CSS scroll snap enabled so the browser automatically aligns scroll positions to exact section boundaries, providing natural section-by-section scroll.

Robust wheel event handling that only hijacks scroll when appropriate and respects native behavior on child elements, avoiding event conflicts.

Reliable event listener attachment with properly configured scrollable container (fixed height, overflow-y set) so wheel events always trigger as expected.

How to render vue components as AgGrid icons?

I have the following AgGrid configuration in my VueJS project:

<template>
    <div>
      <AgGridVue
        class="ag-grid-theme"
        :rowData="rowData"
        :columnDefs="colDefs"
        :icons="icons"
        style="width: 100%; height: 500px"
      />
    </div>
</template>

<script setup>
  import { h } from 'vue'
  import {
    XIcon
  } from 'lucide-vue-next'
  import { AgGridVue } from 'ag-grid-vue3'
  import {
    AllCommunityModule,
    ModuleRegistry
  } from 'ag-grid-community'
  ModuleRegistry.registerModules([AllCommunityModule])

  const icons = {
    filter: () => h(XIcon)
  }

  const colDefs = [
    {
      field: 'symbol'
    },
    {
      field: 'currency'
    },
    {
      field: 'quantity'
    }
  ]

  const rowData = [
    { symbol: 'AAPL', currency: 'USD', quantity: 10 },
    { symbol: 'GOOGL', currency: 'USD', quantity: 5 },
    { symbol: 'AMZN', currency: 'USD', quantity: 2 }
  ]
</script>

I’m trying to add a custom filter icon by injecting the XIcon component as a custom icon, as shown in the icon object, but it’s not working.

How would I go about rendering a Vue component as a custom icon?