@jjlmoya/utils-alcohol 1.22.0 → 1.23.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +3 -2
- package/src/entries.ts +17 -0
- package/src/tool/alcoholClearance/entry.ts +54 -0
- package/src/tool/alcoholClearance/index.ts +2 -56
- package/src/tool/beerCooler/entry.ts +53 -0
- package/src/tool/beerCooler/index.ts +2 -55
- package/src/tool/carbonationCalculator/entry.ts +52 -0
- package/src/tool/carbonationCalculator/index.ts +2 -54
- package/src/tool/cocktailBalancer/entry.ts +68 -0
- package/src/tool/cocktailBalancer/index.ts +2 -70
- package/src/tool/partyKeg/entry.ts +50 -0
- package/src/tool/partyKeg/index.ts +2 -52
- package/src/tools.ts +1 -1
package/package.json
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jjlmoya/utils-alcohol",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.23.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./src/index.ts",
|
|
6
6
|
"types": "./src/index.ts",
|
|
7
7
|
"exports": {
|
|
8
8
|
".": "./src/index.ts",
|
|
9
|
-
"./data": "./src/data.ts"
|
|
9
|
+
"./data": "./src/data.ts",
|
|
10
|
+
"./entries": "./src/entries.ts"
|
|
10
11
|
},
|
|
11
12
|
"files": [
|
|
12
13
|
"src"
|
package/src/entries.ts
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export { alcoholClearance } from './tool/alcoholClearance/entry';
|
|
2
|
+
export type { AlcoholClearanceUI, AlcoholClearanceLocaleContent } from './tool/alcoholClearance/entry';
|
|
3
|
+
export { beerCooler } from './tool/beerCooler/entry';
|
|
4
|
+
export type { BeerCoolerUI, BeerCoolerLocaleContent } from './tool/beerCooler/entry';
|
|
5
|
+
export { carbonationCalculator } from './tool/carbonationCalculator/entry';
|
|
6
|
+
export type { CarbonationUI, CarbonationLocaleContent } from './tool/carbonationCalculator/entry';
|
|
7
|
+
export { cocktailBalancer } from './tool/cocktailBalancer/entry';
|
|
8
|
+
export type { CocktailBalancerUI, CocktailBalancerLocaleContent } from './tool/cocktailBalancer/entry';
|
|
9
|
+
export { partyKeg } from './tool/partyKeg/entry';
|
|
10
|
+
export type { PartyKegUI, PartyKegLocaleContent } from './tool/partyKeg/entry';
|
|
11
|
+
export { alcoholCategory, toolsCategory } from './category';
|
|
12
|
+
import { alcoholClearance } from './tool/alcoholClearance/entry';
|
|
13
|
+
import { beerCooler } from './tool/beerCooler/entry';
|
|
14
|
+
import { carbonationCalculator } from './tool/carbonationCalculator/entry';
|
|
15
|
+
import { cocktailBalancer } from './tool/cocktailBalancer/entry';
|
|
16
|
+
import { partyKeg } from './tool/partyKeg/entry';
|
|
17
|
+
export const ALL_ENTRIES = [alcoholClearance, beerCooler, carbonationCalculator, cocktailBalancer, partyKeg];
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import type { AlcoholToolEntry, ToolLocaleContent } from '../../types';
|
|
2
|
+
|
|
3
|
+
export interface AlcoholClearanceUI {
|
|
4
|
+
[key: string]: string;
|
|
5
|
+
biologicalSexLabel: string;
|
|
6
|
+
weightLabel: string;
|
|
7
|
+
kgUnit: string;
|
|
8
|
+
addDrinkLabel: string;
|
|
9
|
+
beerLabel: string;
|
|
10
|
+
wineLabel: string;
|
|
11
|
+
spiritLabel: string;
|
|
12
|
+
shotLabel: string;
|
|
13
|
+
accumulatedLabel: string;
|
|
14
|
+
emptyListLabel: string;
|
|
15
|
+
emptySubLabel: string;
|
|
16
|
+
estimatedBacLabel: string;
|
|
17
|
+
bacUnit: string;
|
|
18
|
+
timeToZeroLabel: string;
|
|
19
|
+
waterAdviceLabel: string;
|
|
20
|
+
pillAdviceLabel: string;
|
|
21
|
+
noneAdvice: string;
|
|
22
|
+
hydrationAdvice: string;
|
|
23
|
+
electrolytesAdvice: string;
|
|
24
|
+
disclaimerText: string;
|
|
25
|
+
drinkUnit: string;
|
|
26
|
+
drinksUnit: string;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export type AlcoholClearanceLocaleContent = ToolLocaleContent<AlcoholClearanceUI>;
|
|
30
|
+
|
|
31
|
+
export const alcoholClearance: AlcoholToolEntry<AlcoholClearanceUI> = {
|
|
32
|
+
id: 'alcohol-clearance',
|
|
33
|
+
icons: {
|
|
34
|
+
bg: 'mdi:account-alert',
|
|
35
|
+
fg: 'mdi:glass-cocktail',
|
|
36
|
+
},
|
|
37
|
+
i18n: {
|
|
38
|
+
de: () => import('./i18n/de').then((m) => m.content),
|
|
39
|
+
en: () => import('./i18n/en').then((m) => m.content),
|
|
40
|
+
es: () => import('./i18n/es').then((m) => m.content),
|
|
41
|
+
fr: () => import('./i18n/fr').then((m) => m.content),
|
|
42
|
+
id: () => import('./i18n/id').then((m) => m.content),
|
|
43
|
+
it: () => import('./i18n/it').then((m) => m.content),
|
|
44
|
+
ja: () => import('./i18n/ja').then((m) => m.content),
|
|
45
|
+
ko: () => import('./i18n/ko').then((m) => m.content),
|
|
46
|
+
nl: () => import('./i18n/nl').then((m) => m.content),
|
|
47
|
+
pl: () => import('./i18n/pl').then((m) => m.content),
|
|
48
|
+
pt: () => import('./i18n/pt').then((m) => m.content),
|
|
49
|
+
ru: () => import('./i18n/ru').then((m) => m.content),
|
|
50
|
+
sv: () => import('./i18n/sv').then((m) => m.content),
|
|
51
|
+
tr: () => import('./i18n/tr').then((m) => m.content),
|
|
52
|
+
zh: () => import('./i18n/zh').then((m) => m.content),
|
|
53
|
+
},
|
|
54
|
+
};
|
|
@@ -1,59 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
export interface AlcoholClearanceUI {
|
|
4
|
-
[key: string]: string;
|
|
5
|
-
biologicalSexLabel: string;
|
|
6
|
-
weightLabel: string;
|
|
7
|
-
kgUnit: string;
|
|
8
|
-
addDrinkLabel: string;
|
|
9
|
-
beerLabel: string;
|
|
10
|
-
wineLabel: string;
|
|
11
|
-
spiritLabel: string;
|
|
12
|
-
shotLabel: string;
|
|
13
|
-
accumulatedLabel: string;
|
|
14
|
-
emptyListLabel: string;
|
|
15
|
-
emptySubLabel: string;
|
|
16
|
-
estimatedBacLabel: string;
|
|
17
|
-
bacUnit: string;
|
|
18
|
-
timeToZeroLabel: string;
|
|
19
|
-
waterAdviceLabel: string;
|
|
20
|
-
pillAdviceLabel: string;
|
|
21
|
-
noneAdvice: string;
|
|
22
|
-
hydrationAdvice: string;
|
|
23
|
-
electrolytesAdvice: string;
|
|
24
|
-
disclaimerText: string;
|
|
25
|
-
drinkUnit: string;
|
|
26
|
-
drinksUnit: string;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
export type AlcoholClearanceLocaleContent = ToolLocaleContent<AlcoholClearanceUI>;
|
|
30
|
-
|
|
31
|
-
export const alcoholClearance: AlcoholToolEntry<AlcoholClearanceUI> = {
|
|
32
|
-
id: 'alcohol-clearance',
|
|
33
|
-
icons: {
|
|
34
|
-
bg: 'mdi:account-alert',
|
|
35
|
-
fg: 'mdi:glass-cocktail',
|
|
36
|
-
},
|
|
37
|
-
i18n: {
|
|
38
|
-
de: () => import('./i18n/de').then((m) => m.content),
|
|
39
|
-
en: () => import('./i18n/en').then((m) => m.content),
|
|
40
|
-
es: () => import('./i18n/es').then((m) => m.content),
|
|
41
|
-
fr: () => import('./i18n/fr').then((m) => m.content),
|
|
42
|
-
id: () => import('./i18n/id').then((m) => m.content),
|
|
43
|
-
it: () => import('./i18n/it').then((m) => m.content),
|
|
44
|
-
ja: () => import('./i18n/ja').then((m) => m.content),
|
|
45
|
-
ko: () => import('./i18n/ko').then((m) => m.content),
|
|
46
|
-
nl: () => import('./i18n/nl').then((m) => m.content),
|
|
47
|
-
pl: () => import('./i18n/pl').then((m) => m.content),
|
|
48
|
-
pt: () => import('./i18n/pt').then((m) => m.content),
|
|
49
|
-
ru: () => import('./i18n/ru').then((m) => m.content),
|
|
50
|
-
sv: () => import('./i18n/sv').then((m) => m.content),
|
|
51
|
-
tr: () => import('./i18n/tr').then((m) => m.content),
|
|
52
|
-
zh: () => import('./i18n/zh').then((m) => m.content),
|
|
53
|
-
},
|
|
54
|
-
};
|
|
55
|
-
|
|
56
|
-
|
|
1
|
+
import { alcoholClearance } from './entry';
|
|
2
|
+
export * from './entry';
|
|
57
3
|
export const ALCOHOL_CLEARANCE_TOOL: ToolDefinition = {
|
|
58
4
|
entry: alcoholClearance as AlcoholToolEntry<Record<string, string>>,
|
|
59
5
|
Component: () => import('./component.astro'),
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import type { AlcoholToolEntry, ToolLocaleContent } from '../../types';
|
|
2
|
+
|
|
3
|
+
export interface BeerCoolerUI {
|
|
4
|
+
[key: string]: string;
|
|
5
|
+
step1Title: string;
|
|
6
|
+
canLabel: string;
|
|
7
|
+
aluminumLabel: string;
|
|
8
|
+
bottleLabel: string;
|
|
9
|
+
glassLabel: string;
|
|
10
|
+
step2Title: string;
|
|
11
|
+
fridgeLabel: string;
|
|
12
|
+
freezerLabel: string;
|
|
13
|
+
step3Title: string;
|
|
14
|
+
initialTempLabel: string;
|
|
15
|
+
targetTempLabel: string;
|
|
16
|
+
glacialLabel: string;
|
|
17
|
+
perfectLabel: string;
|
|
18
|
+
bodegaLabel: string;
|
|
19
|
+
readyTitle: string;
|
|
20
|
+
readyDescription: string;
|
|
21
|
+
estimatedTimeLabel: string;
|
|
22
|
+
methodLabel: string;
|
|
23
|
+
containerLabel: string;
|
|
24
|
+
alreadyColdLabel: string;
|
|
25
|
+
neverColdLabel: string;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export type BeerCoolerLocaleContent = ToolLocaleContent<BeerCoolerUI>;
|
|
29
|
+
|
|
30
|
+
export const beerCooler: AlcoholToolEntry<BeerCoolerUI> = {
|
|
31
|
+
id: 'beer-cooling',
|
|
32
|
+
icons: {
|
|
33
|
+
bg: 'mdi:snowflake-thermometer',
|
|
34
|
+
fg: 'mdi:beer',
|
|
35
|
+
},
|
|
36
|
+
i18n: {
|
|
37
|
+
de: () => import('./i18n/de').then((m) => m.content),
|
|
38
|
+
en: () => import('./i18n/en').then((m) => m.content),
|
|
39
|
+
es: () => import('./i18n/es').then((m) => m.content),
|
|
40
|
+
fr: () => import('./i18n/fr').then((m) => m.content),
|
|
41
|
+
id: () => import('./i18n/id').then((m) => m.content),
|
|
42
|
+
it: () => import('./i18n/it').then((m) => m.content),
|
|
43
|
+
ja: () => import('./i18n/ja').then((m) => m.content),
|
|
44
|
+
ko: () => import('./i18n/ko').then((m) => m.content),
|
|
45
|
+
nl: () => import('./i18n/nl').then((m) => m.content),
|
|
46
|
+
pl: () => import('./i18n/pl').then((m) => m.content),
|
|
47
|
+
pt: () => import('./i18n/pt').then((m) => m.content),
|
|
48
|
+
ru: () => import('./i18n/ru').then((m) => m.content),
|
|
49
|
+
sv: () => import('./i18n/sv').then((m) => m.content),
|
|
50
|
+
tr: () => import('./i18n/tr').then((m) => m.content),
|
|
51
|
+
zh: () => import('./i18n/zh').then((m) => m.content),
|
|
52
|
+
},
|
|
53
|
+
};
|
|
@@ -1,58 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
export interface BeerCoolerUI {
|
|
4
|
-
[key: string]: string;
|
|
5
|
-
step1Title: string;
|
|
6
|
-
canLabel: string;
|
|
7
|
-
aluminumLabel: string;
|
|
8
|
-
bottleLabel: string;
|
|
9
|
-
glassLabel: string;
|
|
10
|
-
step2Title: string;
|
|
11
|
-
fridgeLabel: string;
|
|
12
|
-
freezerLabel: string;
|
|
13
|
-
step3Title: string;
|
|
14
|
-
initialTempLabel: string;
|
|
15
|
-
targetTempLabel: string;
|
|
16
|
-
glacialLabel: string;
|
|
17
|
-
perfectLabel: string;
|
|
18
|
-
bodegaLabel: string;
|
|
19
|
-
readyTitle: string;
|
|
20
|
-
readyDescription: string;
|
|
21
|
-
estimatedTimeLabel: string;
|
|
22
|
-
methodLabel: string;
|
|
23
|
-
containerLabel: string;
|
|
24
|
-
alreadyColdLabel: string;
|
|
25
|
-
neverColdLabel: string;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
export type BeerCoolerLocaleContent = ToolLocaleContent<BeerCoolerUI>;
|
|
29
|
-
|
|
30
|
-
export const beerCooler: AlcoholToolEntry<BeerCoolerUI> = {
|
|
31
|
-
id: 'beer-cooling',
|
|
32
|
-
icons: {
|
|
33
|
-
bg: 'mdi:snowflake-thermometer',
|
|
34
|
-
fg: 'mdi:beer',
|
|
35
|
-
},
|
|
36
|
-
i18n: {
|
|
37
|
-
de: () => import('./i18n/de').then((m) => m.content),
|
|
38
|
-
en: () => import('./i18n/en').then((m) => m.content),
|
|
39
|
-
es: () => import('./i18n/es').then((m) => m.content),
|
|
40
|
-
fr: () => import('./i18n/fr').then((m) => m.content),
|
|
41
|
-
id: () => import('./i18n/id').then((m) => m.content),
|
|
42
|
-
it: () => import('./i18n/it').then((m) => m.content),
|
|
43
|
-
ja: () => import('./i18n/ja').then((m) => m.content),
|
|
44
|
-
ko: () => import('./i18n/ko').then((m) => m.content),
|
|
45
|
-
nl: () => import('./i18n/nl').then((m) => m.content),
|
|
46
|
-
pl: () => import('./i18n/pl').then((m) => m.content),
|
|
47
|
-
pt: () => import('./i18n/pt').then((m) => m.content),
|
|
48
|
-
ru: () => import('./i18n/ru').then((m) => m.content),
|
|
49
|
-
sv: () => import('./i18n/sv').then((m) => m.content),
|
|
50
|
-
tr: () => import('./i18n/tr').then((m) => m.content),
|
|
51
|
-
zh: () => import('./i18n/zh').then((m) => m.content),
|
|
52
|
-
},
|
|
53
|
-
};
|
|
54
|
-
|
|
55
|
-
|
|
1
|
+
import { beerCooler } from './entry';
|
|
2
|
+
export * from './entry';
|
|
56
3
|
export const BEER_COOLER_TOOL: ToolDefinition = {
|
|
57
4
|
entry: beerCooler as AlcoholToolEntry<Record<string, string>>,
|
|
58
5
|
Component: () => import('./component.astro'),
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import type { AlcoholToolEntry, ToolLocaleContent } from '../../types';
|
|
2
|
+
|
|
3
|
+
export interface CarbonationUI {
|
|
4
|
+
[key: string]: string;
|
|
5
|
+
parametersTitle: string;
|
|
6
|
+
metricBtn: string;
|
|
7
|
+
imperialBtn: string;
|
|
8
|
+
volumeLabel: string;
|
|
9
|
+
maxTempLabel: string;
|
|
10
|
+
litersUnit: string;
|
|
11
|
+
celsiusUnit: string;
|
|
12
|
+
gallonsUnit: string;
|
|
13
|
+
fahrenheitUnit: string;
|
|
14
|
+
desiredCo2Label: string;
|
|
15
|
+
volUnit: string;
|
|
16
|
+
resultsTitle: string;
|
|
17
|
+
tableSugarLabel: string;
|
|
18
|
+
cornSugarLabel: string;
|
|
19
|
+
dmeLabel: string;
|
|
20
|
+
safetyTitle: string;
|
|
21
|
+
lowCarbonation: string;
|
|
22
|
+
optimalCarbonation: string;
|
|
23
|
+
highEffervescence: string;
|
|
24
|
+
bubblingVisualizationLabel: string;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export type CarbonationLocaleContent = ToolLocaleContent<CarbonationUI>;
|
|
28
|
+
|
|
29
|
+
export const carbonationCalculator: AlcoholToolEntry<CarbonationUI> = {
|
|
30
|
+
id: 'carbonation-calculator',
|
|
31
|
+
icons: {
|
|
32
|
+
bg: 'mdi:bottle-soda-classic',
|
|
33
|
+
fg: 'mdi:water-opacity',
|
|
34
|
+
},
|
|
35
|
+
i18n: {
|
|
36
|
+
de: () => import('./i18n/de').then((m) => m.content),
|
|
37
|
+
en: () => import('./i18n/en').then((m) => m.content),
|
|
38
|
+
es: () => import('./i18n/es').then((m) => m.content),
|
|
39
|
+
fr: () => import('./i18n/fr').then((m) => m.content),
|
|
40
|
+
id: () => import('./i18n/id').then((m) => m.content),
|
|
41
|
+
it: () => import('./i18n/it').then((m) => m.content),
|
|
42
|
+
ja: () => import('./i18n/ja').then((m) => m.content),
|
|
43
|
+
ko: () => import('./i18n/ko').then((m) => m.content),
|
|
44
|
+
nl: () => import('./i18n/nl').then((m) => m.content),
|
|
45
|
+
pl: () => import('./i18n/pl').then((m) => m.content),
|
|
46
|
+
pt: () => import('./i18n/pt').then((m) => m.content),
|
|
47
|
+
ru: () => import('./i18n/ru').then((m) => m.content),
|
|
48
|
+
sv: () => import('./i18n/sv').then((m) => m.content),
|
|
49
|
+
tr: () => import('./i18n/tr').then((m) => m.content),
|
|
50
|
+
zh: () => import('./i18n/zh').then((m) => m.content),
|
|
51
|
+
},
|
|
52
|
+
};
|
|
@@ -1,57 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
export interface CarbonationUI {
|
|
4
|
-
[key: string]: string;
|
|
5
|
-
parametersTitle: string;
|
|
6
|
-
metricBtn: string;
|
|
7
|
-
imperialBtn: string;
|
|
8
|
-
volumeLabel: string;
|
|
9
|
-
maxTempLabel: string;
|
|
10
|
-
litersUnit: string;
|
|
11
|
-
celsiusUnit: string;
|
|
12
|
-
gallonsUnit: string;
|
|
13
|
-
fahrenheitUnit: string;
|
|
14
|
-
desiredCo2Label: string;
|
|
15
|
-
volUnit: string;
|
|
16
|
-
resultsTitle: string;
|
|
17
|
-
tableSugarLabel: string;
|
|
18
|
-
cornSugarLabel: string;
|
|
19
|
-
dmeLabel: string;
|
|
20
|
-
safetyTitle: string;
|
|
21
|
-
lowCarbonation: string;
|
|
22
|
-
optimalCarbonation: string;
|
|
23
|
-
highEffervescence: string;
|
|
24
|
-
bubblingVisualizationLabel: string;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
export type CarbonationLocaleContent = ToolLocaleContent<CarbonationUI>;
|
|
28
|
-
|
|
29
|
-
export const carbonationCalculator: AlcoholToolEntry<CarbonationUI> = {
|
|
30
|
-
id: 'carbonation-calculator',
|
|
31
|
-
icons: {
|
|
32
|
-
bg: 'mdi:bottle-soda-classic',
|
|
33
|
-
fg: 'mdi:water-opacity',
|
|
34
|
-
},
|
|
35
|
-
i18n: {
|
|
36
|
-
de: () => import('./i18n/de').then((m) => m.content),
|
|
37
|
-
en: () => import('./i18n/en').then((m) => m.content),
|
|
38
|
-
es: () => import('./i18n/es').then((m) => m.content),
|
|
39
|
-
fr: () => import('./i18n/fr').then((m) => m.content),
|
|
40
|
-
id: () => import('./i18n/id').then((m) => m.content),
|
|
41
|
-
it: () => import('./i18n/it').then((m) => m.content),
|
|
42
|
-
ja: () => import('./i18n/ja').then((m) => m.content),
|
|
43
|
-
ko: () => import('./i18n/ko').then((m) => m.content),
|
|
44
|
-
nl: () => import('./i18n/nl').then((m) => m.content),
|
|
45
|
-
pl: () => import('./i18n/pl').then((m) => m.content),
|
|
46
|
-
pt: () => import('./i18n/pt').then((m) => m.content),
|
|
47
|
-
ru: () => import('./i18n/ru').then((m) => m.content),
|
|
48
|
-
sv: () => import('./i18n/sv').then((m) => m.content),
|
|
49
|
-
tr: () => import('./i18n/tr').then((m) => m.content),
|
|
50
|
-
zh: () => import('./i18n/zh').then((m) => m.content),
|
|
51
|
-
},
|
|
52
|
-
};
|
|
53
|
-
|
|
54
|
-
|
|
1
|
+
import { carbonationCalculator } from './entry';
|
|
2
|
+
export * from './entry';
|
|
55
3
|
export const CARBONATION_TOOL: ToolDefinition = {
|
|
56
4
|
entry: carbonationCalculator as AlcoholToolEntry<Record<string, string>>,
|
|
57
5
|
Component: () => import('./component.astro'),
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import type { AlcoholToolEntry, ToolLocaleContent } from '../../types';
|
|
2
|
+
|
|
3
|
+
export interface CocktailBalancerUI {
|
|
4
|
+
[key: string]: string;
|
|
5
|
+
title: string;
|
|
6
|
+
presetsBtn: string;
|
|
7
|
+
saveBtn: string;
|
|
8
|
+
resetBtn: string;
|
|
9
|
+
emptyStateTitle: string;
|
|
10
|
+
emptyStateDescription: string;
|
|
11
|
+
addBtn: string;
|
|
12
|
+
addMoreBtn: string;
|
|
13
|
+
flavorProfileTitle: string;
|
|
14
|
+
volLabel: string;
|
|
15
|
+
sugarLabel: string;
|
|
16
|
+
colorLabel: string;
|
|
17
|
+
sourLawTitle: string;
|
|
18
|
+
acidDryLabel: string;
|
|
19
|
+
balanceLabel: string;
|
|
20
|
+
sweetLabel: string;
|
|
21
|
+
aiSuggestionTitle: string;
|
|
22
|
+
addIngredientTitle: string;
|
|
23
|
+
searchPlaceholder: string;
|
|
24
|
+
presetsTitle: string;
|
|
25
|
+
savedSectionTitle: string;
|
|
26
|
+
classicsSectionTitle: string;
|
|
27
|
+
confirmDeleteTitle: string;
|
|
28
|
+
confirmDeleteText: string;
|
|
29
|
+
cancelBtn: string;
|
|
30
|
+
deleteBtn: string;
|
|
31
|
+
verdictSpiritSeco: string;
|
|
32
|
+
verdictSoloDulce: string;
|
|
33
|
+
verdictMuyAcido: string;
|
|
34
|
+
verdictAcido: string;
|
|
35
|
+
verdictEquilibrado: string;
|
|
36
|
+
verdictDulce: string;
|
|
37
|
+
verdictEmpalagoso: string;
|
|
38
|
+
fixAddBitters: string;
|
|
39
|
+
fixAddSugar: string;
|
|
40
|
+
fixAddAcid: string;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
export type CocktailBalancerLocaleContent = ToolLocaleContent<CocktailBalancerUI>;
|
|
44
|
+
|
|
45
|
+
export const cocktailBalancer: AlcoholToolEntry<CocktailBalancerUI> = {
|
|
46
|
+
id: 'cocktail-balancer',
|
|
47
|
+
icons: {
|
|
48
|
+
bg: 'mdi:glass-cocktail',
|
|
49
|
+
fg: 'mdi:fruit-citrus',
|
|
50
|
+
},
|
|
51
|
+
i18n: {
|
|
52
|
+
de: () => import('./i18n/de').then((m) => m.content),
|
|
53
|
+
en: () => import('./i18n/en').then((m) => m.content),
|
|
54
|
+
es: () => import('./i18n/es').then((m) => m.content),
|
|
55
|
+
fr: () => import('./i18n/fr').then((m) => m.content),
|
|
56
|
+
id: () => import('./i18n/id').then((m) => m.content),
|
|
57
|
+
it: () => import('./i18n/it').then((m) => m.content),
|
|
58
|
+
ja: () => import('./i18n/ja').then((m) => m.content),
|
|
59
|
+
ko: () => import('./i18n/ko').then((m) => m.content),
|
|
60
|
+
nl: () => import('./i18n/nl').then((m) => m.content),
|
|
61
|
+
pl: () => import('./i18n/pl').then((m) => m.content),
|
|
62
|
+
pt: () => import('./i18n/pt').then((m) => m.content),
|
|
63
|
+
ru: () => import('./i18n/ru').then((m) => m.content),
|
|
64
|
+
sv: () => import('./i18n/sv').then((m) => m.content),
|
|
65
|
+
tr: () => import('./i18n/tr').then((m) => m.content),
|
|
66
|
+
zh: () => import('./i18n/zh').then((m) => m.content),
|
|
67
|
+
},
|
|
68
|
+
};
|
|
@@ -1,73 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
export interface CocktailBalancerUI {
|
|
4
|
-
[key: string]: string;
|
|
5
|
-
title: string;
|
|
6
|
-
presetsBtn: string;
|
|
7
|
-
saveBtn: string;
|
|
8
|
-
resetBtn: string;
|
|
9
|
-
emptyStateTitle: string;
|
|
10
|
-
emptyStateDescription: string;
|
|
11
|
-
addBtn: string;
|
|
12
|
-
addMoreBtn: string;
|
|
13
|
-
flavorProfileTitle: string;
|
|
14
|
-
volLabel: string;
|
|
15
|
-
sugarLabel: string;
|
|
16
|
-
colorLabel: string;
|
|
17
|
-
sourLawTitle: string;
|
|
18
|
-
acidDryLabel: string;
|
|
19
|
-
balanceLabel: string;
|
|
20
|
-
sweetLabel: string;
|
|
21
|
-
aiSuggestionTitle: string;
|
|
22
|
-
addIngredientTitle: string;
|
|
23
|
-
searchPlaceholder: string;
|
|
24
|
-
presetsTitle: string;
|
|
25
|
-
savedSectionTitle: string;
|
|
26
|
-
classicsSectionTitle: string;
|
|
27
|
-
confirmDeleteTitle: string;
|
|
28
|
-
confirmDeleteText: string;
|
|
29
|
-
cancelBtn: string;
|
|
30
|
-
deleteBtn: string;
|
|
31
|
-
verdictSpiritSeco: string;
|
|
32
|
-
verdictSoloDulce: string;
|
|
33
|
-
verdictMuyAcido: string;
|
|
34
|
-
verdictAcido: string;
|
|
35
|
-
verdictEquilibrado: string;
|
|
36
|
-
verdictDulce: string;
|
|
37
|
-
verdictEmpalagoso: string;
|
|
38
|
-
fixAddBitters: string;
|
|
39
|
-
fixAddSugar: string;
|
|
40
|
-
fixAddAcid: string;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
export type CocktailBalancerLocaleContent = ToolLocaleContent<CocktailBalancerUI>;
|
|
44
|
-
|
|
45
|
-
export const cocktailBalancer: AlcoholToolEntry<CocktailBalancerUI> = {
|
|
46
|
-
id: 'cocktail-balancer',
|
|
47
|
-
icons: {
|
|
48
|
-
bg: 'mdi:glass-cocktail',
|
|
49
|
-
fg: 'mdi:fruit-citrus',
|
|
50
|
-
},
|
|
51
|
-
i18n: {
|
|
52
|
-
de: () => import('./i18n/de').then((m) => m.content),
|
|
53
|
-
en: () => import('./i18n/en').then((m) => m.content),
|
|
54
|
-
es: () => import('./i18n/es').then((m) => m.content),
|
|
55
|
-
fr: () => import('./i18n/fr').then((m) => m.content),
|
|
56
|
-
id: () => import('./i18n/id').then((m) => m.content),
|
|
57
|
-
it: () => import('./i18n/it').then((m) => m.content),
|
|
58
|
-
ja: () => import('./i18n/ja').then((m) => m.content),
|
|
59
|
-
ko: () => import('./i18n/ko').then((m) => m.content),
|
|
60
|
-
nl: () => import('./i18n/nl').then((m) => m.content),
|
|
61
|
-
pl: () => import('./i18n/pl').then((m) => m.content),
|
|
62
|
-
pt: () => import('./i18n/pt').then((m) => m.content),
|
|
63
|
-
ru: () => import('./i18n/ru').then((m) => m.content),
|
|
64
|
-
sv: () => import('./i18n/sv').then((m) => m.content),
|
|
65
|
-
tr: () => import('./i18n/tr').then((m) => m.content),
|
|
66
|
-
zh: () => import('./i18n/zh').then((m) => m.content),
|
|
67
|
-
},
|
|
68
|
-
};
|
|
69
|
-
|
|
70
|
-
|
|
1
|
+
import { cocktailBalancer } from './entry';
|
|
2
|
+
export * from './entry';
|
|
71
3
|
export const COCKTAIL_BALANCER_TOOL: ToolDefinition = {
|
|
72
4
|
entry: cocktailBalancer as AlcoholToolEntry<Record<string, string>>,
|
|
73
5
|
Component: () => import('./component.astro'),
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import type { AlcoholToolEntry, ToolLocaleContent } from '../../types';
|
|
2
|
+
|
|
3
|
+
export interface PartyKegUI {
|
|
4
|
+
[key: string]: string;
|
|
5
|
+
calcStockTitle: string;
|
|
6
|
+
beerIceSub: string;
|
|
7
|
+
guestsLabel: string;
|
|
8
|
+
durationLabel: string;
|
|
9
|
+
hoursUnit: string;
|
|
10
|
+
intensityLabel: string;
|
|
11
|
+
chillLabel: string;
|
|
12
|
+
standardLabel: string;
|
|
13
|
+
partyLabel: string;
|
|
14
|
+
tempLabel: string;
|
|
15
|
+
estimatedVolLabel: string;
|
|
16
|
+
kegsLabel: string;
|
|
17
|
+
iceRequiredLabel: string;
|
|
18
|
+
bagsLabel: string;
|
|
19
|
+
visualizationTitle: string;
|
|
20
|
+
optimalMsg: string;
|
|
21
|
+
highMeltMsg: string;
|
|
22
|
+
highEfficiencyMsg: string;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export type PartyKegLocaleContent = ToolLocaleContent<PartyKegUI>;
|
|
26
|
+
|
|
27
|
+
export const partyKeg: AlcoholToolEntry<PartyKegUI> = {
|
|
28
|
+
id: 'party-keg',
|
|
29
|
+
icons: {
|
|
30
|
+
bg: 'mdi:party-popper',
|
|
31
|
+
fg: 'mdi:keg',
|
|
32
|
+
},
|
|
33
|
+
i18n: {
|
|
34
|
+
de: () => import('./i18n/de').then((m) => m.content),
|
|
35
|
+
en: () => import('./i18n/en').then((m) => m.content),
|
|
36
|
+
es: () => import('./i18n/es').then((m) => m.content),
|
|
37
|
+
fr: () => import('./i18n/fr').then((m) => m.content),
|
|
38
|
+
id: () => import('./i18n/id').then((m) => m.content),
|
|
39
|
+
it: () => import('./i18n/it').then((m) => m.content),
|
|
40
|
+
ja: () => import('./i18n/ja').then((m) => m.content),
|
|
41
|
+
ko: () => import('./i18n/ko').then((m) => m.content),
|
|
42
|
+
nl: () => import('./i18n/nl').then((m) => m.content),
|
|
43
|
+
pl: () => import('./i18n/pl').then((m) => m.content),
|
|
44
|
+
pt: () => import('./i18n/pt').then((m) => m.content),
|
|
45
|
+
ru: () => import('./i18n/ru').then((m) => m.content),
|
|
46
|
+
sv: () => import('./i18n/sv').then((m) => m.content),
|
|
47
|
+
tr: () => import('./i18n/tr').then((m) => m.content),
|
|
48
|
+
zh: () => import('./i18n/zh').then((m) => m.content),
|
|
49
|
+
},
|
|
50
|
+
};
|
|
@@ -1,55 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
export interface PartyKegUI {
|
|
4
|
-
[key: string]: string;
|
|
5
|
-
calcStockTitle: string;
|
|
6
|
-
beerIceSub: string;
|
|
7
|
-
guestsLabel: string;
|
|
8
|
-
durationLabel: string;
|
|
9
|
-
hoursUnit: string;
|
|
10
|
-
intensityLabel: string;
|
|
11
|
-
chillLabel: string;
|
|
12
|
-
standardLabel: string;
|
|
13
|
-
partyLabel: string;
|
|
14
|
-
tempLabel: string;
|
|
15
|
-
estimatedVolLabel: string;
|
|
16
|
-
kegsLabel: string;
|
|
17
|
-
iceRequiredLabel: string;
|
|
18
|
-
bagsLabel: string;
|
|
19
|
-
visualizationTitle: string;
|
|
20
|
-
optimalMsg: string;
|
|
21
|
-
highMeltMsg: string;
|
|
22
|
-
highEfficiencyMsg: string;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
export type PartyKegLocaleContent = ToolLocaleContent<PartyKegUI>;
|
|
26
|
-
|
|
27
|
-
export const partyKeg: AlcoholToolEntry<PartyKegUI> = {
|
|
28
|
-
id: 'party-keg',
|
|
29
|
-
icons: {
|
|
30
|
-
bg: 'mdi:party-popper',
|
|
31
|
-
fg: 'mdi:keg',
|
|
32
|
-
},
|
|
33
|
-
i18n: {
|
|
34
|
-
de: () => import('./i18n/de').then((m) => m.content),
|
|
35
|
-
en: () => import('./i18n/en').then((m) => m.content),
|
|
36
|
-
es: () => import('./i18n/es').then((m) => m.content),
|
|
37
|
-
fr: () => import('./i18n/fr').then((m) => m.content),
|
|
38
|
-
id: () => import('./i18n/id').then((m) => m.content),
|
|
39
|
-
it: () => import('./i18n/it').then((m) => m.content),
|
|
40
|
-
ja: () => import('./i18n/ja').then((m) => m.content),
|
|
41
|
-
ko: () => import('./i18n/ko').then((m) => m.content),
|
|
42
|
-
nl: () => import('./i18n/nl').then((m) => m.content),
|
|
43
|
-
pl: () => import('./i18n/pl').then((m) => m.content),
|
|
44
|
-
pt: () => import('./i18n/pt').then((m) => m.content),
|
|
45
|
-
ru: () => import('./i18n/ru').then((m) => m.content),
|
|
46
|
-
sv: () => import('./i18n/sv').then((m) => m.content),
|
|
47
|
-
tr: () => import('./i18n/tr').then((m) => m.content),
|
|
48
|
-
zh: () => import('./i18n/zh').then((m) => m.content),
|
|
49
|
-
},
|
|
50
|
-
};
|
|
51
|
-
|
|
52
|
-
|
|
1
|
+
import { partyKeg } from './entry';
|
|
2
|
+
export * from './entry';
|
|
53
3
|
export const PARTY_KEG_TOOL: ToolDefinition = {
|
|
54
4
|
entry: partyKeg as AlcoholToolEntry<Record<string, string>>,
|
|
55
5
|
Component: () => import('./component.astro'),
|
package/src/tools.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
export { ALL_ENTRIES } from './entries';
|
|
1
2
|
import type { ToolDefinition } from './types';
|
|
2
3
|
import { COCKTAIL_BALANCER_TOOL } from './tool/cocktailBalancer';
|
|
3
4
|
import { BEER_COOLER_TOOL } from './tool/beerCooler';
|
|
@@ -13,4 +14,3 @@ export const ALL_TOOLS: ToolDefinition[] = [
|
|
|
13
14
|
ALCOHOL_CLEARANCE_TOOL,
|
|
14
15
|
];
|
|
15
16
|
|
|
16
|
-
export const ALL_ENTRIES = ALL_TOOLS.map(t => t.entry);
|