ExposedGays: map, shop, auth, Supabase schema, Coolify Dockerfile
This commit is contained in:
179
src/lib/mock-data.ts
Normal file
179
src/lib/mock-data.ts
Normal file
@@ -0,0 +1,179 @@
|
||||
import type { Profile, CruisingSpot } from "@/types";
|
||||
|
||||
const DEFAULT_LAT = parseFloat(process.env.NEXT_PUBLIC_DEFAULT_LAT || "26.1224");
|
||||
const DEFAULT_LNG = parseFloat(process.env.NEXT_PUBLIC_DEFAULT_LNG || "-80.1373");
|
||||
|
||||
function jitter(base: number, range: number) {
|
||||
return base + (Math.random() - 0.5) * range;
|
||||
}
|
||||
|
||||
export const MOCK_PROFILES: Profile[] = [
|
||||
{
|
||||
id: "1",
|
||||
username: "ftl_top",
|
||||
display_name: "Mike",
|
||||
age: 32,
|
||||
position: "top",
|
||||
bio: "Hosting tonight near Wilton Drive. HMU.",
|
||||
avatar_url: "https://placehold.co/200x200/1a1220/3b82f6?text=Top",
|
||||
status: "hosting",
|
||||
is_anonymous: false,
|
||||
kinks: ["oral", "rimming", "daddy"],
|
||||
sti_status: "Negative · tested Jan 2026",
|
||||
on_prep: true,
|
||||
last_active: new Date().toISOString(),
|
||||
lat: jitter(DEFAULT_LAT, 0.02),
|
||||
lng: jitter(DEFAULT_LNG, 0.02),
|
||||
city: "Fort Lauderdale",
|
||||
vanilla_mode: false,
|
||||
created_at: new Date().toISOString(),
|
||||
},
|
||||
{
|
||||
id: "2",
|
||||
username: null,
|
||||
display_name: null,
|
||||
age: 28,
|
||||
position: "bottom",
|
||||
bio: "At the beach. Looking now.",
|
||||
avatar_url: "https://placehold.co/200x200/1a1220/f97316?text=Bot",
|
||||
status: "looking",
|
||||
is_anonymous: true,
|
||||
kinks: ["anon", "oral", "group"],
|
||||
sti_status: null,
|
||||
on_prep: false,
|
||||
last_active: new Date(Date.now() - 120000).toISOString(),
|
||||
lat: jitter(DEFAULT_LAT, 0.03),
|
||||
lng: jitter(DEFAULT_LNG, 0.03),
|
||||
city: "Fort Lauderdale",
|
||||
vanilla_mode: false,
|
||||
created_at: new Date().toISOString(),
|
||||
},
|
||||
{
|
||||
id: "3",
|
||||
username: "vers_bear",
|
||||
display_name: "Jake",
|
||||
age: 45,
|
||||
position: "vers",
|
||||
bio: "Bear. Leather friendly. Gym rat.",
|
||||
avatar_url: "https://placehold.co/200x200/1a1220/a855f7?text=Vers",
|
||||
status: "online",
|
||||
is_anonymous: false,
|
||||
kinks: ["leather", "bdsm", "oral"],
|
||||
sti_status: "Negative",
|
||||
on_prep: true,
|
||||
last_active: new Date(Date.now() - 300000).toISOString(),
|
||||
lat: jitter(DEFAULT_LAT, 0.025),
|
||||
lng: jitter(DEFAULT_LNG, 0.025),
|
||||
city: "Fort Lauderdale",
|
||||
vanilla_mode: false,
|
||||
created_at: new Date().toISOString(),
|
||||
},
|
||||
{
|
||||
id: "4",
|
||||
username: "pup_play",
|
||||
display_name: "Rex",
|
||||
age: 26,
|
||||
position: "side",
|
||||
bio: "Pup scene. Woof.",
|
||||
avatar_url: "https://placehold.co/200x200/1a1220/22c55e?text=Side",
|
||||
status: "looking",
|
||||
is_anonymous: false,
|
||||
kinks: ["pup", "bondage", "roleplay"],
|
||||
sti_status: null,
|
||||
on_prep: true,
|
||||
last_active: new Date(Date.now() - 60000).toISOString(),
|
||||
lat: jitter(DEFAULT_LAT, 0.015),
|
||||
lng: jitter(DEFAULT_LNG, 0.015),
|
||||
city: "Fort Lauderdale",
|
||||
vanilla_mode: false,
|
||||
created_at: new Date().toISOString(),
|
||||
},
|
||||
{
|
||||
id: "5",
|
||||
username: "traveler_mia",
|
||||
display_name: "Alex",
|
||||
age: 35,
|
||||
position: "vers",
|
||||
bio: "Visiting from Miami. Here till Sunday.",
|
||||
avatar_url: "https://placehold.co/200x200/1a1220/a855f7?text=Vers",
|
||||
status: "traveling",
|
||||
is_anonymous: false,
|
||||
kinks: ["cruising", "anon", "oral"],
|
||||
sti_status: "Negative · tested Dec 2025",
|
||||
on_prep: true,
|
||||
last_active: new Date(Date.now() - 180000).toISOString(),
|
||||
lat: jitter(DEFAULT_LAT, 0.01),
|
||||
lng: jitter(DEFAULT_LNG, 0.01),
|
||||
city: "Fort Lauderdale",
|
||||
vanilla_mode: false,
|
||||
created_at: new Date().toISOString(),
|
||||
},
|
||||
];
|
||||
|
||||
export const MOCK_SPOTS: CruisingSpot[] = [
|
||||
{
|
||||
id: "s1",
|
||||
name: "Hugh Taylor Birch State Park",
|
||||
description: "Popular trails behind the nature center. Active after dark.",
|
||||
category: "park",
|
||||
lat: 26.1452,
|
||||
lng: -80.1048,
|
||||
city: "Fort Lauderdale",
|
||||
rating: 4.2,
|
||||
active_count: 8,
|
||||
is_popular: true,
|
||||
created_at: new Date().toISOString(),
|
||||
},
|
||||
{
|
||||
id: "s2",
|
||||
name: "Sebastian Street Beach",
|
||||
description: "Gay beach section. Day and night action.",
|
||||
category: "beach",
|
||||
lat: 26.1175,
|
||||
lng: -80.1042,
|
||||
city: "Fort Lauderdale",
|
||||
rating: 4.5,
|
||||
active_count: 12,
|
||||
is_popular: true,
|
||||
created_at: new Date().toISOString(),
|
||||
},
|
||||
{
|
||||
id: "s3",
|
||||
name: "LA Fitness — Oakland Park",
|
||||
description: "Locker room and sauna. Peak hours 5-8pm.",
|
||||
category: "gym",
|
||||
lat: 26.1723,
|
||||
lng: -80.1317,
|
||||
city: "Fort Lauderdale",
|
||||
rating: 3.8,
|
||||
active_count: 4,
|
||||
is_popular: false,
|
||||
created_at: new Date().toISOString(),
|
||||
},
|
||||
{
|
||||
id: "s4",
|
||||
name: "Ramrod Bar Restroom",
|
||||
description: "Back bar area. Weekend nights.",
|
||||
category: "restroom",
|
||||
lat: 26.1603,
|
||||
lng: -80.1389,
|
||||
city: "Fort Lauderdale",
|
||||
rating: 3.5,
|
||||
active_count: 2,
|
||||
is_popular: false,
|
||||
created_at: new Date().toISOString(),
|
||||
},
|
||||
{
|
||||
id: "s5",
|
||||
name: "Triple Crown Bookstore",
|
||||
description: "Adult bookstore with viewing booths.",
|
||||
category: "bookstore",
|
||||
lat: 26.1912,
|
||||
lng: -80.1534,
|
||||
city: "Oakland Park",
|
||||
rating: 4.0,
|
||||
active_count: 6,
|
||||
is_popular: true,
|
||||
created_at: new Date().toISOString(),
|
||||
},
|
||||
];
|
||||
Reference in New Issue
Block a user