Put companies on watchlist
u-blox AG
ISIN: CH0033361673
WKN: A0M2K9
Curious about what AI knows about u-blox Holding? Just one click more
More AI Integrations
About
Company Snapshot
New: Enable Investor Alerts
Be informed about new publications
New: AI Factsheet

Corporate News meets AI! 
Content analysis and summary

u-blox AG · ISIN: CH0033361673 · EQS - adhoc news (141 News)
Country: Switzerland · Primary market: Switzerland · EQS NID: 1851941
06 March 2024 07:00AM

u-blox reports resilient results in 2023


u-blox AG / Key word(s): Annual Results
u-blox reports resilient results in 2023

06-March-2024 / 07:00 CET/CEST
Release of an ad hoc announcement pursuant to Art. 53 LR
The issuer is solely responsible for the content of this announcement.


  • Revenue of CHF 576.9 million

  • EBIT (adjusted) of CHF 69.7 million, EBITDA (adjusted) of CHF 112.4 million

  • Free cash flow of CHF 10.9 million

  • Well on track with strategy execution announced at the CMD in November 2023

  • Growth expected to pick up of after reaching the lowest point in Q1 2024

 

Thalwil, Switzerland – 6 March 2024 – u-blox (SIX: UBXN), a global provider of leading positioning and wireless communication technologies and services, announced today its financial results for the full year 2023.

 

u-blox achieved resilient results in 2023 performing better than the overall semiconductor market. After a record year in 2022, we reported strong results in the first half of the year, while in the second half revenue declined. All in all, in 2023, revenue reached CHF 576.9 million, adjusted EBIT stood at CHF 69.7 million, and free cash flow reached CHF 10.9 million.

 

During the year, we refined our strategy. At the Capital Markets Day held in November 2023, we announced changes, such as the increased focus on our positioning business and the discontinuation of the development of our own cellular chips. We also announced a new Target Financial Model.

 

As we enter 2024, we remain focused on what we do best: innovate. Our teams use the post-semiconductor supply crisis momentum with customers to win next generation business with our leading edge innovations in positioning and connectivity, following our mission to lead the world to reliably locate and connect every thing.

 

Stephan Zizala, u-blox’s Chief Executive Officer, commented, “2023 was marked by very different realities. While we had good growth in the first half, revenue declined in the second half despite a significant inventory build-up by our customers.

 

In 2024, we see a continuation of the weak business situation. We expect the first quarter to be the lowest point, with the following periods showing a gradual sequential improvement. During this low point in the cycle, we are making important changes in the organization, as announced at our last CMD. Our motivated teams have all hands on deck to create the basis for the u-blox of tomorrow.

 

Our team is familiar with the semiconductor industry cycles, and we will manage the situation as we have done many times. We have it in our hands to shape u-blox’s long-term success thanks to our strong structural growth drivers in automotive and industrial target applications. We are winning critical new projects with leading customers. The large design wins for automated driving and an innovative approach for satellite IoT connectivity are testimony to these future development prospects.”

 

2023 operational highlights

Automotive

  • Record design wins with major automotive OEMs are expected to generate over USD 100 million in revenue over the lifetime of these contracts from 2026. These project wins underscore u-blox’s technology leadership in positioning solutions for highly automated driving and provide a glimpse of the significant opportunities that lie ahead for u-blox.
  • JODY-W5 is u-blox’s newest dual-band Wi-Fi 6 and dual-mode Bluetooth® 5.3 module. This automotive-grade module in a compact form factor enables multiple wireless network connections in the car as well as delivering enhanced car audio functionalities.

 

Industrial

  • Our new cellular and satellite IoT module opens opportunities in a new and fast-growing market as it offers ubiquitous, cost-effective connectivity – via cellular networks or satellites – combined with positioning capabilities. The module’s communication and positioning capability enables global IoT coverage essential for asset tracking, fleet management, maritime transportation, and smart agriculture applications.
  • We also launched NEO-F9P and ZED-F9P-15B: Those enable the digital industrial factory floor. The low-power, small-sized NEO-F9P module supports precise navigation and automation of moving industrial machinery. Our ZED-F9P-15B module provides customers in the mobile robotics market with enhanced robustness.

 

Financial Overview

In 2023, u-blox generated revenues of CHF 576.9 million, EBIT (adjusted) of CHF 69.7 million and net profit (adjusted) of CHF 51.1 million. Revenue declined in most regions and markets, reflecting overstocking from our customers. Foreign currency exchange rates negatively affected -4.8% on revenue, mainly from the strengthening of the Swiss Franc versus the Euro and the US Dollar.

 

Revenues by region

  • APAC: Revenue in 2023 grew by 11.1% to CHF 272.3 million from CHF 245.0 million in the same period last year, mainly driven by significant demand from a healthcare customer.
  • EMEA: In 2023, revenue amounted to CHF 173.3 million, down from CHF 176.0 million one year earlier (-1.5%). A certain decline in the Industrial segment was compensated by growth in Automotive.
  • AMEC: Revenue in 2023 reached CHF 131.3 million compared to CHF 202.9 million in 2022 (-35.3%). The negative performance was driven mainly by the industrial segment, which includes Healthcare, as a combination of overstocking and demand reduction.

Revenues by market

  • Automotive: 2023 revenue decreased by -4.7% to CHF 169.2 million from CHF 177.5 million in 2022, mainly driven by a slowdown in demand in North America and Japan.
  • Industrial: 2023 revenue decreased to CHF 385.8 million from CHF 392.4 million in 2022 (-1.7%). The significant demand from a healthcare customer was partially compensated by overstocking and demand reduction in North America.
  • Consumer / Others: 2023 revenue amounted to CHF 21.9 million after CHF 53.9 million in 2022 (-59.4%), primarily due to the decline in consumer demand since mid-2022.

 

Gross Profit

Gross profit (adjusted) reached CHF 254.3 million in 2023 from CHF 307.2 million in 2022. The respective gross profit margin (adjusted) reached 44.1% in 2023 from 49.2% one year earlier. The good performance of Cellular, with revenue growth and gross margin expansion, generated a negative mix effect, which explains most of the decline of the gross margin at the Group level.

 

Research and Development expenses

R&D expenses (adjusted) grew by 10.5% in 2023 to CHF 117.4 million, compared to CHF 106.3 million in 2022. As a percentage of revenue, it increased to 20.4% in 2023 from 17.0% in 2022.

 

Cash R&D expenses (excluding amortization and adding back capitalization) grew less, +4.3% to
CHF 129.1 million in 2023, from CHF 123.8 million in 2022. As a percentage of revenue, it increased to 22.4% in 2023 from 19.8% in 2022, mainly due to the lower revenue and hired R&D staff in H1 2023.

 

Sales, General, and Administration expenses adjusted (SG&A)

SG&A expenses (adjusted) declined by 3.5% to CHF 67.2 million in 2023 (CHF 69.6 million in 2022) due to lower sales bonus payments and cost discipline in the period. As a percentage of revenues, SG&A (adjusted) reached 11.6% in 2023, from 11.2% in the prior year.

 

Operating Profit (EBIT)

EBIT (adjusted) reached CHF 69.7 million in 2023, lower than in 2022 (CHF 131.3 million). Accordingly, the adjusted EBIT margin decreased to 12.1% in 2023 compared to 21.0% in 2022.

 

Adjusted operating profit before depreciation and amortization (EBITDA adjusted) amounted to CHF 112.4 million (2022: 169.9 million), a decline of 33.8% in 2023. The respective EBITDA margin (adjusted) reached 19.5% in 2023, from 27.2% in 2022.

 

Financial Results

Net finance results (adjusted) in 2023 amounted to CHF -8.7 million from CHF -1.5 million in 2022. Excluding FX effects, net finance costs (adjusted) in 2023 were practically nil.

 

FX results of CHF -9.0 million in 2023 (realized: CHF +3.2 million; unrealized: CHF -12.2 million) compared to nil in the same period last year (realized: CHF +4.2 million; unrealized: CHF -4.2 million).

 

Net Profit

Net profit (adjusted) decreased to CHF 51.1 million compared to CHF 109.0 million in the prior year period. Diluted EPS (adjusted) in 2023 amounted to CHF 7.01 per share compared to CHF 15.36 in 2022.

 

Cash Flow

Changes in net working capital was CHF -45.9 million in 2023 vs. CHF -58.2 million in 2022. In the second half of the year measures for improving net working capital started to show results, with a cash release of CHF 21.1 million, driven by lower receivables and inventory levels.

 

Income tax paid was CHF -6.0 million in 2023, from CHF +4.9 million received in 2022. Capex, in absolute terms, was CHF 48.3 million in 2023 compared to CHF 51.2 million in 2022. As a percentage of revenue, Capex was slightly higher in 2023 (8.4%) versus 8.2% in 2022.

 

As a result, free cash flow reached CHF 10.9 million in 2023 compared to CHF 66.2 million in the prior year.

 

Balance Sheet and Financing

In 2023, u-blox recognized CHF 65.4 million impairment losses on intangible assets. The impairment was due to the decision to discontinue the future cellular chipset development. The impairment charge in 2023 was recognized in ‘Research and development expenses’ and relates to intangible assets in ‘Intellectual property rights / acquired technology’ and ‘Capitalized development costs’.

 

After a dividend payment of CHF 14.2 million, u-blox’s net cash position on 31 December 2023 stood at CHF 86.2 million versus CHF 77.8 million on 31 December 2022.

 

Early in 2024, u-blox strengthened its financing and secured liquidity for the near future by signing a new CHF 140 million credit facility with a three to five-year duration from a syndicate of banks led by Zürcher Kantonalbank.

 

Based on u-blox’s solid net cash position, the Board of Directors will propose at the Annual General Meeting the payment of a dividend in the form of a par value reduction in the amount of CHF 1.00 per share in 2024.

 

Changes in the Board of Directors

Thomas Seiler, a member of the Board of Directors since u-blox’s IPO in 2007, has decided not to stand for re-election at the upcoming General Meeting. We are deeply grateful for Thomas’ long-standing, unwavering dedication and strategic leadership and wish him all the best in his future endeavors.

 

As previously announced, u-blox intends to propose Fabian Rauch, co-founder and managing partner of Spectrum Entrepreneurial Ownership (SEO), for election to the Board of Directors at the next General Meeting.

 

Outlook for 2024

After a strong performance in 2022 and 2023, 2024 is expected to be a transition year for u-blox. Due to agreements made with customers during the semiconductor supply crisis, we could deliver products above the demand from our customers, generating an overstocking situation. As we start into 2024, orders remain at a low level. We expect order levels to grow in the second quarter of 2024 and accelerate in the year’s second half.

 

Given our strong operational leverage, lower revenue results in lower profit margins. We stay on track with strategy execution, but to mitigate these effects, we have a cost reduction program in place targeting double-digit million CHF savings in 2024 which includes a broad hiring freeze as well as further OPEX optimization.

 

u-blox remains positive on its long-term development prospects. Demand and requirements for semiconductor solutions for automated and autonomous driving, asset tracking, healthcare offerings, and industrial automation will grow significantly. As confirmed by our design wins, u-blox is well on track to profitably grow with its positioning and wireless connectivity semiconductor solutions and services business.

 

Guidance for Q1 2024

u-blox expects very low revenue of CHF 50-60 million in Q1 2024, mainly due to high inventory levels at customers, which was accentuated by contractual deliveries in the fourth quarter of 2023.

 

Due to lower operational leverage, EBIT margin (adjusted) is expected to reach -40% to -30%.

 

 

Key figures

(CHF million)

2023

2022

%

% in constant
FX rates

Revenue

 576.9

 623.9

-7.5%

-2.7%

EBITDA (adjusted)

 112.4

 169.9

-33.8%

 

EBITDA margin (adjusted)

 19.5%

 27.2%

-7.8%

 

EBIT (adjusted)

 69.7

 131.3

-46.9%

 

EBIT margin (adjusted)

 12.1%

 21.0%

-9.0%

 

Free Cash Flow

 10.9

 66.2

-83.6%

 

 

For the complete consolidated financial statements and definitions of alternative performance indicators, please refer to our Annual Report 2023.

 

 

Conference call and webcast details

For details on the 2023 results webcast, please click here.

 

<div>  <p><span><span><span style="font-weight: bold;">For further information, please contact:</span></span></span></p> <p> </p> <table cellspacing="0" cellpadding="0" border="0"><tbody><tr><td> <p><span><span><span><span style="font-weight: bold;">Investor Relations</span></span></span></span></p> <p><span><span>Rafael Duarte</span></span></p> <p><span><span>Phone: +41 79 966 89 12</span></span></p> <p><span><span><a href="mailto:rafael.duarte@u-blox.com" style="text-decoration: underline;"><span style="text-decoration: underline;">rafael.duarte@u-blox.com</span></a></span></span></p> </td> <td> <p><span><span><span style="font-weight: bold;">Media </span></span></span></p> <p><span><span>Natacha Seitz</span></span></p> <p><span><span>Phone: +41 76 436 07 88</span></span></p> <p><span><span><a href="mailto:natacha.seitz@u-blox.com" style="text-decoration: underline;"><span style="text-decoration: underline;">natacha.seitz@u-blox.com</span></a></span></span></p> </td> <td> <p><span><span><span style="font-weight: bold;">Sustainability</span></span></span></p> <p><span><span>Gitte Jensen</span></span></p> <p><span><span>Phone: +41 44 722 74 86</span></span></p> <p><span><span><a href="mailto:gitte.jensen@u-blox.com" style="text-decoration: underline;"><span style="text-decoration: underline;">gitte.jensen@u-blox.com</span></a></span></span></p> </td> </tr></tbody></table><p> </p> <p> </p> </div> </div><div id="13e3d4da-ab0b-4087-b656-b02eae405445" markup="footer"><p><span><span><span style="font-weight: bold;">About u-blox</span><span style="font-weight: bold;"> </span></span></span></p> <p><span>u‑blox (SIX:UBXN) provides semiconductor chips, modules, and IoT services that reliably locate and connect every thing. Our cutting-edge solutions drive innovation for the car of the future and the Internet of Things. Headquartered in Thalwil (Zurich), Switzerland, we have a presence of 1,400 experts who enable our customers to build solutions for a precise, smart, and sustainable future. </span></p> <p><span><span>(<a href="https://eqs-cockpit.com/cgi-bin/fncls.ssp?fn=redirect&url=e487e27080327aab984f463bbbe4b6cd&application_id=1851941&site_id=boersengefluester~~~ace3d64b-2049-452a-8d18-fbc8044c4b5f&application_name=news" target="_blank" style="text-decoration: underline;"><span style="text-decoration: underline;">www.u-blox.com</span></a>)  </span></span></p> <p><span><span> </span></span></p> <p><span><span>Join us on social media – </span><a href="https://eqs-cockpit.com/cgi-bin/fncls.ssp?fn=redirect&url=99a4054bbe8b8f79fe108c7fb69c46c3&application_id=1851941&site_id=boersengefluester~~~ace3d64b-2049-452a-8d18-fbc8044c4b5f&application_name=news" style="text-decoration: underline;"><span style="text-decoration: underline;">X</span></a><span>,</span> <a href="https://eqs-cockpit.com/cgi-bin/fncls.ssp?fn=redirect&url=99a4054bbe8b8f79fe108c7fb69c46c3&application_id=1851941&site_id=boersengefluester~~~ace3d64b-2049-452a-8d18-fbc8044c4b5f&application_name=news" style="text-decoration: underline;"><span style="text-decoration: underline;">Facebook</span></a><span>,</span> <span><a href="https://eqs-cockpit.com/cgi-bin/fncls.ssp?fn=redirect&url=60b9c5e734211f8da674a8446391f2e3&application_id=1851941&site_id=boersengefluester~~~ace3d64b-2049-452a-8d18-fbc8044c4b5f&application_name=news" style="text-decoration: underline;">YouTube</a></span><span>, </span><a href="https://eqs-cockpit.com/cgi-bin/fncls.ssp?fn=redirect&url=c5371f4ad8d82f61c776d77f48ce07b0&application_id=1851941&site_id=boersengefluester~~~ace3d64b-2049-452a-8d18-fbc8044c4b5f&application_name=news" style="text-decoration: underline;">LinkedIn</a><span>, and </span><a href="https://eqs-cockpit.com/cgi-bin/fncls.ssp?fn=redirect&url=8b8a0f3818bd836533ff733b56e74e97&application_id=1851941&site_id=boersengefluester~~~ace3d64b-2049-452a-8d18-fbc8044c4b5f&application_name=news" style="text-decoration: underline;">Instagram</a>.<span> </span></span></p> </div><div id="1a3f9313-378b-4638-a8f3-eed3f8ab8329" markup="disclaimer"><p><span><span><span style="font-weight: bold;"><span>Disclaimer</span></span></span></span><br/><span><span>This release contains certain forward‑looking statements. Such forward‑looking statements reflect the current views of management and are subject to known and unknown risks, uncertainties and other factors that may cause actual results, performance or achievements of the u‑blox Group to differ materially from those expressed or implied. These include risks related to the success of and demand for the Group’s products, the potential for the Group’s products to become obsolete, the Group’s ability to defend its intellectual property, the Group’s ability to develop and commercialize new products in a timely manner, the dynamic and competitive environment in which the Group operates, the regulatory environment, changes in currency exchange rates, the Group’s ability to generate revenues and profitability, and the Group’s ability to realize its expansion projects in a timely manner. Should one or more of these risks or uncertainties materialize, or should underlying assumptions prove incorrect, actual results may vary materially from those described in this report. u‑blox is providing the information in this release as of this date and does not undertake any obligation to update any forward‑looking statements contained in it as a result of new information, future events or otherwise.</span></span></p> <p> </p> <p><span><a href="{{UNSUBSCRIBE_LINK}}" target="_blank" style="text-decoration: underline;">Unsubscribe</a></span></p> <p> </p> </div></div> <br/><hr/>End of Inside Information<hr/></td> </tr></table><table cellpadding="0" cellspacing="0"><tr><td align="left" valign="top" nowrap="nowrap">Language:</td> <td align="left" valign="top">English</td> </tr><tr><td align="left" valign="top" nowrap="nowrap">Company:</td> <td align="left" valign="top">u-blox AG</td> </tr><tr><td align="left" valign="top"/> <td align="left" valign="top">Zürcherstrasse 68</td> </tr><tr><td align="left" valign="top"/> <td align="left" valign="top">8800 Thalwil</td> </tr><tr><td align="left" valign="top"/> <td align="left" valign="top">Switzerland</td> </tr><tr><td align="left" valign="top" nowrap="nowrap">Phone:</td> <td align="left" valign="top">+41 44 722 74 44</td> </tr><tr><td align="left" valign="top" nowrap="nowrap">Fax:</td> <td align="left" valign="top">+41 44 722 74 47</td> </tr><tr><td align="left" valign="top" nowrap="nowrap">E-mail:</td> <td align="left" valign="top">ir@u-blox.com</td> </tr><tr><td align="left" valign="top" nowrap="nowrap">Internet:</td> <td align="left" valign="top">www.u-blox.com</td> </tr><tr><td align="left" valign="top" nowrap="nowrap">ISIN:</td> <td align="left" valign="top">CH0033361673</td> </tr><tr><td align="left" valign="top">Listed:</td> <td align="left" valign="top">SIX Swiss Exchange</td> </tr><tr><td align="left" valign="top" nowrap="nowrap">EQS News ID:</td> <td align="left" valign="top">1851941</td> </tr></table><br/><table border="0" cellpadding="0" cellspacing="0"><tr><td align="left" valign="top" colspan="2"/> </tr></table><table border="0" cellpadding="0" cellspacing="0"><tr><td align="left" valign="top" colspan="2"> </td> </tr><tr><td align="left" valign="top">End of Announcement</td> <td align="left" valign="top">EQS News Service</td> </tr></table><table border="0" width="600" cellpadding="0" cellspacing="0"><tr><td> <hr/></td> </tr></table><p> 1851941  06-March-2024 CET/CEST </p> <img src="https://eqs-cockpit.com/cgi-bin/fncls.ssp?fn=show_t_gif&application_id=1851941&application_name=news&site_id=boersengefluester~~~ace3d64b-2049-452a-8d18-fbc8044c4b5f" alt="fncls.ssp?fn=show_t_gif&application_id=1851941&application_name=news&site_id=boersengefluester~~~ace3d64b-2049-452a-8d18-fbc8044c4b5f" width="0" height="0" border="0"/> </div> <div class="mt-4"> <div class="fw-bold"> Visual performance / price development - u-blox AG </div> <div style="height: 400px;" > <div class="position-relative h-100 w-100"> <div class="tradingview-widget-container"> <div class="tradingview-widget-container__widget"></div> <script type="text/javascript" src="https://s3.tradingview.com/external-embedding/embed-widget-mini-symbol-overview.js" async>{"symbol":"SIX:UBXN","width":"100%","height":"100%","locale":"en","dateRange":"ALL","colorTheme":"dark","trendLineColor":"rgba(41, 98, 255, 1)","underLineColor":"rgba(41, 98, 255, 0.3)","underLineBottomColor":"rgba(41, 98, 255, 0)","isTransparent":true,"autosize":true,"largeChartUrl":"https:\/\/ayondo.com\/en\/technical-analysis\/advanced\/CH0033361673"}</script> </div> <div class="position-absolute w-100 h-100" style="top: 0px; left: 0px; z-index: 2;"></div> </div> <div class="tradingview-widget-copyright"> <a href="https://www.tradingview.com/chart/?symbol={chart_tv_ta_mapping}"> <p><a href="https://www.tradingview.com/chart/?symbol=SIX:UBXN" target="_blank" rel="noopener"><span class="blue-text">SIX:UBXN</span></a> Price indication <i>powered by TradingView</i></p> </a> </div> </div> </div> <div class="mt-5 text-end"> <div class="text-muted small"> Smart analysis and research tools can be found <a href="https://ayondo.com/en/technical-analysis/CH0033361673" target="_blank" class="text-reset">here</a>. </div> </div> <div class="row mt-5 text-end d-flex justify-content-end" id="chart-buttons-widget"> <div class="col-md-3"> <div class="mb-2"> MIC: XSWX </div> </div> </div> <div class="row mb-2 d-flex justify-content-end"> <div class="col-auto"> <div class="mb-0 small text-muted"> <div class="row g-2"> <div class="col-auto d-flex align-items-center"> <span data-bs-toggle="tooltip" data-bs-title="By clicking on one of the small buttons, you can easily and conveniently access further sources of information that deal with financial information in general and u-blox Holding in particular" data-bs-placement="bottom" style="cursor: default;"> Power-Shortcuts </span> </div> <div class="col"> <hr> </div> <div class="col-auto d-flex align-items-center"> u-blox Holding </div> </div> </div> <div class="text-end"> <div> <span data-bs-toggle="tooltip" data-bs-placement="bottom" data-bs-title="Presentation of short positions and their historical development in the chart window" data-bs-trigger="hover" class="d-inline-flex"> <a class="btn btn-light btn-sm border " tabindex="0" role="button" data-bs-toggle="popover" data-bs-trigger="focus" data-bs-content='<div> <div class="text-primary"> Feature proudly present by <a href="/de/cfd/activtrades/crypto?mode=price-action">Activtrades</a> </div> <div class="text-end mt-2"> <span class="text-soft-blue me-2">to the Info provider</span> <a href="https://ayondo.com/en/c/profile/p/CH0033361673/ls-short#start-tabs" target="_blank" class="btn btn-primary"> <span class="text-decoration-underline">SHORT INTEREST</span> </a> </div> </div>' data-bs-html="true" data-bs-placement="bottom" data-bs-custom-class="popover-blue" id="btn-short-volume" > SHORT INTEREST </a> </span> <span data-bs-toggle="tooltip" data-bs-placement="bottom" data-bs-title="Stock Market CH" data-bs-trigger="hover" class="d-inline-flex"> <a class="btn btn-light btn-sm border " tabindex="0" role="button" data-bs-toggle="popover" data-bs-trigger="focus" data-bs-content='<div> <div class="text-primary"> Feature proudly present by <a href="/de/cfd/activtrades/crypto?mode=price-action">Activtrades</a> </div> <div class="text-end mt-2"> <span class="text-soft-blue me-2">to the Info provider</span> <a href="https://ayondo.com/en/stock-market/countries?country=CH" target="_blank" class="btn btn-primary"> <span class="text-decoration-underline">CH</span> </a> </div> </div>' data-bs-html="true" data-bs-placement="bottom" data-bs-custom-class="popover-blue" > CH </a> </span> <span class="border border-end me-2 ms-1"></span> <a href="https://ayondo.com/en/suggest-listing?type=stocklisted&market=switzerland&wkn=A0M2K9&isin=CH0033361673&ticker=UBXN&name=u-blox+Holding&source=https%3A%2F%2Fayondo.com%2Fen%2Fnews%2FCH0033361673%2Fu-blox-ag%2Fu-blox-reports-resilient-results-in-2023-1851941" class="btn btn-light btn-sm border text-soft-blue" target="_blank" data-bs-toggle="tooltip" data-bs-placement="bottom" data-bs-title="Product proposal real-time trading (long/short/margin). Click here."> <span class="fw-bold"> $UBXN </span> <i class="fas fa-plus"></i> </a> <span class="border border-end me-2 ms-1"></span> <span data-bs-toggle="tooltip" data-bs-placement="bottom" data-bs-title="Show corporate News" data-bs-trigger="hover" class="d-inline-flex"> <a class="btn btn-light btn-sm border " tabindex="0" role="button" data-bs-toggle="popover" data-bs-trigger="focus" data-bs-content='<div> <div class="text-primary"> Feature proudly present by <a href="/de/cfd/activtrades/crypto?mode=price-action">Activtrades</a> </div> <div class="text-end mt-2"> <span class="text-soft-blue me-2">to the Info provider</span> <a href="https://ayondo.com/en/market-news/newswire?q=CH0033361673" target="_blank" class="btn btn-primary"> <span class="text-decoration-underline">NEWS MINER</span> </a> </div> </div>' data-bs-html="true" data-bs-placement="bottom" data-bs-custom-class="popover-blue" > NEWS MINER </a> </span> <span data-bs-toggle="tooltip" data-bs-placement="bottom" data-bs-title="Company term sheet with all important key figures on the listed company" data-bs-trigger="hover" class="d-inline-flex"> <a class="btn btn-light btn-sm border " tabindex="0" role="button" data-bs-toggle="popover" data-bs-trigger="focus" data-bs-content='<div> <div class="text-primary"> Feature proudly present by <a href="/de/cfd/activtrades/crypto?mode=price-action">Activtrades</a> </div> <div class="text-end mt-2"> <span class="text-soft-blue me-2">to the Info provider</span> <a href="https://ayondo.com/en/isin-termsheet/CH0033361673" target="_blank" class="btn btn-primary"> <span class="text-decoration-underline">TERMSHEET</span> </a> </div> </div>' data-bs-html="true" data-bs-placement="bottom" data-bs-custom-class="popover-blue" id="btn-termsheet" > TERMSHEET </a> </span> <span data-bs-toggle="tooltip" data-bs-placement="bottom" data-bs-title="Terminal-View: Data aggregation meets AI" data-bs-trigger="hover" class="d-inline-flex"> <a class="btn btn-light btn-sm border " tabindex="0" role="button" data-bs-toggle="popover" data-bs-trigger="focus" data-bs-content='<div> <div class="text-primary"> Feature proudly present by <a href="/de/cfd/activtrades/crypto?mode=price-action">Activtrades</a> </div> <div class="text-end mt-2"> <span class="text-soft-blue me-2">to the Info provider</span> <a href="https://ayondo.com/en/c/profile/p/CH0033361673" target="_blank" class="btn btn-primary"> <span class="text-decoration-underline">TERMINAL</span> </a> </div> </div>' data-bs-html="true" data-bs-placement="bottom" data-bs-custom-class="popover-blue" id="btn-terminal" > TERMINAL </a> </span> </div> <div class="mt-2"> <span data-bs-toggle="tooltip" data-bs-placement="bottom" data-bs-title="LEGAL IDENTIFIER" data-bs-trigger="hover" class="d-inline-flex"> <a class="btn btn-light btn-sm border " tabindex="0" role="button" data-bs-toggle="popover" data-bs-trigger="focus" data-bs-content='<div> <div class="text-primary"> Feature proudly present by <a href="/de/cfd/activtrades/crypto?mode=price-action">Activtrades</a> </div> <div class="text-end mt-2"> <span class="text-soft-blue me-2">to the Info provider</span> <a href="https://search.gleif.org/#/record/506700B2W2NUXS9X8479" target="_blank" class="btn btn-primary"> <span class="text-decoration-underline">LEI</span> </a> </div> </div>' data-bs-html="true" data-bs-placement="bottom" data-bs-custom-class="popover-blue" > LEI </a> </span> <span data-bs-toggle="tooltip" data-bs-placement="bottom" data-bs-title="FIGI" data-bs-trigger="hover" class="d-inline-flex"> <a class="btn btn-light btn-sm border " tabindex="0" role="button" data-bs-toggle="popover" data-bs-trigger="focus" data-bs-content='<div> <div class="text-primary"> Feature proudly present by <a href="/de/cfd/activtrades/crypto?mode=price-action">Activtrades</a> </div> <div class="text-end mt-2"> <span class="text-soft-blue me-2">to the Info provider</span> <a href="https://www.openfigi.com/id/BBG000R2WLQ5" target="_blank" class="btn btn-primary"> <span class="text-decoration-underline">FIGI</span> </a> </div> </div>' data-bs-html="true" data-bs-placement="bottom" data-bs-custom-class="popover-blue" > FIGI </a> </span> </div> <div class="mt-2"> <div class="row g-2 text-muted"> <div class="col-auto d-flex align-items-center small"> Fast Lane Link Panel ("FLLP") </div> <div class="col"> <hr> </div> <div class="col-auto d-flex align-items-center small"> 3RDP </div> </div> <div class="mt-0"> <span data-bs-toggle="tooltip" data-bs-placement="bottom" data-bs-title="Google Trends (Indikation)" data-bs-trigger="hover" class="d-inline-flex"> <a class="btn btn-light btn-sm border " tabindex="0" role="button" data-bs-toggle="popover" data-bs-trigger="focus" data-bs-content='<div> <div class="text-primary"> Feature proudly present by <a href="/de/cfd/activtrades/crypto?mode=price-action">Activtrades</a> </div> <div class="text-end mt-2"> <span class="text-soft-blue me-2">to the Info provider</span> <a href="https://trends.google.com/trends/explore?q=u-blox Holding" target="_blank" class="btn btn-primary"> <span class="text-decoration-underline">GT</span> </a> </div> </div>' data-bs-html="true" data-bs-placement="bottom" data-bs-custom-class="popover-blue" > GT </a> </span> <span data-bs-toggle="tooltip" data-bs-placement="bottom" data-bs-title="TradingView© Profile" data-bs-trigger="hover" class="d-inline-flex"> <a class="btn btn-light btn-sm border " tabindex="0" role="button" data-bs-toggle="popover" data-bs-trigger="focus" data-bs-content='<div> <div class="text-primary"> Feature proudly present by <a href="/de/cfd/activtrades/crypto?mode=price-action">Activtrades</a> </div> <div class="text-end mt-2"> <span class="text-soft-blue me-2">to the Info provider</span> <a href="https://www.tradingview.com/chart/?symbol=SIX:UBXN" target="_blank" class="btn btn-primary"> <span class="text-decoration-underline">TV</span> </a> </div> </div>' data-bs-html="true" data-bs-placement="bottom" data-bs-custom-class="popover-blue" > TV </a> </span> <span data-bs-toggle="tooltip" data-bs-placement="bottom" data-bs-title="XETR/XFRA" data-bs-trigger="hover" class="d-inline-flex"> <a class="btn btn-light btn-sm border btn-mnemonic1-required" tabindex="0" role="button" data-bs-toggle="popover" data-bs-trigger="focus" data-bs-content='<div> <div class="text-primary"> Feature proudly present by <a href="/de/cfd/activtrades/crypto?mode=price-action">Activtrades</a> </div> <div class="text-end mt-2"> <span class="text-soft-blue me-2">to the Info provider</span> <a href="https://www.boerse-frankfurt.de/equity/CH0033361673" target="_blank" class="btn btn-primary"> <span class="text-decoration-underline">X</span> </a> </div> </div>' data-bs-html="true" data-bs-placement="bottom" data-bs-custom-class="popover-blue" id="btn-x" > X </a> </span> </div> </div> <div class="mt-2"> <div class="row d-flex justify-content-end"> <div class="col-md-3"> <div class="row g-2 text-muted"> <div class="col"> <hr> </div> <div class="col-auto d-flex align-items-center small"> AI </div> </div> </div> </div> <div class="mt-0"> <span data-bs-toggle="tooltip" data-bs-placement="bottom" data-bs-title="Perplexity AI Key-Data Snapshot" data-bs-trigger="hover" class="d-inline-flex"> <a class="btn btn-light btn-sm border " tabindex="0" role="button" data-bs-toggle="popover" data-bs-trigger="focus" data-bs-content='<div> <div class="text-primary"> Feature proudly present by <a href="/de/cfd/activtrades/crypto?mode=price-action">Activtrades</a> </div> <div class="text-end mt-2"> <span class="text-soft-blue me-2">to the Info provider</span> <a href="https://www.perplexity.ai/finance/UBXN.SW" target="_blank" class="btn btn-primary"> <span class="text-decoration-underline">PERPLEXITY *AI</span> </a> </div> </div>' data-bs-html="true" data-bs-placement="bottom" data-bs-custom-class="popover-blue" id="btn-perplexity" > PERPLEXITY *AI </a> </span> </div> </div> <div class="mt-2 text-end text-muted small"> u-blox Holding </div> </div> </div> </div> </div> </div> <div class="mt-5 mt-md-6rem"> <div> <div class="mt-5 mb-3 text-muted"> <p>This publication was provided by our content partner <a href="https://www.eqs-news.com/">EQS</a><sup>3</sup>.</p> </div> <div class="row"> <div class="col-md-3 col-lg-2"> <div class="h3 mb-0"> EQS Newswire </div> <div class="text-muted"> via EQS - Newsfeed </div> <div class="text-muted "> EQS Group AG ©2025 </div> <div class="text-muted mb-3"> (DGAP) </div> </div> <div class="col-md-3 col-lg-2 mt-4 mt-md-0"> <div class="text-muted"> <span class="text-decoration-underline">Contact:</span> </div> <div class=""> Karlstraße 47 D-80333 München </div> <div class=""> +49 (0) 89 444 430-000 </div> <div class=""> <a href="https://www.eqs.com/" target="_blank"> Website </a> </div> </div> <div class="col-md mt-4 mt-md-0"> <ul class="ps-0" style="list-style: none;"> <li class="d-lg-inline-block pe-lg-2"> <span><i class="fab fa-twitter"></i></span> <a href="https://twitter.com/eqsgroup" target="_blank"> Twitter </a> </li> <li class="d-lg-inline-block pe-lg-2"> <span><i class="fab fa-meta"></i></span> <a href="https://www.facebook.com/EQSGroup" target="_blank"> Meta </a> </li> <li class="d-lg-inline-block pe-lg-2"> <span><i class="fab fa-youtube"></i></span> <a href="https://www.youtube.com/user/EquityStory" target="_blank"> Youtube </a> </li> <li class="d-lg-inline-block pe-lg-2"> <span><i class="fab fa-instagram"></i></span> <a href="https://www.instagram.com/eqsgroup/" target="_blank"> Instagram </a> </li> <li class="d-lg-inline-block pe-lg-2"> <span><i class="fab fa-linkedin"></i></span> <a href="https://www.linkedin.com/company/eqs-group" target="_blank"> LinkedIn </a> </li> <li class="d-lg-inline-block pe-lg-2"> <span><i class="fas fa-address-book"></i></span> <a href="https://www.eqs.com/about-eqs/contact/" target="_blank"> Contact </a> </li> <li class="d-lg-inline-block pe-lg-2"> <span><i class="fas fa-globe"></i></span> <a href="https://www.eqs-news.com/en/" target="_blank"> Newsfeed </a> </li> <li class="d-lg-inline-block pe-lg-2 text-muted"> <span><i class="fas fa-rss"></i></span> RSS </li> <li class="d-lg-inline-block pe-lg-2 text-muted"> <span><i class="fas fa-blog"></i></span> Blog </li> </ul> </div> </div> <div class="text-end"> <a href="" target="_blank"> <img src="/public/uploads/logo/nw/eqs/eqs_newswire_black_r.svg" alt="" class="img-fluid" style="max-width: 150px;"> </a> </div> </div> </div> <div class="mt-3"> <p style="text-align:right; margin-top:25px">P R O D U C T   S U G G E S T I O N S </p> <div style="text-align:right;"> <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-4456862306790661" crossorigin="anonymous"></script> <ins class="adsbygoogle" style="display:block" data-ad-format="autorelaxed" data-ad-client="ca-pub-4456862306790661" data-ad-slot="9459189361"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> </div> </div> <div class="modal fade" id="modal-chatgpt-disabled" tabindex="-1" aria-labelledby="modal-chatgpt-disabled-label" aria-hidden="true"> <div class="modal-dialog modal-lg"> <div class="modal-content"> <div class="modal-header"> <h1 class="modal-title fs-5" id="modal-chatgpt-disabled-label"> Virtual AI Assistant </h1> <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> </div> <div class="modal-body"> <div> If you want to use this and other features, follow the "Registration" to create a user account or log in to an existing user account. </div> </div> <div class="modal-footer"> <button type="button" class="btn btn-secondary" data-bs-dismiss="modal"> Cancel </button> <a href="https://ayondo.com/en/register" class="btn btn-primary"> Create user account </a> </div> </div> </div> </div> <div class="modal fade" id="modal-chatgpt" tabindex="-1" aria-labelledby="modal-chatgpt-label" aria-hidden="true" data-bs-backdrop="static" data-bs-keyboard="false"> <div class="modal-dialog modal-lg"> <div class="modal-content"> <div class="modal-header"> <h1 class="modal-title fs-5" id="modal-chatgpt-label"> <span id="modal-title-enabled"> AI-generated company profile - Important! Do not accept unchecked </span> <span id="modal-title-disabled" style="display: none;"> Virtual AI Assistant </span> </h1> </div> <div class="modal-body"> <div id="modal-body-enabled"> <div id="chatgpt-loading-ta" class="text-center text-primary"> <div class="mb-3"> <i class="fas fa-sync fa-spin fa-5x"></i> </div> <div> Result of the AI analysis<span id="thinking" class="blinking">...</span> </div> </div> <h1 class="h4 mb-3" id="chatgpt-answer-header-ta" style="display: none;"> The AI's analysis of the content resulted in the following brief summary: </h1> <div id="chatgpt-answer-ta" style="display: none; white-space: pre-line;" class="card-remove-p-margin-bottom"> </div> <div id="chatgpt-answer-disclaimer" class="mt-3" style="display: none;"> <div class="small text-end mb-2 text-muted"> <p>Tip: Registered users of the community can save the snippets in the <a href="/en/login">user account</a>.</p> </div> <div class="small text-muted mb-1"> <span class="text-decoration-underline">Disclaimer:</span> </div> <div class="card bg-light-grey border-light-grey mb-3"> <div class="card-body card-remove-p-margin-bottom"> <p>This summary was created with the help of an AI technology. The goal is to bring out the core message of the company's message. The simplification of the statement can help to grasp the content of the message more quickly. The feature is experimental in nature. Do not use the information without verification. More information about <a href="/en/your-question-artifical-intelligence-answers#lab-box">Lab features</a> can be found here.</p> </div> </div> <div class="alert alert-danger mb-0"> Caution: Unverified adoption of previously unquality-assured information is not advised. </div> </div> </div> <div id="modal-body-disabled" style="display: none;"> <div> You have reached the maximum number of queries. Please log in to the user account or try again later. </div> <div> If you want to use this and other features, follow the "Registration" to create a user account or log in to an existing user account. </div> </div> </div> <div class="modal-footer justify-content-between " id="modal-footer-enabled" id="modal-chatgpt-enabled-footer-ta" style="display: none;"> <div class="text-muted small card-remove-p-margin-bottom"> <p>If you use the functionality more often, you can <a href="/en/register">register here</a>.</p> </div> <button type="button" class="btn btn-outline-primary" data-bs-dismiss="modal" id="btn-chatgpt-ok"> Close window </button> </div> <div class="modal-footer" id="modal-footer-disabled" style="display: none;"> <button type="button" class="btn btn-secondary" data-bs-dismiss="modal"> Cancel </button> <a href="https://ayondo.com/en/register" class="btn btn-primary"> Create user account </a> </div> </div> </div> </div> <div class="container-lg pb-4"> <div class=""> <div class="mb-2 text-muted"> </div> <div class="alert alert-grey mb-0 card-remove-p-margin-bottom"> <p>The information presented here has been provided by our content partner EQS-Group. The originator of the news is the respective issuer, the company relating to the news, a publication service provider (press or information agency) which uses the distribution service of EQS to transmit company news to shareholders, investors, investors or interested parties. The original publications and other company-relevant information can be found at <a href="https://www.eqs-news.com/en/">eqs-news.com</a>.</p><hr><p>The information you can access does not constitute investment advice. The presentation of our cooperation partners, where the implementation of investment decisions would be possible depending on the individual risk profile, is solely at the discretion of the person using the service. We only present companies of which we are convinced that the range of services and customer service will satisfy discerning investors.</p><p>If you are considering leverage products, familiarise yourself with the typical characteristics of the financial instruments beforehand. Take the time to determine the risk content of the planned investment before making an investment decision. Bear in mind that a total loss cannot be ruled out with leverage products.</p><p>For newcomers to the subject, we offer various options in both the <a href="/en/education">training</a> and the <a href="/en/tools">tools</a> section, through which you can train theoretical knowledge and practical experience and thus improve your skills. The offer ranges from participation in <a href="/en/events">webinars</a> to personal <a href="/en/education/skilltrader">mentoring</a>. The range is continuously being expanded.</p><hr><p><sup>1</sup> Lab features are usually functionalities that emerge from the <a href="/en/concept-ideas">think tank</a> of the investor community. In the early stages, these are experimental functionalities whose development process is largely determined by use and the resulting feedback from the community. When integrating external services or functionalities, the functionality can only be guaranteed to the extent that the individual process elements, such as interfaces, interact with each other.</p> </div> </div> </div> <div class="modal fade" id="modal-report-bug" tabindex="-1" aria-labelledby="modal-report-bug-label" aria-hidden="true"> <div class="modal-dialog modal-lg"> <div class="modal-content"> <div class="modal-header"> <h1 class="modal-title fs-5" id="modal-report-bug-label"> Report a bug </h1> <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> </div> <div class="modal-body"> <form id="form-report-bug"> <div class="row"> <div class="col-md-6"> <div class="mb-3 mt-0"> <label for="report-bug-first_name" class="form-label"> First Name <span class="text-danger">*</span> </label> <input id="report-bug-first_name" type="text" class=" form-control " name="first_name" value="" required placeholder="" > <span class="invalid-feedback" role="alert"></span> </div> </div> <div class="col-md-6"> <div class="mb-3 mt-0"> <label for="report-bug-last_name" class="form-label"> Last Name </label> <input id="report-bug-last_name" type="text" class=" form-control " name="last_name" value="" placeholder="" > <span class="invalid-feedback" role="alert"></span> </div> </div> </div> <div class="mb-3 mt-0"> <label for="report-bug-email" class="form-label"> Email <span class="text-danger">*</span> </label> <input id="report-bug-email" type="email" class=" form-control " name="email" value="" required placeholder="" > <span class="invalid-feedback" role="alert"></span> </div> <div class="mb-3 mt-0"> <label for="report-bug-subject" class="form-label"> Subject <span class="text-danger">*</span> </label> <input id="report-bug-subject" type="text" class=" form-control " name="subject" value="" required placeholder="" > <span class="invalid-feedback" role="alert"></span> <div id="subject-help" class="form-text"> i.e Feature x is not working </div> </div> <div class="mb-3"> <label for="issue_happen_on" class="col-form-label"> Issue happened on <span class="text-danger">*</span> </label> <br> <div class="form-check form-check-inline"> <input class="form-check-input" type="radio" name="issue_happen_on" id="this_page" value="this_page" required checked> <label class="form-check-label" for="this_page">This page</label> </div> <div class="form-check form-check-inline"> <input class="form-check-input" type="radio" name="issue_happen_on" id="other_page" value="other_page" required> <label class="form-check-label" for="other_page">Other page</label> </div> </div> <div style="display:none;"> <div class="mb-3 mt-0"> <label for="report-bug-page_url" class="form-label"> Page URL </label> <input id="report-bug-page_url" type="text" class=" form-control " name="page_url" value="" placeholder="" > <span class="invalid-feedback" role="alert"></span> <div id="page_url-help" class="form-text"> Paste the page URL here </div> </div> </div> <div class="mb-3"> <label for="report-bug-bug_detail" class="form-label"> Bug Detail <span class="text-danger">*</span> </label> <textarea id="report-bug-bug_detail" class=" form-control " name="bug_detail" required="required" placeholder="" rows="5" ></textarea> <span class="invalid-feedback" role="alert"></span> <div id="bug_detail-help" class="form-text"> Please give us more detailed explanation of the issue </div> </div> <div class="mb-3"> <label for="report-bug-steps_to_reproduce" class="form-label"> Steps to reproduce <span class="text-danger">*</span> </label> <textarea id="report-bug-steps_to_reproduce" class=" form-control " name="steps_to_reproduce" required="required" placeholder="" rows="5" ></textarea> <span class="invalid-feedback" role="alert"></span> <div id="steps_to_reproduce-help" class="form-text"> Specify the steps you've done before the issue happen </div> </div> <div class="mb-3"> <label for="report-bug-actual_result" class="form-label"> Actual Result <span class="text-danger">*</span> </label> <textarea id="report-bug-actual_result" class=" form-control " name="actual_result" required="required" placeholder="" rows="5" ></textarea> <span class="invalid-feedback" role="alert"></span> <div id="actual_result-help" class="form-text"> What's the result of the issue? </div> </div> <div class="mb-3"> <label for="report-bug-expected_result" class="form-label"> Expected Result <span class="text-danger">*</span> </label> <textarea id="report-bug-expected_result" class=" form-control " name="expected_result" required="required" placeholder="" rows="5" ></textarea> <span class="invalid-feedback" role="alert"></span> <div id="expected_result-help" class="form-text"> What do you expect to see? </div> </div> <div class="mb-3 mt-0"> <label for="report-bug-attachment" class="form-label"> Attachment </label> <input id="report-bug-attachment" type="file" class=" form-control " name="attachment" value="" placeholder="" accept=".jpg,.jpeg,.png,.gif,.pdf,.doc,.docx" > <span class="invalid-feedback" role="alert"></span> <div id="attachment-help" class="form-text"> (Optional) You can send us a screenshot, word document, or a PDF explaining the issue </div> </div> <div data-sitekey="6LcPXdgbAAAAADsU9u3L3DFMLzoO6JmMIxIR9Krl" class="g-recaptcha"></div> <script src="https://www.google.com/recaptcha/api.js?hl=en" async defer></script> </form> </div> <div class="modal-footer"> <button type="button" class="btn btn-secondary" data-bs-dismiss="modal"> Cancel </button> <button type="button" class="btn btn-primary" id="btn-submit-report-bug"> Submit issue </button> </div> </div> </div> </div> <div class="modal fade" id="modal-cta" tabindex="-1" aria-labelledby="modal-cta-label" aria-hidden="true"> <div class="modal-dialog modal-lg"> <div class="modal-content"> <div class="modal-header"> <h1 class="modal-title fs-5" id="modal-sso-label"> Important note </h1> <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> </div> <div class="modal-body"> <div class="mb-3"> You have pressed the "<span class="modal-cta-content-button"></span>". We would like to inform you that you are now leaving the information service of the portal site ayondo.com. You will be redirected to <span class="modal-cta-content-partner"></span>. After confirming the "Continue" button, you confirm that you have been informed of this. You also confirm that you are carrying out this process of your own free will and that it is not the result of any promotional activity or other influence. Continue to <span class="modal-cta-content-partner"></span>. </div> <div class="form-check "> <input class="form-check-input cta-cbo-accept" type="checkbox" name="cbo_cta_1" id="cbo_cta_1" required value="1" > <label class="form-check-label " for="cbo_cta_1"> Understood and confirmed <span class="text-danger">*</span> </label> </div> <div class="form-check "> <input class="form-check-input cta-cbo-accept" type="checkbox" name="cbo_cta_2" id="cbo_cta_2" required value="1" > <label class="form-check-label " for="cbo_cta_2"> I would like to continue <span class="text-danger">*</span> </label> </div> </div> <div class="modal-footer"> <button type="button" class="btn btn-secondary" data-bs-dismiss="modal"> Cancel </button> <span class="d-inline-block" tabindex="0" data-bs-toggle="tooltip" data-bs-title="Please confirm to continue" data-bs-placement="bottom" id="btn-cta-proceed-wrapper"> <a class="btn btn-primary disabled" id="btn-cta-proceed" aria-disabled="true" href="" target="_blank"> Continue </a> </span> </div> </div> </div> </div> <div class="modal fade" id="modal-suggest-feature" tabindex="-1" aria-labelledby="modal-suggest-feature-label" aria-hidden="true"> <div class="modal-dialog modal-lg"> <div class="modal-content"> <div class="modal-header"> <h1 class="modal-title fs-5" id="modal-suggest-feature-label"> Submit improvement suggestion/new feature </h1> <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> </div> <div class="modal-body"> <form id="form-suggest-feature"> <div class="alert alert-danger card-remove-p-margin-bottom"> <p>Please log in to your <a href="https://ayondo.com/en/login?suggest_feature=1&ref_uri=news%2FCH0033361673%2Fu-blox-ag%2Fu-blox-reports-resilient-results-in-2023-1851941">user account</a>. This will allow us to contact you in case of any queries.</p> </div> <div class="mb-4"> <div class="form-check "> <input class="form-check-input " type="checkbox" name="anon" id="suggest-feature-anon" value="1" > <label class="form-check-label " for="suggest-feature-anon"> I would like to remain anonymous. </label> </div> </div> <div id="form-suggest-feature-content" style=" display: none; "> <div class="mb-3 mt-0"> <label for="suggest-feature-subject" class="form-label"> Subject <span class="text-danger">*</span> </label> <input id="suggest-feature-subject" type="text" class=" form-control " name="subject" value="" required placeholder="Give a brief indication here of what your proposal relates to." > <span class="invalid-feedback" role="alert"></span> <div id="subject-help" class="form-text"> e.g. New calculation method for Risk-of-Ruin-Calculator </div> </div> <div class="mb-3"> <label for="issue_happen_on" class="col-form-label"> View/Tool <span class="text-danger">*</span> </label> <br> <div class="form-check form-check-inline"> <input class="form-check-input suggest-feature-page" type="radio" name="page" id="suggest-feature-rdo-this_page" value="this_page" required checked> <label class="form-check-label" for="suggest-feature-rdo-this_page">This view/tool</label> </div> <div class="form-check form-check-inline"> <input class="form-check-input suggest-feature-page" type="radio" name="page" id="suggest-feature-rdo-other_page" value="other_page" required> <label class="form-check-label" for="suggest-feature-rdo-other_page">Another page/tool</label> </div> </div> <div style="display:none;"> <div class="mb-3 mt-0"> <label for="suggest-feature-page_url" class="form-label"> Link to view/tool </label> <input id="suggest-feature-page_url" type="text" class=" form-control " name="page_url" value="" placeholder="Link to the subpage or reference page (https://www.ayondo.com/unterseite)" > <span class="invalid-feedback" role="alert"></span> <div id="page_url-help" class="form-text"> View/Tool (specify URL/link) </div> </div> </div> <div class="mb-3"> <label for="suggest-feature-content" class="form-label"> Description of the proposed change/feedback <span class="text-danger">*</span> </label> <textarea id="suggest-feature-content" class=" form-control " name="content" required="required" placeholder="Use this input field to send us your change requests, feedback or suggestions for improvement." rows="5" ></textarea> <span class="invalid-feedback" role="alert"></span> <div id="content-help" class="form-text"> The more comprehensible the description, the faster a feasibility check can be carried out. </div> </div> <div class="mb-3"> <label for="suggest-feature-feedback" class="form-label"> General feedback on the view/tool/component/content <span class="text-danger">*</span> </label> <textarea id="suggest-feature-feedback" class=" form-control " name="feedback" required="required" placeholder="If you like the content provided, we would appreciate your feedback. This will enable us to make improvements if necessary." rows="5" ></textarea> <span class="invalid-feedback" role="alert"></span> <div id="feedback-help" class="form-text"> Use this feedback text field for general or supplementary information </div> </div> <div class="mb-3"> <label for="suggest-feature-feature_opinion" class="form-label"> Would you use the tool and recommend it if necessary? <span class="text-danger">*</span> </label> <textarea id="suggest-feature-feature_opinion" class=" form-control " name="feature_opinion" required="required" placeholder="We welcome any kind of feedback, including criticism. We take this as an opportunity to improve the information offered and usability in your interest." rows="5" ></textarea> <span class="invalid-feedback" role="alert"></span> <div id="feature_opinion-help" class="form-text"> Your opinion is valuable. Feel free to share it with us. </div> </div> <div data-sitekey="6LcPXdgbAAAAADsU9u3L3DFMLzoO6JmMIxIR9Krl" class="g-recaptcha"></div> <script src="https://www.google.com/recaptcha/api.js?hl=en" async defer></script> </div> </form> </div> <div class="modal-footer" style=" display: none; " id="modal-suggest-feature-footer"> <button type="button" class="btn btn-secondary" data-bs-dismiss="modal"> Cancel process </button> <button type="button" class="btn btn-primary" id="btn-submit-suggest-feature"> Submit form </button> </div> </div> </div> </div> <div class="container mb-5"> </div> <footer class="mt-auto"> <div class="container-lg"> <div class="row d-flex justify-content-sm-between mb-2"> <div class="col-auto"> <span data-bs-toggle="tooltip" data-bs-placement="bottom" data-bs-title="Report Bug"> <button type="button" class="btn btn-link text-decoration-none" data-bs-toggle="modal" data-bs-target="#modal-report-bug"> <i class="fas fa-bug"></i> Report a bug </button> </span> <span data-bs-toggle="tooltip" data-bs-placement="bottom" data-bs-title="Suggest feature"> <button type="button" class="btn btn-link text-decoration-none" data-bs-toggle="modal" data-bs-target="#modal-suggest-feature" id="btn-modal-suggest-feature"> <i class="fas fa-lightbulb"></i> Suggest a feature </button> </span> <a href="https://ayondo.com/en/surveys/two-minutes-feedback-form?topic_id=15&answer_option=individual" data-bs-toggle="tooltip" data-bs-placement="bottom" data-bs-title="If you think something is great or could be improved, please let us know. We welcome all kinds of feedback. We take critical comments as an opportunity to improve the information we provide." class="btn btn-link text-decoration-none"> <i class="fa-solid fa-comments"></i> Your opinion is important to us! </a> </div> <div class="col-auto"> <a href="https://ayondo.com/en/knowledge-hub/frequently-asked-questions/start-here" data-bs-toggle="tooltip" data-bs-placement="bottom" data-bs-title="Users can find a wealth of valuable information and an extensive collection of FAQs in the specially developed section." class="btn btn-link text-decoration-none"> <i class="fa-solid fa-question"></i> FAQ </a> </div> </div> </div> <div class="bg-footer-contact-blue py-4 font-open-sans text-white " style=""> <div class="container-lg"> <div class="row text-center d-flex justify-content-center g-2"> <div class="col-md-auto d-flex flex-column"> <div class="mt-auto"> <a href="https://ayondo.com/en/general-inquiries" class="btn btn-contact-panel-black"> You are <u>interested</u> </a> </div> </div> <div class="col-md-auto py-2 border-top border-bottom border-contact-panel-black"> <a href="https://ayondo.com/en/important-contact-numbers" class="btn btn-contact-panel-black fw-500 font-1125"> Do you have a request? Get in contact with us </a> </div> <div class="col-md-auto d-flex flex-column"> <div class="mt-auto"> <a href="https://ayondo.com/en/login?inquiry=1" class="btn btn-contact-panel-black"> You are already <u>a member</u>? </a> </div> </div> </div> </div> </div> <div class="bg-nav-blue pt-4 footer-nav" style=""> <div class="container-lg" style="opacity: 0.5"> <div class="text-line border-white text-start ps-4 text-white bg-transparent text-center m-0" style=""> <span class="bg-nav-blue" style=" "> Who is online? Community stats (Snapshot): 30.665 Visitors - 21.461 Registered members - 18 New registrations (Welcome!) </span> </div> </div> </div> <div class="bg-nav-blue pt-5 font-open-sans footer-nav" style=""> <div class="container-lg position-relative"> <div class="row position-relative"> <div class="col-md-4 pe-md-5"> <div class="mb-3"> <img src="https://ayondo.com/assets/logo/logo-blue.svg" alt=""> </div> <div class="text-white font-1-rem mb-4" style=""> ayondo® 2025 - Est.: 2008 - Technology provider, social network, trader community and online platform for investors with an affinity for the stock market - Information, data and news network - Multi-award-winning international business model - Proprietary technology - Fintech pioneer and innovation driver for disruptive technologies - Made in Germany | AI First | NextGen-Finovator </div> <div class="row mb-5"> <div class="col-auto position-relative"> <div class="mb-0 text-white font-1-rem" style=""> Made in Germany </div> <div style="position: absolute; width: calc(100% - 24px); bottom: -16px;"> <img src="https://ayondo.com/assets/illustration/footer-german-panel.png" alt="" class="img-fluid"> </div> </div> </div> <div class="mb-2"> <a href="https://ayondo.com/en/subscribe" class="btn btn-outline-white border-white" data-bs-toggle="tooltip" data-bs-title="Subscribe Newsletter to get informed" data-bs-placement="bottom" style=""> ayondo-prime </a> <a href="https://ayondo.com/en/technology" class="btn btn-outline-white border-white" data-bs-toggle="tooltip" data-bs-title="α² ('ælfə skweə')" data-bs-placement="bottom" style=""> a<sup>2</sup> </a> </div> </div> <div class="col-md-8 mt-4 mt-md-0 position-relative"> <div class="mb-2 d-flex"> <h4 class="text-white text-decoration-underline mb-0" style=" text-underline-offset: 10px;"> Useful Links </h4> <a href="https://ayondo.com/en/happy-customer"> <img src="https://ayondo.com/assets/illustration/footer-smiley.png" alt="" style=" width: 50px; position: relative; top: -10px;left: 5px;"> </a> </div> <div class="row"> <div class="col-sm-6 col-md-3 "> <div> <div class="mb-1"> <a href="https://ayondo.com/en/about-us" class="text-decoration-none text-white footer-link" style=""> About Us </a> </div> <div class="mb-1"> <a href="https://ayondo.com/en/mission-vision" class="text-decoration-none text-white footer-link" style=""> Vision/Mission </a> </div> <div class="mb-1"> <a href="https://ayondo.com/en/imprint" class="text-decoration-none text-white footer-link" style=""> Imprint </a> </div> <div class="mb-1"> <a href="https://ayondo.com/en/legal" class="text-decoration-none text-white footer-link" style=""> Legal </a> </div> <div class="mb-1"> <a href="https://ayondo.com/en/terms-of-service" class="text-decoration-none text-white footer-link" style=""> Terms of service </a> </div> <div class="mb-1"> <a href="https://ayondo.com/en/privacy-policy" class="text-decoration-none text-white footer-link" style=""> Data Protection </a> </div> <div class="mb-1"> <a href="https://ayondo.com/en/cookie-policy" class="text-decoration-none text-white footer-link" style=""> Cookie Guidelines </a> </div> <div class="mb-1"> <a href="#" class="text-decoration-none text-white toggle-cookiebot footer-link" style=""> Privacy </a> </div> <div class="mb-1"> <a href="https://ayondo.com/en/important-contact-numbers" class="text-decoration-none text-white footer-link" style=""> Contact </a> </div> </div> </div> <div class="col-sm-6 col-md-3 mt-3 mt-sm-0 mt-md-0 "> <div> <div class="mb-1"> <a href="https://ayondo.com/en/metatrader-4" class="text-decoration-none text-white footer-link" style=""> MetaTrader 4 </a> </div> <div class="mb-1"> <a href="https://ayondo.com/en/metatrader-5" class="text-decoration-none text-white footer-link" style=""> MetaTrader 5 </a> </div> <div class="mb-1"> <a href="https://ayondo.com/en/activtrader" class="text-decoration-none text-white footer-link" style=""> ActivTrader </a> </div> </div> </div> <div class="col-sm-6 col-md-3 mt-3 mt-sm-0 mt-md-0 "> <div> <div class="mb-1"> <a href="https://ayondo.com/en/education" class="text-decoration-none text-white footer-link" style=""> Education </a> </div> <div class="mb-1"> <a href="https://ayondo.com/en/tools" class="text-decoration-none text-white footer-link" style=""> Tools </a> </div> <div class="mb-1"> <a href="https://ayondo.com/en/products" class="text-decoration-none text-white footer-link" style=""> Product Universe </a> </div> <div class="mb-1"> <a href="https://ayondo.com/en/knowledge-hub/frequently-asked-questions" class="text-decoration-none text-white footer-link" style=""> FAQ </a> </div> <div class="mt-4"> <a href="https://ayondo.com/en/visual-sitemap" class="text-white footer-link" style=""> Visual Sitemap </a> </div> </div> </div> </div> <div class="row d-flex justify-content-md-center mt-4 position-relative" id="footer-qrs"> <div class="col-md-6 col-xl-5 position-relative"> <div class="text-end"> <span tabindex="0" data-bs-toggle="tooltip" data-bs-placement="bottom" data-bs-title="Coming soon!"> <a href="#" class="text-decoration-none text-white opacity-50" disabled style=""> <i class="fas fa-headset"></i> Helpdesk </a> </span> </div> <div class="text-white fast-lane white" style=""> <span class="bg-nav-blue" style=""> Fast lane </span> </div> <div class="row d-flex justify-content-center"> <div class="col-auto text-center" data-bs-toggle="tooltip" data-bs-title="Scan or follow the link to apply for a riskless Training platform" data-bs-placement="bottom"> <a href="https://ayondo.com/en/train-with-virtual-money" target="_blank"> <img src="https://ayondo.com/uploads/at-qrs/1_en.png" alt=""> </a> <br> <a href="https://ayon.do/v" target="_blank" class="text-decoration-none text-black footer-link text-white" style=""> https://ayon.do/v </a> </div> <div class="col-auto text-center" data-bs-toggle="tooltip" data-bs-title="Scan or follow the link to apply for a real money trading account" data-bs-placement="bottom"> <a href="https://ayondo.com/en/invest-with-real-money" target="_blank"> <img src="https://ayondo.com/uploads/at-qrs/2_en.png" alt=""> </a> <br> <a href="https://ayon.do/r" target="_blank" class="text-decoration-none text-black footer-link text-white" style=""> https://ayon.do/r </a> </div> </div> <div class="position-absolute" style="top: 5px; left: -20px;"> <a href="https://ayondo.com/en/the-friendly-social-trading-network-community"> <img src="https://ayondo.com/assets/illustration/footer-social-ayondo.png" alt="" style="width: 50px;"> </a> </div> </div> </div> </div> <div class="col-12 text-end text-white py-2" style=""> <span class="text-tiny"><i>ayondo® - my community, my spirit</i></span> </div> </div> <div class="position-absolute footer-logo-star-wrapper"> <a href="https://ayondo.com/en/technology" data-bs-toggle="tooltip" data-bs-title="ayondo®-Disruptive FinTech solutions since 2008" data-bs-placement="left"> <img src="https://ayondo.com/assets/illustration/footer-logo-stars.png" alt=""> </a> </div> </div> </div> <div class="bg-nav-blue footer-nav" style=""> <div class="bg-footer-social py-3 font-open-sans"> <div class="container-lg"> <div class="row"> <div class="col-md d-flex align-items-center"> <div class="row"> <div class="col-auto d-flex align-items-center"> <h5 class="mb-0 text-white"> Social Media Links </h5> </div> <div class="col-auto"> <a aria-disabled="true" role="button" class="btn btn-footer-socmed px-0 disabled" title="LinkedIn" target="_blank"> <i class="fab fa-linkedin fa-2x"></i> </a> </div> <div class="col-auto"> <a aria-disabled="true" role="button" class="btn btn-footer-socmed px-0 disabled" title="Facebook" target="_blank"> <i class="fab fa-facebook fa-2x"></i> </a> </div> <div class="col-auto"> <a aria-disabled="true" role="button" class="btn btn-footer-socmed px-0 disabled" title="Instagram" target="_blank"> <i class="fab fa-instagram fa-2x"></i> </a> </div> <div class="col-auto"> <a aria-disabled="true" role="button" class="btn btn-footer-socmed px-0 disabled" title="Twitter" target="_blank"> <i class="fab fa-twitter fa-2x"></i> </a> </div> <div class="col-auto"> <a aria-disabled="true" role="button" class="btn btn-footer-socmed px-0 disabled" title="Youtube" target="_blank"> <i class="fab fa-youtube fa-2x"></i> </a> </div> </div> </div> <div class="col-md-5 mt-3 mt-md-0 d-flex align-items-center"> <form action="https://ayondo.com/en/subscribe" method="GET" class="w-100"> <div class="row w-100 g-0"> <div class="col-auto d-flex align-items-center pe-4"> <h5 class="text-white mb-0"> Newsletter </h5> </div> <div class="col"> <div class="input-group"> <input type="email" class="form-control" placeholder="Enter your email" aria-label="Enter your email" aria-describedby="button-newsletter-email" name="email"> <button class="btn btn-black" type="submit" id="button-newsletter-email"> <i class="fas fa-paper-plane"></i> </button> </div> </div> </div> </form> </div> </div> </div> </div> </div> <div class="bg-black" > <div class="bg-blue pt-4 text-white"> <div class="container-lg"> <div class="mb-2"> <p>ayondo® is a trademark of RSQ Technology Ventures GmbH ("RSQ"). RSQ is the operator of the Internet presence ayondo.com and its sub-sites. ayondo® as a brand represents a community of interest that is connected via a social network and common interests.</p><p>Financial literacy represents a key qualification. A key objective is to promote financial knowledge and financial literacy. The content published on the online portal is aimed at people who are interested in information and education in the field of investment, investing and trading and related topics. As a precautionary measure, we would like to point out that none of the content available on ayondo.com can be interpreted as a recommendation or invitation to buy or sell financial instruments, nor does it constitute any other advisory service. An explicit recommendation to use a particular service, information or financial instruments is not made.</p><p>Inasmuch as investment brokerage within the meaning of Section 2 (2) No. 3 of the German Securities Trading Act (WpIG) is provided via the online portal ayondo.com, RSQ acts as a contractually bound broker pursuant to Section 3 (2) WpIG. This service is provided exclusively for the account and under the liability of DonauCapital Wertpapier GmbH, Passauer Str. 5, 94161 Ruderting. In this case, the contractual partner of the customer is exclusively DonauCapital Wertpapier GmbH.</p><p>RSQ is entered as a contractually bound intermediary of DonauCapital Wertpapier GmbH in the public register maintained by the Federal Financial Supervisory Authority (BaFin) on the Internet. The register can be viewed at www.bafin.de.</p><p>If interested parties wish to take advantage of securities services with reference to CFD or FX trading, there is the option to consider offers from our cooperation partners for this purpose. Provided that this option is used, RSQ will broker trading accounts to the ActivTrades group of companies.</p> </div> <div class="text-end"> <a href="https://cybernord.se/" target="_blank" class="text-decoration-none"> <img src="https://ayondo.com/assets/illustration/protected-cybernord.png" alt="" style="width: 75px;" data-bs-toggle="tooltip" data-bs-title="protected by Proteo CyberDefence Shield ('PCDS')" data-bs-placement="left"> </a> </div> </div> </div> <div class="bg-blue text-white"> <div class=" py-4"> <div class="container-lg"> <hr> <div class="footer-blue-tinted p-2"> CFDs are complex instruments and come with a high risk of losing money rapidly due to leverage. Between 74% and 89% of all retail investor accounts lose money when trading CFDs. You should consider whether you understand how CFDs work and whether you can afford to take the high risk of losing your money. </div> </div> </div> </div> </div> <div class="bg-black font-open-sans border-top" style="border-color: rgba(255,255,255,0.25) !important;"> <div class="container-lg"> <div class="row"> <div class="col-auto text-grey-on-black d-flex align-items-center"> <a href="https://ayondo.com/en/about-us" class="btn btn-nav-bottom"> ©ayondo · THE Social Trading Pioneer · FinTech made in Germany · 2025 </a> </div> <div class="col"> <div class="row d-flex justify-content-end"> <div class="col-auto"> <a href="https://ayondo.com/en/legal" class="btn btn-nav-bottom">Consumer information</a> </div> <div class="col-auto"> <a href="https://ayondo.com/en/imprint" class="btn btn-nav-bottom">Imprint</a> </div> </div> </div> </div> </div> </div></footer> <div class="sticky-bottom animate__animated animate__slideInUp" style="display: none;" id="bottom-info-bar"> <div class="bottom-info-bar"> <div class="container-lg py-2"> <div class="row"> <div class="col"> <div id="bottom-info-bar-content" class="card-remove-p-margin-bottom ck-content"></div> </div> <div class="col-auto"> <a href="" id="btn-close-bottom-info-bar"> <i class="fas fa-times"></i> </a> </div> </div> </div> </div> </div> </div> <script src="https://ayondo.com/js/jquery-3.6.3.min.js"></script> <script src="https://ayondo.com/js/jquery.easy-ticker.min.js"></script> <script src="https://ayondo.com/js/lazysizes.min.js" async=""></script> <script src="https://ayondo.com/js/share.js"></script> <script> function number_format (number, decimals, dec_point, thousands_sep) { try { if(number == 0 || number === null){ return '0' + dec_point + '0'.repeat(decimals); } if(number === null || number == ''){ return ''; } // Strip all characters but numerical ones. number = (number + '').replace(/[^0-9+\-Ee.]/g, ''); var n = !isFinite(+number) ? 0 : +number, prec = !isFinite(+decimals) ? 0 : Math.abs(decimals), sep = (typeof thousands_sep === 'undefined') ? ',' : thousands_sep, dec = (typeof dec_point === 'undefined') ? '.' : dec_point, s = '', toFixedFix = function (n, prec) { var k = Math.pow(10, prec); return '' + Math.round(n * k) / k; }; // Fix for IE parseFloat(0.55).toFixed(0) = 0; s = (prec ? toFixedFix(n, prec) : '' + Math.round(n)).split('.'); if (s[0].length > 3) { s[0] = s[0].replace(/\B(?=(?:\d{3})+(?!\d))/g, sep); } if ((s[1] || '').length < prec) { s[1] = s[1] || ''; s[1] += new Array(prec - s[1].length + 1).join('0'); } return s.join(dec); } catch (err){ console.log(err); console.log(number); console.log(decimals); console.log(dec_point); console.log(thousands_sep); return number; } } function number_format_de(number, dec_places = 2){ return number_format(number, dec_places, ',', '.'); } function update_prices(){ if($('.stock-price').length || $('#vola-pos-number').length || $('#snapshot-dax').length || $('#snapshot-sp500').length || $('#snapshot-nasdaq').length || $('#snapshot-nasdaq-100').length || $('#snapshot-nikkei225').length || $('#snapshot-ftse-100').length || $('#snapshot-dow-jones').length|| $('#snapshot-asx-200').length || $('#snapshot-bitcoin').length || $('#snapshot-cac-40').length || $('#snapshot-eurostoxx-50').length || $('#snapshot-bovespa').length){ $.ajax({ type: 'POST', url: 'https://ayondo.com/en/ajax/stock-prices', dataType: 'json', success: function(response){ if(response.success){ for(var parent in response.stocks){ var list = response.stocks[parent]; list.forEach(function(item, idx){ $('.stock-price[data-symbol="' + item.symbol + '"][data-parent="' + parent + '"]').html(number_format_de(item.price)); if(item.symbol == 'VIX' && $('#vola-pos-pointer').length && $('#vola-pos-number').length){ $('#vola-pos-pointer').css('margin-left', 'calc(' + item.price + '% - 10px)'); $('#vola-pos-number').css('margin-left', 'calc(' + item.price + '% - 20px)'); $('#vola-pos-number').data('value', item.price); $('#vola-pos-number').html(number_format_de(item.price) + '%'); $('#vola-pos-pointer').show(); $('#vola-pos-number').show(); if($('#snapshot-vix').length){ // get last_vix var last_vix = $('#snapshot-vix-percent').data('last-vix'); if(typeof last_vix !== 'undefined'){ $('#snapshot-vix-number').html(number_format_de(item.price)); var change = (item.price - last_vix) / last_vix * 100; var formatted = (change >= 0 ? '+' : '') + number_format_de(change) + '%'; if(change >= 0){ formatted = '<i class="fas fa-caret-up me-1"></i> ' + formatted; } else { formatted = '<i class="fas fa-caret-down me-1"></i> ' + formatted; } $('#snapshot-vix-percent').html(formatted); $('#snapshot-vix-date').html(item.updated_at); if(change >= 0){ $('#snapshot-vix').css('background', '#850000'); } else { $('#snapshot-vix').css('background', '#5c6934'); } $('#snapshot-vix').addClass('text-white'); $('#snapshot-vix').show(); } if($('#vix-current-input').length){ $('#vix-current-input').val(item.price); var date = item.updated_at.split(' ')[0]; $('#vix-indicator-date').html(date); $('#vix-indicator-value').html(number_format_de(item.price)); var atl = $('#atl-value').data('value'); var ath = $('#ath-value').data('value'); var dist = ath - atl; var val_dist = item.price - atl; var percent_pos = val_dist / dist * 100; $('#vix-indicator').css('left', 'calc(' + percent_pos + '% - 65px)'); } } } if(item.symbol == 'DAX'){ if($('#snapshot-dax').length){ // get last_vix var last_dax = $('#snapshot-dax-percent').data('last-dax'); if(typeof last_dax !== 'undefined'){ $('#snapshot-dax-number').html(number_format_de(item.price)); var change = (item.price - last_dax) / last_dax * 100; // console.log(change); var formatted = (change >= 0 ? '+' : '') + number_format_de(change) + '%'; if(change >= 0){ formatted = '<i class="fas fa-caret-up me-1"></i> ' + formatted; } else { formatted = '<i class="fas fa-caret-down me-1"></i> ' + formatted; } $('#snapshot-dax-percent').html(formatted); $('#snapshot-dax-date').html(item.updated_at); if(change >= 0){ $('#snapshot-dax').css('background', '#5c6934'); } else { $('#snapshot-dax').css('background', '#850000'); } $('#snapshot-dax').addClass('text-white'); $('#snapshot-dax').show(); } if($('#dax-current-input').length){ $('#dax-current-input').val(item.price); var date = item.updated_at.split(' ')[0]; $('#dax-indicator-date').html(date); $('#dax-indicator-value').html(number_format_de(item.price)); var atl = $('#atl-value').data('value'); var ath = $('#ath-value').data('value'); var dist = ath - atl; var val_dist = item.price - atl; var percent_pos = val_dist / dist * 100; $('#dax-indicator').css('left', 'calc(' + percent_pos + '% - 65px)'); } } } if(item.disp == 'FTSE'){ if($('#snapshot-ftse-100').length){ // get last_vix var last_ftse_100 = $('#snapshot-ftse-100-percent').data('last-ftse-100'); if(typeof last_ftse_100 !== 'undefined'){ $('#snapshot-ftse-100-number').html(number_format_de(item.price)); var change = (item.price - last_ftse_100) / last_ftse_100 * 100; // console.log(change); var formatted = (change >= 0 ? '+' : '') + number_format_de(change) + '%'; if(change >= 0){ formatted = '<i class="fas fa-caret-up me-1"></i> ' + formatted; } else { formatted = '<i class="fas fa-caret-down me-1"></i> ' + formatted; } $('#snapshot-ftse-100-percent').html(formatted); $('#snapshot-ftse-100-date').html(item.updated_at); if(change >= 0){ $('#snapshot-ftse-100').css('background', '#5c6934'); } else { $('#snapshot-ftse-100').css('background', '#850000'); } $('#snapshot-ftse-100').addClass('text-white'); $('#snapshot-ftse-100').show(); } if($('#ftse-100-current-input').length){ $('#ftse-100-current-input').val(item.price); var date = item.updated_at.split(' ')[0]; $('#ftse-100-indicator-date').html(date); $('#ftse-100-indicator-value').html(number_format_de(item.price)); var atl = $('#atl-value').data('value'); var ath = $('#ath-value').data('value'); var dist = ath - atl; var val_dist = item.price - atl; var percent_pos = val_dist / dist * 100; $('#ftse-100-indicator').css('left', 'calc(' + percent_pos + '% - 65px)'); } } } if(item.disp == 'DOW'){ if($('#snapshot-dow-jones').length){ // get last_vix var last_dow_jones = $('#snapshot-dow-jones-percent').data('last-dow-jones'); if(typeof last_dow_jones !== 'undefined'){ $('#snapshot-dow-jones-number').html(number_format_de(item.price)); var change = (item.price - last_dow_jones) / last_dow_jones * 100; // console.log(change); var formatted = (change >= 0 ? '+' : '') + number_format_de(change) + '%'; if(change >= 0){ formatted = '<i class="fas fa-caret-up me-1"></i> ' + formatted; } else { formatted = '<i class="fas fa-caret-down me-1"></i> ' + formatted; } $('#snapshot-dow-jones-percent').html(formatted); $('#snapshot-dow-jones-date').html(item.updated_at); if(change >= 0){ $('#snapshot-dow-jones').css('background', '#5c6934'); } else { $('#snapshot-dow-jones').css('background', '#850000'); } $('#snapshot-dow-jones').addClass('text-white'); $('#snapshot-dow-jones').show(); } if($('#dow-jones-current-input').length){ $('#dow-jones-current-input').val(item.price); var date = item.updated_at.split(' ')[0]; $('#dow-jones-indicator-date').html(date); $('#dow-jones-indicator-value').html(number_format_de(item.price)); var atl = $('#atl-value').data('value'); var ath = $('#ath-value').data('value'); var dist = ath - atl; var val_dist = item.price - atl; var percent_pos = val_dist / dist * 100; $('#dow-jones-indicator').css('left', 'calc(' + percent_pos + '% - 65px)'); } } } if(item.disp == 'ASX200'){ if($('#snapshot-asx-200').length){ // get last_vix var last_asx = $('#snapshot-asx-200-percent').data('last-asx-200'); if(typeof last_asx !== 'undefined'){ $('#snapshot-asx-200-number').html(number_format_de(item.price)); var change = (item.price - last_asx) / last_asx * 100; // console.log(change); var formatted = (change >= 0 ? '+' : '') + number_format_de(change) + '%'; if(change >= 0){ formatted = '<i class="fas fa-caret-up me-1"></i> ' + formatted; } else { formatted = '<i class="fas fa-caret-down me-1"></i> ' + formatted; } $('#snapshot-asx-200-percent').html(formatted); $('#snapshot-asx-200-date').html(item.updated_at); if(change >= 0){ $('#snapshot-asx-200').css('background', '#5c6934'); } else { $('#snapshot-asx-200').css('background', '#850000'); } $('#snapshot-asx-200').addClass('text-white'); $('#snapshot-asx-200').show(); } if($('#asx-200-current-input').length){ $('#asx-200-current-input').val(item.price); var date = item.updated_at.split(' ')[0]; $('#asx-200-indicator-date').html(date); $('#asx-200-indicator-value').html(number_format_de(item.price)); var atl = $('#atl-value').data('value'); var ath = $('#ath-value').data('value'); var dist = ath - atl; var val_dist = item.price - atl; var percent_pos = val_dist / dist * 100; $('#asx-200-indicator').css('left', 'calc(' + percent_pos + '% - 65px)'); } } } if(item.symbol == 'USDBTC'){ if($('#snapshot-bitcoin').length){ // get last_bitcoin var last_bitcoin = $('#snapshot-bitcoin-percent').data('last-bitcoin'); if(typeof last_bitcoin !== 'undefined'){ $('#snapshot-bitcoin-number').html(number_format_de(item.price)); var change = (item.price - last_bitcoin) / last_bitcoin * 100; // console.log(change); var formatted = (change >= 0 ? '+' : '') + number_format_de(change) + '%'; if(change >= 0){ formatted = '<i class="fas fa-caret-up me-1"></i> ' + formatted; } else { formatted = '<i class="fas fa-caret-down me-1"></i> ' + formatted; } $('#snapshot-bitcoin-percent').html(formatted); $('#snapshot-bitcoin-date').html(item.updated_at); if(change >= 0){ $('#snapshot-bitcoin').css('background', '#5c6934'); } else { $('#snapshot-bitcoin').css('background', '#850000'); } $('#snapshot-bitcoin').addClass('text-white'); $('#snapshot-bitcoin').show(); } if($('#bitcoin-current-input').length){ $('#bitcoin-current-input').val(item.price); var date = item.updated_at.split(' ')[0]; $('#bitcoin-indicator-date').html(date); $('#bitcoin-indicator-value').html(number_format_de(item.price)); var atl = $('#atl-value').data('value'); var ath = $('#ath-value').data('value'); var dist = ath - atl; var val_dist = item.price - atl; var percent_pos = val_dist / dist * 100; $('#bitcoin-indicator').css('left', 'calc(' + percent_pos + '% - 65px)'); } } } if(item.disp == 'CAC'){ if($('#snapshot-cac-40').length){ // get last_vix var last_cac = $('#snapshot-cac-40-percent').data('last-cac-40'); if(typeof last_cac !== 'undefined'){ $('#snapshot-cac-40-number').html(number_format_de(item.price)); var change = (item.price - last_cac) / last_cac * 100; // console.log(change); var formatted = (change >= 0 ? '+' : '') + number_format_de(change) + '%'; if(change >= 0){ formatted = '<i class="fas fa-caret-up me-1"></i> ' + formatted; } else { formatted = '<i class="fas fa-caret-down me-1"></i> ' + formatted; } $('#snapshot-cac-40-percent').html(formatted); $('#snapshot-cac-40-date').html(item.updated_at); if(change >= 0){ $('#snapshot-cac-40').css('background', '#5c6934'); } else { $('#snapshot-cac-40').css('background', '#850000'); } $('#snapshot-cac-40').addClass('text-white'); $('#snapshot-cac-40').show(); } if($('#cac-40-current-input').length){ $('#cac-40-current-input').val(item.price); var date = item.updated_at.split(' ')[0]; $('#cac-40-indicator-date').html(date); $('#cac-40-indicator-value').html(number_format_de(item.price)); var atl = $('#atl-value').data('value'); var ath = $('#ath-value').data('value'); var dist = ath - atl; var val_dist = item.price - atl; var percent_pos = val_dist / dist * 100; $('#cac-40-indicator').css('left', 'calc(' + percent_pos + '% - 65px)'); } } } if(item.disp == 'EUROSTOXX'){ if($('#snapshot-eurostoxx-50').length){ // get last_vix var last_eurostoxx_50 = $('#snapshot-eurostoxx-50-percent').data('last-eurostoxx-50'); if(typeof last_eurostoxx_50 !== 'undefined'){ $('#snapshot-eurostoxx-50-number').html(number_format_de(item.price)); var change = (item.price - last_eurostoxx_50) / last_eurostoxx_50 * 100; // console.log(change); var formatted = (change >= 0 ? '+' : '') + number_format_de(change) + '%'; if(change >= 0){ formatted = '<i class="fas fa-caret-up me-1"></i> ' + formatted; } else { formatted = '<i class="fas fa-caret-down me-1"></i> ' + formatted; } $('#snapshot-eurostoxx-50-percent').html(formatted); $('#snapshot-eurostoxx-50-date').html(item.updated_at); if(change >= 0){ $('#snapshot-eurostoxx-50').css('background', '#5c6934'); } else { $('#snapshot-eurostoxx-50').css('background', '#850000'); } $('#snapshot-eurostoxx-50').addClass('text-white'); $('#snapshot-eurostoxx-50').show(); } if($('#eurostoxx-50-current-input').length){ $('#eurostoxx-50-current-input').val(item.price); var date = item.updated_at.split(' ')[0]; $('#eurostoxx-50-indicator-date').html(date); $('#eurostoxx-50-indicator-value').html(number_format_de(item.price)); var atl = $('#atl-value').data('value'); var ath = $('#ath-value').data('value'); var dist = ath - atl; var val_dist = item.price - atl; var percent_pos = val_dist / dist * 100; $('#eurostoxx-50-indicator').css('left', 'calc(' + percent_pos + '% - 65px)'); } } } if(item.disp == 'SP500'){ if($('#snapshot-sp500').length){ // get last_vix var last_record = $('#snapshot-sp500-percent').data('last-sp500'); if(typeof last_record !== 'undefined'){ $('#snapshot-sp500-number').html(number_format_de(item.price)); var change = (item.price - last_record) / last_record * 100; // console.log(change); var formatted = (change >= 0 ? '+' : '') + number_format_de(change) + '%'; if(change >= 0){ formatted = '<i class="fas fa-caret-up me-1"></i> ' + formatted; } else { formatted = '<i class="fas fa-caret-down me-1"></i> ' + formatted; } $('#snapshot-sp500-percent').html(formatted); $('#snapshot-sp500-date').html(item.updated_at); if(change >= 0){ $('#snapshot-sp500').css('background', '#5c6934'); } else { $('#snapshot-sp500').css('background', '#850000'); } $('#snapshot-sp500').addClass('text-white'); $('#snapshot-sp500').show(); } if($('#sp500-current-input').length){ $('#sp500-current-input').val(item.price); var date = item.updated_at.split(' ')[0]; $('#sp500-indicator-date').html(date); $('#sp500-indicator-value').html(number_format_de(item.price)); var atl = $('#atl-value').data('value'); var ath = $('#ath-value').data('value'); var dist = ath - atl; var val_dist = item.price - atl; var percent_pos = val_dist / dist * 100; $('#sp500-indicator').css('left', 'calc(' + percent_pos + '% - 65px)'); } } } if(item.disp == 'NASDAQ'){ if($('#snapshot-nasdaq').length){ // get last_vix var last_record = $('#snapshot-nasdaq-percent').data('last-nasdaq'); if(typeof last_record !== 'undefined'){ $('#snapshot-nasdaq-number').html(number_format_de(item.price)); var change = (item.price - last_record) / last_record * 100; // console.log(change); var formatted = (change >= 0 ? '+' : '') + number_format_de(change) + '%'; if(change >= 0){ formatted = '<i class="fas fa-caret-up me-1"></i> ' + formatted; } else { formatted = '<i class="fas fa-caret-down me-1"></i> ' + formatted; } $('#snapshot-nasdaq-percent').html(formatted); $('#snapshot-nasdaq-date').html(item.updated_at); if(change >= 0){ $('#snapshot-nasdaq').css('background', '#5c6934'); } else { $('#snapshot-nasdaq').css('background', '#850000'); } $('#snapshot-nasdaq').addClass('text-white'); $('#snapshot-nasdaq').show(); } if($('#nasdaq-current-input').length){ $('#nasdaq-current-input').val(item.price); var date = item.updated_at.split(' ')[0]; $('#nasdaq-indicator-date').html(date); $('#nasdaq-indicator-value').html(number_format_de(item.price)); var atl = $('#atl-value').data('value'); var ath = $('#ath-value').data('value'); var dist = ath - atl; var val_dist = item.price - atl; var percent_pos = val_dist / dist * 100; $('#nasdaq-indicator').css('left', 'calc(' + percent_pos + '% - 65px)'); } } } if(item.disp == 'NASDAQ-100'){ if($('#snapshot-nasdaq-100').length){ // get last_vix var last_record = $('#snapshot-nasdaq-100-percent').data('last-nasdaq-100'); if(typeof last_record !== 'undefined'){ $('#snapshot-nasdaq-100-number').html(number_format_de(item.price)); var change = (item.price - last_record) / last_record * 100; // console.log(change); var formatted = (change >= 0 ? '+' : '') + number_format_de(change) + '%'; if(change >= 0){ formatted = '<i class="fas fa-caret-up me-1"></i> ' + formatted; } else { formatted = '<i class="fas fa-caret-down me-1"></i> ' + formatted; } $('#snapshot-nasdaq-100-percent').html(formatted); $('#snapshot-nasdaq-100-date').html(item.updated_at); if(change >= 0){ $('#snapshot-nasdaq-100').css('background', '#5c6934'); } else { $('#snapshot-nasdaq-100').css('background', '#850000'); } $('#snapshot-nasdaq-100').addClass('text-white'); $('#snapshot-nasdaq-100').show(); } if($('#nasdaq-100-current-input').length){ $('#nasdaq-100-current-input').val(item.price); var date = item.updated_at.split(' ')[0]; $('#nasdaq-100-indicator-date').html(date); $('#nasdaq-100-indicator-value').html(number_format_de(item.price)); var atl = $('#atl-value').data('value'); var ath = $('#ath-value').data('value'); var dist = ath - atl; var val_dist = item.price - atl; var percent_pos = val_dist / dist * 100; $('#nasdaq-100-indicator').css('left', 'calc(' + percent_pos + '% - 65px)'); } } } if(item.disp == 'BOVESPA'){ if($('#snapshot-bovespa').length){ // get last_vix var last_record = $('#snapshot-bovespa-percent').data('last-bovespa'); if(typeof last_record !== 'undefined'){ $('#snapshot-bovespa-number').html(number_format_de(item.price)); var change = (item.price - last_record) / last_record * 100; // console.log(change); var formatted = (change >= 0 ? '+' : '') + number_format_de(change) + '%'; if(change >= 0){ formatted = '<i class="fas fa-caret-up me-1"></i> ' + formatted; } else { formatted = '<i class="fas fa-caret-down me-1"></i> ' + formatted; } $('#snapshot-bovespa-percent').html(formatted); $('#snapshot-bovespa-date').html(item.updated_at); if(change >= 0){ $('#snapshot-bovespa').css('background', '#5c6934'); } else { $('#snapshot-bovespa').css('background', '#850000'); } $('#snapshot-bovespa').addClass('text-white'); $('#snapshot-bovespa').show(); } if($('#bovespa-current-input').length){ $('#bovespa-current-input').val(item.price); var date = item.updated_at.split(' ')[0]; $('#bovespa-indicator-date').html(date); $('#bovespa-indicator-value').html(number_format_de(item.price)); var atl = $('#atl-value').data('value'); var ath = $('#ath-value').data('value'); var dist = ath - atl; var val_dist = item.price - atl; var percent_pos = val_dist / dist * 100; $('#bovespa-indicator').css('left', 'calc(' + percent_pos + '% - 65px)'); } } } if(item.disp == 'NIKKEI'){ if($('#snapshot-nikkei225').length){ // get last_vix var last_record = $('#snapshot-nikkei225-percent').data('last-nikkei225'); if(typeof last_record !== 'undefined'){ $('#snapshot-nikkei225-number').html(number_format_de(item.price)); var change = (item.price - last_record) / last_record * 100; console.log(item.price); console.log(last_record); console.log(change); var formatted = (change >= 0 ? '+' : '') + number_format_de(change) + '%'; if(change >= 0){ formatted = '<i class="fas fa-caret-up me-1"></i> ' + formatted; } else { formatted = '<i class="fas fa-caret-down me-1"></i> ' + formatted; } $('#snapshot-nikkei225-percent').html(formatted); $('#snapshot-nikkei225-date').html(item.updated_at); if(change >= 0){ $('#snapshot-nikkei225').css('background', '#5c6934'); } else { $('#snapshot-nikkei225').css('background', '#850000'); } $('#snapshot-nikkei225').addClass('text-white'); $('#snapshot-nikkei225').show(); } if($('#nikkei225-current-input').length){ $('#nikkei225-current-input').val(item.price); var date = item.updated_at.split(' ')[0]; $('#nikkei225-indicator-date').html(date); $('#nikkei225-indicator-value').html(number_format_de(item.price)); var atl = $('#atl-value').data('value'); var ath = $('#ath-value').data('value'); var dist = ath - atl; var val_dist = item.price - atl; var percent_pos = val_dist / dist * 100; $('#nikkei225-indicator').css('left', 'calc(' + percent_pos + '% - 65px)'); } } } }); } } else { console.log(response); } }, error: function(response){ console.log(response); } }) } } function copyToClipboard(text, el) { var copyTest = document.queryCommandSupported('copy'); var elOriginalText = el.attr('data-original-title'); if (copyTest === true) { var copyTextArea = document.createElement("textarea"); copyTextArea.value = text; document.body.appendChild(copyTextArea); copyTextArea.select(); try { var successful = document.execCommand('copy'); var msg = successful ? 'Copied!' : 'Whoops, not copied!'; // var msg = 'Whoops, not copied!'; el.attr('data-original-title', msg).tooltip('show'); // el.attr('data-original-title', msg).tooltip('hide'); } catch (err) { console.log(err); console.log('Oops, unable to copy'); } document.body.removeChild(copyTextArea); el.attr('data-original-title', elOriginalText); } else { // Fallback if browser doesn't support .execCommand('copy') window.prompt("Copy to clipboard: Ctrl+C or Command+C, Enter", text); } } function resize_svgs(){ $('.svg-container').each(function(){ var content = $(this).find('.svg-content'); var height = content.height(); $(this).css('padding-bottom', height + 'px'); }) } function countdown_onair(event_start_time, current_time, panel_gone_time){ // var total_sec_end = get_total_sec(event_start_time); // var total_sec_now = get_total_sec(current_time); var end = event_start_time.getTime(); var now = current_time.getTime(); var disappear = panel_gone_time.getTime(); // var end = new Date("Sep 25, 2025 15:00:00").getTime(); // Update the count down every 1 second var x = setInterval(function() { // Get todays date and time // var total_sec_now = new Date().getTime(); // total_sec_now += 1; now += 1000; // disappear += 1000; // Find the distance between now an the count down date // var distance = total_sec_end - total_sec_now; var distance = end - now; var distance_gone = disappear - now; // console.log(distance); // console.log(distance_gone / 1000); if(distance > 0){ // Time calculations for days, hours, minutes and seconds var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)); var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60)); var seconds = Math.floor((distance % (1000 * 60)) / 1000); // var hours = Math.floor((distance % (60 * 60 * 24)) / (60 * 60)); // var minutes = Math.floor((distance % (60 * 60)) / (60)); // var seconds = Math.floor((distance % (60)) / 1); $('#onair-event-hour').html(String(hours).padStart(2, '0')); $('#onair-event-minute').html(String(minutes).padStart(2, '0')); $('#onair-event-second').html(String(seconds).padStart(2, '0')); $('#onair-onair_counter_starts').show(); } $('#onair').show(); // If the count down is over, write some text if (distance <= 0) { $('#onair-onair_counter_starts').hide(); $('#onair-border .corner-border').removeClass('border-ddh_blue'); $('#onair-border .corner-border').addClass('border-onair_red'); // console.log('end'); } if(distance_gone <= 0){ clearInterval(x); $('#onair').hide(); } }, 1000); } function setup_onair(event, show = false){ $('#onair-event_title').html(event.title); var href = 'https://ayondo.com/en/events/' + event.guid + '/link'; // if(event.link_registration == ''){ // href = 'https://ayondo.com/en/events/' + event.guid + '/link'; // } $('#onair-onair_event_link').attr('href', href); $('#onair-onair_speaker').html(event.speaker_name); $('#onair-onair_speaker_photo').attr('src', event.speaker_photo); $('#onair-onair_speaker_description').attr('data-bs-title', event.speaker_description); if(event.tenant !== null && event.tenant.icon !== null){ var tenant = event.tenant; var a_href = $('#onair-onair_presented_by'); if(tenant.link !== null){ a_href.attr('href', tenant.link); } else { a_href.removeAttr('href'); } var img = a_href.find('img'); img.attr('src', tenant.icon); $('#onair-tenant-name').html(tenant.name); $('#onair-presented-by-wrapper').show(); } else { $('#onair-presented-by-wrapper').hide(); } if(show){ $('#onair').show(); } // setup_tooltips(); var tooltip = bootstrap.Tooltip.getOrCreateInstance(document.getElementById('onair-onair_speaker_description')); tooltip.setContent({ '.tooltip-inner': event.speaker_description }); tooltip.hide(); } function setup_tooltips(){ var tooltipTriggerList = document.querySelectorAll('[data-bs-toggle="tooltip"]'); var tooltipList = [...tooltipTriggerList].map(tooltipTriggerEl => { // var tooltip = new bootstrap.Tooltip(tooltipTriggerEl); var tooltip = bootstrap.Tooltip.getOrCreateInstance(tooltipTriggerEl); tooltip.hide(); }); } function setup_popovers(){ var popoverTriggerList = document.querySelectorAll('[data-bs-toggle="popover"]'); var popoverList = [...popoverTriggerList].map(popoverTriggerEl => new bootstrap.Popover(popoverTriggerEl)); } function sync_current_url(){ var current = window.location.href; var langs = ['en', 'de']; var base = 'https://ayondo.com'; var base_w_locale = 'https://ayondo.com/en'; var current_locale = 'en'; langs.forEach(function(l){ var res = current.replace(base_w_locale, base + '/' + l); $('.lang-selector[data-lang="' + l + '"]').attr('href', res); }); } $(document).ready(function(){ resize_svgs(); $.ajaxSetup({ headers: { "X-CSRF-TOKEN": '9ZjAN2d2YhdazCyj5tuv4sOZNIATL7SFXifSmSA3', }, }); // whats new var whats_new = localStorage.getItem("whats_new"); var btn_whats_new = $('#btn-whats-new'); if(whats_new === null || (whats_new !== null && btn_whats_new.data('latest-update') != whats_new)){ btn_whats_new.addClass('text-warning'); btn_whats_new.find('i').addClass('blob-whats-new'); $('.btn-whats-new').addClass('text-warning'); $('.btn-whats-new').find('i').addClass('blob-whats-new'); } btn_whats_new.on('click', function(){ localStorage.setItem("whats_new", btn_whats_new.data('latest-update')); }); $('#article-content iframe').on('load', function(){ var id = $(this).attr('id'); // console.log($('.iframe-loading[data-iframe-id="' + id + '"]')); $('.iframe-loading[data-iframe-id="' + id + '"]').removeClass('d-flex'); $('.iframe-loading[data-iframe-id="' + id + '"]').addClass('d-none'); $(this).show(); }) update_prices(); var interval = window.setInterval(function(){ update_prices(); }, 10 * 60 * 1000); if($('.treadmill').length){ var interval = 7000; if(typeof $('.treadmill').data('interval') != 'undefined'){ interval = $('.treadmill').data('interval'); } $('.navbar-top-white-treadmill').show(); $('.treadmill').easyTicker({ direction: 'up', easing: 'swing', speed: 'slow', interval: interval, height: 'auto', visible: 1, mousePause: true, autoplay: true, controls: { up: '', down: '', toggle: '', playText: 'Play', stopText: 'Stop' }, callbacks: { before: false, after: false, finish: false } }); } if($('#swiper-hero').length){ var swiper = new Swiper('#swiper-hero', { spaceBetween: 30, autoplay: { delay: 5000, disableOnInteraction: true, }, loop: true, noSwiping: true, }); } $(window).scroll(function (event) { var scroll = $(window).scrollTop(); var navbar = $('#top-nav-bottom'); var background = navbar.data('background'); if(typeof background !== 'undefined'){ if(scroll >= 150){ navbar.addClass('remove-bg-image'); } else { console.log(scroll); console.log(background); navbar.removeClass('remove-bg-image'); } } }); setup_tooltips(); setup_popovers(); $('.toggle-cookiebot').click(function(event){ event.preventDefault(); // Cookiebot.renew(); $('#ccc-icon').trigger('click'); }); $(document).on('click', '.js-copy', function() { var text = $(this).attr('data-copy'); var el = $(this); copyToClipboard(text, el); }); $(window).on('resize', function(){ // console.log('hey'); resize_svgs(); }) if($('#onair').length){ $.ajax({ type: 'GET', dataType: 'json', url: 'https://ayondo.com/en/events/onair', data: { referrer: 'market-news.equity-story.detail' }, success: function(response) { if (response.success) { // console.log(response); if(response.event !== null){ var event = response.event; // var start_time = new Date(response.onair_date + ' ' + event.onair_starts); // var current_time = new Date(response.current_datetime); // var panel_gone_time = new Date(event.panel_gone_at); var start_time = new Date(event.start); var current_time = new Date(response.current_datetime); var panel_gone_time = new Date(event.panel_gone); if(response.status == 'pending'){ // console.log(panel_gone_time); countdown_onair(start_time, current_time, panel_gone_time); setup_onair(event, true); // $('#onair-border .corner-border').removeClass('border-ddh_blue'); // $('#onair-border .corner-border').addClass('border-' + event.onair_color_pending); } else if(response.status == 'started') { countdown_onair(start_time, current_time, panel_gone_time); setup_onair(event, true); $('#onair-border .corner-border').removeClass('border-ayon_blue'); $('#onair-border .corner-border').addClass('border-onair_red'); } } else { $('#onair').hide(); } } }, error: function(response) { console.log(response); } }) } $('.cbo-toggle-input').change(function(){ var checked = $(this).is(':checked'); var input_id = $(this).data('connected-input-id'); var input = $('#' + input_id); if(input.length){ input.prop('disabled', !checked); if(checked){ input.focus(); } } }); if($('#onair-teaser').length){ function countdown_onair_teaser(event_start_time, current_time, panel_gone_time){ // var total_sec_end = get_total_sec(event_start_time); // var total_sec_now = get_total_sec(current_time); var end = event_start_time.getTime(); var now = current_time.getTime(); var disappear = panel_gone_time.getTime(); // var end = new Date("Sep 25, 2025 15:00:00").getTime(); // Update the count down every 1 second var x = setInterval(function() { // Get todays date and time // var total_sec_now = new Date().getTime(); // total_sec_now += 1; now += 1000; // disappear += 1000; // Find the distance between now an the count down date // var distance = total_sec_end - total_sec_now; var distance = end - now; var distance_gone = disappear - now; // console.log(distance); // console.log(distance_gone / 1000); if(distance > 0){ // Time calculations for days, hours, minutes and seconds var days = Math.floor(distance / (1000 * 60 * 60 * 24)); var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)); var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60)); var seconds = Math.floor((distance % (1000 * 60)) / 1000); // var hours = Math.floor((distance % (60 * 60 * 24)) / (60 * 60)); // var minutes = Math.floor((distance % (60 * 60)) / (60)); // var seconds = Math.floor((distance % (60)) / 1); if(days > 0){ $('#onair-teaser-event-day').html(days); if(days == 1){ $('#onair-teaser-event-day-singular').show(); $('#onair-teaser-event-day-plural').hide(); } else { $('#onair-teaser-event-day-plural').show(); $('#onair-teaser-event-day-singular').hide(); } $('#onair-teaser-event-day-wrapper').show(); } else { $('#onair-teaser-event-day-wrapper').hide(); } $('#onair-teaser-event-hour').html(String(hours).padStart(2, '0')); $('#onair-teaser-event-minute').html(String(minutes).padStart(2, '0')); $('#onair-teaser-event-second').html(String(seconds).padStart(2, '0')); $('#onair-teaser-onair_counter_starts').show(); } $('#onair-teaser').show(); // If the count down is over, write some text if (distance <= 0) { $('#onair-teaser-onair_counter_starts').hide(); $('#onair-teaser-border .corner-border').removeClass('border-ddh_blue'); $('#onair-teaser-border .corner-border').addClass('border-onair_red'); // console.log('end'); } if(distance_gone <= 0){ clearInterval(x); $('#onair-teaser').hide(); } }, 1000); } function setup_onair_teaser(event, show = false){ if(event.onair_prime == '1'){ $('#onair-teaser-onair_prime').show(); } $('#onair-teaser-onair_label').html(event.onair_label); $('#onair-teaser-onair_type').html(event.onair_type); $('#onair-teaser-onair_product').html(event.onair_product); if(event.onair_product === null){ $('#onair-teaser-type-and-product-separator').hide(); } else { $('#onair-teaser-type-and-product-separator').show(); } if(event.onair_caption !== null){ $('#onair-teaser-onair_caption').html(event.onair_caption); $('#onair-teaser-onair_caption').show(); } else { $('#onair-teaser-onair_caption').hide(); } $('#onair-teaser-onair_referent').html(event.onair_referent); $('#onair-teaser-onair_title').html(event.onair_title); var register_url = 'https://ayondo.com/en/event-onair/' + event.id + '/register'; $('#onair-teaser-onair_bio_lnk').attr('href', event.onair_bio_lnk); // $('#onair-teaser-onair_bio_lnk').attr('href', register_url); $('#onair-teaser-onair_presented_by').attr('href', event.onair_presented_by_lnk); $('#onair-teaser-onair_presented_by').html(event.onair_presented_by); $('#onair-teaser-onair_supported_by').attr('href', event.onair_supported_by_lnk); $('#onair-teaser-onair_supported_by').html(event.onair_supported_by); // $('#onair-teaser-onair_event_link').attr('href', event.onair_event_link); $('#onair-teaser-onair_event_link').attr('href', register_url); $('#onair-teaser-onair_title_wrapper').attr('href', register_url); if(show){ $('#onair-teaser').show(); } } // get onair events $.ajax({ type: 'GET', dataType: 'json', url: 'https://ayondo.com/en/event-onair/get-events', data: { route_name: 'market-news.equity-story.detail' }, success: function(response) { if (response.success) { // console.log(response); if(response.event !== null){ var event = response.event; if(event.onair_permanent == 0){ var start_time = new Date(response.onair_date + ' ' + event.onair_starts); var current_time = new Date(response.current_datetime); var panel_gone_time = new Date(event.panel_gone_at); if(response.status == 'pending'){ // console.log(panel_gone_time); countdown_onair_teaser(start_time, current_time, panel_gone_time); setup_onair_teaser(event); // $('#onair-teaser-border .corner-border').removeClass('border-ayon_blue'); // $('#onair-teaser-border .corner-border').addClass('border-' + event.onair_color_pending); $('#onair-teaser-corner-border').css('border-color', event.onair_color_pending); $('#onair-teaser-corner-border span').css('border-color', event.onair_color_pending); $('#onair-teaser-corner-border span').css('color', event.onair_color_pending); $('#onair-teaser-corner-border .blob-onair').css('background', event.onair_color_pending); } else if(response.status == 'started') { countdown_onair_teaser(start_time, current_time, panel_gone_time); setup_onair_teaser(event); // $('#onair-teaser-border .corner-border').removeClass('border-ayon_blue'); // $('#onair-teaser-border .corner-border').addClass('border-' + event.onair_color_running); $('#onair-teaser-corner-border').css('border-color', event.onair_color_running); $('#onair-teaser-corner-border span').css('border-color', event.onair_color_running); $('#onair-teaser-corner-border span').css('color', event.onair_color_running); $('#onair-teaser-corner-border .blob-onair').css('background', event.onair_color_running); } } else { setup_onair_teaser(event, true); // $('#onair-teaser-border .corner-border').removeClass('border-ayon_blue'); // $('#onair-teaser-border .corner-border').addClass('border-' + event.onair_color_running); $('#onair-teaser-corner-border').css('border-color', event.onair_color_running); $('#onair-teaser-corner-border span').css('border-color', event.onair_color_running); $('#onair-teaser-corner-border span').css('color', event.onair_color_running); $('#onair-teaser-corner-border .blob-onair').css('background', event.onair_color_running); } } } }, error: function(response) { console.log(response); } }) // end get onair events } $('.textarea-with-char-left').keyup(function(){ var val = $(this).val(); var length = val.length; var max = $(this).attr('maxlength'); var left = max - length; var span_char_left = $(this).parent().find('.char-left'); if(left < 0){ val = val.substr(0, max); left = max - length; $(this).val(val); span_char_left.html(left); } span_char_left.html(left); }); var btn_cta_proceed = document.getElementById('btn-cta-proceed-wrapper'); var btn_cta_proceed_tooltip = new bootstrap.Tooltip(btn_cta_proceed, {}); $('.cta-cbo-accept').change(function(){ var btn = $('#btn-cta-proceed'); var checked = $('.cta-cbo-accept:checked').length == 2; if(checked){ btn.attr('aria-disabled', false); btn.removeClass('disabled'); btn_cta_proceed_tooltip.disable(); } else { btn.attr('aria-disabled', true); btn.addClass('disabled'); btn_cta_proceed_tooltip.enable(); } }); var modal_cta = new bootstrap.Modal(document.getElementById('modal-cta')); var btn_trigger_modal = null; $(document).on('click', '.btn-cta-modal:not(.direct)', function(e){ e.preventDefault(); var btn = $(this); var partner = btn.data('partner'); var button = btn.html().trim(); if(btn.find('.fw-bold').length){ button = btn.find('.fw-bold').html().trim(); } $('.modal-cta-content-button').html(button); $('.modal-cta-content-partner').html(partner); var href = btn.attr('href'); $('#btn-cta-proceed').attr('href', href); modal_cta.show(); btn_trigger_modal = btn; btn.removeClass('btn-success'); btn.addClass('btn-danger'); }); $('#btn-cta-proceed').click(function(){ modal_cta.hide(); var stored = localStorage.accepted_ctas; var new_stored = []; if(typeof stored !== 'undefined' && stored !== null){ new_stored = JSON.parse(stored); } var href = $(this).attr('href'); if(!new_stored.includes(href)){ new_stored.push(href); } localStorage.accepted_ctas = JSON.stringify(new_stored); $('.btn-cta-modal[href="' + href + '"]').addClass('direct'); }); $(".shake-hover").hover(function(){ $(this).addClass('animate__animated animate__headShake'); }); $(".shake-hover").bind("animationend webkitAnimationEnd oAnimationEnd MSAnimationEnd",function(){ $(this).removeClass('animate__animated animate__headShake'); }); $('.letters-only').on('input', function(event) { var val = $(this).val(); var pattern = /^[\p{L}\s]+$/u; var parent = $(this).parent(); var invalid_feedback = parent.find('.invalid-feedback'); var label = invalid_feedback.data('label'); if (!pattern.test(val) && val != '') { // event.preventDefault(); // alert('Only letters are allowed!'); var err = 'Letters only for :attribute'; err = err.replace(':attribute', label); invalid_feedback.html(err); $(this).addClass('is-invalid'); } else { invalid_feedback.html(''); $(this).removeClass('is-invalid'); } }); var collapsible_hero = document.getElementById('hero-wrapper'); if(collapsible_hero !== null){ collapsible_hero.addEventListener('hidden.bs.collapse', function(e){ var btn = $('#btn-toggle-hero'); btn.html('<i class="fas fa-arrow-turn-down"></i> Show hero'); set_cookie_header_open(0); }); collapsible_hero.addEventListener('shown.bs.collapse', function(e){ var btn = $('#btn-toggle-hero'); btn.html('<i class="fas fa-arrow-turn-up"></i> Hide hero'); set_cookie_header_open(1); }); } var collapsible_info = document.getElementById('collapse-info'); if(collapsible_info !== null){ collapsible_info.addEventListener('hidden.bs.collapse', event => { $('#btn-collapse-info').find('i').removeClass('fa-angle-up'); $('#btn-collapse-info').find('i').addClass('fa-angle-down'); }); collapsible_info.addEventListener('shown.bs.collapse', event => { $('#btn-collapse-info').find('i').removeClass('fa-angle-down'); $('#btn-collapse-info').find('i').addClass('fa-angle-up'); }); } function set_cookie_header_open(header_open){ $.ajax({ type: 'GET', url: 'https://ayondo.com/en/set-cookie-hero-open?header_open=' + header_open, success: function(response){ // console.log(response); }, error: function(response){ // console.log(response); } }) } // modal_cta.on('hidden.bs.modal', function(){ // $('#cbo_cta_1').prop('checked', false); // $('#cbo_cta_2').prop('checked', false); // $('#cbo_cta_1').trigger('change'); // }); document.getElementById('modal-cta').addEventListener('hidden.bs.modal', function(event){ $('#cbo_cta_1').prop('checked', false); $('#cbo_cta_2').prop('checked', false); $('#cbo_cta_1').trigger('change'); btn_trigger_modal.removeClass('btn-danger'); btn_trigger_modal.addClass('btn-success'); }); var accepted_ctas = localStorage.accepted_ctas; if(typeof accepted_ctas !== 'undefined' && accepted_ctas !== null){ accepted_ctas = JSON.parse(accepted_ctas); accepted_ctas.forEach(function(item){ $('.btn-cta-modal[href="' + item + '"]').addClass('direct'); }); } var collapsibles = document.querySelectorAll('.collapsibles'); collapsibles.forEach(function(el){ el.addEventListener('hidden.bs.collapse', function(e){ var id = $(this).attr('data-button-id'); var btn = $('#' + id); var icon = btn.find('i'); icon.attr('class', 'fas fa-chevron-down'); }); el.addEventListener('shown.bs.collapse', function(e){ var id = $(this).attr('data-button-id'); var btn = $('#' + id); var icon = btn.find('i'); icon.attr('class', 'fas fa-chevron-up'); }); }); $('.btn-close-silent-ad').click(function(){ $('.silent-ad').hide(); }); if($('#btn-drawer-ad').length){ var btn_drawer_ad = $('#btn-drawer-ad'); var delay = 0; if(btn_drawer_ad.data('button-delay')){ delay = parseInt(btn_drawer_ad.data('button-delay')); setTimeout(function () { btn_drawer_ad.fadeIn(); if($('#drawer-ad-bell').length && $('#drawer-ad-bell').data('is-shaking')){ $('#drawer-ad-bell').find('i').addClass('animate__animated animate__headShake'); } }, delay * 1000); } else { if($('#drawer-ad-bell').length && $('#drawer-ad-bell').data('is-shaking')){ $('#drawer-ad-bell').find('i').addClass('animate__animated animate__headShake'); } } if(btn_drawer_ad.data('button-disappear')){ disappear = parseInt(btn_drawer_ad.data('button-disappear')) + delay; setTimeout(function () { btn_drawer_ad.fadeOut(); }, disappear * 1000); } if(btn_drawer_ad.hasClass('shake-scroll')){ var isScrolling; $(window).on('scroll', function() { btn_drawer_ad.addClass('animate__animated animate__headShake'); // Clear our timeout throughout the scroll clearTimeout(isScrolling); // Set a timeout to run after scrolling ends isScrolling = setTimeout(function() { btn_drawer_ad.removeClass('animate__animated animate__headShake'); }, 150); // Adjust the timeout delay as needed }); } $('#btn-drawer-ad').click(function(){ $('#drawer-ad').removeClass('animate__slideOutRight'); $('#drawer-ad').addClass('animate__slideInRight'); $('#drawer-ad').show(); $('#drawer-backdrop').show(); $('body').css('overflow', 'hidden'); }); $('#btn-drawer-ad-hide, #drawer-backdrop').click(function(e){ e.preventDefault(); // $('#drawer-ad').hide(); $('#drawer-ad').removeClass('animate__slideInRight'); $('#drawer-ad').addClass('animate__slideOutRight'); // $('#drawer-backdrop').fadeOut(); $('body').css('overflow', ''); }) } if($('#floating-ad-right-box').length){ var right_box = $('#floating-ad-right-box'); var trigger_button = $('#infohub-360-ad-button'); var box = $('#infohub-360-ad-box'); var close_button = $('#btn-floating-ad-close'); right_box.click(function(e){ e.preventDefault(); right_box.fadeOut(); box.fadeIn(); $([document.documentElement, document.body]).animate({ scrollTop: box.offset().top - $('#navbar-wrapper').height() }, 'fast'); }); close_button.click(function(e){ e.preventDefault(); box.fadeOut(); right_box.fadeIn(); }); } function activateEventsHeaderButtons(){ let $items = $('#events-header-top-content .event-header-top-item'); // Get all items let currentIndex = $items.index($items.not('.d-none')); // Find the currently visible item // console.log('currentIndex', currentIndex); // console.log('notDnone', $items); // Function to show a specific item function showEventItem(index) { $items.addClass('d-none'); // Hide all items $items.eq(index).removeClass('d-none'); // Show the desired item updateButtons(); } function updateButtons() { if(currentIndex === 0){ $('#btn-events-header-top-prev').addClass('disabled text-muted border-0'); } else { $('#btn-events-header-top-prev').removeClass('disabled text-muted border-0'); } if(currentIndex === $items.length - 1){ $('#btn-events-header-top-next').addClass('disabled text-muted border-0'); } else { $('#btn-events-header-top-next').removeClass('disabled text-muted border-0'); } // $('#btn-events-header-top-prev').prop('disabled', currentIndex === 0); // Disable "Prev" at start // $('#btn-events-header-top-next').prop('disabled', currentIndex === $items.length - 1); // Disable "Next" at end } $(document).on('click', '#btn-events-header-top-next', function(){ // console.log('prev'); // console.log('currentIndex', currentIndex); if (currentIndex < $items.length - 1) { // Check bounds currentIndex++; showEventItem(currentIndex); } }); $(document).on('click', '#btn-events-header-top-prev', function(){ // console.log('next'); // console.log('currentIndex', currentIndex); if (currentIndex > 0) { // Check bounds currentIndex--; showEventItem(currentIndex); } }); } // load events header top $.ajax({ type: 'POST', url: 'https://ayondo.com/en/events-header-top/ajax', success: function(response){ if(response.success){ const popover = bootstrap.Popover.getOrCreateInstance('#btn-toggle-events-header-top', { html: true, }) // Returns a Bootstrap popover instance popover.setContent({ '.popover-body': response.html // Set raw HTML content }); // setContent example // popover.setContent({ // '.popover-body': document.createRange().createContextualFragment(response.html) // }); $('#btn-toggle-events-header-top').parent().show(); document.getElementById('btn-toggle-events-header-top').addEventListener('shown.bs.popover', function(){ activateEventsHeaderButtons(); }); } else { console.log(response); } }, error: function(response){ console.log(response); } }) $('#corp-cards-10-btn-generate').click(function(e){ e.preventDefault(); $(this).hide(); $('#corp-cards-10-code').show(); }); $('.btn-outline-underline-toggle').hover( function() { var underline = $(this).parent().find('.btn-outline-underline'); underline.css('visibility', 'visible'); }, function() { var underline = $(this).parent().find('.btn-outline-underline'); underline.css('visibility', 'hidden'); } ); $(document).on('click', '.btn-mql-ai-ad', function(){ var step = $(this).data('next-step'); $('.mql-ai-ad-steps').hide(); $('#mql-ai-ad-step-' + step).show(); }); $(document).on('click', '#btn-mql-ai-ad-close', function(e){ e.preventDefault(); $('#mql-ai-ad').hide(); }); $(document).on('click', '#btn-mql-ai-ad-check', function(){ $('.mql-ai-ad-check-result').hide(); $('#mql-ai-ad-check-result-broker').html(''); var val = $('#select-mql-ai-ad').val(); if(val == ''){ $('#select-mql-ai-ad')[0].reportValidity(); return false; } $.ajax({ type: 'POST', url: 'https://ayondo.com/en/lab/shark-alpha/mql-ai-generator/check-broker', data: { broker_id: val, }, success: function(response){ if(response.success){ var is_approved = response.is_approved; if(is_approved){ $('#btn-mql-ai-ad-check-result-failed').hide(); $('#btn-mql-ai-ad-check-result-success').show(); } else { $('#btn-mql-ai-ad-check-result-failed').show(); $('#btn-mql-ai-ad-check-result-success').hide(); } } else { $('#btn-mql-ai-ad-check-result-failed').show(); $('#btn-mql-ai-ad-check-result-success').hide(); } }, error: function(response){ $('#btn-mql-ai-ad-check-result-failed').show(); $('#btn-mql-ai-ad-check-result-success').hide(); } }) }); $(document).on('click', '.btn-products-ad', function(){ var step = $(this).data('next-step'); $('.products-ad-steps').hide(); $('#products-ad-step-' + step).show(); }); $(document).on('click', '#btn-products-ad-close', function(e){ e.preventDefault(); $('#products-ad').hide(); }); $(document).on('click', '#btn-products-ad-check', function(){ }); }); </script> <script> $(document).ready(function(){ $('input[name="issue_happen_on"]').change(function(){ var checked_opt = $('input[name="issue_happen_on"]:checked').val(); if(checked_opt == 'this_page'){ $('#report-bug-page_url').prop('required', false); $('#report-bug-page_url').parent().parent().hide(); } else { $('#report-bug-page_url').prop('required', true); $('#report-bug-page_url').parent().parent().show(); } }); $('#form-report-bug').on('submit', function(e){ e.preventDefault(); $('#btn-submit-report-bug').trigger('click'); }); $('#btn-submit-report-bug').click(function(){ var valid = true; $('#form-report-bug :input[required]').each(function(){ if(!this.validity.valid) { console.log($(this)); $(this).focus(); this.reportValidity(); valid = false; return false; } }); if(valid){ $('#form-report-bug textarea[required]').each(function(){ if(!this.validity.valid) { console.log($(this)); $(this).focus(); this.reportValidity(); valid = false; return false; } }); } if(!valid){ return; } var btn = $(this); btn.html('<i class="fas fa-spin fa-rotate"></i> Submitting issue'); btn.prop('disabled', true); var form = new FormData($('#form-report-bug')[0]); $('.invalid-feedback').html(''); $('input').removeClass('is-invalid'); $('textarea').removeClass('is-invalid'); $.ajax({ type: 'POST', url: 'https://ayondo.com/en/report-bug', data: form, processData: false, contentType: false, success: function(response){ if(response.success){ location.reload(); } else { btn.html('Submit issue'); btn.prop('disabled', false); } }, error: function(res){ var response = res.responseJSON; for(var prop in response.errors){ var input = $('#report-bug-' + prop); var invalid_feedback = input.parent().find('.invalid-feedback'); // console.log(input); // console.log(invalid_feedback); // if(invalid_feedback.length == 0){ // input.parent().append('<span class="invalid-feedback"></span>'); // invalid_feedback = input.parent().find('.invalid-feedback'); // } // console.log(invalid_feedback); input.addClass('is-invalid'); invalid_feedback.html(response.errors[prop]); input.focus(); } btn.html('Submit issue'); btn.prop('disabled', false); } }) }) }) </script> <script> $(document).ready(function(){ $('#suggest-feature-anon').change(function(){ var checked = $(this).is(':checked'); if(checked){ $('#form-suggest-feature-content').show(); $('#modal-suggest-feature-footer').show(); } else { $('#form-suggest-feature-content').hide(); $('#modal-suggest-feature-footer').hide(); } }); $('.suggest-feature-page').change(function(){ var checked = $('.suggest-feature-page:checked'); if(checked.length == 0){ return; } var val_checked = checked.val(); if(val_checked == 'this_page'){ $('#suggest-feature-page_url').prop('required', false); $('#suggest-feature-page_url').parent().parent().hide(); } else { $('#suggest-feature-page_url').prop('required', true); $('#suggest-feature-page_url').parent().parent().show(); } }); $('#form-suggest-feature').on('submit', function(e){ e.preventDefault(); $('#btn-submit-suggest-feature').trigger('click'); }); $('#btn-submit-suggest-feature').click(function(){ var valid = true; $('#form-suggest-feature :input[required]').each(function(){ if(!this.validity.valid) { console.log($(this)); $(this).focus(); this.reportValidity(); valid = false; return false; } }); if(valid){ $('#form-suggest-feature textarea[required]').each(function(){ if(!this.validity.valid) { console.log($(this)); $(this).focus(); this.reportValidity(); valid = false; return false; } }); } if(!valid){ return; } var btn = $(this); btn.html('<i class="fas fa-spin fa-rotate"></i> Submitting Form'); btn.prop('disabled', true); // var form = new FormData($('#form-suggest-feature')[0]); // $('.invalid-feedback').html(''); $('#form-suggest-feature input').removeClass('is-invalid'); $('#form-suggest-feature textarea').removeClass('is-invalid'); $.ajax({ type: 'POST', url: 'https://ayondo.com/en/suggest-feature', data: $('#form-suggest-feature').serialize(), // processData: false, // contentType: false, success: function(response){ if(response.success){ location.reload(); } else { btn.html('Submit form'); btn.prop('disabled', false); } }, error: function(res){ var response = res.responseJSON; for(var prop in response.errors){ var input = $('#suggestfeature-' + prop); var invalid_feedback = input.parent().find('.invalid-feedback'); // console.log(input); // console.log(invalid_feedback); // if(invalid_feedback.length == 0){ // input.parent().append('<span class="invalid-feedback"></span>'); // invalid_feedback = input.parent().find('.invalid-feedback'); // } // console.log(invalid_feedback); input.addClass('is-invalid'); invalid_feedback.html(response.errors[prop]); input.focus(); } btn.html('Submit form'); btn.prop('disabled', false); } }) }); }) </script> <script> var swal = null; var popup_data = null; function trigger_swal(wait){ if(swal !== null){ var closed_popups = []; var dont_show_popups = []; var today = new Date(); var year = today.getFullYear(); var month = String(today.getMonth() + 1).padStart(2, '0'); // Months are zero-based, so we add 1 var day = String(today.getDate()).padStart(2, '0'); var formatted_date = `${year}-${month}-${day}`; var closed_popups_date = localStorage.getItem("closed_popups_date"); if(closed_popups_date != formatted_date){ localStorage.setItem("closed_popups_date", formatted_date); localStorage.setItem("closed_popups", JSON.stringify([])); } if(localStorage.getItem("closed_popups") !== null){ closed_popups = JSON.parse(localStorage.getItem("closed_popups")); } if(localStorage.getItem("dont_show_popups") !== null){ dont_show_popups = JSON.parse(localStorage.getItem("dont_show_popups")); } setTimeout(function() { // console.log(popup_data.appear_after_close); // console.log(!closed_popups.includes(swal.id)); // console.log(dont_show_popups.includes(swal.id)); if(popup_data.appear_after_close || (!closed_popups.includes(popup_data.id) && !dont_show_popups.includes(popup_data.id))){ Swal.fire(swal).then(function(result){ closed_popups.push(popup_data.id); if($('#cbo_popup_dont_show').length && $('#cbo_popup_dont_show').is(':checked')){ dont_show_popups.push(popup_data.id); } localStorage.setItem("closed_popups", JSON.stringify(closed_popups)); localStorage.setItem("dont_show_popups", JSON.stringify(dont_show_popups)); }); } }, wait * 1000); } } function init_treadmill(info_bar){ var items = info_bar.items; var html = '<div class="treadmill-info-bar">'; html += '<div>'; html += '<div>' + info_bar.content['en'] + '</div>'; items.forEach(function(item){ html += '<div>' + item.content['en'] + '</div>'; }); html += '</div>'; html += '</div>'; $('#' + info_bar.position + '-info-bar-content').html(html); if($('.treadmill-info-bar').length){ var interval = info_bar.wait_time * 1000; if(typeof $('.treadmill-info-bar').data('interval') != 'undefined'){ interval = $('.treadmill-info-bar').data('interval'); } $('.treadmill-info-bar').easyTicker({ direction: 'up', easing: 'swing', speed: 'slow', interval: interval, height: 'auto', visible: 1, mousePause: true, autoplay: true, controls: { up: '', down: '', toggle: '', playText: 'Play', stopText: 'Stop' }, callbacks: { before: false, after: false, finish: false } }); } } function trigger_info_bar(info_bar){ if(info_bar !== null){ var closed_infobars = []; var today = new Date(); var year = today.getFullYear(); var month = String(today.getMonth() + 1).padStart(2, '0'); // Months are zero-based, so we add 1 var day = String(today.getDate()).padStart(2, '0'); var formatted_date = `${year}-${month}-${day}`; var closed_infobars_date = localStorage.getItem("closed_infobars_date"); if(closed_infobars_date != formatted_date){ localStorage.setItem("closed_infobars_date", formatted_date); localStorage.setItem("closed_infobars", JSON.stringify([])); } if(localStorage.getItem("closed_infobars") !== null){ closed_infobars = JSON.parse(localStorage.getItem("closed_infobars")); } var position = info_bar.position; $('#btn-close-'+position+'-info-bar').data('infobar-id', info_bar.id); if(info_bar.is_permanent){ $('#btn-close-' + info_bar.position + '-info-bar').parent().hide(); } setTimeout(function() { if(info_bar.appear_after_close || !closed_infobars.includes(info_bar.id)){ var theme = 'blue'; var allowed_themes = ['blue', 'white']; if(allowed_themes.includes(info_bar.theme)){ theme = info_bar.theme; } $('#'+position+'-info-bar').find('.'+position+'-info-bar').addClass(position + '-info-bar-' + theme); $('#'+position+'-info-bar-content').html(info_bar.content['en']); $('#'+position+'-info-bar').show(); if(info_bar.items.length){ init_treadmill(info_bar); } if(info_bar.idle_time !== null){ setTimeout(function() { $('#btn-close-'+position+'-info-bar').trigger('click'); }, info_bar.idle_time * 1000); } } }, info_bar.wait_time * 1000); } } $(document).ready(function(){ var route = 'market-news.equity-story.detail'; var uri = 'news/CH0033361673/u-blox-ag/u-blox-reports-resilient-results-in-2023-1851941'; var uri_w_param = 'news/CH0033361673/u-blox-ag/u-blox-reports-resilient-results-in-2023-1851941'; $.ajax({ type: 'POST', url: 'https://ayondo.com/en/get-pop-up', data: { route: route, uri: uri, uri_w_param: uri_w_param, }, success: function(response){ if(response.success){ swal = response.swal; popup_data = response.popup_data; if(swal !== null){ trigger_swal(popup_data.wait_time); } var info_bar = response.info_bar; if(info_bar !== null){ if(info_bar.bottom !== null){ trigger_info_bar(info_bar.bottom); } else { $('#bottom-info-bar-content').remove(); } if(info_bar.top !== null){ trigger_info_bar(info_bar.top); } } } }, error: function(response){ console.log(response); } }); $(document).on('click', '.btn-dismiss-page-popup', function(){ Swal.close(); }); $(document).on('click', '#btn-close-bottom-info-bar', function(e){ e.preventDefault(); var closed_infobars = []; if(localStorage.getItem("closed_infobars") !== null){ closed_infobars = JSON.parse(localStorage.getItem("closed_infobars")); } var infobar_id = $(this).data('infobar-id'); closed_infobars.push(infobar_id); localStorage.setItem("closed_infobars", JSON.stringify(closed_infobars)); $('#bottom-info-bar').removeClass('animate__slideInUp'); $('#bottom-info-bar').addClass('animate__slideOutDown'); setTimeout(function() { $('#bottom-info-bar').remove(); }, 500); }); $(document).on('click', '#btn-close-top-info-bar', function(e){ e.preventDefault(); var closed_infobars = []; if(localStorage.getItem("closed_infobars") !== null){ closed_infobars = JSON.parse(localStorage.getItem("closed_infobars")); } var infobar_id = $(this).data('infobar-id'); closed_infobars.push(infobar_id); localStorage.setItem("closed_infobars", JSON.stringify(closed_infobars)); $('#top-info-bar').removeClass('animate__slideInDown'); $('#top-info-bar').addClass('animate__slideOutUp'); $('#top-info-bar').hide(); }); }) </script> <script src="https://ayondo.com/js/typewriter.js"></script> <script src="https://ayondo.com/js/moment.min.js"></script> <script> function revert_bookmark(prev_bookmark){ var btn = $('#btn-bookmark'); var i = btn.find('i'); if(prev_bookmark == '0'){ btn.data('trigger-bookmark', '0'); i.removeClass('far'); i.addClass('fas'); } else { btn.data('trigger-bookmark', '1'); i.removeClass('fas'); i.addClass('far'); } } function on_done(){ $('#chatgpt-answer-disclaimer').show(); } function load_stats(){ $.ajax({ type: 'POST', url: 'https://ayondo.com/en/market-news/equity-story/stats/89618', success: function(response){ if(response.success){ var stats = response.data; $('#stat-eqs').html(stats.eqs); $('#stat-dd').html(stats.dd); $('#stat-original_research').html(stats.original_research); $('#stat-short_seller').html(stats.short_seller); var btn = $('#btn-stat-short_seller'); btn.attr('href', stats.ssr_link); } }, error: function(response){ $('#stat-eqs').html('-'); $('#stat-dd').html('-'); $('#stat-original_research').html('-'); $('#stat-short_seller').html('-'); } }) } var loaded = false; var event_source = null; function trigger_trsh_popup(){ var today = moment(new Date()).format("YYYY-MM-DD"); var trsh_popup = Swal.fire({ html: `<div class="row g-0"> <div class="col-auto pe-3"> <img src="/assets/big-icons/trsh-popup.png" alt="" class="img-fluid"> </div> <div class="col"> <h5 class="text-start mb-2"> Free stock analysis </h5> <div class="text-start"> Sign up for free stock analysis and get 1 month TransparentShare Premium worth 8.99 Euro for free! *</p><p><span class="text-tiny" style="color:hsl(0,0%,90%);">* Offer valid for newly registered users only.</span> </div> </div> </div>`, // width: 600, // padding: '3em', // color: '#716add', // background: '#fff url(/images/trees.png)', backdrop: false, position: 'bottom-end', footer: `<div class="d-grid w-100"><a class="btn btn-primary btn-dismiss-trsh-popup" href="https://www.transparentshare.com/en/kostenlose-aktienanalyse-ayondo/" target="_blank">Curious now?</a></div>`, showConfirmButton: false, showCloseButton: true, customClass: { popup: 'trsh-popup text-white text-start', footer: 'border-top-0' } }).then(function(result){ // console.log('closed'); localStorage.setItem('trsh_popup_last_closed', today); }); } function toggle_modal(enabled){ if(enabled){ $('#modal-title-disabled').hide(); $('#modal-body-disabled').hide(); $('#modal-footer-disabled').hide(); $('#modal-title-enabled').show(); $('#modal-body-enabled').show(); $('#modal-footer-enabled').show(); $('#btn-chatgpt-ok').html('<i class="fas fa-spin fa-sync"></i> Generating answer, please wait.'); $('#btn-chatgpt-ok').addClass('disabled'); } else { $('#modal-title-enabled').hide(); $('#modal-body-enabled').hide(); $('#modal-footer-enabled').hide(); $('#modal-title-disabled').show(); $('#modal-body-disabled').show(); $('#modal-footer-disabled').show(); } } function on_done(){ $('#chatgpt-answer-disclaimer').show(); $('#btn-chatgpt-ok').html("Close window"); $('#btn-chatgpt-ok').removeClass('disabled'); } function close_event_source(){ if(event_source !== null){ if (event_source.readyState !== EventSource.CLOSED) { event_source.close(); } } } $(document).ready(function(){ load_stats(); $('td > div > table').each(function(){ $(this).addClass('table table-striped'); }); $('table:not([border="0"])').each(function(){ $(this).addClass('table table-striped'); }); $('#btn-bookmark').click(function(e){ e.preventDefault(); var is_bookmarked = $(this).data('trigger-bookmark'); var prev_bookmark = is_bookmarked; var btn = $(this); var i = btn.find('i'); if(is_bookmarked == '1'){ btn.data('trigger-bookmark', '0'); i.removeClass('far'); i.addClass('fas'); } else { btn.data('trigger-bookmark', '1'); i.removeClass('fas'); i.addClass('far'); } $.ajax({ type: 'GET', url: 'https://ayondo.com/en/market-news/equity-story/bookmark/89618', data: { is_bookmarked: is_bookmarked }, success: function(response){ if(!response.success){ revert_bookmark(prev_bookmark); console.log(response); } }, error: function(response){ revert_bookmark(prev_bookmark); console.log(response); } }) }); $('#btn-toggle-wishlist').click(function(e){ e.preventDefault(); var is_wishlisted = $(this).data('trigger-wishlist'); var btn = $(this); var img = btn.find('img'); var txt = btn.find('.wishlist-text'); $.ajax({ type: 'GET', url: 'https://ayondo.com/en/market-news/equity-story/wishlist/CH0033361673', data: { is_wishlisted: is_wishlisted }, success: function(response){ if(response.success){ if(response.is_wishlisted == '1'){ $('#wishlisted-at').html(response.wishlisted_at); $('#wishlisted-at').show(); btn.data('trigger-wishlist', '0'); btn.addClass('text-danger'); img.attr('src', 'https://ayondo.com/assets/basic-icons/remove-from-wl.png'); txt.html('Remove from Watchlist'); } else { $('#wishlisted-at').html(''); $('#wishlisted-at').hide(); btn.data('trigger-wishlist', '1'); btn.removeClass('text-danger'); img.attr('src', 'https://ayondo.com/assets/basic-icons/add2wl.png'); txt.html('Put companies on watchlist'); } } else { console.log(response); } }, error: function(response){ console.log(response); } }) }) $('.radio-you-ai').change(function(){ var search_query = $('.radio-you-ai:checked').val(); var query = 'u-blox ag'; query += ' ' + search_query; query = query.replaceAll(' ', '+'); var url = 'https://you.com/search?q='+query+'&fromSearchBar=true&tbm=youchat'; $('#btn-you-ai').attr('href', url); }); $('.radio-you-ai').trigger('change'); $.ajax({ type: 'POST', url: 'https://ayondo.com/en/yahoo-finance/price/89618', success: function(response){ if(response.success){ var data = response.data; for(var prop in data){ $('#stock_' + prop).html(data[prop]); } if(response.show_data){ $('#stock-price-yfinance').show(); } } else { console.log(response); } }, error: function(response){ console.log(response); } }); // $.ajax({ // type: 'POST', // url: 'https://ayondo.com/en/eqs-shortsell-tracker/89618', // success: function(response){ // if(response.success){ // if(response.text !== null){ // $('#shortsell-tracker').addClass('d-md-block'); // $('#shortsell-tracker-content').html(response.text); // } // } else { // console.log(response); // } // }, // error: function(response){ // console.log(response); // } // }) $('#btn-eqs-chatgpt').click(function(){ var access_chatgpt = false; if(access_chatgpt){ var modal_enabled = new bootstrap.Modal(document.getElementById('modal-chatgpt-enabled')); modal_enabled.show(); if(!loaded){ $('#chatgpt-loading').show(); $('#chatgpt-answer').hide(); $('#chatgpt-answer-header').hide(); $('#modal-chatgpt-enabled-footer').hide(); var url = 'https://ayondo.com/en/market-news/equity-story/89618/chatgpt'; event_source = new EventSource(url); var app = document.getElementById('chatgpt-answer'); var typewriter = new Typewriter(app, { loop: false, delay: 25, stringSplitter: function(string){ const splitter = string.replace('&', '&'); return splitter.split(''); }, }); event_source.onmessage = function(event) { var data = JSON.parse(event.data); if(data.is_first){ $('#chatgpt-loading').hide(); $('#chatgpt-answer').show(); $('#chatgpt-answer-header').show(); $('#modal-chatgpt-enabled-footer').show(); loaded = true; } if(data.done){ if(data.answer){ typewriter = typewriter.typeString(data.answer); typewriter.start(); } typewriter = typewriter.typeString('\n\n./EoM'); typewriter.start(); typewriter = typewriter.callFunction(on_done); event_source.close(); } else { typewriter = typewriter.typeString(data.text); typewriter.start(); } }; event_source.onclose = function(){ console.log('done'); } event_source.onerror = function(e){ $('#chatgpt-loading').hide(); $('#chatgpt-answer').show(); $('#chatgpt-answer-header').show(); $('#modal-chatgpt-enabled-footer').show(); var answer = '<p>An error has occurred. If the problem occurs again, <a href="/en/contact">please </a>contact us,</p><p>.</p>'; console.log(e); var app = document.getElementById('chatgpt-answer'); var typewriter = new Typewriter(app, { loop: false, delay: 25, stringSplitter: function(string){ const splitter = string.replace('&', '&'); return splitter.split(''); }, }); typewriter = typewriter.typeString(answer); typewriter = typewriter.callFunction(on_done); typewriter.start(); } } } else { var modal_disabled = new bootstrap.Modal(document.getElementById('modal-chatgpt-disabled')); modal_disabled.show(); } }); // $('#btn-ask-ai-ta').click(function(e){ // e.preventDefault(); // // $('#btn-eqs-chatgpt').trigger('click'); // }) var modal = new bootstrap.Modal(document.getElementById('modal-chatgpt')); $('#btn-ask-ai-ta').click(function(e){ e.preventDefault(); var enabled = true; if(enabled){ toggle_modal(true); if (!modal._isShown) { modal.show(); } if(!loaded){ $('#chatgpt-loading-ta').show(); $('#chatgpt-answer-ta').hide(); $('#chatgpt-answer-header-ta').hide(); $('#modal-chatgpt-enabled-footer-ta').hide(); close_event_source(); var url = 'https://ayondo.com/en/technical-analysis/chatgpt/10862'; event_source = new EventSource(url); var app = document.getElementById('chatgpt-answer-ta'); var typewriter = new Typewriter(app, { loop: false, delay: 25, stringSplitter: function(string){ const splitter = string.replace('&', '&'); return splitter.split(''); }, }); event_source.onmessage = function(event) { var data = JSON.parse(event.data); if(data.is_first){ $('#chatgpt-loading-ta').hide(); $('#chatgpt-answer-ta').show(); $('#chatgpt-answer-header-ta').show(); $('#modal-chatgpt-enabled-footer').show(); loaded = true; } if(data.done){ if(data.answer){ typewriter = typewriter.typeString(data.answer); typewriter.start(); } typewriter = typewriter.typeString('\n\n./EoM'); typewriter.start(); typewriter = typewriter.callFunction(on_done); event_source.close(); } else { typewriter = typewriter.typeString(data.text); typewriter.start(); } }; event_source.onclose = function(){ console.log('done'); } event_source.onerror = function(e){ $('#chatgpt-loading-ta').hide(); $('#chatgpt-answer-ta').show(); $('#chatgpt-answer-header-ta').show(); $('#modal-chatgpt-enabled-footer').show(); var answer = '<p>An error has occurred. If the problem occurs again, <a href="/en/contact">please </a>contact us,</p><p>.</p>'; console.log(e); var app = document.getElementById('chatgpt-answer-ta'); var typewriter = new Typewriter(app, { loop: false, delay: 25, stringSplitter: function(string){ const splitter = string.replace('&', '&'); return splitter.split(''); }, }); typewriter = typewriter.typeString(answer); typewriter = typewriter.callFunction(on_done); typewriter.start(); } } } else { toggle_modal(false); modal.show(); } }); document.getElementById('modal-chatgpt').addEventListener('hidden.bs.modal', function(event){ close_event_source(); modal._isShown = false; }); }) </script> </body> </html>