Skip to content

Commit

Permalink
Merge pull request #62 from Lenni009/develop
Browse files Browse the repository at this point in the history
localise currencies | fixes #61
  • Loading branch information
Lenni009 authored Dec 30, 2023
2 parents 5f326f2 + fdc1ea3 commit b8abd4e
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 11 deletions.
4 changes: 2 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "nms-web-app",
"version": "0.38.0",
"version": "0.38.1",
"private": true,
"scripts": {
"start": "env-cmd --file ./.env.development react-scripts start",
Expand Down
31 changes: 23 additions & 8 deletions src/pages/catalogue/catalogueItemContainer.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,6 @@ interface IState {
additionalData: Array<any>;
}


const CatalogueItemContainerUnconnected: React.FC<IProps> = (props: IProps) => {
let { langCode, itemId } = useParams();

Expand Down Expand Up @@ -157,7 +156,7 @@ const CatalogueItemContainerUnconnected: React.FC<IProps> = (props: IProps) => {
starshipScrapItems: await scrapDataTask,
creatureHarvests: await creatureHarvestsTask,
addedInUpdate: await addedInUpdateTask,
additionalData: getAdditionalData(item),
additionalData: await getAdditionalData(item),
};
setItemMeta(newMeta);
setNetworkState(NetworkState.Success);
Expand Down Expand Up @@ -241,7 +240,7 @@ const CatalogueItemContainerUnconnected: React.FC<IProps> = (props: IProps) => {
return majorUpdates.value;
}

const getAdditionalData = (itemDetail: GameItemModel): Array<any> => {
const getAdditionalData = async (itemDetail: GameItemModel): Promise<Array<any>> => {
const additionalData = [];
if (itemDetail.BlueprintSource !== null && itemDetail.BlueprintSource !== BlueprintSource.unknown) {
const bpSourceLangKey = blueprintToLocalKey(itemDetail.BlueprintSource);
Expand All @@ -252,13 +251,23 @@ const CatalogueItemContainerUnconnected: React.FC<IProps> = (props: IProps) => {
additionalData.push({ text: `${translate(LocaleKey.maxStackSize).toString()}: ${itemDetail.MaxStackSize}` });
}

const getCurrencyName = async (itemId: string): Promise<string> => await new GameItemService().getItemDetails(itemId).then(r => r.value.Name);
const bpCurrency = {
units: await getCurrencyName('raw58').then(n => capitaliseItemName(n)),
nanites: await getCurrencyName('raw56'),
quicksilver: await getCurrencyName('raw57').then(n => capitaliseItemName(n)),
data: await getCurrencyName('conTech90'),
factoryModule: await getCurrencyName('conTech94'),
frigateModule: await getCurrencyName('conTech95'),
}

if (itemDetail.BaseValueUnits > 1) {
switch (itemDetail.CurrencyType) {
case CurrencyType.CREDITS:
additionalData.push({ text: itemDetail.BaseValueUnits, image: AppImage.units, tooltip: 'Units' });
additionalData.push({ text: itemDetail.BaseValueUnits, image: AppImage.units, tooltip: bpCurrency.units });
break;
case CurrencyType.QUICKSILVER:
additionalData.push({ text: itemDetail.BaseValueUnits, image: AppImage.quicksilverForChips, tooltip: 'Quicksilver' });
additionalData.push({ text: itemDetail.BaseValueUnits, image: AppImage.quicksilverForChips, tooltip: bpCurrency.quicksilver });
break;
}
}
Expand All @@ -268,13 +277,13 @@ const CatalogueItemContainerUnconnected: React.FC<IProps> = (props: IProps) => {
switch (itemDetail.BlueprintCostType) {
case CurrencyType.NANITES:
const bpCostText = translate(LocaleKey.blueprintCost);
additionalData.push({ text: `${bpCostText}: ${bpCost}`, image: AppImage.nanites, tooltip: 'Nanites' });
additionalData.push({ text: `${bpCostText}: ${bpCost}`, image: AppImage.nanites, tooltip: bpCurrency.nanites });
break;
case CurrencyType.SALVAGEDDATA:
additionalData.push({ text: itemDetail.BlueprintCost, image: AppImage.salvagedData, tooltip: 'Salvaged Data' });
additionalData.push({ text: itemDetail.BlueprintCost, image: AppImage.salvagedData, tooltip: bpCurrency.data });
break;
case CurrencyType.FACTORYOVERRIDE:
additionalData.push({ text: itemDetail.BlueprintCost, image: AppImage.factoryOverride, tooltip: 'Factory Override Unit' });
additionalData.push({ text: itemDetail.BlueprintCost, image: AppImage.factoryOverride, tooltip: bpCurrency.factoryModule });
break;
case CurrencyType.NONE:
default:
Expand Down Expand Up @@ -377,3 +386,9 @@ export const CatalogueItemContainer = withServices<IWithoutDepInj, IWithDepInj>(
toastService: services.toastService,
})
);

function capitaliseItemName(name: string): string {
const firstLetter = name.slice(0, 1).toUpperCase();
const rest = name.slice(1).toLowerCase();
return firstLetter + rest;
}

0 comments on commit b8abd4e

Please sign in to comment.