+
-
πΏ
+
πΏ
-
Carbon Estimator
+ Carbon Estimator
Coming in Phase 7
-
+
The Carbon Estimator will calculate your operation's Scope 3 emissions profile
and estimate carbon sequestration potential per field using USDA emission factors.
@@ -35,19 +35,19 @@ export function CarbonEstimatorModule() {
['π', 'Carbon Credit PDF', 'Downloadable eligibility summary for carbon marketplaces'],
['π‘', 'Marketplace Handoff', 'Send your credit profile to Nori, Pachama, or others (Phase 8)'],
].map(([icon, title, desc]) => `
-
+
${icon}
-
${title}
-
${desc}
+
${title}
+
${desc}
`).join('')}
-
-
Your field profile data is already being collected.
-
Carbon estimates will populate automatically when Phase 7 lands.
+
+
Your field profile data is already being collected.
+
Carbon estimates will populate automatically when Phase 7 lands.
`;
diff --git a/agrifine-extension/src/modules/dashboard/index.js b/agrifine-extension/src/modules/dashboard/index.js
index bff6de4..566f840 100644
--- a/agrifine-extension/src/modules/dashboard/index.js
+++ b/agrifine-extension/src/modules/dashboard/index.js
@@ -41,13 +41,13 @@ export function DashboardModule() {
+ class="ag-input flex-1 rounded-xl" />
Ask
-
+
@@ -55,12 +55,12 @@ export function DashboardModule() {
${CATEGORIES.map((c) => `
+ ${c === activeCategory ? 'bg-agri-600 text-white border-agri-600' : 'border-night-500 text-gray-400 hover:border-agri-500'}">
${c.charAt(0).toUpperCase() + c.slice(1)}
`).join('')}
+ class="ag-input" />
@@ -76,7 +76,7 @@ export function DashboardModule() {
btn.addEventListener('click', async () => {
activeCategory = btn.dataset.cat;
container.querySelectorAll('.cat-btn').forEach((b) => {
- b.className = `cat-btn text-xs px-2.5 py-1 rounded-full border transition border-gray-300 text-gray-600 hover:border-agri-400`;
+ b.className = `cat-btn text-xs px-2.5 py-1 rounded-full border transition border-night-500 text-gray-400 hover:border-agri-500`;
});
btn.className = `cat-btn text-xs px-2.5 py-1 rounded-full border transition bg-agri-600 text-white border-agri-600`;
await this._renderDashboard(container);
@@ -124,7 +124,7 @@ export function DashboardModule() {
maxTokens: 512,
});
- answerEl.innerHTML = `
Answer
${escapeHtml(answer)} `;
+ answerEl.innerHTML = `
Answer
${escapeHtml(answer)} `;
} catch (err) {
answerEl.textContent = `Error: ${err.message}`;
} finally {
@@ -173,12 +173,12 @@ export function DashboardModule() {
${sourceIcon}
-
${escapeHtml(title)}
- ${sub ? `
${escapeHtml(sub)}
` : ''}
+
${escapeHtml(title)}
+ ${sub ? `
${escapeHtml(sub)}
` : ''}
- ${escapeHtml(item._category)}
+ ${escapeHtml(item._category)}
${(item.tags ?? []).filter((t) => t !== item._category).slice(0, 2).map((t) => `${escapeHtml(t)} `).join('')}
- ${date ? `${new Date(date).toLocaleDateString()} ` : ''}
+ ${date ? `${new Date(date).toLocaleDateString()} ` : ''}
diff --git a/agrifine-extension/src/modules/data-ingest/index.js b/agrifine-extension/src/modules/data-ingest/index.js
index 79e4117..2d989f6 100644
--- a/agrifine-extension/src/modules/data-ingest/index.js
+++ b/agrifine-extension/src/modules/data-ingest/index.js
@@ -20,16 +20,16 @@ export function DataIngestModule() {
+ class="border-2 border-dashed border-night-500 rounded-xl p-6 text-center cursor-pointer hover:border-agri-500 hover:bg-night-800 transition">
-
Drop CSV, Excel, or PDF here
-
or click to select a file
+
Drop CSV, Excel, or PDF here
+
or click to select a file
-
+
@@ -48,16 +48,16 @@ export function DataIngestModule() {
dropZone.addEventListener('dragover', (e) => {
e.preventDefault();
- dropZone.classList.add('border-agri-600', 'bg-agri-50');
+ dropZone.classList.add('border-agri-500', 'bg-night-800');
});
dropZone.addEventListener('dragleave', () => {
- dropZone.classList.remove('border-agri-600', 'bg-agri-50');
+ dropZone.classList.remove('border-agri-500', 'bg-night-800');
});
dropZone.addEventListener('drop', (e) => {
e.preventDefault();
- dropZone.classList.remove('border-agri-600', 'bg-agri-50');
+ dropZone.classList.remove('border-agri-500', 'bg-night-800');
const file = e.dataTransfer.files[0];
if (file) this._processFile(file, container);
});
@@ -212,17 +212,17 @@ export function DataIngestModule() {
-
${f.type}
-
${f.filename}
-
${new Date(f.uploadedAt).toLocaleDateString()}
+
${f.type}
+
${f.filename}
+
${new Date(f.uploadedAt).toLocaleDateString()}
-
+
- ${f.preview ? `
${f.preview} ` : ''}
+ ${f.preview ? `
${f.preview} ` : ''}
`).join('');
diff --git a/agrifine-extension/src/modules/field-profile/index.js b/agrifine-extension/src/modules/field-profile/index.js
index 958b394..c4f58c1 100644
--- a/agrifine-extension/src/modules/field-profile/index.js
+++ b/agrifine-extension/src/modules/field-profile/index.js
@@ -23,27 +23,21 @@ export function FieldProfileModule() {