1const e=`import { Card, CardContent } from "@/components/ui/card"; 2import { features, competitors, pourifyFeatures } from "@/data/competitors"; 3import FeatureCell from "./FeatureCell"; 4import { useTranslation } from "react-i18next"; 5import { useRegionStore } from "@/stores/regionStore"; 6import { regionPricing } from "@/data/products"; 7import { getTierPricesForRegion } from "@/data/pricing-tiers"; 8 9const MasterTable = () => { 10 const { t } = useTranslation(); 11 const { selectedRegion } = useRegionStore(); 12 const rp = regionPricing[selectedRegion] ?? regionPricing["EU"]; 13 // Show the "Mini" tier (10 pourers) charm price for the region. 14 const miniPrice = getTierPricesForRegion(selectedRegion).find((tier) => tier.count === 10)?.price ?? 49; 15 const miniFormatted = (() => { 16 try { 17 return new Intl.NumberFormat(rp.locale, { 18 style: "currency", 19 currency: rp.currencyCode, 20 maximumFractionDigits: 0, 21 minimumFractionDigits: 0, 22 }).format(miniPrice); 23 } catch { 24 return \`\${rp.currencySymbol}\${miniPrice}\`; 25 } 26 })(); 27 const localizedPourifyFeatures = { 28 ...pourifyFeatures, 29 "Monthly cost": \`\${miniFormatted}/mo\`, 30 }; 31 32 33 34 return ( 35 <Card> 36 <CardContent className="p-0"> 37 <div className="overflow-x-auto"> 38 <table className="w-full text-sm"> 39 <thead> 40 <tr className="border-b border-border"> 41 <th className="text-left p-4 font-medium text-muted-foreground sticky left-0 bg-card z-10 min-w-[160px]"> 42 {t("comparePage.feature")} 43 </th> 44 <th className="p-4 font-bold text-accent text-center min-w-[100px] bg-accent/5"> 45 Pourify 46 </th> 47 {competitors.map((c) => ( 48 <th key={c.slug} className="p-4 font-medium text-center text-foreground min-w-[100px] whitespace-nowrap"> 49 {c.name} 50 </th> 51 ))} 52 </tr> 53 </thead> 54 <tbody> 55 {features.map((feature) => ( 56 <tr key={feature} className="border-b border-border/50"> 57 <td className="p-4 text-foreground sticky left-0 bg-card z-10 font-medium"> 58 {feature} 59 </td> 60 <td className="p-4 text-center bg-accent/5"> 61 <FeatureCell value={localizedPourifyFeatures[feature]} /> 62 </td> 63 {competitors.map((c) => ( 64 <td key={c.slug} className="p-4 text-center"> 65 <FeatureCell value={c.features[feature]} /> 66 </td> 67 ))} 68 </tr> 69 ))} 70 </tbody> 71 </table> 72 </div> 73 </CardContent> 74 </Card> 75 ); 76}; 77 78export default MasterTable; 79`;export{e as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.