feat: add Google Maps → Email pipeline (Tab 4)

- New Maps page with keyword + region chips, German city presets, query preview, enrichment toggle
- Google Maps Places API (New) service with pagination and deduplication
- maps-enrich job route: Maps search → store raw leads → optional Anymailfinder bulk enrichment
- Settings: Google Maps API key credential card with Places API instructions
- Sidebar: MapPin nav item + googlemaps credential status indicator
- Results: maps job type with MapPin icon (text-green-400)
- Credentials API: added googlemaps to SERVICES array and test endpoint

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Timo Uttenweiler
2026-03-17 11:40:08 +01:00
parent aa50f46748
commit 7486517827
9 changed files with 787 additions and 6 deletions

View File

@@ -27,6 +27,14 @@ const CREDENTIALS: Credential[] = [
link: "https://anymailfinder.com/account",
linkLabel: "Get API key",
},
{
service: "googlemaps",
label: "Google Maps API Key",
placeholder: "AIza...",
link: "https://console.cloud.google.com/apis/credentials",
linkLabel: "Google Cloud Console",
instructions: 'Enable the "Places API (New)" in Google Cloud Console. Go to APIs & Services → Enable APIs → search "Places API (New)". Then create an API key under Credentials. Restrict the key to "Places API (New)" for security. Free tier: $200/month credit ≈ 6,000 searches.',
},
{
service: "apify",
label: "Apify API Token",