mirror of
https://github.com/bigcapitalhq/bigcapital.git
synced 2026-02-21 15:20:34 +00:00
fix: Display country name
This commit is contained in:
1
packages/bigcapital-utils/.gitignore
vendored
Normal file
1
packages/bigcapital-utils/.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
||||
/dist
|
||||
22
packages/bigcapital-utils/package.json
Normal file
22
packages/bigcapital-utils/package.json
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"name": "@bigcapital/utils",
|
||||
"version": "1.0.0",
|
||||
"description": "",
|
||||
"main": "./dist/index.js",
|
||||
"module": "./dist/index.mjs",
|
||||
"types": "./dist/index.d.ts",
|
||||
"exports": {
|
||||
".": {
|
||||
"require": "./dist/index.js",
|
||||
"import": "./dist/index.mjs"
|
||||
}
|
||||
},
|
||||
"scripts": {
|
||||
"build:cjs": "tsup src/index.ts --format cjs --dts --sourcemap",
|
||||
"build:esm": "tsup src/index.ts --format esm --dts --sourcemap",
|
||||
"build": "npm run build:cjs && npm run build:esm",
|
||||
"dev": "npm run build -- --watch"
|
||||
},
|
||||
"author": "",
|
||||
"license": "ISC"
|
||||
}
|
||||
@@ -1,13 +1,4 @@
|
||||
interface Country {
|
||||
name: string;
|
||||
native: string;
|
||||
phone: number[];
|
||||
continent: string;
|
||||
continents?: string[];
|
||||
capital: string;
|
||||
currency: string[];
|
||||
languages: string[];
|
||||
}
|
||||
import { Country } from './types';
|
||||
|
||||
export const Countries: Record<string, Country> = {
|
||||
AD: {
|
||||
20
packages/bigcapital-utils/src/countries/index.ts
Normal file
20
packages/bigcapital-utils/src/countries/index.ts
Normal file
@@ -0,0 +1,20 @@
|
||||
import { Countries } from './constant';
|
||||
import { Country, Maybe } from './types';
|
||||
|
||||
export const getAllCountries = () => {
|
||||
return Object.keys(Countries).map((countryCode) => {
|
||||
return {
|
||||
...Countries[countryCode],
|
||||
countryCode,
|
||||
};
|
||||
});
|
||||
};
|
||||
|
||||
export const findByIsoCountryCode = (
|
||||
isoCode: string
|
||||
): Maybe<Country & { countryCode: string }> => {
|
||||
const _isoCode = isoCode?.toUpperCase();
|
||||
const country = Countries[_isoCode];
|
||||
|
||||
return country ? { ...country, countryCode: isoCode } : null;
|
||||
};
|
||||
12
packages/bigcapital-utils/src/countries/types.ts
Normal file
12
packages/bigcapital-utils/src/countries/types.ts
Normal file
@@ -0,0 +1,12 @@
|
||||
export interface Country {
|
||||
name: string;
|
||||
native: string;
|
||||
phone: number[];
|
||||
continent: string;
|
||||
continents?: string[];
|
||||
capital: string;
|
||||
currency: string[];
|
||||
languages: string[];
|
||||
}
|
||||
|
||||
export type Maybe<T> = T | null;
|
||||
3
packages/bigcapital-utils/src/index.ts
Normal file
3
packages/bigcapital-utils/src/index.ts
Normal file
@@ -0,0 +1,3 @@
|
||||
export * from './countries';
|
||||
|
||||
export const test = () => {};
|
||||
17
packages/bigcapital-utils/tsconfig.json
Normal file
17
packages/bigcapital-utils/tsconfig.json
Normal file
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"target": "ES6", // Equivalent to ES6 output
|
||||
"module": "ESNext", // CommonJS for Node.js compatibility
|
||||
"outDir": "dist", // Output directory for compiled files
|
||||
"declaration": true, // Generates .d.ts files (same as dts: true)
|
||||
"declarationDir": "dist", // Specifies where to output declaration files
|
||||
"sourceMap": true, // Generate sourcemaps
|
||||
"esModuleInterop": true, // Enables interop between CommonJS and ESModules
|
||||
"strict": true, // Enables strict type-checking options
|
||||
"moduleResolution": "node", // Resolve modules using Node.js-style resolution
|
||||
"skipLibCheck": true, // Skip type checking of declaration files
|
||||
"forceConsistentCasingInFileNames": true // Enforces consistent casing in import paths
|
||||
},
|
||||
"include": ["src/**/*"], // Includes all TypeScript files in the src directory
|
||||
"exclude": ["node_modules"] // Excludes node_modules from being compiled
|
||||
}
|
||||
@@ -22,6 +22,7 @@
|
||||
"dependencies": {
|
||||
"@aws-sdk/client-s3": "^3.576.0",
|
||||
"@aws-sdk/s3-request-presigner": "^3.583.0",
|
||||
"@bigcapital/utils": "*",
|
||||
"@casl/ability": "^5.4.3",
|
||||
"@hapi/boom": "^7.4.3",
|
||||
"@lemonsqueezy/lemonsqueezy.js": "^2.2.0",
|
||||
|
||||
@@ -3,6 +3,7 @@ import {
|
||||
organizationAddressTextFormat,
|
||||
} from '@/utils/address-text-format';
|
||||
import BaseModel from 'models/Model';
|
||||
import { findByIsoCountryCode } from '@bigcapital/utils';
|
||||
import { getUploadedObjectUri } from '../../services/Attachments/utils';
|
||||
|
||||
export default class TenantMetadata extends BaseModel {
|
||||
@@ -70,6 +71,8 @@ export default class TenantMetadata extends BaseModel {
|
||||
* @returns {string}
|
||||
*/
|
||||
public get addressTextFormatted() {
|
||||
const addressCountry = findByIsoCountryCode(this.location);
|
||||
|
||||
return organizationAddressTextFormat(defaultOrganizationAddressFormat, {
|
||||
organizationName: this.name,
|
||||
address1: this.address?.address1,
|
||||
@@ -78,7 +81,7 @@ export default class TenantMetadata extends BaseModel {
|
||||
city: this.address?.city,
|
||||
postalCode: this.address?.postalCode,
|
||||
phone: this.address?.phone,
|
||||
country: 'United State',
|
||||
country: addressCountry?.name ?? '',
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
"version": "0.10.2",
|
||||
"private": true,
|
||||
"dependencies": {
|
||||
"@bigcapital/utils": "*",
|
||||
"@blueprintjs-formik/core": "^0.3.6",
|
||||
"@blueprintjs-formik/datetime": "^0.3.7",
|
||||
"@blueprintjs-formik/select": "^0.3.5",
|
||||
|
||||
@@ -7,6 +7,7 @@ import { Button, FormGroup, Intent } from '@blueprintjs/core';
|
||||
import { TimezonePicker } from '@blueprintjs/timezone';
|
||||
import { ErrorMessage, FastField } from 'formik';
|
||||
import { useHistory } from 'react-router-dom';
|
||||
import { getAllCountries } from '@bigcapital/utils';
|
||||
|
||||
import {
|
||||
FieldRequiredHint,
|
||||
@@ -23,7 +24,6 @@ import { getAllCurrenciesOptions } from '@/constants/currencies';
|
||||
import { getFiscalYear } from '@/constants/fiscalYearOptions';
|
||||
import { getLanguages } from '@/constants/languagesOptions';
|
||||
import { useGeneralFormContext } from './GeneralFormProvider';
|
||||
import { getAllCountries } from '@/utils/countries';
|
||||
|
||||
import { shouldBaseCurrencyUpdate } from './utils';
|
||||
|
||||
|
||||
@@ -4,6 +4,7 @@ import { FastField, Form, ErrorMessage } from 'formik';
|
||||
import { Button, Intent, FormGroup, Classes } from '@blueprintjs/core';
|
||||
import classNames from 'classnames';
|
||||
import { TimezonePicker } from '@blueprintjs/timezone';
|
||||
import { getAllCountries } from '@bigcapital/utils';
|
||||
import {
|
||||
FFormGroup,
|
||||
FInputGroup,
|
||||
@@ -17,7 +18,6 @@ import { inputIntent } from '@/utils';
|
||||
import { getFiscalYear } from '@/constants/fiscalYearOptions';
|
||||
import { getLanguages } from '@/constants/languagesOptions';
|
||||
import { getAllCurrenciesOptions } from '@/constants/currencies';
|
||||
import { getAllCountries } from '@/utils/countries';
|
||||
|
||||
const countries = getAllCountries();
|
||||
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
import { Countries } from '@/constants/countries';
|
||||
|
||||
export const getAllCountries = () => {
|
||||
return Object.keys(Countries).map((countryCode) => {
|
||||
return {
|
||||
...Countries[countryCode],
|
||||
countryCode,
|
||||
}
|
||||
});
|
||||
};
|
||||
Reference in New Issue
Block a user