feat: handle foreign address
All checks were successful
Spell Check / Spell Check with Typos (push) Successful in 4s
All checks were successful
Spell Check / Spell Check with Typos (push) Successful in 4s
This commit is contained in:
parent
5aa8b06cf2
commit
b7a13b2d7a
1 changed files with 39 additions and 8 deletions
|
|
@ -288,6 +288,7 @@ function replaceEmptyField<T>(data: T): T {
|
||||||
}
|
}
|
||||||
|
|
||||||
type FullAddress = {
|
type FullAddress = {
|
||||||
|
addressForeign?: boolean;
|
||||||
address: string;
|
address: string;
|
||||||
addressEN: string;
|
addressEN: string;
|
||||||
moo?: string;
|
moo?: string;
|
||||||
|
|
@ -296,8 +297,14 @@ type FullAddress = {
|
||||||
soiEN?: string;
|
soiEN?: string;
|
||||||
street?: string;
|
street?: string;
|
||||||
streetEN?: string;
|
streetEN?: string;
|
||||||
|
provinceText?: string | null;
|
||||||
|
provinceTextEN?: string | null;
|
||||||
province?: Province | null;
|
province?: Province | null;
|
||||||
|
districtText?: string | null;
|
||||||
|
districtTextEN?: string | null;
|
||||||
district?: District | null;
|
district?: District | null;
|
||||||
|
subDistrictText?: string | null;
|
||||||
|
subDistrictTextEN?: string | null;
|
||||||
subDistrict?: SubDistrict | null;
|
subDistrict?: SubDistrict | null;
|
||||||
en?: boolean;
|
en?: boolean;
|
||||||
};
|
};
|
||||||
|
|
@ -331,13 +338,22 @@ function addressFull(addr: FullAddress, lang: "th" | "en" = "en") {
|
||||||
if (addr.soi) fragments.push(`ซอย ${addr.soi},`);
|
if (addr.soi) fragments.push(`ซอย ${addr.soi},`);
|
||||||
if (addr.street) fragments.push(`ถนน${addr.street},`);
|
if (addr.street) fragments.push(`ถนน${addr.street},`);
|
||||||
|
|
||||||
if (addr.subDistrict) {
|
if (!addr.addressForeign && addr.subDistrict) {
|
||||||
fragments.push(`${addr.province?.id === "10" ? "แขวง" : "ตำบล"}${addr.subDistrict.name},`);
|
fragments.push(`${addr.province?.id === "10" ? "แขวง" : "ตำบล"}${addr.subDistrict.name}`);
|
||||||
}
|
}
|
||||||
if (addr.district) {
|
if (addr.addressForeign && addr.subDistrictText) {
|
||||||
fragments.push(`${addr.province?.id === "10" ? "เขต" : "อำเภอ"}${addr.district.name},`);
|
fragments.push(`ตำบล${addr.subDistrictText}`);
|
||||||
}
|
}
|
||||||
if (addr.province) fragments.push(`จังหวัด${addr.province.name},`);
|
|
||||||
|
if (!addr.addressForeign && addr.district) {
|
||||||
|
fragments.push(`${addr.province?.id === "10" ? "เขต" : "อำเภอ"}${addr.district.name}`);
|
||||||
|
}
|
||||||
|
if (addr.addressForeign && addr.districtText) {
|
||||||
|
fragments.push(`อำเภอ${addr.districtText}`);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!addr.addressForeign && addr.province) fragments.push(`จังหวัด${addr.province.name}`);
|
||||||
|
if (addr.addressForeign && addr.provinceText) fragments.push(`จังหวัด${addr.provinceText}`);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
|
@ -346,11 +362,26 @@ function addressFull(addr: FullAddress, lang: "th" | "en" = "en") {
|
||||||
if (addr.soiEN) fragments.push(`Soi ${addr.soiEN},`);
|
if (addr.soiEN) fragments.push(`Soi ${addr.soiEN},`);
|
||||||
if (addr.streetEN) fragments.push(`${addr.streetEN} Rd.`);
|
if (addr.streetEN) fragments.push(`${addr.streetEN} Rd.`);
|
||||||
|
|
||||||
if (addr.subDistrict) {
|
if (!addr.addressForeign && addr.subDistrict) {
|
||||||
fragments.push(`${addr.subDistrict.nameEN} sub-district,`);
|
fragments.push(`${addr.subDistrict.nameEN} sub-district,`);
|
||||||
}
|
}
|
||||||
if (addr.district) fragments.push(`${addr.district.nameEN} district,`);
|
if (addr.addressForeign && addr.subDistrictTextEN) {
|
||||||
if (addr.province) fragments.push(`${addr.province.nameEN},`);
|
fragments.push(`${addr.subDistrictTextEN} sub-district,`);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!addr.addressForeign && addr.district) {
|
||||||
|
fragments.push(`${addr.district.nameEN} district,`);
|
||||||
|
}
|
||||||
|
if (addr.addressForeign && addr.districtTextEN) {
|
||||||
|
fragments.push(`${addr.districtTextEN} district,`);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!addr.addressForeign && addr.province) {
|
||||||
|
fragments.push(`${addr.province.nameEN},`);
|
||||||
|
}
|
||||||
|
if (addr.addressForeign && addr.provinceTextEN) {
|
||||||
|
fragments.push(`${addr.provinceTextEN} district,`);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue