198 lines
5.4 KiB
TypeScript

/**
* Service Features Configuration
*
* Centralized feature lists and marketing content for all service types.
* This eliminates duplication across PublicInternetPlans, PublicVpnPlans, and VpnPlanCard.
*/
import {
Wifi,
Zap,
Languages,
FileText,
Wrench,
Globe,
Router,
Headphones,
Package,
MonitorPlay,
} from "lucide-react";
import type { ReactNode } from "react";
// ============================================================================
// Types
// ============================================================================
export interface HighlightFeature {
icon: ReactNode;
title: string;
description: string;
highlight: string;
}
export interface VpnRegionConfig {
flag: string;
flagAlt: string;
location: string;
features: string[];
accent: "blue" | "red" | "primary";
}
// ============================================================================
// Internet Features
// ============================================================================
/**
* Internet service highlight features for marketing pages
*/
export const INTERNET_FEATURES: HighlightFeature[] = [
{
icon: <Wifi className="h-6 w-6" />,
title: "NTT Optical Fiber",
description: "Japan's most reliable network with speeds up to 10Gbps",
highlight: "99.9% uptime",
},
{
icon: <Zap className="h-6 w-6" />,
title: "IPv6/IPoE Ready",
description: "Next-gen protocol for congestion-free browsing",
highlight: "No peak-hour slowdowns",
},
{
icon: <Languages className="h-6 w-6" />,
title: "Full English Support",
description: "Native English service for setup, billing & technical help",
highlight: "No language barriers",
},
{
icon: <FileText className="h-6 w-6" />,
title: "One Bill, One Provider",
description: "NTT line + ISP + equipment bundled with simple billing",
highlight: "No hidden fees",
},
{
icon: <Wrench className="h-6 w-6" />,
title: "On-site Support",
description: "Technicians can visit for installation & troubleshooting",
highlight: "Professional setup",
},
{
icon: <Globe className="h-6 w-6" />,
title: "Flexible Options",
description: "Multiple ISP configs available, IPv4/PPPoE if needed",
highlight: "Customizable",
},
];
// ============================================================================
// VPN Features
// ============================================================================
/**
* VPN service highlight features for marketing pages
*/
export const VPN_FEATURES: HighlightFeature[] = [
{
icon: <Router className="h-6 w-6" />,
title: "Pre-configured Router",
description: "Ready to use out of the box — just plug in and connect",
highlight: "Plug & play",
},
{
icon: <Globe className="h-6 w-6" />,
title: "US & UK Servers",
description: "Access content from San Francisco or London regions",
highlight: "2 locations",
},
{
icon: <MonitorPlay className="h-6 w-6" />,
title: "Streaming Ready",
description: "Works with Apple TV, Roku, Amazon Fire, and more",
highlight: "All devices",
},
{
icon: <Wifi className="h-6 w-6" />,
title: "Separate Network",
description: "VPN runs on dedicated WiFi, keep regular internet normal",
highlight: "No interference",
},
{
icon: <Package className="h-6 w-6" />,
title: "Router Rental Included",
description: "No equipment purchase — router rental is part of the plan",
highlight: "No hidden costs",
},
{
icon: <Headphones className="h-6 w-6" />,
title: "English Support",
description: "Full English assistance for setup and troubleshooting",
highlight: "Dedicated help",
},
];
// ============================================================================
// VPN Region Configuration
// ============================================================================
/**
* VPN region-specific configuration
*/
export const VPN_REGIONS: Record<string, VpnRegionConfig> = {
"San Francisco": {
flag: "🇺🇸",
flagAlt: "US Flag",
location: "United States",
features: [
"Access US streaming content",
"Optimized for Netflix, Hulu, HBO",
"West Coast US server",
"Low latency for streaming",
],
accent: "blue",
},
London: {
flag: "🇬🇧",
flagAlt: "UK Flag",
location: "United Kingdom",
features: [
"Access UK streaming content",
"Optimized for BBC iPlayer, ITV",
"London-based server",
"European content access",
],
accent: "red",
},
};
/**
* Default/fallback VPN region configuration
*/
export const DEFAULT_VPN_REGION: VpnRegionConfig = {
flag: "🌐",
flagAlt: "Globe",
location: "International",
features: [
"Secure VPN connection",
"Pre-configured router",
"Easy plug & play setup",
"English support included",
],
accent: "primary",
};
// ============================================================================
// Helper Functions
// ============================================================================
/**
* Get VPN region configuration from plan name
*/
export function getVpnRegionConfig(planName: string): VpnRegionConfig & { region: string } {
for (const [region, config] of Object.entries(VPN_REGIONS)) {
if (planName.toLowerCase().includes(region.toLowerCase())) {
return { region, ...config };
}
}
return { region: planName, ...DEFAULT_VPN_REGION };
}