add ticker flow to etf page

This commit is contained in:
MuslemRahimi 2025-02-16 20:14:45 +01:00
parent 40f410d5fb
commit b10f4976be
3 changed files with 34 additions and 5 deletions

View File

@ -168,8 +168,8 @@
}, },
grid: [ grid: [
{ {
left: "3%", left: $screenWidth < 640 ? "3%" : "0%",
right: "3%", right: $screenWidth < 640 ? "3%" : "0%",
top: $screenWidth < 640 ? "15%" : "5%", top: $screenWidth < 640 ? "15%" : "5%",
height: "60%", height: "60%",
containLabel: true, containLabel: true,
@ -417,7 +417,7 @@
</div> </div>
<div> <div>
<div class="app w-full h-[300px] mt-5"> <div class="app w-full h-[250px] mt-5">
{#if isLoading} {#if isLoading}
<div class="flex justify-center items-center h-80"> <div class="flex justify-center items-center h-80">
<div class="relative"> <div class="relative">
@ -445,13 +445,13 @@
<style> <style>
.app { .app {
height: 600px; height: 400px;
max-width: 100%; /* Ensure chart width doesn't exceed the container */ max-width: 100%; /* Ensure chart width doesn't exceed the container */
} }
@media (max-width: 640px) { @media (max-width: 640px) {
.app { .app {
height: 510px; height: 400px;
} }
} }

View File

@ -26,6 +26,26 @@ export const load = async ({ locals, params }) => {
}; };
const getTickerFlow = async () => {
const postData = {
ticker: params.tickerID,
};
const response = await fetch(apiURL + "/ticker-flow", {
method: "POST",
headers: {
"Content-Type": "application/json",
"X-API-KEY": apiKey,
},
body: JSON.stringify(postData),
});
const output = await response.json();
return output;
};
const getOptionsHistoricalData = async () => { const getOptionsHistoricalData = async () => {
const postData = { const postData = {
@ -52,6 +72,7 @@ export const load = async ({ locals, params }) => {
// Make sure to return a promise // Make sure to return a promise
return { return {
getDailyStats: await getDailyStats(), getDailyStats: await getDailyStats(),
getTickerFlow: await getTickerFlow(),
getOptionsHistoricalData: await getOptionsHistoricalData(), getOptionsHistoricalData: await getOptionsHistoricalData(),
}; };
}; };

View File

@ -1,6 +1,8 @@
<script lang="ts"> <script lang="ts">
import { displayCompanyName, screenWidth, etfTicker } from "$lib/store"; import { displayCompanyName, screenWidth, etfTicker } from "$lib/store";
import DailyStats from "$lib/components/Options/DailyStats.svelte"; import DailyStats from "$lib/components/Options/DailyStats.svelte";
import TickerFlow from "$lib/components/Options/TickerFlow.svelte";
import { Chart } from "svelte-echarts"; import { Chart } from "svelte-echarts";
import { abbreviateNumberWithColor, monthNames } from "$lib/utils"; import { abbreviateNumberWithColor, monthNames } from "$lib/utils";
import { onMount } from "svelte"; import { onMount } from "svelte";
@ -16,6 +18,7 @@
export let data; export let data;
let dailyStats = data?.getDailyStats; let dailyStats = data?.getDailyStats;
let tickerFlow = data?.getTickerFlow || [];
let filteredList = []; let filteredList = [];
@ -299,6 +302,11 @@
<Infobox text="No Options data available" /> <Infobox text="No Options data available" />
{/if} {/if}
{#if tickerFlow?.length > 0}
<div class="w-full mb-5">
<TickerFlow {tickerFlow} />
</div>
{/if}
{#if Object?.keys(dailyStats)?.length > 0} {#if Object?.keys(dailyStats)?.length > 0}
<div class="w-full mb-10"> <div class="w-full mb-10">
<DailyStats rawData={dailyStats} /> <DailyStats rawData={dailyStats} />