+
+
+ {{ category.name }}
+
-
@@ -25,77 +26,42 @@
diff --git a/src/data/grapeData.json b/src/data/grapeData.json
index 92638a75..685bd58c 100644
--- a/src/data/grapeData.json
+++ b/src/data/grapeData.json
@@ -1,26 +1,60 @@
[
{
"name": "Red Grapes",
- "sectionColor": "#B71C1C",
- "buttonColor": "#E53935",
- "grapes": ["Cabernet Sauvignon", "Merlot", "Pinot Noir", "Syrah/Shiraz", "Malbec", "Zinfandel"]
+ "sectionClass": "text-danger",
+ "grapes": [
+ { "id": "cabernet_sauvignon", "name": "Cabernet Sauvignon", "buttonColor": "#E53935" },
+ { "id": "merlot", "name": "Merlot", "buttonColor": "#D32F2F" },
+ { "id": "pinot_noir", "name": "Pinot Noir", "buttonColor": "#B71C1C" },
+ { "id": "syrah", "name": "Syrah/Shiraz", "buttonColor": "#8E24AA" },
+ { "id": "malbec", "name": "Malbec", "buttonColor": "#6A1B9A" },
+ { "id": "zinfandel", "name": "Zinfandel", "buttonColor": "#C2185B" },
+ { "id": "sangiovese", "name": "Sangiovese", "buttonColor": "#AD1457" }
+ ]
},
{
"name": "White Grapes",
- "sectionColor": "#FDD835",
- "buttonColor": "#FBC02D",
- "grapes": ["Chardonnay", "Sauvignon Blanc", "Riesling", "Pinot Grigio", "Viognier", "Semillon"]
+ "sectionClass": "text-warning",
+ "grapes": [
+ { "id": "chardonnay", "name": "Chardonnay", "buttonColor": "#FBC02D" },
+ { "id": "riesling", "name": "Riesling", "buttonColor": "#FDD835" },
+ { "id": "sauvignon_blanc", "name": "Sauvignon Blanc", "buttonColor": "#FFEB3B" },
+ { "id": "pinot_grigio", "name": "Pinot Grigio", "buttonColor": "#F9A825" },
+ { "id": "viognier", "name": "Viognier", "buttonColor": "#FBC02D" },
+ { "id": "semillon", "name": "Semillon", "buttonColor": "#FFD54F" }
+ ]
},
{
"name": "Rosé Grapes",
- "sectionColor": "#EC407A",
- "buttonColor": "#F06292",
- "grapes": ["Grenache", "Sangiovese", "Mourvèdre", "Carignan", "Cinsaut"]
+ "sectionClass": "text-pink",
+ "grapes": [
+ { "id": "grenache", "name": "Grenache", "buttonColor": "#EC407A" },
+ { "id": "mourvedre", "name": "Mourvèdre", "buttonColor": "#E91E63" },
+ { "id": "cinsaut", "name": "Cinsaut", "buttonColor": "#D81B60" },
+ { "id": "carignan", "name": "Carignan", "buttonColor": "#C2185B" },
+ { "id": "tempranillo", "name": "Tempranillo", "buttonColor": "#E53935" }
+ ]
},
{
- "name": "Other Grapes",
- "sectionColor": "#6A1B9A",
- "buttonColor": "#8E24AA",
- "grapes": ["Tempranillo", "Barbera", "Nebbiolo", "Gamay"]
+ "name": "Sparkling Wine Grapes",
+ "sectionClass": "text-info",
+ "grapes": [
+ { "id": "pinot_noir", "name": "Pinot Noir", "buttonColor": "#B71C1C" },
+ { "id": "chardonnay", "name": "Chardonnay", "buttonColor": "#FBC02D" },
+ { "id": "pinot_meunier", "name": "Pinot Meunier", "buttonColor": "#8E24AA" },
+ { "id": "glera", "name": "Glera", "buttonColor": "#81D4FA" },
+ { "id": "moscato", "name": "Moscato", "buttonColor": "#29B6F6" }
+ ]
+ },
+ {
+ "name": "Dessert Wine Grapes",
+ "sectionClass": "text-secondary",
+ "grapes": [
+ { "id": "muscat", "name": "Muscat", "buttonColor": "#8E24AA" },
+ { "id": "tokaji", "name": "Tokaji", "buttonColor": "#795548" },
+ { "id": "riesling", "name": "Riesling (Late Harvest)", "buttonColor": "#FDD835" },
+ { "id": "sauternes", "name": "Sauternes", "buttonColor": "#FFECB3" },
+ { "id": "ice_wine", "name": "Ice Wine", "buttonColor": "#4FC3F7" }
+ ]
}
]
diff --git a/src/data/wineCategories.json b/src/data/wineCategories.json
new file mode 100644
index 00000000..d2c51815
--- /dev/null
+++ b/src/data/wineCategories.json
@@ -0,0 +1,126 @@
+[
+ {
+ "grapeId": "cabernet_sauvignon",
+ "categories": [
+ { "id": "red_wine", "name": "Red Wine" },
+ { "id": "blended_wine", "name": "Blended Wine" }
+ ]
+ },
+ {
+ "grapeId": "merlot",
+ "categories": [
+ { "id": "red_wine", "name": "Red Wine" },
+ { "id": "blended_wine", "name": "Blended Wine" }
+ ]
+ },
+ {
+ "grapeId": "pinot_noir",
+ "categories": [
+ { "id": "red_wine", "name": "Red Wine" },
+ { "id": "sparkling_wine", "name": "Sparkling Wine" }
+ ]
+ },
+ {
+ "grapeId": "syrah",
+ "categories": [
+ { "id": "red_wine", "name": "Red Wine" },
+ { "id": "blended_wine", "name": "Blended Wine" }
+ ]
+ },
+ {
+ "grapeId": "malbec",
+ "categories": [
+ { "id": "red_wine", "name": "Red Wine" }
+ ]
+ },
+ {
+ "grapeId": "zinfandel",
+ "categories": [
+ { "id": "red_wine", "name": "Red Wine" },
+ { "id": "rosé_wine", "name": "Rosé Wine" }
+ ]
+ },
+ {
+ "grapeId": "chardonnay",
+ "categories": [
+ { "id": "white_wine", "name": "White Wine" },
+ { "id": "sparkling_wine", "name": "Sparkling Wine" }
+ ]
+ },
+ {
+ "grapeId": "riesling",
+ "categories": [
+ { "id": "white_wine", "name": "White Wine" },
+ { "id": "dessert_wine", "name": "Dessert Wine" }
+ ]
+ },
+ {
+ "grapeId": "sauvignon_blanc",
+ "categories": [
+ { "id": "white_wine", "name": "White Wine" }
+ ]
+ },
+ {
+ "grapeId": "pinot_grigio",
+ "categories": [
+ { "id": "white_wine", "name": "White Wine" }
+ ]
+ },
+ {
+ "grapeId": "grenache",
+ "categories": [
+ { "id": "rosé_wine", "name": "Rosé Wine" },
+ { "id": "red_wine", "name": "Red Wine" }
+ ]
+ },
+ {
+ "grapeId": "mourvedre",
+ "categories": [
+ { "id": "rosé_wine", "name": "Rosé Wine" },
+ { "id": "red_wine", "name": "Red Wine" }
+ ]
+ },
+ {
+ "grapeId": "cinsaut",
+ "categories": [
+ { "id": "rosé_wine", "name": "Rosé Wine" }
+ ]
+ },
+ {
+ "grapeId": "glera",
+ "categories": [
+ { "id": "sparkling_wine", "name": "Sparkling Wine" }
+ ]
+ },
+ {
+ "grapeId": "moscato",
+ "categories": [
+ { "id": "sparkling_wine", "name": "Sparkling Wine" },
+ { "id": "dessert_wine", "name": "Dessert Wine" }
+ ]
+ },
+ {
+ "grapeId": "muscat",
+ "categories": [
+ { "id": "dessert_wine", "name": "Dessert Wine" }
+ ]
+ },
+ {
+ "grapeId": "sauternes",
+ "categories": [
+ { "id": "dessert_wine", "name": "Dessert Wine" }
+ ]
+ },
+ {
+ "grapeId": "tokaji",
+ "categories": [
+ { "id": "dessert_wine", "name": "Dessert Wine" }
+ ]
+ },
+ {
+ "grapeId": "ice_wine",
+ "categories": [
+ { "id": "dessert_wine", "name": "Dessert Wine" }
+ ]
+ }
+]
diff --git a/src/data/wineDetails.json b/src/data/wineDetails.json
new file mode 100644
index 00000000..91973c40
--- /dev/null
+++ b/src/data/wineDetails.json
@@ -0,0 +1,44 @@
+[
+ {
+ "id": "red_wine",
+ "name": "Red Wine",
+ "description": "Red wine is made from dark-colored grape varieties. It often has rich flavors of berries, plums, and spices.",
+ "pairings": ["Red Meat", "Pasta", "Cheese", "Lamb"],
+ "regions": ["France", "Italy", "USA", "Argentina", "Australia"]
+ },
+ {
+ "id": "white_wine",
+ "name": "White Wine",
+ "description": "White wine is made from green or yellow grapes, offering fresh and crisp flavors of citrus, apples, and tropical fruits.",
+ "pairings": ["Poultry", "Seafood", "Salads", "Soft Cheeses"],
+ "regions": ["France", "Germany", "USA", "New Zealand", "South Africa"]
+ },
+ {
+ "id": "rosé_wine",
+ "name": "Rosé Wine",
+ "description": "Rosé wine is made by allowing limited contact with grape skins. It offers flavors of strawberries, cherries, and citrus.",
+ "pairings": ["Grilled Meats", "Light Pasta", "Summer Salads", "Seafood"],
+ "regions": ["Provence", "Spain", "USA", "Italy"]
+ },
+ {
+ "id": "sparkling_wine",
+ "name": "Sparkling Wine",
+ "description": "Sparkling wine is a carbonated wine, often associated with celebrations. Popular varieties include Champagne and Prosecco.",
+ "pairings": ["Seafood", "Appetizers", "Desserts", "Brunch Foods"],
+ "regions": ["France", "Spain", "Italy", "Australia", "USA"]
+ },
+ {
+ "id": "dessert_wine",
+ "name": "Dessert Wine",
+ "description": "Dessert wines are sweet wines enjoyed with desserts or on their own. Examples include Sauternes, Tokaji, and Ice Wine.",
+ "pairings": ["Fruit Desserts", "Chocolate", "Blue Cheese", "Nuts"],
+ "regions": ["France", "Hungary", "Canada", "Germany"]
+ },
+ {
+ "id": "blended_wine",
+ "name": "Blended Wine",
+ "description": "Blended wines are crafted by combining different grape varieties to achieve complexity and balance.",
+ "pairings": ["Roasted Meats", "Hearty Stews", "Aged Cheeses"],
+ "regions": ["Bordeaux", "Rhone Valley", "Australia", "Spain"]
+ }
+]
diff --git a/src/router/index.js b/src/router/index.js
index addc0bde..515a5c44 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -10,6 +10,10 @@ import { createRouter, createWebHashHistory } from "vue-router";
import MapView from "@/views/MapView";
import GrapeView from "@/views/GrapeView"
import ResourcesView from "@/views/ResourcesView.vue";
+import WineCategoryView from "@/views/WineCategoryView.vue";
+import WineDetailsView from "@/views/WineDetailsView.vue";
+
+
const routes = [
{
path: "/",
@@ -24,6 +28,18 @@ const routes = [
name: "ResourcesView",
component: ResourcesView,
},
+ {
+ path: "/grape/:grapeId/:grapeName",
+ name: "WineCategory",
+ component: WineCategoryView,
+ props: true,
+ },
+ {
+ path: "/wine/:categoryId",
+ name: "WineDetails",
+ component: WineDetailsView,
+ props: true,
+ },
];
/*
diff --git a/src/views/WineCategoryView.vue b/src/views/WineCategoryView.vue
new file mode 100644
index 00000000..cc82b137
--- /dev/null
+++ b/src/views/WineCategoryView.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
diff --git a/src/views/WineDetailsView.vue b/src/views/WineDetailsView.vue
new file mode 100644
index 00000000..b437ed86
--- /dev/null
+++ b/src/views/WineDetailsView.vue
@@ -0,0 +1,17 @@
+
+
+
+
+