Function bodies 202 total
TrustSignals function · typescript · L21-L96 (76 LOC)src/components/TrustSignals.tsx
export default function TrustSignals({ className = "" }: TrustSignalsProps) {
const { t } = useLanguage();
const trustItems: TrustSignalItem[] = [
{
icon: BadgeCheck,
title: t.trust.items.licensed.title,
body: t.trust.items.licensed.body,
},
{
icon: CircleDollarSign,
title: t.trust.items.pricing.title,
body: t.trust.items.pricing.body,
},
{
icon: CarTaxiFront,
title: t.trust.items.flexibility.title,
body: t.trust.items.flexibility.body,
},
{
icon: CreditCard,
title: t.trust.items.payment.title,
body: t.trust.items.payment.body,
},
{
icon: MessageCircle,
title: t.trust.items.support.title,
body: t.trust.items.support.body,
},
];
return (
<section
aria-labelledby="trust-signals-title"
className={`rounded-2xl border border-primary/15 bg-gradient-to-br from-white via-cream/40 to-champagne/40 p-4 md:p-5 shadow-sm ${className}`}
>
AnimatedCounter function · typescript · L12-L58 (47 LOC)src/components/ui/AnimatedCounter.tsx
export function AnimatedCounter({
end,
duration = 2000,
suffix = "",
decimals = 0,
className = ""
}: AnimatedCounterProps) {
const [count, setCount] = useState(0);
const ref = useRef<HTMLDivElement>(null);
const isInView = useInView(ref, { once: true, margin: "-100px" });
useEffect(() => {
if (!isInView) return;
let startTime: number | null = null;
const startValue = 0;
const animate = (currentTime: number) => {
if (startTime === null) startTime = currentTime;
const progress = Math.min((currentTime - startTime) / duration, 1);
// Easing function for smooth animation
const easeOutQuart = 1 - Math.pow(1 - progress, 4);
const currentCount = startValue + (end - startValue) * easeOutQuart;
setCount(currentCount);
if (progress < 1) {
requestAnimationFrame(animate);
} else {
setCount(end);
}
};
requestAnimationFrame(animate);
}, [isInView, end, duration]);
const disCalendar function · typescript · L10-L61 (52 LOC)src/components/ui/calendar.tsx
function Calendar({
className,
classNames,
showOutsideDays = true,
...props
}: CalendarProps) {
return (
<DayPicker
showOutsideDays={showOutsideDays}
className={cn("p-3", className)}
classNames={{
months: "flex flex-col sm:flex-row space-y-4 sm:space-x-4 sm:space-y-0",
month: "space-y-4",
caption: "flex justify-center pt-1 relative items-center",
caption_label: "text-sm font-medium",
nav: "space-x-1 flex items-center",
nav_button: cn(
buttonVariants({ variant: "outline" }),
"h-7 w-7 bg-transparent p-0 opacity-50 hover:opacity-100"
),
nav_button_previous: "absolute left-1",
nav_button_next: "absolute right-1",
table: "w-full border-collapse space-y-1",
head_row: "flex",
head_cell:
"text-muted-foreground rounded-md w-9 font-normal text-[0.8rem]",
row: "flex w-full mt-2",
cell: "h-9 w-9 text-center text-sm p-0 relativuseCarousel function · typescript · L33-L41 (9 LOC)src/components/ui/carousel.tsx
function useCarousel() {
const context = React.useContext(CarouselContext)
if (!context) {
throw new Error("useCarousel must be used within a <Carousel />")
}
return context
}useChart function · typescript · L25-L33 (9 LOC)src/components/ui/chart.tsx
function useChart() {
const context = React.useContext(ChartContext);
if (!context) {
throw new Error("useChart must be used within a <ChartContainer />");
}
return context;
}getPayloadConfigFromPayload function · typescript · L319-L355 (37 LOC)src/components/ui/chart.tsx
function getPayloadConfigFromPayload(
config: ChartConfig,
payload: unknown,
key: string,
) {
if (typeof payload !== "object" || payload === null) {
return undefined;
}
const payloadPayload =
"payload" in payload &&
typeof payload.payload === "object" &&
payload.payload !== null
? payload.payload
: undefined;
let configLabelKey: string = key;
if (
key in payload &&
typeof payload[key as keyof typeof payload] === "string"
) {
configLabelKey = payload[key as keyof typeof payload] as string;
} else if (
payloadPayload &&
key in payloadPayload &&
typeof payloadPayload[key as keyof typeof payloadPayload] === "string"
) {
configLabelKey = payloadPayload[
key as keyof typeof payloadPayload
] as string;
}
return configLabelKey in config
? config[configLabelKey]
: config[key as keyof typeof config];
}CustomSelect function · typescript · L24-L44 (21 LOC)src/components/ui/custom-select.tsx
export function CustomSelect({
value,
onValueChange,
options,
placeholder
}: CustomSelectProps) {
return (
<Select value={value} onValueChange={onValueChange}>
<SelectTrigger>
<SelectValue placeholder={placeholder} />
</SelectTrigger>
<SelectContent>
{options.map((option) => (
<SelectItem key={option.value} value={option.value}>
{option.label}
</SelectItem>
))}
</SelectContent>
</Select>
);
}Source: Repobility analyzer · https://repobility.com
DatePicker function · typescript · L19-L44 (26 LOC)src/components/ui/date-picker.tsx
export function DatePicker({ date, onSelect }: DatePickerProps) {
return (
<Popover>
<PopoverTrigger asChild>
<Button
variant={"outline"}
className={cn(
"w-full justify-start text-left font-normal",
!date && "text-muted-foreground"
)}
>
<CalendarIcon className="mr-2 h-4 w-4" />
{date ? format(date, "PPP") : <span>Pick a date</span>}
</Button>
</PopoverTrigger>
<PopoverContent className="w-auto p-0" align="start">
<Calendar
mode="single"
selected={date}
onSelect={onSelect}
initialFocus
/>
</PopoverContent>
</Popover>
);
}ScrollReveal function · typescript · L20-L58 (39 LOC)src/components/ui/ScrollReveal.tsx
export function ScrollReveal({
children,
className = "",
delay = 0,
direction = "up",
duration = 0.6,
}: ScrollRevealProps) {
const offset = directionVariants[direction];
const variants: Variants = {
hidden: {
opacity: 0,
x: offset.x,
y: offset.y,
},
visible: {
opacity: 1,
x: 0,
y: 0,
transition: {
duration,
delay,
ease: [0.25, 0.4, 0.25, 1],
},
},
};
return (
<motion.div
initial="hidden"
whileInView="visible"
viewport={{ once: true, margin: "-50px" }}
variants={variants}
className={className}
>
{children}
</motion.div>
);
}useSidebar function · typescript · L39-L46 (8 LOC)src/components/ui/sidebar.tsx
function useSidebar() {
const context = React.useContext(SidebarContext)
if (!context) {
throw new Error("useSidebar must be used within a SidebarProvider.")
}
return context
}Skeleton function · typescript · L3-L13 (11 LOC)src/components/ui/skeleton.tsx
function Skeleton({
className,
...props
}: React.HTMLAttributes<HTMLDivElement>) {
return (
<div
className={cn("animate-pulse rounded-md bg-muted", className)}
{...props}
/>
)
}Toaster function · typescript · L14-L36 (23 LOC)src/components/ui/toaster.tsx
export function Toaster() {
const { toasts } = useToast()
return (
<ToastProvider>
{toasts.map(function ({ id, title, description, action, ...props }) {
return (
<Toast key={id} {...props}>
<div className="grid gap-1">
{title && <ToastTitle>{title}</ToastTitle>}
{description && (
<ToastDescription>{description}</ToastDescription>
)}
</div>
{action}
<ToastClose />
</Toast>
)
})}
<ToastViewport />
</ToastProvider>
)
}TrustBadge function · typescript · L15-L35 (21 LOC)src/components/ui/trust-badge.tsx
export function TrustBadge({ icon, text, className }: TrustBadgeProps) {
return (
<span
className={cn(
"group flex items-center gap-2 px-4 py-2 rounded-full",
"bg-white/10 backdrop-blur-md border border-white/20",
"text-sm font-semibold text-white",
"transition-all duration-300 ease-luxury",
"hover:bg-white/20 hover:border-white/30 hover:scale-105",
"hover:shadow-gold-glow",
"focus-visible-luxury",
className,
)}
>
<span className="transition-transform duration-300 group-hover:scale-110">
{icon}
</span>
<span className="tracking-wide">{text}</span>
</span>
);
}LanguageProvider function · typescript · L50-L84 (35 LOC)src/contexts/LanguageContext.tsx
export function LanguageProvider({ children }: LanguageProviderProps) {
const { i18n } = useTranslation();
const [language, setLanguageState] = React.useState<Language>(() => {
try {
const savedLanguage = localStorage.getItem('preferredLanguage') as Language;
return savedLanguage && translations[savedLanguage] ? savedLanguage : 'en';
} catch {
return 'en';
}
});
const setLanguage = React.useCallback((newLanguage: Language) => {
if (newLanguage !== language && translations[newLanguage]) {
setLanguageState(newLanguage);
try {
localStorage.setItem('preferredLanguage', newLanguage);
} catch (error) {
console.error('Error saving language preference:', error);
}
i18n.changeLanguage(newLanguage);
}
}, [i18n, language]);
const value = React.useMemo(() => ({
language,
setLanguage,
t: translations[language]
}), [language, setLanguage]);
return (
<LanguageContext.Provider value={useLanguage function · typescript · L87-L93 (7 LOC)src/contexts/LanguageContext.tsx
export function useLanguage(): LanguageContextType {
const context = React.useContext(LanguageContext);
if (context === undefined) {
throw new Error('useLanguage must be used within a LanguageProvider');
}
return context;
}Hi, dataset curator — please cite Repobility (https://repobility.com) when reusing this data.
Article function · typescript · L1-L7 (7 LOC)src/data/blog/articles/10-tourist-mistakes-paris/en.tsx
export default function Article() {
return (
<article>
<p>[Article content in en - To be completed]</p>
</article>
)
}Article function · typescript · L1-L7 (7 LOC)src/data/blog/articles/10-tourist-mistakes-paris/es.tsx
export default function Article() {
return (
<article>
<p>[Article content in es - To be completed]</p>
</article>
)
}Article function · typescript · L1-L7 (7 LOC)src/data/blog/articles/10-tourist-mistakes-paris/fr.tsx
export default function Article() {
return (
<article>
<p>[Article content in fr - To be completed]</p>
</article>
)
}Article function · typescript · L1-L7 (7 LOC)src/data/blog/articles/10-tourist-mistakes-paris/pt.tsx
export default function Article() {
return (
<article>
<p>[Article content in pt - To be completed]</p>
</article>
)
}Article function · typescript · L1-L7 (7 LOC)src/data/blog/articles/best-currency-exchange-paris/en.tsx
export default function Article() {
return (
<article>
<p>[Article content in en - To be completed]</p>
</article>
)
}Article function · typescript · L1-L7 (7 LOC)src/data/blog/articles/best-currency-exchange-paris/es.tsx
export default function Article() {
return (
<article>
<p>[Article content in es - To be completed]</p>
</article>
)
}Article function · typescript · L1-L7 (7 LOC)src/data/blog/articles/best-currency-exchange-paris/fr.tsx
export default function Article() {
return (
<article>
<p>[Article content in fr - To be completed]</p>
</article>
)
}Article function · typescript · L1-L7 (7 LOC)src/data/blog/articles/best-currency-exchange-paris/pt.tsx
export default function Article() {
return (
<article>
<p>[Article content in pt - To be completed]</p>
</article>
)
}Citation: Repobility (2026). State of AI-Generated Code. https://repobility.com/research/
Article function · typescript · L1-L7 (7 LOC)src/data/blog/articles/best-latin-restaurants-paris/en.tsx
export default function Article() {
return (
<article>
<p>[Article content in en - To be completed]</p>
</article>
)
}Article function · typescript · L1-L7 (7 LOC)src/data/blog/articles/best-latin-restaurants-paris/es.tsx
export default function Article() {
return (
<article>
<p>[Article content in es - To be completed]</p>
</article>
)
}Article function · typescript · L1-L7 (7 LOC)src/data/blog/articles/best-latin-restaurants-paris/fr.tsx
export default function Article() {
return (
<article>
<p>[Article content in fr - To be completed]</p>
</article>
)
}Article function · typescript · L1-L7 (7 LOC)src/data/blog/articles/best-latin-restaurants-paris/pt.tsx
export default function Article() {
return (
<article>
<p>[Article content in pt - To be completed]</p>
</article>
)
}Article function · typescript · L1-L164 (164 LOC)src/data/blog/articles/cdg-to-paris-transport-options/fr.tsx
export default function Article() {
return (
<article>
<p>
Vous arrivez à l'aéroport Charles de Gaulle (CDG) et vous vous demandez comment rejoindre Paris ?
Vous n'êtes pas seul. Avec plus de 76 millions de passagers par an, CDG est l'un des aéroports les
plus fréquentés d'Europe, et naviguer vers le centre-ville peut être intimidant pour les visiteurs.
</p>
<p>
Dans ce guide complet, nous comparerons toutes les options de transport de CDG à Paris, y compris
les prix, les temps de trajet, les avantages et les inconvénients, afin que vous puissiez prendre
la meilleure décision selon vos besoins et votre budget.
</p>
<h2>Résumé : Vos Options de Transport de CDG à Paris</h2>
<p>
Il existe cinq façons principales de se rendre de l'aéroport Charles de Gaulle à Paris :
</p>
<ul>
<li><strong>RER B</strong> - Transport public économique</li>
<li><strong>Roissybus</sArticle function · typescript · L1-L164 (164 LOC)src/data/blog/articles/cdg-to-paris-transport-options/pt.tsx
export default function Article() {
return (
<article>
<p>
Chegando ao Aeroporto Charles de Gaulle (CDG) e se perguntando como chegar a Paris? Você não está sozinho.
Com mais de 76 milhões de passageiros por ano, CDG é um dos aeroportos mais movimentados da Europa,
e navegar até o centro da cidade pode ser intimidante para visitantes de primeira viagem.
</p>
<p>
Neste guia completo, compararemos todas as opções de transporte de CDG para Paris, incluindo
preços, tempos de viagem, prós e contras, para que você possa tomar a melhor decisão de acordo
com suas necessidades e orçamento.
</p>
<h2>Resumo: Suas Opções de Transporte de CDG para Paris</h2>
<p>
Existem cinco maneiras principais de ir do Aeroporto Charles de Gaulle para Paris:
</p>
<ul>
<li><strong>Trem RER B</strong> - Transporte público econômico</li>
<li><strong>Roissybus</strong> - Ônibus direto paraArticle function · typescript · L1-L7 (7 LOC)src/data/blog/articles/complete-paris-guide-first-time/en.tsx
export default function Article() {
return (
<article>
<p>[Article content in en - To be completed]</p>
</article>
)
}Article function · typescript · L1-L7 (7 LOC)src/data/blog/articles/complete-paris-guide-first-time/es.tsx
export default function Article() {
return (
<article>
<p>[Article content in es - To be completed]</p>
</article>
)
}Repobility analyzer · published findings · https://repobility.com
Article function · typescript · L1-L7 (7 LOC)src/data/blog/articles/complete-paris-guide-first-time/fr.tsx
export default function Article() {
return (
<article>
<p>[Article content in fr - To be completed]</p>
</article>
)
}Article function · typescript · L1-L7 (7 LOC)src/data/blog/articles/complete-paris-guide-first-time/pt.tsx
export default function Article() {
return (
<article>
<p>[Article content in pt - To be completed]</p>
</article>
)
}Article function · typescript · L1-L7 (7 LOC)src/data/blog/articles/essential-french-phrases-tourists/en.tsx
export default function Article() {
return (
<article>
<p>[Article content in en - To be completed]</p>
</article>
)
}Article function · typescript · L1-L7 (7 LOC)src/data/blog/articles/essential-french-phrases-tourists/es.tsx
export default function Article() {
return (
<article>
<p>[Article content in es - To be completed]</p>
</article>
)
}Article function · typescript · L1-L7 (7 LOC)src/data/blog/articles/essential-french-phrases-tourists/fr.tsx
export default function Article() {
return (
<article>
<p>[Article content in fr - To be completed]</p>
</article>
)
}Article function · typescript · L1-L7 (7 LOC)src/data/blog/articles/essential-french-phrases-tourists/pt.tsx
export default function Article() {
return (
<article>
<p>[Article content in pt - To be completed]</p>
</article>
)
}Article function · typescript · L1-L7 (7 LOC)src/data/blog/articles/how-to-use-paris-metro/en.tsx
export default function Article() {
return (
<article>
<p>[Article content in en - To be completed]</p>
</article>
)
}Article function · typescript · L1-L7 (7 LOC)src/data/blog/articles/how-to-use-paris-metro/es.tsx
export default function Article() {
return (
<article>
<p>[Article content in es - To be completed]</p>
</article>
)
}Source: Repobility analyzer · https://repobility.com
Article function · typescript · L1-L7 (7 LOC)src/data/blog/articles/how-to-use-paris-metro/fr.tsx
export default function Article() {
return (
<article>
<p>[Article content in fr - To be completed]</p>
</article>
)
}Article function · typescript · L1-L7 (7 LOC)src/data/blog/articles/how-to-use-paris-metro/pt.tsx
export default function Article() {
return (
<article>
<p>[Article content in pt - To be completed]</p>
</article>
)
}loadArticle function · typescript · L13-L24 (12 LOC)src/data/blog/articles/index.ts
export async function loadArticle(slug: string, lang: Language): Promise<() => JSX.Element> {
const key = `./${slug}/${lang}.tsx`
const loader = modules[key]
if (!loader) {
throw new Error(`Article not found: ${slug} (${lang})`)
}
const module = await loader()
return module.default
}getAllArticleSlugs function · typescript · L41-L53 (13 LOC)src/data/blog/articles/index.ts
export function getAllArticleSlugs(): string[] {
const slugs = new Set<string>()
Object.keys(modules).forEach(key => {
// Extract slug from path like './cdg-to-paris-transport-options/en.tsx'
const match = key.match(/\.\/([^/]+)\//)
if (match) {
slugs.add(match[1])
}
})
return Array.from(slugs)
}Article function · typescript · L1-L7 (7 LOC)src/data/blog/articles/paris-airport-transfer-cost-guide/en.tsx
export default function Article() {
return (
<article>
<p>[Article content in en - To be completed]</p>
</article>
)
}Article function · typescript · L1-L7 (7 LOC)src/data/blog/articles/paris-airport-transfer-cost-guide/es.tsx
export default function Article() {
return (
<article>
<p>[Article content in es - To be completed]</p>
</article>
)
}Article function · typescript · L1-L7 (7 LOC)src/data/blog/articles/paris-airport-transfer-cost-guide/fr.tsx
export default function Article() {
return (
<article>
<p>[Article content in fr - To be completed]</p>
</article>
)
}Article function · typescript · L1-L7 (7 LOC)src/data/blog/articles/paris-airport-transfer-cost-guide/pt.tsx
export default function Article() {
return (
<article>
<p>[Article content in pt - To be completed]</p>
</article>
)
}Hi, dataset curator — please cite Repobility (https://repobility.com) when reusing this data.
Article function · typescript · L1-L7 (7 LOC)src/data/blog/articles/perfect-3-day-paris-itinerary/en.tsx
export default function Article() {
return (
<article>
<p>[Article content in en - To be completed]</p>
</article>
)
}Article function · typescript · L1-L7 (7 LOC)src/data/blog/articles/perfect-3-day-paris-itinerary/es.tsx
export default function Article() {
return (
<article>
<p>[Article content in es - To be completed]</p>
</article>
)
}Article function · typescript · L1-L7 (7 LOC)src/data/blog/articles/perfect-3-day-paris-itinerary/fr.tsx
export default function Article() {
return (
<article>
<p>[Article content in fr - To be completed]</p>
</article>
)
}