Skip to content

Conversation

@kenjf65AI
Copy link
Contributor

Summary

Place Graph MVP — the ecosystem map showing BID boundaries, OZ tracts, and development projects.

Day 1 (Scaffold) ✅

  • Add src/features/ecosystem/ module
  • PlaceGraph.tsx skeleton with layer toggles and role selector
  • TypeScript interfaces aligned to Supabase schema
  • Placeholder hooks for data fetching
  • Environment variable type declarations

Day 2 (Live Data) 🔄 In Progress

  • Supabase client connection
  • Data fetching hooks
  • Mapbox GL map with styled layers
  • Layer toggle functionality

Testing

  • npm run dev works (Day 1)
  • App loads on localhost:3000 (Day 1)
  • Map renders with seed data (Day 2)
  • All 3 layers visible (Day 2)

Bloom-Maslow Stage

Stage 1-2: Remove "where is my data?" friction → Enable "I see my ecosystem"


---

## Workflow

PR Created (now)

Day 2 commits push to same branch

PR auto-updates

Day 2 verification passes

Merge PR

kenjf65AI and others added 30 commits November 22, 2025 11:39
- New page: src/pages/OperationsDashboard.tsx per HANDOFF specs
- SVG district map with patrol/incident markers and legend
- Live service request feed with filters and expandable details
- Performance metrics bar (teams, open requests, response time, activity)
- Ask Plexi integration bar at bottom
- Added route /operations and sidebar link
- Top metrics (billed, collected, outstanding) with progress bar
- Search, filter (All/Paid/Pending/Overdue), sortable columns
- 25‑row demo table with realistic Golden Triangle BID data
- Row click opens payment history detail modal
- Assessment Calculator modal (.18/sq ft) with type selection
- Added /assessments route and sidebar item
…ace via zustand store and app-level overlay (Droid-assisted)
… independent scroll; wire View Full Report to open workspace (Droid-assisted)
…draggable SourceMaterialsList; integrate in left panel (Droid-assisted)
…/Paragraph), bold/italic/strike toggle, add-on-enter; integrate into workspace center (Droid-assisted)
…nd-kit, delete block control, and per-project localStorage persistence (Droid-assisted)
…e citation markers and References panel; persisted per project (Droid-assisted)
…rences; Share/Export buttons in workspace; print styles (Droid-assisted)
…, shared .card, btn-*; lucide icons; consistent borders) (Droid-assisted)
…s (approx. of provided image) (Droid-assisted)
…orkspace overlay and panels (Droid-assisted)
Create a theme-agnostic UI component library for sharing across
PlexifyAEC, PlexifyBID, and PlexifyBIZ products.

Components:
- ReportEditorWorkspace: Main 3-column workspace layout
- AudioBriefingCard: Expandable audio player with chapters
- VideoSummaryCard: Video player with thumbnail preview
- SourceMaterialsList: Drag-and-drop sortable materials list
- BlockEditor: TipTap-based rich text editor
- EditorToolbar: Formatting toolbar for the editor
- RegenerateWithAIButton: AI regeneration with instructions
- AIAssistantPanel: Chat interface for AI research assistant
- AIMessageBubble: Message display with suggested actions

Features:
- Theme prop system for product-specific branding (AEC/BID/BIZ)
- Terminology configs for product-specific labels
- Zustand store for workspace state management
- PDF export with html2canvas and jsPDF
- PowerPoint export with pptxgenjs
- Pre-defined themes for all 3 products
- Full TypeScript support with declaration files

Tech Stack:
- React 19 with JSX runtime
- TypeScript 5.3
- Vite 5 for library bundling
- TipTap for rich text editing
- dnd-kit for drag and drop
- Zustand for state management
…agnostics there\n\n- Add tsconfig.typecheck.json with isolated, non-inherited options\n- Add // @ts-nocheck to scoped files only (App, ExecutiveFeed, theme, demo pages)\n- Keep full build green; this check is for PR scope only
…ace prop\n\n- Tailwind content includes plexify-shared-ui dist files\n- App passes isOpen prop from shared workspace store
…ayer, downgrade zustand to v4; align dnd-kit)
Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
factorydroid and others added 30 commits January 4, 2026 22:02
Generate a short demo script and clamp dialogue text so ElevenLabs Text-to-Dialogue doesn't reject >5k character requests.
Split dialogue into <=5k character chunks and stitch MP3 buffers so longer scripts don't hit ElevenLabs max_character_limit_exceeded.
- Add backend /api/export/docx middleware + docx generator
- Add Export DOCX button to editor toolbar
- Export includes Board Brief + editor notes

Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
done with Droid
move into folder
- Add pastel green editor workspace background
- Add NotebookBD branded sidebar header
- Add DemoAssetsPanel (slides/video/infographic/graph/podcast) with modal previews
- Remove extra knowledge-graph.jpeg

Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
- Change NotebookBD header to light lavender (#c2cdff)
- Remove Visual Site Summary card
- Rename section to "Generated Project Artifacts"
- Reposition artifacts above Source Materials
- Add Data Table card
- Update Presentation Deck to open PDF viewer

Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
- Install Plyr for audio/video playback
- Replace podcast audio element with Plyr audio player (speed controls)
- Replace YouTube iframe with Plyr YouTube provider
- Increase modal sizing and widen PDF viewer
- Style Plyr with PlexifyBID purple accent (#7C3AED)

Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
Ensure the Plyr podcast modal always shows a usable audio player by keeping native controls as a fallback when Plyr initialization fails.

Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
…Integrations page

- Add "+" button (upper right) to create new projects\n- Add New Project modal with 5 fields (name, description, goals, location, timeline)\n- Update top project card to "Golden Triangle DC BID" with BID content\n- Fix garbled character encoding on project cards\n- Add Integrations menu item to sidebar\n- Add Integrations page with 6 logo cards (SharePoint, Power Automate, Power BI, Slack, Business Central, TrackTik)\n- Preserve all existing functionality\n\nCo-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
Prevent the Home new-project modal CSS from overriding global .btn-primary/.btn-secondary styles used elsewhere in the app.\n\nCo-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
improvement
Prevent Procore credentials file from being tracked in future commits.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Establishes safety rules, architecture overview, and communication
guidelines for Claude Code development workflow.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
…ling

fix(ui): refine add project button styling
- Add src/features/ecosystem/ module
- Create PlaceGraph.tsx skeleton with layer toggles and role selector
- Define TypeScript interfaces aligned to Supabase schema
- Add placeholder hooks for data fetching
- Configure environment variable types

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add Supabase client at src/lib/supabase.ts
- Implement data fetching hooks for BIDs, OZ tracts, places
- Render Mapbox GL map with three styled layers
- Wire layer toggle controls
- Add /ecosystem route in App.tsx

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants