Skip to content

Instantly share code, notes, and snippets.

@Software78
Created May 23, 2024 11:04
Show Gist options
  • Select an option

  • Save Software78/9d567e70e1abf67ecf832bdd7d58d3fa to your computer and use it in GitHub Desktop.

Select an option

Save Software78/9d567e70e1abf67ecf832bdd7d58d3fa to your computer and use it in GitHub Desktop.
STATES AND CITY DROPDOWN
NigerianStates nigerianStates = NigerianStates.lagos;
String? lga;
void resetLga(NigerianStates? state){
setState(() {
_stateKey.currentState?.dispose();
_stateKey = GlobalKey<FormState>();
nigerianStates = state ?? NigerianStates.lagos;
lga = null;
});
}
DropdownButtonFormField<NigerianStates>(
value: nigerianStates,
padding: EdgeInsets.zero,
validator: (value) {
if (value == null) {
return 'The field is required';
}
return null;
},
autovalidateMode: AutovalidateMode.onUserInteraction,
items: NigerianStates.values
.map((e) => DropdownMenuItem<NigerianStates>(
child: e.name.toCapitalized().text,
value: e,
))
.toList(),
onChanged: (value) => resetLga(value),
),
DropdownButtonFormField<String>(
key: _stateKey,
padding: EdgeInsets.zero,
value: lga,
validator: (value) {
if (value == null) {
return 'The field is required';
}
return null;
},
hint: 'Select LGA'.text,
autovalidateMode: AutovalidateMode.onUserInteraction,
items: NigerianStatesAndLGA.getStateLGAs(nigerianStates)
.map(
(e) => DropdownMenuItem(
child: e.text,
value: e,
),
)
.toList(),
onChanged: (value) {
lga = value;
},
),
class NigerianStatesAndLGA {
static const allStates = [
"Abia",
"Adamawa",
"Akwa Ibom",
"Anambra",
"Bauchi",
"Bayelsa",
"Benue",
"Borno",
"Cross River",
"Delta",
"Ebonyi",
"Edo",
"Ekiti",
"Enugu",
"Gombe",
"Imo",
"Jigawa",
"Kaduna",
"Kano",
"Katsina",
"Kebbi",
"Kogi",
"Kwara",
"Lagos",
"Nasarawa",
"Niger",
"Ogun",
"Ondo",
"Osun",
"Oyo",
"Plateau",
"Rivers",
"Sokoto",
"Taraba",
"Yobe",
"Zamfara",
"FCT(Abuja)",
];
static const abiaLGAs = [
"Aba North",
"Arochukwu",
"Aba South",
"Bende",
"Isiala Ngwa North",
"Ikwuano",
"Isiala Ngwa South",
"Isuikwuato",
"Obi Ngwa",
"Ohafia",
"Osisioma",
"Ugwunagbo",
"Ukwa East",
"Ukwa West",
"Umuahia North",
"Umuahia South",
"Umu Nneochi"
];
static const adamawaLGAs = [
"Demsa",
"Fufure",
"Ganye",
"Gayuk",
"Gombi",
"Grie",
"Hong",
"Jada",
"Larmurde",
"Madagali",
"Maiha",
"Mayo Belwa",
"Michika",
"Mubi North",
"Mubi South",
"Numan",
"Shelleng",
"Song",
"Toungo",
"Yola North",
"Yola South"
];
static const akwaIbomLGAs = [
"Abak",
"Eastern Obolo",
"Eket",
"Esit Eket",
"Essien Udim",
"Etim Ekpo",
"Etinan",
"Ibeno",
"Ibesikpo Asutan",
"Ibiono-Ibom",
"Ikot Abasi",
"Ika",
"Ikono",
"Ikot Ekpene",
"Ini",
"Mkpat-Enin",
"Itu",
"Mbo",
"Nsit-Atai",
"Nsit-Ibom",
"Nsit-Ubium",
"Obot Akara",
"Okobo",
"Onna",
"Oron",
"Udung-Uko",
"Ukanafun",
"Oruk Anam",
"Uruan",
"Urue-Offong/Oruko",
"Uyo"
];
static const anambraLGAs = [
"Aguata",
"Anambra East",
"Anaocha",
"Awka North",
"Anambra West",
"Awka South",
"Ayamelum",
"Dunukofia",
"Ekwusigo",
"Idemili North",
"Idemili South",
"Ihiala",
"Njikoka",
"Nnewi North",
"Nnewi South",
"Ogbaru",
"Onitsha North",
"Onitsha South",
"Orumba North",
"Orumba South",
"Oyi"
];
static const bauchiLGAs = [
"Alkaleri",
"Bauchi",
"Bogoro",
"Damban",
"Darazo",
"Dass",
"Gamawa",
"Ganjuwa",
"Giade",
"Itas/Gadau",
"Jama'are",
"Katagum",
"Kirfi",
"Misau",
"Ningi",
"Shira",
"Tafawa Balewa",
"Toro",
"Warji",
"Zaki"
];
static const bayelsaLGAs = [
"Brass",
"Ekeremor",
"Kolokuma/Opokuma",
"Nembe",
"Ogbia",
"Sagbama",
"Southern Ijaw",
"Yenagoa"
];
static const benueLGAs = [
"Agatu",
"Apa",
"Ado",
"Buruku",
"Gboko",
"Guma",
"Gwer East",
"Gwer West",
"Katsina-Ala",
"Konshisha",
"Kwande",
"Logo",
"Makurdi",
"Obi",
"Ogbadibo",
"Ohimini",
"Oju",
"Okpokwu",
"Oturkpo",
"Tarka",
"Ukum",
"Ushongo",
"Vandeikya"
];
static const bornoLGAs = [
"Abadam",
"Askira/Uba",
"Bama",
"Bayo",
"Biu",
"Chibok",
"Damboa",
"Dikwa",
"Guzamala",
"Gubio",
"Hawul",
"Gwoza",
"Jere",
"Kaga",
"Kala/Balge",
"Konduga",
"Kukawa",
"Kwaya Kusar",
"Mafa",
"Magumeri",
"Maiduguri",
"Mobbar",
"Marte",
"Monguno",
"Ngala",
"Nganzai",
"Shani"
];
static const crossRiverLGAs = [
"Abi",
"Akamkpa",
"Akpabuyo",
"Bakassi",
"Bekwarra",
"Biase",
"Boki",
"Calabar Municipal",
"Calabar South",
"Etung",
"Ikom",
"Obanliku",
"Obubra",
"Obudu",
"Odukpani",
"Ogoja",
"Yakuur",
"Yala"
];
static const deltaLGAs = [
"Aniocha North",
"Aniocha South",
"Bomadi",
"Burutu",
"Ethiope West",
"Ethiope East",
"Ika North East",
"Ika South",
"Isoko North",
"Isoko South",
"Ndokwa East",
"Ndokwa West",
"Okpe",
"Oshimili North",
"Oshimili South",
"Patani",
"Sapele",
"Udu",
"Ughelli North",
"Ukwuani",
"Ughelli South",
"Uvwie",
"Warri North",
"Warri South",
"Warri South West"
];
static const ebonyiLGAs = [
"Abakaliki",
"Afikpo North",
"Ebonyi",
"Afikpo South",
"Ezza North",
"Ikwo",
"Ezza South",
"Ivo",
"Ishielu",
"Izzi",
"Ohaozara",
"Ohaukwu",
"Onicha"
];
static const edoLGAs = [
"Akoko-Edo",
"Egor",
"Esan Central",
"Esan North-East",
"Esan South-East",
"Esan West",
"Etsako Central",
"Etsako East",
"Etsako West",
"Igueben",
"Ikpoba Okha",
"Orhionmwon",
"Oredo",
"Ovia North-East",
"Ovia South-West",
"Owan East",
"Owan West",
"Uhunmwonde"
];
static const ekitiLGAs = [
"Ado Ekiti",
"Efon",
"Ekiti East",
"Ekiti South-West",
"Ekiti West",
"Emure",
"Gbonyin",
"Ido Osi",
"Ijero",
"Ikere",
"Ilejemeje",
"Irepodun/Ifelodun",
"Ikole",
"Ise/Orun",
"Moba",
"Oye"
];
static const enuguLGAs = [
"Awgu",
"Aninri",
"Enugu East",
"Enugu North",
"Ezeagu",
"Enugu South",
"Igbo Etiti",
"Igbo Eze North",
"Igbo Eze South",
"Isi Uzo",
"Nkanu East",
"Nkanu West",
"Nsukka",
"Udenu",
"Oji River",
"Uzo Uwani",
"Udi"
];
static const gombeLGAs = [
"Akko",
"Balanga",
"Billiri",
"Dukku",
"Funakaye",
"Gombe",
"Kaltungo",
"Kwami",
"Nafada",
"Shongom",
"Yamaltu/Deba"
];
static const imoLGAs = [
"Aboh Mbaise",
"Ahiazu Mbaise",
"Ehime Mbano",
"Ezinihitte",
"Ideato North",
"Ideato South",
"Ihitte/Uboma",
"Ikeduru",
"Isiala Mbano",
"Mbaitoli",
"Isu",
"Ngor Okpala",
"Njaba",
"Nkwerre",
"Nwangele",
"Obowo",
"Oguta",
"Ohaji/Egbema",
"Okigwe",
"Orlu",
"Orsu",
"Oru East",
"Oru West",
"Owerri Municipal",
"Owerri North",
"Unuimo",
"Owerri West"
];
static const jigawaLGAs = [
"Auyo",
"Babura",
"Buji",
"Biriniwa",
"Birnin Kudu",
"Dutse",
"Gagarawa",
"Garki",
"Gumel",
"Guri",
"Gwaram",
"Gwiwa",
"Hadejia",
"Jahun",
"Kafin Hausa",
"Kazaure",
"Kiri Kasama",
"Kiyawa",
"Kaugama",
"Maigatari",
"Malam Madori",
"Miga",
"Sule Tankarkar",
"Roni",
"Ringim",
"Yankwashi",
"Taura"
];
static const kadunaLGAs = [
"Birnin Gwari",
"Chikun",
"Giwa",
"Ikara",
"Igabi",
"Jaba",
"Jema'a",
"Kachia",
"Kaduna North",
"Kaduna South",
"Kagarko",
"Kajuru",
"Kaura",
"Kauru",
"Kubau",
"Kudan",
"Lere",
"Makarfi",
"Sabon Gari",
"Sanga",
"Soba",
"Zangon Kataf",
"Zaria"
];
static const kanoLGAs = [
"Ajingi",
"Albasu",
"Bagwai",
"Bebeji",
"Bichi",
"Bunkure",
"Dala",
"Dambatta",
"Dawakin Kudu",
"Dawakin Tofa",
"Doguwa",
"Fagge",
"Gabasawa",
"Garko",
"Garun Mallam",
"Gezawa",
"Gaya",
"Gwale",
"Gwarzo",
"Kabo",
"Kano Municipal",
"Karaye",
"Kibiya",
"Kiru",
"Kumbotso",
"Kunchi",
"Kura",
"Madobi",
"Makoda",
"Minjibir",
"Nasarawa",
"Rano",
"Rimin Gado",
"Rogo",
"Shanono",
"Takai",
"Sumaila",
"Tarauni",
"Tofa",
"Tsanyawa",
"Tudun Wada",
"Ungogo",
"Warawa",
"Wudil"
];
static const katsinaLGAs = [
"Bakori",
"Batagarawa",
"Batsari",
"Baure",
"Bindawa",
"Charanchi",
"Danja",
"Dandume",
"Dan Musa",
"Daura",
"Dutsi",
"Dutsin Ma",
"Faskari",
"Funtua",
"Ingawa",
"Jibia",
"Kafur",
"Kaita",
"Kankara",
"Kankia",
"Katsina",
"Kurfi",
"Kusada",
"Mai'Adua",
"Malumfashi",
"Mani",
"Mashi",
"Matazu",
"Musawa",
"Rimi",
"Sabuwa",
"Safana",
"Sandamu",
"Zango"
];
static const kebbiLGAs = [
"Aleiro",
"Argungu",
"Arewa Dandi",
"Augie",
"Bagudo",
"Birnin Kebbi",
"Bunza",
"Dandi",
"Fakai",
"Gwandu",
"Jega",
"Kalgo",
"Koko/Besse",
"Maiyama",
"Ngaski",
"Shanga",
"Suru",
"Sakaba",
"Wasagu/Danko",
"Yauri",
"Zuru"
];
static const kogiLGAs = [
"Ajaokuta",
"Adavi",
"Ankpa",
"Bassa",
"Dekina",
"Ibaji",
"Idah",
"Igalamela Odolu",
"Ijumu",
"Kogi",
"Kabba/Bunu",
"Lokoja",
"Ofu",
"Mopa Muro",
"Ogori/Magongo",
"Okehi",
"Okene",
"Olamaboro",
"Omala",
"Yagba East",
"Yagba West"
];
static const kwaraLGAs = [
"Asa",
"Baruten",
"Edu",
"Ilorin East",
"Ifelodun",
"Ilorin South",
"Ekiti Kwara State",
"Ilorin West",
"Irepodun",
"Isin",
"Kaiama",
"Moro",
"Offa",
"Oke Ero",
"Oyun",
"Pategi"
];
static const lagosLGAs = [
"Agege",
"Ajeromi-Ifelodun",
"Alimosho",
"Amuwo-Odofin",
"Badagry",
"Apapa",
"Epe",
"Eti Osa",
"Ibeju-Lekki",
"Ifako-Ijaiye",
"Ikeja",
"Ikorodu",
"Kosofe",
"Lagos Island",
"Mushin",
"Lagos Mainland",
"Ojo",
"Oshodi-Isolo",
"Shomolu",
"Surulere Lagos State"
];
static const nasarawaLGAs = [
"Akwanga",
"Awe",
"Doma",
"Karu",
"Keana",
"Keffi",
"Lafia",
"Kokona",
"Nasarawa Egon",
"Nasarawa",
"Obi",
"Toto",
"Wamba"
];
static const nigerLGAs = [
"Agaie",
"Agwara",
"Bida",
"Borgu",
"Bosso",
"Chanchaga",
"Edati",
"Gbako",
"Gurara",
"Katcha",
"Kontagora",
"Lapai",
"Lavun",
"Mariga",
"Magama",
"Mokwa",
"Mashegu",
"Moya",
"Paikoro",
"Rafi",
"Rijau",
"Shiroro",
"Suleja",
"Tafa",
"Wushishi"
];
static const ogunLGAs = [
"Abeokuta North",
"Abeokuta South",
"Ado-Odo/Ota",
"Egbado North",
"Ewekoro",
"Egbado South",
"Ijebu North",
"Ijebu East",
"Ifo",
"Ijebu Ode",
"Ijebu North East",
"Imeko Afon",
"Ikenne",
"Ipokia",
"Odeda",
"Obafemi Owode",
"Odogbolu",
"Remo North",
"Ogun Waterside",
"Shagamu"
];
static const ondoLGAs = [
"Akoko North-East",
"Akoko North-West",
"Akoko South-West",
"Akoko South-East",
"Akure North",
"Akure South",
"Ese Odo",
"Idanre",
"Ifedore",
"Ilaje",
"Irele",
"Ile Oluji/Okeigbo",
"Odigbo",
"Okitipupa",
"Ondo West",
"Ose",
"Ondo East",
"Owo"
];
static const osunLGAs = [
"Aiyedire",
"Atakunmosa West",
"Atakunmosa East",
"Aiyedaade",
"Boluwaduro",
"Boripe",
"Ife East",
"Ede South",
"Ife North",
"Ede North",
"Ife South",
"Ejigbo",
"Ife Central",
"Ifedayo",
"Egbedore",
"Ila",
"Ifelodun",
"Ilesa East",
"Ilesa West",
"Irepodun",
"Irewole",
"Isokan",
"Iwo",
"Obokun",
"Odo Otin",
"Ola Oluwa",
"Olorunda",
"Oriade",
"Orolu",
"Osogbo"
];
static const oyoLGAs = [
"Afijio",
"Akinyele",
"Atiba",
"Atisbo",
"Egbeda",
"Ibadan North",
"Ibadan North-East",
"Ibadan North-West",
"Ibadan South-East",
"Ibarapa Central",
"Ibadan South-West",
"Ibarapa East",
"Ido",
"Ibarapa North",
"Irepo",
"Iseyin",
"Itesiwaju",
"Iwajowa",
"Kajola",
"Lagelu",
"Ogbomosho North",
"Ogbomosho South",
"Ogo Oluwa",
"Olorunsogo",
"Oluyole",
"Ona Ara",
"Orelope",
"Ori Ire",
"Oyo",
"Oyo East",
"Saki East",
"Saki West",
"Surulere Oyo State"
];
static const plateauLGAs = [
"Bokkos",
"Barkin Ladi",
"Bassa",
"Jos East",
"Jos North",
"Jos South",
"Kanam",
"Kanke",
"Langtang South",
"Langtang North",
"Mangu",
"Mikang",
"Pankshin",
"Qua'an Pan",
"Riyom",
"Shendam",
"Wase"
];
static const riversLGAs = [
"Abua/Odual",
"Ahoada East",
"Ahoada West",
"Andoni",
"Akuku-Toru",
"Asari-Toru",
"Bonny",
"Degema",
"Emuoha",
"Eleme",
"Ikwerre",
"Etche",
"Gokana",
"Khana",
"Obio/Akpor",
"Ogba/Egbema/Ndoni",
"Ogu/Bolo",
"Okrika",
"Omuma",
"Opobo/Nkoro",
"Oyigbo",
"Port Harcourt",
"Tai"
];
static const sokotoLGAs = [
"Gudu",
"Gwadabawa",
"Illela",
"Isa",
"Kebbe",
"Kware",
"Rabah",
"Sabon Birni",
"Shagari",
"Silame",
"Sokoto North",
"Sokoto South",
"Tambuwal",
"Tangaza",
"Tureta",
"Wamako",
"Wurno",
"Yabo",
"Binji",
"Bodinga",
"Dange Shuni",
"Goronyo",
"Gada"
];
static const tarabaLGAs = [
"Ardo Kola",
"Bali",
"Donga",
"Gashaka",
"Gassol",
"Ibi",
"Jalingo",
"Karim Lamido",
"Kumi",
"Lau",
"Sardauna",
"Takum",
"Ussa",
"Wukari",
"Yorro",
"Zing"
];
static const yobeLGAs = [
"Bade",
"Bursari",
"Damaturu",
"Fika",
"Fune",
"Geidam",
"Gujba",
"Gulani",
"Jakusko",
"Karasuwa",
"Machina",
"Nangere",
"Nguru",
"Potiskum",
"Tarmuwa",
"Yunusari",
"Yusufari"
];
static const zamfaraLGAs = [
"Anka",
"Birnin Magaji/Kiyaw",
"Bakura",
"Bukkuyum",
"Bungudu",
"Gummi",
"Gusau",
"Kaura Namoda",
"Maradun",
"Shinkafi",
"Maru",
"Talata Mafara",
"Tsafe",
"Zurmi"
];
static const abujaLGAs = [
"Abaji",
"Bwari",
"Gwagwalada",
"Kuje",
"Kwali",
"Municipal Area Council"
];
static List<String> getStateLGAs(NigerianStates state) {
switch (state) {
case NigerianStates.abia:
return abiaLGAs;
case NigerianStates.adamawa:
return adamawaLGAs;
case NigerianStates.akwaIbom:
return akwaIbomLGAs;
case NigerianStates.anambra:
return anambraLGAs;
case NigerianStates.bauchi:
return bauchiLGAs;
case NigerianStates.bayelsa:
return bayelsaLGAs;
case NigerianStates.benue:
return benueLGAs;
case NigerianStates.borno:
return bornoLGAs;
case NigerianStates.crossRiver:
return crossRiverLGAs;
case NigerianStates.delta:
return deltaLGAs;
case NigerianStates.ebonyi:
return ebonyiLGAs;
case NigerianStates.edo:
return edoLGAs;
case NigerianStates.ekiti:
return ekitiLGAs;
case NigerianStates.enugu:
return enuguLGAs;
case NigerianStates.gombe:
return gombeLGAs;
case NigerianStates.imo:
return imoLGAs;
case NigerianStates.jigawa:
return jigawaLGAs;
case NigerianStates.kaduna:
return kadunaLGAs;
case NigerianStates.kano:
return kanoLGAs;
case NigerianStates.katsina:
return katsinaLGAs;
case NigerianStates.kebbi:
return kebbiLGAs;
case NigerianStates.kogi:
return kogiLGAs;
case NigerianStates.kwara:
return kwaraLGAs;
case NigerianStates.lagos:
return lagosLGAs;
case NigerianStates.nasarawa:
return nasarawaLGAs;
case NigerianStates.niger:
return nigerLGAs;
case NigerianStates.ogun:
return ogunLGAs;
case NigerianStates.ondo:
return ondoLGAs;
case NigerianStates.osun:
return osunLGAs;
case NigerianStates.oyo:
return oyoLGAs;
case NigerianStates.plateau:
return plateauLGAs;
case NigerianStates.rivers:
return riversLGAs;
case NigerianStates.sokoto:
return sokotoLGAs;
case NigerianStates.taraba:
return tarabaLGAs;
case NigerianStates.yobe:
return yobeLGAs;
case NigerianStates.zamfara:
return zamfaraLGAs;
case NigerianStates.fct:
return abujaLGAs;
}
}
}
enum NigerianStates {
abia,
adamawa,
akwaIbom,
anambra,
bauchi,
bayelsa,
benue,
borno,
crossRiver,
delta,
ebonyi,
edo,
ekiti,
enugu,
gombe,
imo,
jigawa,
kaduna,
kano,
katsina,
kebbi,
kogi,
kwara,
lagos,
nasarawa,
niger,
ogun,
ondo,
osun,
oyo,
plateau,
rivers,
sokoto,
taraba,
yobe,
zamfara,
fct,
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment