diff --git a/frontend/src/pages/ProjectView.tsx b/frontend/src/pages/ProjectView.tsx
index 322495b..e53eb44 100644
--- a/frontend/src/pages/ProjectView.tsx
+++ b/frontend/src/pages/ProjectView.tsx
@@ -323,6 +323,16 @@ export default function ProjectView() {
{label: 'Silver', complexity: 'medium'},
{label: 'Bronze', complexity: 'simple'},
],
+ 'sml': [
+ {label: 'S', complexity: 'simple'},
+ {label: 'M', complexity: 'medium'},
+ {label: 'L', complexity: 'complex'},
+ ],
+ 'small_med_large': [
+ {label: 'Small', complexity: 'simple'},
+ {label: 'Medium', complexity: 'medium'},
+ {label: 'Large', complexity: 'complex'},
+ ],
};
async function saveTierMapping(tiers: Array<{label: string, complexity: string}>) {
@@ -505,6 +515,33 @@ export default function ProjectView() {
)}
+ {/* Tier Mapping - set BEFORE matching */}
+
+
+
Client Tier Mapping (optional):
+
+ { setTierPreset(''); saveTierMapping([]); }} className={`eff-btn ${tierMapping.tiers.length === 0 ? 'eff-btn-active' : ''}`}>None
+ applyTierPreset('abc')} className={`eff-btn ${tierPreset === 'abc' ? 'eff-btn-active' : ''}`}>A/B/C
+ applyTierPreset('123')} className={`eff-btn ${tierPreset === '123' ? 'eff-btn-active' : ''}`}>1/2/3
+ applyTierPreset('sml')} className={`eff-btn ${tierPreset === 'sml' ? 'eff-btn-active' : ''}`}>S/M/L
+ applyTierPreset('small_med_large')} className={`eff-btn ${tierPreset === 'small_med_large' ? 'eff-btn-active' : ''}`}>Small/Med/Large
+ applyTierPreset('gsb')} className={`eff-btn ${tierPreset === 'gsb' ? 'eff-btn-active' : ''}`}>Gold/Silver/Bronze
+
+
+ {tierMapping.tiers.length > 0 && (
+
+ {tierMapping.tiers.map((t, i) => (
+
+ {t.label} → {t.complexity}
+
+ ))}
+
+ )}
+
+ Set this before running AI matching. The AI will extract tier labels from the client document and match each to the correct GMAL complexity variant.
+
+
+
{assets.length > 0 && (
Extracted Assets ({assets.length})
@@ -666,34 +703,6 @@ export default function ProjectView() {
)}
- {/* Tier Mapping */}
- {matches.length > 0 && !matching && (
-
-
-
Client Tier Mapping:
-
- applyTierPreset('abc')} className={`eff-btn ${tierPreset === 'abc' ? 'eff-btn-active' : ''}`}>A/B/C
- applyTierPreset('123')} className={`eff-btn ${tierPreset === '123' ? 'eff-btn-active' : ''}`}>1/2/3
- applyTierPreset('gsb')} className={`eff-btn ${tierPreset === 'gsb' ? 'eff-btn-active' : ''}`}>Gold/Silver/Bronze
-
- {tierMapping.tiers.length > 0 && (
-
- {expanding ? 'Expanding...' : `Expand to ${tierMapping.tiers.length} Tiers`}
-
- )}
-
- {tierMapping.tiers.length > 0 && (
-
- {tierMapping.tiers.map((t, i) => (
-
- {t.label} → {t.complexity}
-
- ))}
-
- )}
-
- )}
-
{matches.length > 0 && !matching && (