diff --git a/src/assets/annoIcons/Beef.webp b/src/assets/annoIcons/Beef.webp
new file mode 100644
index 0000000..9607dc5
Binary files /dev/null and b/src/assets/annoIcons/Beef.webp differ
diff --git a/src/assets/annoIcons/Canned_food.webp b/src/assets/annoIcons/Canned_food.webp
new file mode 100644
index 0000000..2771daa
Binary files /dev/null and b/src/assets/annoIcons/Canned_food.webp differ
diff --git a/src/assets/annoIcons/Cotton.webp b/src/assets/annoIcons/Cotton.webp
new file mode 100644
index 0000000..210cd9d
Binary files /dev/null and b/src/assets/annoIcons/Cotton.webp differ
diff --git a/src/assets/annoIcons/Cotton_fabric.webp b/src/assets/annoIcons/Cotton_fabric.webp
new file mode 100644
index 0000000..7f3bc8e
Binary files /dev/null and b/src/assets/annoIcons/Cotton_fabric.webp differ
diff --git a/src/assets/annoIcons/Fur_Coats.webp b/src/assets/annoIcons/Fur_Coats.webp
new file mode 100644
index 0000000..313f476
Binary files /dev/null and b/src/assets/annoIcons/Fur_Coats.webp differ
diff --git a/src/assets/annoIcons/Furs.webp b/src/assets/annoIcons/Furs.webp
new file mode 100644
index 0000000..7df6594
Binary files /dev/null and b/src/assets/annoIcons/Furs.webp differ
diff --git a/src/assets/annoIcons/Glass.webp b/src/assets/annoIcons/Glass.webp
new file mode 100644
index 0000000..cc5efd3
Binary files /dev/null and b/src/assets/annoIcons/Glass.webp differ
diff --git a/src/assets/annoIcons/Goulash.webp b/src/assets/annoIcons/Goulash.webp
new file mode 100644
index 0000000..c29dcd7
Binary files /dev/null and b/src/assets/annoIcons/Goulash.webp differ
diff --git a/src/assets/annoIcons/Quartz_sand.webp b/src/assets/annoIcons/Quartz_sand.webp
new file mode 100644
index 0000000..7434218
Binary files /dev/null and b/src/assets/annoIcons/Quartz_sand.webp differ
diff --git a/src/assets/annoIcons/Red_peppers.webp b/src/assets/annoIcons/Red_peppers.webp
new file mode 100644
index 0000000..01d4295
Binary files /dev/null and b/src/assets/annoIcons/Red_peppers.webp differ
diff --git a/src/assets/annoIcons/Rum.webp b/src/assets/annoIcons/Rum.webp
new file mode 100644
index 0000000..5cd19ef
Binary files /dev/null and b/src/assets/annoIcons/Rum.webp differ
diff --git a/src/assets/annoIcons/Sails.webp b/src/assets/annoIcons/Sails.webp
new file mode 100644
index 0000000..318ee50
Binary files /dev/null and b/src/assets/annoIcons/Sails.webp differ
diff --git a/src/assets/annoIcons/Sewing_machines.webp b/src/assets/annoIcons/Sewing_machines.webp
new file mode 100644
index 0000000..5485462
Binary files /dev/null and b/src/assets/annoIcons/Sewing_machines.webp differ
diff --git a/src/assets/annoIcons/Sugar_cane.webp b/src/assets/annoIcons/Sugar_cane.webp
new file mode 100644
index 0000000..5700c57
Binary files /dev/null and b/src/assets/annoIcons/Sugar_cane.webp differ
diff --git a/src/assets/annoIcons/Windows.webp b/src/assets/annoIcons/Windows.webp
new file mode 100644
index 0000000..7b7d5e2
Binary files /dev/null and b/src/assets/annoIcons/Windows.webp differ
diff --git a/src/components/ChainTiers.vue b/src/components/ChainTiers.vue
index eb0de3d..42bca85 100644
--- a/src/components/ChainTiers.vue
+++ b/src/components/ChainTiers.vue
@@ -20,6 +20,6 @@ defineProps<{
diff --git a/src/components/DiagramRenderer.vue b/src/components/DiagramRenderer.vue
index 7e04a87..7252d82 100644
--- a/src/components/DiagramRenderer.vue
+++ b/src/components/DiagramRenderer.vue
@@ -1,82 +1,15 @@
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/components/ProductionChain.vue b/src/components/ProductionChain.vue
index 5e20c63..e7fbaba 100644
--- a/src/components/ProductionChain.vue
+++ b/src/components/ProductionChain.vue
@@ -6,7 +6,7 @@
import { ref, watchEffect } from 'vue';
import mermaid from 'mermaid';
-// HTML Refs
+// DOM Refs
const diagram = ref(null);
// Props
diff --git a/src/components/models.ts b/src/components/models.ts
new file mode 100644
index 0000000..a5e5241
--- /dev/null
+++ b/src/components/models.ts
@@ -0,0 +1,9 @@
+export interface TieredProductionChain {
+ tierName: string;
+ productionChains: ProductionChain[];
+}
+
+export interface ProductionChain {
+ productionChain: string;
+ mermaidDefinition: string;
+}
diff --git a/src/components/production-chains.ts b/src/components/production-chains.ts
index 53cfec7..44e2f1d 100644
--- a/src/components/production-chains.ts
+++ b/src/components/production-chains.ts
@@ -1,3 +1,5 @@
+import { TieredProductionChain } from './models';
+
// Icons
import lightningIcon from '../assets/annoIcons/Lightning.png';
@@ -11,6 +13,9 @@ import coalIcon from '../assets/annoIcons/Coal.webp';
import ironIcon from '../assets/annoIcons/Iron.webp';
import steelIcon from '../assets/annoIcons/Steel.webp';
import steelBeamsIcon from '../assets/annoIcons/Steel_beams.webp';
+import sandIcon from '../assets/annoIcons/Quartz_sand.webp';
+import glassMakersIcon from '../assets/annoIcons/Glass.webp';
+import windowMakersIcon from '../assets/annoIcons/Windows.webp';
// Farmers & Workers
import potatoIcon from '../assets/annoIcons/Potato.webp';
@@ -28,66 +33,136 @@ import soapIcon from '../assets/annoIcons/Soap.webp';
import breweryIcon from '../assets/annoIcons/Beer.webp';
import malthouseIcon from '../assets/annoIcons/Malt.webp';
import hopFarmIcon from '../assets/annoIcons/Hops.webp';
+import sailmakersIcon from '../assets/annoIcons/Sails.webp';
+
+// Artisans
+import beefIcon from '../assets/annoIcons/Beef.webp';
+import redPeppersIcon from '../assets/annoIcons/Red_peppers.webp';
+import artisnalKitchenIcon from '../assets/annoIcons/Goulash.webp';
+import cannedFoodIcon from '../assets/annoIcons/Canned_food.webp';
+import sewingMachinesIcon from '../assets/annoIcons/Sewing_machines.webp';
+import fursIcon from '../assets/annoIcons/Furs.webp';
+import furCoatsIcon from '../assets/annoIcons/Fur_Coats.webp';
+import sugarCaneIcon from '../assets/annoIcons/Sugar_cane.webp';
+import rumIcon from '../assets/annoIcons/Rum.webp';
// Engineers
import caoutchoucIcon from '../assets/annoIcons/Caoutchouc.webp';
import highWheelerIcon from '../assets/annoIcons/High_wheeler.webp';
+// Jornaleros
+import cottonIcon from '../assets/annoIcons/Cotton.webp';
+import cottonMillIcon from '../assets/annoIcons/Cotton_fabric.webp';
+
// Weapons
import weaponsIcon from '../assets/annoIcons/Weapons.webp';
// Production Chains
-export const productionChains = {
- buildingMaterials: [
- {
- productionChain: 'timber',
- mermaidDefinition: `flowchart LR; Wood(
1)-->Timber(
1)`
- },
- {
- productionChain: 'bricks',
- mermaidDefinition: `flowchart LR; Clay(
1) --> Bricks(
2)`
- },
- {
- productionChain: 'steelBeams',
- mermaidDefinition: `flowchart LR; CharcoalKiln(
1) & Iron(
1) --> Steel(
66%1) --> SteelBeams(
1)`
- }
- ],
- farmersWorkers: [
- {
- productionChain: 'workClothes',
- mermaidDefinition: `flowchart LR; Wool(
1) --> WorkClothes(
1)`
- },
- {
- productionChain: 'schnapps',
- mermaidDefinition: `flowchart LR; Potato(
1) --> Schnapps(
1)`
- },
- {
- productionChain: 'sausages',
- mermaidDefinition: `flowchart LR; Pig(
1) --> Sausages(
2)`
- },
- {
- productionChain: 'bread',
- mermaidDefinition: `flowchart LR; Grain(
2) --> Flour(
1) --> Bread(
2)`
- },
- {
- productionChain: 'soap',
- mermaidDefinition: `flowchart LR; Pigs(
2) --> Tallow(
2) --> Soap(
1)`
- },
- {
- productionChain: 'beer',
- mermaidDefinition: `flowchart LR; Grain(
2) --> Malthouse(
1) --> Brewery(
2); HopFarm(
3) --> Brewery`
- }
- ],
- engineers: [
- {
- productionChain: 'highWheeler',
- mermaidDefinition: `flowchart LR; Coal(
1) & Iron(
1) --> Steel(
2) --> HighWheeler(
1); Caoutchouc(
4) --> HighWheeler`
- }
- ],
- weapons: [
- {
- productionChain: 'weapons',
- mermaidDefinition: `flowchart LR; charcoalKiln(
1) & Iron(
50%1) --> Steel(
33%1) --> Weapons(
1)`
- }
- ]
-};
+export const productionChains: TieredProductionChain[] = [
+ {
+ tierName: 'Building Materials',
+ productionChains: [
+ {
+ productionChain: 'timber',
+ mermaidDefinition: `flowchart LR; Wood(
1)-->Timber(
1)`
+ },
+ {
+ productionChain: 'bricks',
+ mermaidDefinition: `flowchart LR; Clay(
1) --> Bricks(
2)`
+ },
+ {
+ productionChain: 'steelBeams',
+ mermaidDefinition: `flowchart LR; CharcoalKiln(
1) & Iron(
1) --> Steel(
66%1) --> SteelBeams(
1)`
+ },
+ {
+ productionChain: 'windows',
+ mermaidDefinition: `flowchart LR; Sand(
2) --> NAME(
2) --> WindowMakers(
4); Wood(
1) --> WindowMakers`
+ }
+ ]
+ },
+ {
+ tierName: 'Farmers | Workers',
+ productionChains: [
+ {
+ productionChain: 'workClothes',
+ mermaidDefinition: `flowchart LR; Wool(
1) --> WorkClothes(
1)`
+ },
+ {
+ productionChain: 'schnapps',
+ mermaidDefinition: `flowchart LR; Potato(
1) --> Schnapps(
1)`
+ },
+ {
+ productionChain: 'sausages',
+ mermaidDefinition: `flowchart LR; Pig(
1) --> Sausages(
2)`
+ },
+ {
+ productionChain: 'bread',
+ mermaidDefinition: `flowchart LR; Grain(
2) --> Flour(
1) --> Bread(
2)`
+ },
+ {
+ productionChain: 'soap',
+ mermaidDefinition: `flowchart LR; Pigs(
2) --> Tallow(
2) --> Soap(
1)`
+ },
+ {
+ productionChain: 'beer',
+ mermaidDefinition: `flowchart LR; Grain(
2) --> Malthouse(
1) --> Brewery(
2); HopFarm(
3) --> Brewery`
+ }
+ ]
+ },
+ {
+ tierName: 'Artisans',
+ productionChains: [
+ {
+ productionChain: 'cannedFood',
+ mermaidDefinition: `flowchart LR; Beef(
4) --> ArtisnalKitchen(
4) --> Cannery(
3); NAME(
4) --> ArtisnalKitchen; Iron(
50%1) --> Cannery`
+ },
+ {
+ productionChain: 'sewingMachines',
+ mermaidDefinition: `flowchart LR; Charcoal(
1) --> Steel(
1) --> SewingMachines(
1); Iron(
50%1) --> Steel; Wood(
50%1) --> SewingMachines`
+ },
+ {
+ productionChain: 'rum',
+ mermaidDefinition: `flowchart LR; SugarCane(
1) & Wood(
50%1) --> Rum(
1)`
+ },
+ {
+ productionChain: 'furs',
+ mermaidDefinition: `flowchart LR; Cotton(
2) --> CottonMill(
1) --> FurCoats(
1); Furs(
2) --> FurCoats`
+ }
+ ]
+ },
+ {
+ tierName: 'Jornaleros | Obreros',
+ productionChains: []
+ },
+ {
+ tierName: 'Engineers',
+ productionChains: [
+ {
+ productionChain: 'highWheeler',
+ mermaidDefinition: `flowchart LR; Coal(
1) & Iron(
1) --> Steel(
2) --> HighWheeler(
1); Caoutchouc(
4) --> HighWheeler`
+ }
+ ]
+ },
+ {
+ tierName: 'Weapons',
+ productionChains: [
+ {
+ productionChain: 'weapons',
+ mermaidDefinition: `flowchart LR; charcoalKiln(
1) & Iron(
50%1) --> Steel(
33%1) --> Weapons(
1)`
+ }
+ ]
+ },
+ {
+ tierName: 'Sails',
+ productionChains: [
+ {
+ productionChain: 'oldWorldSails',
+ mermaidDefinition: `flowchart LR; Wool(
1) --> Sailmakers(
1)`
+ },
+ {
+ productionChain: 'newWorldSails',
+ mermaidDefinition: `flowchart LR; Cotton(
2) --> CottonMill(
1) --> Sailmakers(
1)`
+ }
+ ]
+ }
+];
diff --git a/src/css/app.scss b/src/css/app.scss
index 0cd29f4..243aad4 100644
--- a/src/css/app.scss
+++ b/src/css/app.scss
@@ -7,5 +7,14 @@
.font-soleil {
font-family: Soleil;
- color: #2d3e4f;
+ color: $off-black;
+}
+
+// https://quasar.dev/style/color-palette#adding-your-own-colors
+.text-off-black {
+ color: $off-black !important;
+}
+
+.bg-off-black {
+ background: $off-black !important;
}
diff --git a/src/css/quasar.variables.scss b/src/css/quasar.variables.scss
index 342d2c3..882ac2d 100644
--- a/src/css/quasar.variables.scss
+++ b/src/css/quasar.variables.scss
@@ -23,3 +23,5 @@ $positive: #21ba45;
$negative: #c10015;
$info: #31ccec;
$warning: #f2c037;
+
+$off-black: #2e3f4e;
diff --git a/src/layouts/MainLayout.vue b/src/layouts/MainLayout.vue
index 319995d..11bc237 100644
--- a/src/layouts/MainLayout.vue
+++ b/src/layouts/MainLayout.vue
@@ -8,13 +8,19 @@
round
icon="menu"
aria-label="Menu"
+ color="off-black"
@click="toggleLeftDrawer"
/>
-
- Anno 1800 Production Chains
+
+ Anno 1800 Production Chains
+
-
+
@@ -50,6 +56,10 @@ function toggleLeftDrawer() {