"use client";

import Link from "next/link";

import { Tabs, TabsList, TabsTrigger } from "@/components/ui/tabs";
import { buildIsinMarketPriceHref, MARKET_PRICE_TABS } from "./constants";
import type { MarketPriceTab, MarketPriceTableModel } from "./schema";

type Props = {
  activeModel: MarketPriceTableModel;
  tabs?: MarketPriceTab[];
  pageSize?: number;
};

export function MarketPriceTabs({
  activeModel,
  tabs = MARKET_PRICE_TABS,
  pageSize,
}: Props) {
  const buildHref = (model: MarketPriceTableModel) =>
    buildIsinMarketPriceHref({
      model,
      page: 1,
      pageSize,
    });

  return (
    <Tabs value={activeModel} className="w-full">
      <TabsList className="flex h-auto flex-wrap gap-1">
        {tabs.map((tab) => (
          <TabsTrigger key={tab.value} value={tab.value} asChild>
            <Link href={buildHref(tab.value)}>{tab.label}</Link>
          </TabsTrigger>
        ))}
      </TabsList>
    </Tabs>
  );
}
