/** * Liste complète des indicatifs téléphoniques internationaux. * Utilisée pour le seed initial et comme référence statique côté client. * * enabled: true → activé par défaut (configurable en DB) * sortOrder: 1-9 → affiché en premier dans les sélecteurs */ export type CountryCodeEntry = { code: string; // ISO 3166-1 alpha-2 dialCode: string; // sans le + (ex: "33") nameFr: string; // nom en français flag: string; // emoji drapeau enabled: boolean; // activé par défaut sortOrder: number; // ordre d'affichage }; export const ALL_COUNTRY_CODES: CountryCodeEntry[] = [ // ── Pays activés par défaut (sortOrder 1-3) ────────────────────────────── { code: "FR", dialCode: "33", nameFr: "France", flag: "🇫🇷", enabled: true, sortOrder: 1 }, { code: "GF", dialCode: "594", nameFr: "Guyane française", flag: "🇬🇫", enabled: true, sortOrder: 2 }, { code: "BR", dialCode: "55", nameFr: "Brésil", flag: "🇧🇷", enabled: true, sortOrder: 3 }, // ── Territoires et DOM-TOM français ────────────────────────────────────── { code: "GP", dialCode: "590", nameFr: "Guadeloupe", flag: "🇬🇵", enabled: false, sortOrder: 10 }, { code: "MQ", dialCode: "596", nameFr: "Martinique", flag: "🇲🇶", enabled: false, sortOrder: 11 }, { code: "RE", dialCode: "262", nameFr: "La Réunion", flag: "🇷🇪", enabled: false, sortOrder: 12 }, { code: "PM", dialCode: "508", nameFr: "Saint-Pierre-et-Miquelon", flag: "🇵🇲", enabled: false, sortOrder: 13 }, { code: "YT", dialCode: "262", nameFr: "Mayotte", flag: "🇾🇹", enabled: false, sortOrder: 14 }, { code: "NC", dialCode: "687", nameFr: "Nouvelle-Calédonie", flag: "🇳🇨", enabled: false, sortOrder: 15 }, { code: "PF", dialCode: "689", nameFr: "Polynésie française", flag: "🇵🇫", enabled: false, sortOrder: 16 }, { code: "WF", dialCode: "681", nameFr: "Wallis-et-Futuna", flag: "🇼🇫", enabled: false, sortOrder: 17 }, // ── Europe ──────────────────────────────────────────────────────────────── { code: "BE", dialCode: "32", nameFr: "Belgique", flag: "🇧🇪", enabled: false, sortOrder: 20 }, { code: "CH", dialCode: "41", nameFr: "Suisse", flag: "🇨🇭", enabled: false, sortOrder: 21 }, { code: "LU", dialCode: "352", nameFr: "Luxembourg", flag: "🇱🇺", enabled: false, sortOrder: 22 }, { code: "MC", dialCode: "377", nameFr: "Monaco", flag: "🇲🇨", enabled: false, sortOrder: 23 }, { code: "DE", dialCode: "49", nameFr: "Allemagne", flag: "🇩🇪", enabled: false, sortOrder: 24 }, { code: "ES", dialCode: "34", nameFr: "Espagne", flag: "🇪🇸", enabled: false, sortOrder: 25 }, { code: "IT", dialCode: "39", nameFr: "Italie", flag: "🇮🇹", enabled: false, sortOrder: 26 }, { code: "PT", dialCode: "351", nameFr: "Portugal", flag: "🇵🇹", enabled: false, sortOrder: 27 }, { code: "GB", dialCode: "44", nameFr: "Royaume-Uni", flag: "🇬🇧", enabled: false, sortOrder: 28 }, { code: "NL", dialCode: "31", nameFr: "Pays-Bas", flag: "🇳🇱", enabled: false, sortOrder: 29 }, { code: "PL", dialCode: "48", nameFr: "Pologne", flag: "🇵🇱", enabled: false, sortOrder: 30 }, { code: "SE", dialCode: "46", nameFr: "Suède", flag: "🇸🇪", enabled: false, sortOrder: 31 }, { code: "NO", dialCode: "47", nameFr: "Norvège", flag: "🇳🇴", enabled: false, sortOrder: 32 }, { code: "DK", dialCode: "45", nameFr: "Danemark", flag: "🇩🇰", enabled: false, sortOrder: 33 }, { code: "FI", dialCode: "358", nameFr: "Finlande", flag: "🇫🇮", enabled: false, sortOrder: 34 }, { code: "AT", dialCode: "43", nameFr: "Autriche", flag: "🇦🇹", enabled: false, sortOrder: 35 }, { code: "GR", dialCode: "30", nameFr: "Grèce", flag: "🇬🇷", enabled: false, sortOrder: 36 }, { code: "RO", dialCode: "40", nameFr: "Roumanie", flag: "🇷🇴", enabled: false, sortOrder: 37 }, { code: "HU", dialCode: "36", nameFr: "Hongrie", flag: "🇭🇺", enabled: false, sortOrder: 38 }, { code: "CZ", dialCode: "420", nameFr: "République tchèque", flag: "🇨🇿", enabled: false, sortOrder: 39 }, { code: "TR", dialCode: "90", nameFr: "Turquie", flag: "🇹🇷", enabled: false, sortOrder: 40 }, // ── Afrique francophone ─────────────────────────────────────────────────── { code: "MA", dialCode: "212", nameFr: "Maroc", flag: "🇲🇦", enabled: false, sortOrder: 50 }, { code: "DZ", dialCode: "213", nameFr: "Algérie", flag: "🇩🇿", enabled: false, sortOrder: 51 }, { code: "TN", dialCode: "216", nameFr: "Tunisie", flag: "🇹🇳", enabled: false, sortOrder: 52 }, { code: "SN", dialCode: "221", nameFr: "Sénégal", flag: "🇸🇳", enabled: false, sortOrder: 53 }, { code: "CI", dialCode: "225", nameFr: "Côte d'Ivoire", flag: "🇨🇮", enabled: false, sortOrder: 54 }, { code: "CM", dialCode: "237", nameFr: "Cameroun", flag: "🇨🇲", enabled: false, sortOrder: 55 }, { code: "CD", dialCode: "243", nameFr: "Congo (RDC)", flag: "🇨🇩", enabled: false, sortOrder: 56 }, { code: "CG", dialCode: "242", nameFr: "Congo (Brazzaville)", flag: "🇨🇬", enabled: false, sortOrder: 57 }, { code: "MG", dialCode: "261", nameFr: "Madagascar", flag: "🇲🇬", enabled: false, sortOrder: 58 }, { code: "ML", dialCode: "223", nameFr: "Mali", flag: "🇲🇱", enabled: false, sortOrder: 59 }, { code: "BF", dialCode: "226", nameFr: "Burkina Faso", flag: "🇧🇫", enabled: false, sortOrder: 60 }, { code: "NE", dialCode: "227", nameFr: "Niger", flag: "🇳🇪", enabled: false, sortOrder: 61 }, { code: "TD", dialCode: "235", nameFr: "Tchad", flag: "🇹🇩", enabled: false, sortOrder: 62 }, { code: "GN", dialCode: "224", nameFr: "Guinée", flag: "🇬🇳", enabled: false, sortOrder: 63 }, { code: "BJ", dialCode: "229", nameFr: "Bénin", flag: "🇧🇯", enabled: false, sortOrder: 64 }, { code: "TG", dialCode: "228", nameFr: "Togo", flag: "🇹🇬", enabled: false, sortOrder: 65 }, { code: "MR", dialCode: "222", nameFr: "Mauritanie", flag: "🇲🇷", enabled: false, sortOrder: 66 }, { code: "GA", dialCode: "241", nameFr: "Gabon", flag: "🇬🇦", enabled: false, sortOrder: 67 }, { code: "GQ", dialCode: "240", nameFr: "Guinée équatoriale", flag: "🇬🇶", enabled: false, sortOrder: 68 }, { code: "CF", dialCode: "236", nameFr: "Centrafrique", flag: "🇨🇫", enabled: false, sortOrder: 69 }, { code: "KM", dialCode: "269", nameFr: "Comores", flag: "🇰🇲", enabled: false, sortOrder: 70 }, { code: "DJ", dialCode: "253", nameFr: "Djibouti", flag: "🇩🇯", enabled: false, sortOrder: 71 }, { code: "MU", dialCode: "230", nameFr: "Maurice", flag: "🇲🇺", enabled: false, sortOrder: 72 }, { code: "SC", dialCode: "248", nameFr: "Seychelles", flag: "🇸🇨", enabled: false, sortOrder: 73 }, { code: "EG", dialCode: "20", nameFr: "Égypte", flag: "🇪🇬", enabled: false, sortOrder: 74 }, // ── Amériques ───────────────────────────────────────────────────────────── { code: "US", dialCode: "1", nameFr: "États-Unis", flag: "🇺🇸", enabled: false, sortOrder: 80 }, { code: "CA", dialCode: "1", nameFr: "Canada", flag: "🇨🇦", enabled: false, sortOrder: 81 }, { code: "MX", dialCode: "52", nameFr: "Mexique", flag: "🇲🇽", enabled: false, sortOrder: 82 }, { code: "AR", dialCode: "54", nameFr: "Argentine", flag: "🇦🇷", enabled: false, sortOrder: 83 }, { code: "CO", dialCode: "57", nameFr: "Colombie", flag: "🇨🇴", enabled: false, sortOrder: 84 }, { code: "CL", dialCode: "56", nameFr: "Chili", flag: "🇨🇱", enabled: false, sortOrder: 85 }, { code: "PE", dialCode: "51", nameFr: "Pérou", flag: "🇵🇪", enabled: false, sortOrder: 86 }, { code: "VE", dialCode: "58", nameFr: "Venezuela", flag: "🇻🇪", enabled: false, sortOrder: 87 }, { code: "EC", dialCode: "593", nameFr: "Équateur", flag: "🇪🇨", enabled: false, sortOrder: 88 }, { code: "BO", dialCode: "591", nameFr: "Bolivie", flag: "🇧🇴", enabled: false, sortOrder: 89 }, { code: "PY", dialCode: "595", nameFr: "Paraguay", flag: "🇵🇾", enabled: false, sortOrder: 90 }, { code: "UY", dialCode: "598", nameFr: "Uruguay", flag: "🇺🇾", enabled: false, sortOrder: 91 }, { code: "HT", dialCode: "509", nameFr: "Haïti", flag: "🇭🇹", enabled: false, sortOrder: 92 }, // ── Asie & Océanie ──────────────────────────────────────────────────────── { code: "IN", dialCode: "91", nameFr: "Inde", flag: "🇮🇳", enabled: false, sortOrder: 100 }, { code: "CN", dialCode: "86", nameFr: "Chine", flag: "🇨🇳", enabled: false, sortOrder: 101 }, { code: "JP", dialCode: "81", nameFr: "Japon", flag: "🇯🇵", enabled: false, sortOrder: 102 }, { code: "AU", dialCode: "61", nameFr: "Australie", flag: "🇦🇺", enabled: false, sortOrder: 103 }, { code: "LB", dialCode: "961", nameFr: "Liban", flag: "🇱🇧", enabled: false, sortOrder: 104 }, ];