This repository has been archived on 2025-08-19. You can view files and clone it, but you cannot make any changes to its state, such as pushing and creating new issues, pull requests or comments.
coinstorge/website/src/lib/stores/portfolio-data.ts

31 lines
768 B
TypeScript
Raw Normal View History

import { writable } from 'svelte/store';
export interface PortfolioData {
baseCurrencyBalance: number;
totalCoinValue: number;
totalValue: number;
coinHoldings: Array<{
symbol: string;
quantity: number;
currentPrice: number;
value: number;
}>;
currency: string;
}
export const PORTFOLIO_DATA = writable<PortfolioData | null>(null);
export async function fetchPortfolioData() {
try {
const response = await fetch('/api/portfolio/total');
if (response.ok) {
const data = await response.json();
PORTFOLIO_DATA.set(data);
return data;
}
} catch (error) {
console.error('Failed to fetch portfolio data:', error);
}
return null;
}