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 = {
|
||||
addressForeign?: boolean;
|
||||
address: string;
|
||||
addressEN: string;
|
||||
moo?: string;
|
||||
|
|
@ -296,8 +297,14 @@ type FullAddress = {
|
|||
soiEN?: string;
|
||||
street?: string;
|
||||
streetEN?: string;
|
||||
provinceText?: string | null;
|
||||
provinceTextEN?: string | null;
|
||||
province?: Province | null;
|
||||
districtText?: string | null;
|
||||
districtTextEN?: string | null;
|
||||
district?: District | null;
|
||||
subDistrictText?: string | null;
|
||||
subDistrictTextEN?: string | null;
|
||||
subDistrict?: SubDistrict | null;
|
||||
en?: boolean;
|
||||
};
|
||||
|
|
@ -331,13 +338,22 @@ function addressFull(addr: FullAddress, lang: "th" | "en" = "en") {
|
|||
if (addr.soi) fragments.push(`ซอย ${addr.soi},`);
|
||||
if (addr.street) fragments.push(`ถนน${addr.street},`);
|
||||
|
||||
if (addr.subDistrict) {
|
||||
fragments.push(`${addr.province?.id === "10" ? "แขวง" : "ตำบล"}${addr.subDistrict.name},`);
|
||||
if (!addr.addressForeign && addr.subDistrict) {
|
||||
fragments.push(`${addr.province?.id === "10" ? "แขวง" : "ตำบล"}${addr.subDistrict.name}`);
|
||||
}
|
||||
if (addr.district) {
|
||||
fragments.push(`${addr.province?.id === "10" ? "เขต" : "อำเภอ"}${addr.district.name},`);
|
||||
if (addr.addressForeign && addr.subDistrictText) {
|
||||
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;
|
||||
default:
|
||||
|
|
@ -346,11 +362,26 @@ function addressFull(addr: FullAddress, lang: "th" | "en" = "en") {
|
|||
if (addr.soiEN) fragments.push(`Soi ${addr.soiEN},`);
|
||||
if (addr.streetEN) fragments.push(`${addr.streetEN} Rd.`);
|
||||
|
||||
if (addr.subDistrict) {
|
||||
if (!addr.addressForeign && addr.subDistrict) {
|
||||
fragments.push(`${addr.subDistrict.nameEN} sub-district,`);
|
||||
}
|
||||
if (addr.district) fragments.push(`${addr.district.nameEN} district,`);
|
||||
if (addr.province) fragments.push(`${addr.province.nameEN},`);
|
||||
if (addr.addressForeign && addr.subDistrictTextEN) {
|
||||
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;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue