Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| ffcc60c38b | |||
| c15a80a53e |
22
.planning/STATE.md
Normal file
22
.planning/STATE.md
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
# STATE.md
|
||||||
|
|
||||||
|
## Current Position
|
||||||
|
- **Phase:** 07.1-frontend-overhaul
|
||||||
|
- **Plan:** 07.1-frontend-overhaul-PLAN.md
|
||||||
|
- **Task:** 2 (Completed)
|
||||||
|
|
||||||
|
## Progress
|
||||||
|
- [x] Task 1: Update Tailwind Configuration
|
||||||
|
- [x] Task 2: Implement Global Sharp Edges & Borders
|
||||||
|
- [ ] Task 3: Component-Level Overhaul (Buttons & Inputs)
|
||||||
|
- [ ] Task 4: StatCard & Data Table Refinement
|
||||||
|
- [ ] Task 5: Layout & Viewport Adjustments
|
||||||
|
- [ ] Task 6: Final Audit & Rule Alignment
|
||||||
|
|
||||||
|
## Decisions
|
||||||
|
- Enforced `font-weight: 400 !important` and `text-transform: none !important` globally in `globals.css` to ensure strict compliance with `AI_RULES.md` (Industrial Precision aesthetic).
|
||||||
|
- Set `border-radius: 0 !important` and `box-shadow: none !important` globally.
|
||||||
|
- Used `Space Grotesk` from Google Fonts.
|
||||||
|
|
||||||
|
## Blockers
|
||||||
|
- None.
|
||||||
@@ -49,7 +49,7 @@ autonomous: true
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Task 2: Implement Global Sharp Edges & Borders
|
## Task 2: Implement Global Sharp Edges & Borders [COMPLETED]
|
||||||
|
|
||||||
**Read First:**
|
**Read First:**
|
||||||
- `DESIGN.md` (Elevation & Depth, Shapes).
|
- `DESIGN.md` (Elevation & Depth, Shapes).
|
||||||
|
|||||||
@@ -27,6 +27,7 @@ This is the **Single Source of Truth** for ALL AI agents. Refer to [PROJECT_ARCH
|
|||||||
- **NO BOLD FONTS**: Use `font-normal` throughout. Hierarchy via size and color only.
|
- **NO BOLD FONTS**: Use `font-normal` throughout. Hierarchy via size and color only.
|
||||||
- **NO `tracking-widest`**.
|
- **NO `tracking-widest`**.
|
||||||
- **StatCard Typography**: Numeric values in StatCards MUST match the exact text size of their corresponding labels (e.g., `text-base md:text-lg`) to avoid overwhelming the density of the component.
|
- **StatCard Typography**: Numeric values in StatCards MUST match the exact text size of their corresponding labels (e.g., `text-base md:text-lg`) to avoid overwhelming the density of the component.
|
||||||
|
- **Shapes**: All components MUST use 0px border radius (sharp corners) and NO box-shadows. Depth via tonal layers and borders only.
|
||||||
- **Layout**: Main pages MUST use `max-w-7xl`.
|
- **Layout**: Main pages MUST use `max-w-7xl`.
|
||||||
- **Unified Headers**: Icon box (`p-4 bg-primary/10 border-primary/20`) + Title (`text-3xl font-normal`).
|
- **Unified Headers**: Icon box (`p-4 bg-primary/10 border-primary/20`) + Title (`text-3xl font-normal`).
|
||||||
- **Iconography**: Use **Lucide Icons** exclusively.
|
- **Iconography**: Use **Lucide Icons** exclusively.
|
||||||
|
|||||||
BIN
backups/ainventory_2026-04-25_12-21-30.tar.gz
Normal file
BIN
backups/ainventory_2026-04-25_12-21-30.tar.gz
Normal file
Binary file not shown.
BIN
backups/ainventory_2026-04-25_12-25-17.tar.gz
Normal file
BIN
backups/ainventory_2026-04-25_12-25-17.tar.gz
Normal file
Binary file not shown.
@@ -2,28 +2,31 @@
|
|||||||
|
|
||||||
**Active AI:** Gemini Executor
|
**Active AI:** Gemini Executor
|
||||||
**Last Updated:** 2026-04-25
|
**Last Updated:** 2026-04-25
|
||||||
**Current Version:** v1.14.25
|
**Current Version:** v1.14.26
|
||||||
**Status**: 🟢 PHASE 7.1 TASK 1 COMPLETE
|
**Status**: 🟢 PHASE 7.1 TASK 2 COMPLETE
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## SESSION EXECUTION SUMMARY — Task 1: Tailwind Update
|
## SESSION EXECUTION SUMMARY — Task 2: Global Sharp Edges & Borders
|
||||||
|
|
||||||
### 1. Tailwind Config (COMPLETE)
|
### 1. Global CSS Update (COMPLETE)
|
||||||
- Updated `frontend/tailwind.config.ts` with "Industrial Precision" palette.
|
- Updated `frontend/app/globals.css` to enforce `border-radius: 0 !important` globally.
|
||||||
- Added `Space Grotesk` font family.
|
- Removed all box-shadows globally (`box-shadow: none !important`).
|
||||||
- Aligned font sizes with `DESIGN.md` (14px, 16px, 18px, 24px, 32px, 48px).
|
- Enforced `font-weight: 400 !important` and `text-transform: none !important` to comply with `AI_RULES.md`.
|
||||||
- Defined tiered surface system: `#0A0A0A`, `#121212`, `#1A1A1A`.
|
- Implemented `level-1` and `level-2` classes for "Industrial Precision" borders.
|
||||||
|
- Updated scrollbar to match industrial aesthetic (no radius, technical colors).
|
||||||
|
- Added `status-success` and `status-alert` high-contrast utility classes.
|
||||||
|
|
||||||
### 2. Documentation Update
|
### 2. AI Rules Update
|
||||||
- Updated `PROJECT_ARCHITECTURE.md` with new styling specs.
|
- Updated `AI_RULES.md` to include a mandatory rule for 0px border radius and no shadows.
|
||||||
- Updated `README.md` version and date.
|
|
||||||
- Marked Task 1 as completed in `.planning/phases/07.1-frontend-overhaul/PLAN.md`.
|
### 3. Documentation Update
|
||||||
|
- Marked Task 2 as completed in `.planning/phases/07.1-frontend-overhaul/PLAN.md`.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## NEXT STEPS (Phase 7.1: Frontend UI/UX Overhaul)
|
## NEXT STEPS (Phase 7.1: Frontend UI/UX Overhaul)
|
||||||
|
|
||||||
1. **Task 2: Implement Global Sharp Edges & Borders**: Update `globals.css` for 0px radius and 1px/2px borders.
|
1. **Task 3: Component-Level Overhaul**: Update Buttons and Inputs.
|
||||||
2. **Task 3: Component-Level Overhaul**: Update Buttons and Inputs.
|
2. **Task 4: StatCard & Data Table Refinement**.
|
||||||
3. **Task 4: StatCard & Data Table Refinement**.
|
3. **Task 5: Layout & Viewport Adjustments**.
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"version": "1.14.25",
|
"version": "1.14.27",
|
||||||
"last_build": "2026-04-25-1221",
|
"last_build": "2026-04-25-1226",
|
||||||
"codename": "ConfigCore",
|
"codename": "ConfigCore",
|
||||||
"commit": "b74d1172"
|
"commit": "c15a80a5"
|
||||||
}
|
}
|
||||||
@@ -1,54 +1,92 @@
|
|||||||
@import url('https://fonts.googleapis.com/css2?family=Fira+Code&family=Fira+Sans&display=swap');
|
@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500;600;700&display=swap');
|
||||||
|
|
||||||
@tailwind base;
|
@tailwind base;
|
||||||
@tailwind components;
|
@tailwind components;
|
||||||
@tailwind utilities;
|
@tailwind utilities;
|
||||||
|
|
||||||
:root {
|
@layer base {
|
||||||
/* Dark Mode (OLED) - Improved Contrast Palette */
|
:root {
|
||||||
--background: #0A0E27;
|
--background: #131313;
|
||||||
--foreground: #F0F4F8;
|
--foreground: #FFFFFF;
|
||||||
--primary: #3B82F6;
|
--primary: #F58618;
|
||||||
--primary-foreground: #FFFFFF;
|
--border: #222222;
|
||||||
--font-code: 'Fira Code', monospace;
|
--muted: #888888;
|
||||||
--font-sans: 'Fira Sans', sans-serif;
|
}
|
||||||
|
|
||||||
|
* {
|
||||||
|
@apply border-border;
|
||||||
|
border-radius: 0 !important;
|
||||||
|
box-shadow: none !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
@apply bg-background text-foreground antialiased font-normal;
|
||||||
|
font-family: 'Space Grotesk', sans-serif;
|
||||||
|
letter-spacing: -0.01em;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Strict "NO BOLD" enforcement from AI_RULES.md */
|
||||||
|
*, *::before, *::after {
|
||||||
|
font-weight: 400 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* No uppercase/italics as per AI_RULES.md */
|
||||||
|
*, *::before, *::after {
|
||||||
|
text-transform: none !important;
|
||||||
|
font-style: normal !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
h1, h2, h3, h4, h5, h6 {
|
||||||
|
@apply tracking-tighter;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
body {
|
@layer components {
|
||||||
color: var(--foreground);
|
/* Level 1 (Cards/Panels): #121212 with a 1px solid border of #222222 */
|
||||||
background-color: var(--background);
|
.level-1 {
|
||||||
font-family: var(--font-sans);
|
@apply bg-[#121212] border border-[#222222];
|
||||||
font-weight: 400;
|
}
|
||||||
|
|
||||||
|
/* Level 2 (Modals/Popovers): #1A1A1A with a 2px solid border of the Primary Orange */
|
||||||
|
.level-2 {
|
||||||
|
@apply bg-[#1A1A1A] border-2 border-primary;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Active State */
|
||||||
|
.active-border {
|
||||||
|
@apply border border-primary;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* High-contrast status blocks */
|
||||||
|
.status-success {
|
||||||
|
@apply bg-[#00FF41] text-black px-2 py-0.5;
|
||||||
|
}
|
||||||
|
|
||||||
|
.status-alert {
|
||||||
|
@apply bg-[#F58618] text-black px-2 py-0.5;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
h1, h2, h3, h4, h5, h6 {
|
/* Custom Industrial Scrollbar Styling */
|
||||||
font-family: var(--font-code);
|
|
||||||
font-weight: 400;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Custom Scrollbar Styling */
|
|
||||||
::-webkit-scrollbar {
|
::-webkit-scrollbar {
|
||||||
width: 10px;
|
width: 8px;
|
||||||
height: 10px;
|
height: 8px;
|
||||||
}
|
}
|
||||||
|
|
||||||
::-webkit-scrollbar-track {
|
::-webkit-scrollbar-track {
|
||||||
background: #020617; /* slate-950 */
|
background: #0A0A0A;
|
||||||
}
|
}
|
||||||
|
|
||||||
::-webkit-scrollbar-thumb {
|
::-webkit-scrollbar-thumb {
|
||||||
background: #1e293b; /* slate-800 */
|
background: #222222;
|
||||||
border-radius: 10px;
|
border-radius: 0;
|
||||||
border: 2px solid #020617; /* adds padding effect */
|
|
||||||
}
|
}
|
||||||
|
|
||||||
::-webkit-scrollbar-thumb:hover {
|
::-webkit-scrollbar-thumb:hover {
|
||||||
background: #334155; /* slate-700 */
|
background: #F58618;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Removed: glass-card utility (eliminated glassmorphism aesthetic) */
|
|
||||||
@layer utilities {
|
@layer utilities {
|
||||||
|
|
||||||
.text-fluid-lg {
|
.text-fluid-lg {
|
||||||
font-size: clamp(1.125rem, 3cqi, 1.5rem);
|
font-size: clamp(1.125rem, 3cqi, 1.5rem);
|
||||||
}
|
}
|
||||||
@@ -58,15 +96,20 @@ h1, h2, h3, h4, h5, h6 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.card-title {
|
.card-title {
|
||||||
@apply text-base font-normal text-slate-100 tracking-tight;
|
@apply text-base font-normal tracking-tight;
|
||||||
}
|
}
|
||||||
|
|
||||||
.card-subtitle {
|
.card-subtitle {
|
||||||
@apply text-xs font-normal text-slate-500 tracking-[0.08em] mt-0.5;
|
@apply text-xs font-normal text-muted-foreground tracking-tight mt-0.5;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mono-data {
|
||||||
|
@apply font-normal tracking-normal;
|
||||||
|
font-variant-numeric: tabular-nums;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Safe Area Insets for Modern Mobile Devices (iOS Notch/Home Bar) */
|
/* Safe Area Insets for Modern Mobile Devices */
|
||||||
.pb-safe {
|
.pb-safe {
|
||||||
padding-bottom: env(safe-area-inset-bottom);
|
padding-bottom: env(safe-area-inset-bottom);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user