Substantial rework of UI#10
Open
titaniumbones wants to merge 11 commits intomainfrom
Open
Conversation
Unfinished ADR with a set of open questions -- treating a draft ADR as a approximately equivalent to an RFC.
Phase 1: Existing Resource URL Fields - Add optional URL inputs for existing Scoping Doc and Asana Board - Skip resource creation when URLs are provided - URL validation for Google Docs and Asana patterns Phase 2: Populate from Existing Record - Add ProjectSearch component with name search and URL paste support - Add ProjectPreviewModal to preview before loading - Populate form from existing Airtable project with milestones/assignments - Track editing mode with "Start Fresh" option Phase 3: Restructure Submission Flow - Consolidate to single "Submit and Check" button - Add DuplicateResolutionModal with platform status display - Support skip option for all platforms (Airtable, Asana, Google) - Show created resources status after submission Also includes: - Performance fix: Use watch() subscription instead of re-rendering - Performance fix: Memoize defaults in useDuplicateCheck hook - ADR-006 documenting the duplicate management architecture 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add ResourceManagement component that allows users to: - Link existing resource URLs after project creation - Create individual resources (Asana, Scoping Doc, etc.) on demand - Automatically update Airtable record with linked/created URLs Features: - Shows resource status (created/missing/not connected) - Inline URL input with validation for linking - "Create Now" buttons for individual resource creation - Only appears when Airtable record exists but other resources are missing Also fixes: - handleFinish now uses getFormData() instead of removed watchedValues 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add getFieldOptions() to fetch single-select field choices from Airtable metadata API - Add getProjectTypeOptions() convenience function for Project Type field - Create useProjectTypes hook with React Query caching (10 min) - Update ProjectForm to use dynamic options with static fallback - Options now sync automatically when Airtable field is updated 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Fix React state timing issue where milestones weren't created in Asana (async state wasn't updated when checked immediately after creation) - Add milestone sync UI to ResourceManagement for post-facto creation - Add assignee dropdown to outcomes, defaulting to Project Coordinator - Fix Airtable update logic to properly update existing records instead of creating new ones when 'update' resolution selected - Fix Asana Board and Project Scope fields not being saved to Airtable by tracking resource URLs in local variables - Fix FTE sync to divide by 100 (form stores 50%, Airtable expects 0.5) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Deploy project-creation-app to Netlify preview on PR open/update - Auto-comment preview URL on PR - Uses production OAuth relay (stable redirect URLs required) - Only triggers for changes in project-creation-app/ Requires GitHub secrets to be configured (see ROADMAP.md) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Fixes Netlify's native GitHub integration by specifying base = project-creation-app for the monorepo structure. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Netlify's native GitHub integration already provides deploy previews automatically. The nwtgck/actions-netlify action was failing with 'Not Found' errors. Since native integration works perfectly, removed the redundant GitHub Action. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Moves dangerous actions into the check modal, and has fairly robust error-checking and options for the changes. Resolves some, but not all problems w/ the app.