Added missing search preview types
This commit is contained in:
parent
f94d6b24ab
commit
0cf71b4d95
|
@ -0,0 +1,48 @@
|
||||||
|
---
|
||||||
|
import GenericPreview from "components/Previews/GenericPreview.astro";
|
||||||
|
import { getI18n } from "src/i18n/i18n";
|
||||||
|
import type { EndpointChronologyEvent } from "src/shared/payload/payload-sdk";
|
||||||
|
import { formatRichTextToString, formatTimelineDateToId } from "src/utils/format";
|
||||||
|
|
||||||
|
interface Props {
|
||||||
|
event: EndpointChronologyEvent["events"][number];
|
||||||
|
date: EndpointChronologyEvent["date"];
|
||||||
|
}
|
||||||
|
|
||||||
|
const { getLocalizedUrl, getLocalizedMatch, t, formatTimelineDate } = await getI18n(
|
||||||
|
Astro.locals.currentLocale
|
||||||
|
);
|
||||||
|
|
||||||
|
const {
|
||||||
|
date,
|
||||||
|
event: { translations },
|
||||||
|
} = Astro.props;
|
||||||
|
|
||||||
|
const { title, description, language } = getLocalizedMatch(translations);
|
||||||
|
|
||||||
|
const getTruncatedText = () => {
|
||||||
|
const getTextContent = () => {
|
||||||
|
if (title) return title;
|
||||||
|
if (description) return formatRichTextToString(description);
|
||||||
|
return "";
|
||||||
|
};
|
||||||
|
|
||||||
|
const text = getTextContent();
|
||||||
|
const limit = 45;
|
||||||
|
const truncationMark = "...";
|
||||||
|
if (text.length < limit) return text;
|
||||||
|
return text.substring(0, limit - truncationMark.length) + truncationMark;
|
||||||
|
};
|
||||||
|
---
|
||||||
|
|
||||||
|
{/* ------------------------------------------- HTML ------------------------------------------- */}
|
||||||
|
|
||||||
|
<GenericPreview
|
||||||
|
lang={language}
|
||||||
|
pretitle={formatTimelineDate(date)}
|
||||||
|
title={getTruncatedText()}
|
||||||
|
href={getLocalizedUrl(`/timeline#${formatTimelineDateToId(date)}`)}
|
||||||
|
icon="material-symbols:calendar-month"
|
||||||
|
iconHoverLabel={t("global.collections.chronologyEvents", { count: 1 })}
|
||||||
|
smallTitle
|
||||||
|
/>
|
|
@ -0,0 +1,56 @@
|
||||||
|
---
|
||||||
|
import GenericPreview from "components/Previews/GenericPreview.astro";
|
||||||
|
import { getI18n } from "src/i18n/i18n";
|
||||||
|
import type { EndpointFolder } from "src/shared/payload/payload-sdk";
|
||||||
|
import type { Attribute } from "src/utils/attributes";
|
||||||
|
|
||||||
|
interface Props {
|
||||||
|
folder: EndpointFolder;
|
||||||
|
}
|
||||||
|
|
||||||
|
const { getLocalizedUrl, getLocalizedMatch, t } = await getI18n(
|
||||||
|
Astro.locals.currentLocale
|
||||||
|
);
|
||||||
|
|
||||||
|
const {
|
||||||
|
folder: { translations, slug, files, sections, parentPages },
|
||||||
|
} = Astro.props;
|
||||||
|
|
||||||
|
const { language, title } = getLocalizedMatch(translations);
|
||||||
|
|
||||||
|
const fileCount = files.length;
|
||||||
|
|
||||||
|
const subfolderCount =
|
||||||
|
sections.type === "single"
|
||||||
|
? sections.subfolders.length
|
||||||
|
: sections.sections.reduce((acc, section) => acc + section.subfolders.length, 0);
|
||||||
|
|
||||||
|
const attributes: Attribute[] = [
|
||||||
|
{
|
||||||
|
icon: "material-symbols:box",
|
||||||
|
title: t("global.folders.attributes.content.label"),
|
||||||
|
values: [{ name: t("global.folders.attributes.content.value", { fileCount, subfolderCount }) }],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
icon: "material-symbols:keyboard-return",
|
||||||
|
title: t("global.folders.attributes.parent"),
|
||||||
|
values: parentPages.flatMap((parent) => {
|
||||||
|
if (parent.type !== "folder") return [];
|
||||||
|
const name = getLocalizedMatch(parent.folder.translations).title;
|
||||||
|
return { name };
|
||||||
|
}),
|
||||||
|
},
|
||||||
|
];
|
||||||
|
---
|
||||||
|
|
||||||
|
{/* ------------------------------------------- HTML ------------------------------------------- */}
|
||||||
|
|
||||||
|
<GenericPreview
|
||||||
|
title={title}
|
||||||
|
lang={language}
|
||||||
|
href={getLocalizedUrl(`/folders/${slug}`)}
|
||||||
|
attributes={attributes}
|
||||||
|
icon="material-symbols:folder-open"
|
||||||
|
iconHoverLabel={t("global.collections.folders", { count: 1 })}
|
||||||
|
smallTitle
|
||||||
|
/>
|
|
@ -113,8 +113,18 @@ for (const attribute of attributes) {
|
||||||
<div id="footer">
|
<div id="footer">
|
||||||
{
|
{
|
||||||
smallTitle ? (
|
smallTitle ? (
|
||||||
<p class="font-l" lang={lang}>
|
<p lang={lang}>
|
||||||
{title}
|
{pretitle && (
|
||||||
|
<span id="pretitle" class="font-s">
|
||||||
|
{pretitle}
|
||||||
|
</span>
|
||||||
|
)}
|
||||||
|
<span class="font-l">{title}</span>
|
||||||
|
{subtitle && (
|
||||||
|
<span id="subtitle" class="font-m">
|
||||||
|
{subtitle}
|
||||||
|
</span>
|
||||||
|
)}
|
||||||
</p>
|
</p>
|
||||||
) : (
|
) : (
|
||||||
<p lang={lang}>
|
<p lang={lang}>
|
||||||
|
@ -137,9 +147,7 @@ for (const attribute of attributes) {
|
||||||
clippedAttributes.length > 0 && (
|
clippedAttributes.length > 0 && (
|
||||||
<>
|
<>
|
||||||
{subtitle && <hr />}
|
{subtitle && <hr />}
|
||||||
<div id="tags">
|
<InlineAttributes attributes={clippedAttributes} />
|
||||||
<InlineAttributes attributes={clippedAttributes} />
|
|
||||||
</div>
|
|
||||||
</>
|
</>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,36 @@
|
||||||
|
---
|
||||||
|
import GenericPreview from "components/Previews/GenericPreview.astro";
|
||||||
|
import { getI18n } from "src/i18n/i18n";
|
||||||
|
import type { EndpointRecorder } from "src/shared/payload/payload-sdk";
|
||||||
|
import type { Attribute } from "src/utils/attributes";
|
||||||
|
import { formatLocale } from "src/utils/format";
|
||||||
|
|
||||||
|
interface Props {
|
||||||
|
recorder: EndpointRecorder;
|
||||||
|
}
|
||||||
|
|
||||||
|
const { getLocalizedUrl, t } = await getI18n(Astro.locals.currentLocale);
|
||||||
|
|
||||||
|
const {
|
||||||
|
recorder: { id, languages, username, avatar },
|
||||||
|
} = Astro.props;
|
||||||
|
|
||||||
|
const attributes: Attribute[] = [
|
||||||
|
{
|
||||||
|
icon: "material-symbols:translate",
|
||||||
|
title: t("collectibles.languages"),
|
||||||
|
values: languages.map((id) => ({ name: formatLocale(id) })),
|
||||||
|
},
|
||||||
|
];
|
||||||
|
---
|
||||||
|
|
||||||
|
{/* ------------------------------------------- HTML ------------------------------------------- */}
|
||||||
|
|
||||||
|
<GenericPreview
|
||||||
|
title={username}
|
||||||
|
thumbnail={avatar}
|
||||||
|
href={getLocalizedUrl(`/recorders/${id}`)}
|
||||||
|
attributes={attributes}
|
||||||
|
icon="material-symbols:person"
|
||||||
|
iconHoverLabel={t("global.collections.recorders", { count: 1 })}
|
||||||
|
/>
|
|
@ -173,4 +173,7 @@ export type WordingKey =
|
||||||
| "paginator.goFirstPageButton"
|
| "paginator.goFirstPageButton"
|
||||||
| "paginator.goPreviousPageButton"
|
| "paginator.goPreviousPageButton"
|
||||||
| "paginator.goNextPageButton"
|
| "paginator.goNextPageButton"
|
||||||
| "paginator.goLastPageButton";
|
| "paginator.goLastPageButton"
|
||||||
|
| "global.folders.attributes.content.label"
|
||||||
|
| "global.folders.attributes.content.value"
|
||||||
|
| "global.folders.attributes.parent";
|
||||||
|
|
|
@ -147,13 +147,13 @@ const { t, getLocalizedUrl } = await getI18n(Astro.locals.currentLocale);
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
gap: 24px;
|
gap: 24px;
|
||||||
|
|
||||||
& > h2 {
|
& > h2 {
|
||||||
margin-bottom: -12px;
|
margin-bottom: -12px;
|
||||||
}
|
}
|
||||||
|
|
||||||
& > a {
|
& > a {
|
||||||
width: fit-content
|
width: fit-content;
|
||||||
}
|
}
|
||||||
|
|
||||||
& > p {
|
& > p {
|
||||||
|
@ -162,7 +162,6 @@ const { t, getLocalizedUrl } = await getI18n(Astro.locals.currentLocale);
|
||||||
}
|
}
|
||||||
|
|
||||||
&#library {
|
&#library {
|
||||||
|
|
||||||
& > .grid {
|
& > .grid {
|
||||||
@media (max-width: 40rem) {
|
@media (max-width: 40rem) {
|
||||||
grid-template-columns: 1fr 1fr;
|
grid-template-columns: 1fr 1fr;
|
||||||
|
|
|
@ -14,6 +14,9 @@ import Button from "components/Button.astro";
|
||||||
import Paginator from "./_components/Paginator.astro";
|
import Paginator from "./_components/Paginator.astro";
|
||||||
import { Icon } from "astro-icon/components";
|
import { Icon } from "astro-icon/components";
|
||||||
import HomeTitle from "../_components/HomeTitle.astro";
|
import HomeTitle from "../_components/HomeTitle.astro";
|
||||||
|
import RecorderPreview from "components/Previews/RecorderPreview.astro";
|
||||||
|
import FolderPreview from "components/Previews/FolderPreview.astro";
|
||||||
|
import ChronologyEventPreview from "components/Previews/ChronologyEventPreview.astro";
|
||||||
|
|
||||||
type State = {
|
type State = {
|
||||||
q: string;
|
q: string;
|
||||||
|
@ -169,8 +172,14 @@ const getSearchUrl = (newState: State): string => {
|
||||||
return <ImagePreview image={data} />;
|
return <ImagePreview image={data} />;
|
||||||
|
|
||||||
case Collections.Recorders:
|
case Collections.Recorders:
|
||||||
|
return <RecorderPreview recorder={data} />;
|
||||||
|
|
||||||
case Collections.Folders:
|
case Collections.Folders:
|
||||||
|
return <FolderPreview folder={data} />;
|
||||||
|
|
||||||
case Collections.ChronologyEvents:
|
case Collections.ChronologyEvents:
|
||||||
|
return <ChronologyEventPreview event={data.event} date={data.date} />;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
return <ErrorMessage title={`Unsupported result type: ${type}`} />;
|
return <ErrorMessage title={`Unsupported result type: ${type}`} />;
|
||||||
}
|
}
|
||||||
|
|
|
@ -55,9 +55,12 @@ export type MeiliDocument = {
|
||||||
data: EndpointRecorder;
|
data: EndpointRecorder;
|
||||||
}
|
}
|
||||||
| {
|
| {
|
||||||
type: Collections.ChronologyEvents;
|
type: Collections.ChronologyEvents;
|
||||||
data: EndpointChronologyEvent;
|
data: {
|
||||||
}
|
date: EndpointChronologyEvent["date"];
|
||||||
|
event: EndpointChronologyEvent["events"][number];
|
||||||
|
};
|
||||||
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
export type SearchResponse<T> = {
|
export type SearchResponse<T> = {
|
||||||
|
|
|
@ -1,177 +1,177 @@
|
||||||
{
|
{
|
||||||
"disclaimer": "Usage subject to terms: https://openexchangerates.org/terms",
|
"disclaimer": "Usage subject to terms: https://openexchangerates.org/terms",
|
||||||
"license": "https://openexchangerates.org/license",
|
"license": "https://openexchangerates.org/license",
|
||||||
"timestamp": 1720674000,
|
"timestamp": 1720861211,
|
||||||
"base": "USD",
|
"base": "USD",
|
||||||
"rates": {
|
"rates": {
|
||||||
"AED": 3.672995,
|
"AED": 3.67297,
|
||||||
"AFN": 70.982926,
|
"AFN": 70.829596,
|
||||||
"ALL": 92.598068,
|
"ALL": 92.094295,
|
||||||
"AMD": 387.544052,
|
"AMD": 388.376588,
|
||||||
"ANG": 1.8,
|
"ANG": 1.799437,
|
||||||
"AOA": 873.383333,
|
"AOA": 875.5,
|
||||||
"ARS": 918.7543,
|
"ARS": 918.5853,
|
||||||
"AUD": 1.479787,
|
"AUD": 1.477978,
|
||||||
"AWG": 1.80125,
|
"AWG": 1.8015,
|
||||||
"AZN": 1.7,
|
"AZN": 1.7,
|
||||||
"BAM": 1.805093,
|
"BAM": 1.799314,
|
||||||
"BBD": 2,
|
"BBD": 2,
|
||||||
"BDT": 117.352266,
|
"BDT": 117.502271,
|
||||||
"BGN": 1.804615,
|
"BGN": 1.79346,
|
||||||
"BHD": 0.37684,
|
"BHD": 0.376597,
|
||||||
"BIF": 2875.028244,
|
"BIF": 2874.488982,
|
||||||
"BMD": 1,
|
"BMD": 1,
|
||||||
"BND": 1.348125,
|
"BND": 1.345115,
|
||||||
"BOB": 6.901771,
|
"BOB": 6.909058,
|
||||||
"BRL": 5.4162,
|
"BRL": 5.4292,
|
||||||
"BSD": 1,
|
"BSD": 1,
|
||||||
"BTC": 0.000017315845,
|
"BTC": 0.00001724872,
|
||||||
"BTN": 83.415626,
|
"BTN": 83.39403,
|
||||||
"BWP": 13.50623,
|
"BWP": 13.466464,
|
||||||
"BYN": 3.268574,
|
"BYN": 3.266865,
|
||||||
"BZD": 2.013198,
|
"BZD": 2.012487,
|
||||||
"CAD": 1.3622,
|
"CAD": 1.36465,
|
||||||
"CDF": 2841.540041,
|
"CDF": 2867.5,
|
||||||
"CHF": 0.899276,
|
"CHF": 0.895215,
|
||||||
"CLF": 0.033091,
|
"CLF": 0.03299,
|
||||||
"CLP": 913.09,
|
"CLP": 905.89,
|
||||||
"CNH": 7.287038,
|
"CNH": 7.27771,
|
||||||
"CNY": 7.271,
|
"CNY": 7.2504,
|
||||||
"COP": 4006.458354,
|
"COP": 3963.67177,
|
||||||
"CRC": 533.089606,
|
"CRC": 521.852449,
|
||||||
"CUC": 1,
|
"CUC": 1,
|
||||||
"CUP": 25.75,
|
"CUP": 25.75,
|
||||||
"CVE": 101.768343,
|
"CVE": 101.875,
|
||||||
"CZK": 23.434457,
|
"CZK": 23.2206,
|
||||||
"DJF": 177.830332,
|
"DJF": 177.5,
|
||||||
"DKK": 6.883955,
|
"DKK": 6.8409,
|
||||||
"DOP": 58.985038,
|
"DOP": 59.015517,
|
||||||
"DZD": 134.512,
|
"DZD": 134.325493,
|
||||||
"EGP": 47.998,
|
"EGP": 47.974539,
|
||||||
"ERN": 15,
|
"ERN": 15,
|
||||||
"ETB": 57.693207,
|
"ETB": 57.680635,
|
||||||
"EUR": 0.922811,
|
"EUR": 0.915625,
|
||||||
"FJD": 2.2569,
|
"FJD": 2.2208,
|
||||||
"FKP": 0.777738,
|
"FKP": 0.770475,
|
||||||
"GBP": 0.777738,
|
"GBP": 0.770475,
|
||||||
"GEL": 2.745,
|
"GEL": 2.73,
|
||||||
"GGP": 0.777738,
|
"GGP": 0.770475,
|
||||||
"GHS": 15.355933,
|
"GHS": 15.41,
|
||||||
"GIP": 0.777738,
|
"GIP": 0.770475,
|
||||||
"GMD": 67.775,
|
"GMD": 67.75,
|
||||||
"GNF": 8598.104804,
|
"GNF": 8595.1494,
|
||||||
"GTQ": 7.757446,
|
"GTQ": 7.762935,
|
||||||
"GYD": 208.954363,
|
"GYD": 209.09875,
|
||||||
"HKD": 7.809765,
|
"HKD": 7.80815,
|
||||||
"HNL": 24.737539,
|
"HNL": 24.72931,
|
||||||
"HRK": 6.952992,
|
"HRK": 6.90795,
|
||||||
"HTG": 132.035075,
|
"HTG": 131.964253,
|
||||||
"HUF": 363.126953,
|
"HUF": 359.207038,
|
||||||
"IDR": 16200.75,
|
"IDR": 16114.55,
|
||||||
"ILS": 3.64997,
|
"ILS": 3.612735,
|
||||||
"IMP": 0.777738,
|
"IMP": 0.770475,
|
||||||
"INR": 83.508352,
|
"INR": 83.518236,
|
||||||
"IQD": 1308.365065,
|
"IQD": 1309.830026,
|
||||||
"IRR": 42100,
|
"IRR": 42087.5,
|
||||||
"ISK": 137.6,
|
"ISK": 136.88,
|
||||||
"JEP": 0.777738,
|
"JEP": 0.770475,
|
||||||
"JMD": 156.687354,
|
"JMD": 156.537319,
|
||||||
"JOD": 0.7087,
|
"JOD": 0.7087,
|
||||||
"JPY": 161.68767475,
|
"JPY": 157.845,
|
||||||
"KES": 127.347704,
|
"KES": 129,
|
||||||
"KGS": 85.4889,
|
"KGS": 85.3,
|
||||||
"KHR": 4105.179561,
|
"KHR": 4099.068562,
|
||||||
"KMF": 454.950092,
|
"KMF": 454.150242,
|
||||||
"KPW": 900,
|
"KPW": 900,
|
||||||
"KRW": 1379.280907,
|
"KRW": 1375.1,
|
||||||
"KWD": 0.306002,
|
"KWD": 0.30578,
|
||||||
"KYD": 0.83231,
|
"KYD": 0.833219,
|
||||||
"KZT": 477.300548,
|
"KZT": 473.654208,
|
||||||
"LAK": 22104.308735,
|
"LAK": 22138.882931,
|
||||||
"LBP": 89439.5015,
|
"LBP": 89406.331549,
|
||||||
"LKR": 303.710191,
|
"LKR": 302.451162,
|
||||||
"LRD": 194.159615,
|
"LRD": 194.695295,
|
||||||
"LSL": 18.05833,
|
"LSL": 17.960925,
|
||||||
"LYD": 4.845386,
|
"LYD": 4.842628,
|
||||||
"MAD": 9.833409,
|
"MAD": 9.81451,
|
||||||
"MDL": 17.698201,
|
"MDL": 17.642151,
|
||||||
"MGA": 4494.7241,
|
"MGA": 4464.955799,
|
||||||
"MKD": 56.86716,
|
"MKD": 56.406141,
|
||||||
"MMK": 2203.340001,
|
"MMK": 2203.340001,
|
||||||
"MNT": 3450,
|
"MNT": 3450,
|
||||||
"MOP": 8.035423,
|
"MOP": 8.040857,
|
||||||
"MRU": 39.510104,
|
"MRU": 39.72,
|
||||||
"MUR": 46.899999,
|
"MUR": 46.680002,
|
||||||
"MVR": 15.45,
|
"MVR": 15.46,
|
||||||
"MWK": 1731.883446,
|
"MWK": 1731.234794,
|
||||||
"MXN": 17.831011,
|
"MXN": 17.620801,
|
||||||
"MYR": 4.688,
|
"MYR": 4.692,
|
||||||
"MZN": 63.899991,
|
"MZN": 63.899991,
|
||||||
"NAD": 18.058496,
|
"NAD": 17.987146,
|
||||||
"NGN": 1406,
|
"NGN": 1406,
|
||||||
"NIO": 36.760329,
|
"NIO": 36.755033,
|
||||||
"NOK": 10.704123,
|
"NOK": 10.7223,
|
||||||
"NPR": 133.464355,
|
"NPR": 133.431752,
|
||||||
"NZD": 1.640433,
|
"NZD": 1.63372,
|
||||||
"OMR": 0.384954,
|
"OMR": 0.38496,
|
||||||
"PAB": 1,
|
"PAB": 1,
|
||||||
"PEN": 3.781484,
|
"PEN": 3.759996,
|
||||||
"PGK": 3.905861,
|
"PGK": 3.90654,
|
||||||
"PHP": 58.2915,
|
"PHP": 58.413497,
|
||||||
"PKR": 278.156175,
|
"PKR": 277.958449,
|
||||||
"PLN": 3.933952,
|
"PLN": 3.90027,
|
||||||
"PYG": 7525.707267,
|
"PYG": 7528.009851,
|
||||||
"QAR": 3.640365,
|
"QAR": 3.64125,
|
||||||
"RON": 4.5896,
|
"RON": 4.5572,
|
||||||
"RSD": 108.003,
|
"RSD": 107.291,
|
||||||
"RUB": 88.348822,
|
"RUB": 87.803767,
|
||||||
"RWF": 1307.15479,
|
"RWF": 1308.020546,
|
||||||
"SAR": 3.750761,
|
"SAR": 3.750791,
|
||||||
"SBD": 8.421389,
|
"SBD": 8.43942,
|
||||||
"SCR": 13.773472,
|
"SCR": 13.954,
|
||||||
"SDG": 601,
|
"SDG": 601,
|
||||||
"SEK": 10.541463,
|
"SEK": 10.66064,
|
||||||
"SGD": 1.34792,
|
"SGD": 1.3416,
|
||||||
"SHP": 0.777738,
|
"SHP": 0.770475,
|
||||||
"SLL": 20969.5,
|
"SLL": 20969.5,
|
||||||
"SOS": 570.837667,
|
"SOS": 570.627284,
|
||||||
"SRD": 29.7815,
|
"SRD": 29.712,
|
||||||
"SSP": 130.26,
|
"SSP": 130.26,
|
||||||
"STD": 22281.8,
|
"STD": 22281.8,
|
||||||
"STN": 22.611906,
|
"STN": 22.75,
|
||||||
"SVC": 8.739351,
|
"SVC": 8.75023,
|
||||||
"SYP": 2512.53,
|
"SYP": 2512.53,
|
||||||
"SZL": 18.054453,
|
"SZL": 17.969617,
|
||||||
"THB": 36.255,
|
"THB": 36.147965,
|
||||||
"TJS": 10.636923,
|
"TJS": 10.648579,
|
||||||
"TMT": 3.51,
|
"TMT": 3.5,
|
||||||
"TND": 3.109297,
|
"TND": 3.1275,
|
||||||
"TOP": 2.355339,
|
"TOP": 2.356469,
|
||||||
"TRY": 32.910977,
|
"TRY": 33.0504,
|
||||||
"TTD": 6.777174,
|
"TTD": 6.786944,
|
||||||
"TWD": 32.5223,
|
"TWD": 32.5333,
|
||||||
"TZS": 2651.670588,
|
"TZS": 2675.731,
|
||||||
"UAH": 40.704384,
|
"UAH": 40.954957,
|
||||||
"UGX": 3700.104144,
|
"UGX": 3699.224291,
|
||||||
"USD": 1,
|
"USD": 1,
|
||||||
"UYU": 39.934447,
|
"UYU": 40.038192,
|
||||||
"UZS": 12614.596352,
|
"UZS": 12653.245019,
|
||||||
"VES": 36.467683,
|
"VES": 36.478534,
|
||||||
"VND": 25422.651993,
|
"VND": 25416.190524,
|
||||||
"VUV": 118.722,
|
"VUV": 118.722,
|
||||||
"WST": 2.8,
|
"WST": 2.8,
|
||||||
"XAF": 605.324622,
|
"XAF": 600.610733,
|
||||||
"XAG": 0.03221385,
|
"XAG": 0.03247755,
|
||||||
"XAU": 0.00041981,
|
"XAU": 0.00041469,
|
||||||
"XCD": 2.70255,
|
"XCD": 2.70255,
|
||||||
"XDR": 0.758653,
|
"XDR": 0.757288,
|
||||||
"XOF": 605.324622,
|
"XOF": 600.610733,
|
||||||
"XPD": 0.0010126,
|
"XPD": 0.00104003,
|
||||||
"XPF": 110.120697,
|
"XPF": 109.263146,
|
||||||
"XPT": 0.00100911,
|
"XPT": 0.00099959,
|
||||||
"YER": 250.375049,
|
"YER": 250.350066,
|
||||||
"ZAR": 18.109898,
|
"ZAR": 17.95403,
|
||||||
"ZMW": 25.343793,
|
"ZMW": 25.534042,
|
||||||
"ZWL": 322
|
"ZWL": 322
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue