-
Notifications
You must be signed in to change notification settings - Fork 290
feat: side-by-side opportunity editing for opportunity #5249
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Conversation
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
Phase 1 of the side-by-side editing experience: - New edit page at /recruiter/[opportunityId]/edit with side-by-side layout - Left panel: edit form with placeholder sections (~1/3 width) - Right panel: live preview using existing JobPage (~2/3 width) - Browser preview frame with URL bar and copy button - Mobile: tabbed interface switching between Edit and Preview - Form hooks with unified Zod schema and localStorage draft persistence - Added previewMode prop to JobPage to disable edit UI in preview
Phase 2 implementation: - Add RoleInfoSection with title, TLDR, keywords, and location fields - Add JobDetailsSection with employment type, seniority, team size, and salary - Add ContentSection as reusable rich text editor wrapper - Add CompanySection and RecruiterSection with modal triggers - Update OpportunityEditPanel to use collapsible sections - Fix type definitions in useOpportunityEditForm hook
- Fix LazyModal.OpportunityEditModal -> LazyModal.OpportunityEdit - Add warning to AGENTS.md about not running builds during dev
- Fix horizontal scroll in edit panel with overflow-x-hidden - Combine Role Info and Job Details into single collapsible section - Remove separator between location and employment type fields - Stack salary inputs vertically to prevent overflow - Add inline editing for company (name, description) and recruiter (title, bio) - Remove modal-based editing for company/recruiter in favor of inline forms - Fix info tip text wrapping and vertical centering - Hide edit buttons in preview mode for company/recruiter sections - Add padding to browser preview frame content area
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Member
Author
Code reviewNo issues found. Checked for bugs and CLAUDE.md compliance. 🤖 Generated with Claude Code |
idoshamun
commented
Jan 6, 2026
| }: UseLocalDraftOptions): UseLocalDraftReturn { | ||
| const [lastSaved, setLastSaved] = useState<Date | null>(null); | ||
| const [initialDraft] = useState(() => loadDraft(opportunityId)); | ||
| const debounceRef = useRef<ReturnType<typeof setTimeout> | null>(null); |
Member
Author
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should have a debounce hook. Consider if it fits our use case
- Remove unused components (OpportunityEditHeader, OpportunityLivePreview, SideBySideEditLayout) - Extract duplicated utilities to shared hooks (getOpportunityStateLabel, getOpportunityStateBadgeClass, formDataToMutationPayload) - Remove verbose JSDoc comments and unnecessary inline comments throughout
… key pages - Added `RecruiterFullscreenLayout` for a simplified layout experience - Replaced `RecruiterSelfServeLayout` with `RecruiterFullscreenLayout` in several recruiter pages - Updated headers across Prepare, Edit, and Analyze pages with new designs and actions - Enhanced side-by-side edit UX with synchronized section expansion - Improved accordion component to support controlled state and callbacks
- Added `OpportunityFullscreenLayout` for a consistent user experience. - Updated headers across multiple recruiter pages (`Prepare`, `Edit`, `Analyze`, etc.) to match new designs. - Changed navigation paths for drafts and edit states. - Simplified `RecruiterSection` and `CompanySection` with inline editing and cleaner UI. - Removed legacy modal-based editing in favor of streamlined workflows. - Improved various small UI/UX details (header logos, button alignment, and hover states).
- Adjusted container styles in `ContentSection` for consistency (`!rounded-none`, `!border-0`, `!bg-transparent`). - Added padding and organization improvements to collapsible sections (`Role Info`, `Job Details`, and linked profiles). - Removed unnecessary padding and streamlined layout for cleaner UI.
- Introduced Undo and Redo buttons to the `RichTextToolbar` with corresponding icons. - Enhanced `ToolbarButton` to support a disabled state. - Updated icon exports to include `Undo` and `Redo`.
- Removed unnecessary `!bg-transparent` in `ContentSection` styles. - Updated `OpportunityEditPanel` with new borders and reduced gaps for cleaner layout. - Refined collapsible section padding and alignment.
…creen layout - Removed `OpportunityFullscreenLayout` and associated logic. - Removed `useLocalDraft` hook and its usage across recruiter pages. - Updated `OpportunityReimportModal` and `Job Review Queue` with revised labels for job posting terminology.
… updates, and redirect - Added `usePrompt` to display validation errors as user-friendly modals. - Introduced redirection to matches page upon successful state transition. - Updated opportunity state to `IN_REVIEW` after saving changes. - Adjusted save button behavior and labels for better clarity (`Submit for review`).
…LinkedProfileSection` - Removed `CompanySection` and `RecruiterSection` components. - Added `LinkedProfileSection` to consolidate shared logic for linked profile display and editing. - Updated `OpportunityEditPanel` to use a config-driven approach for content sections and linked profiles. - Improved maintainability by reducing duplication and centralizing profile management logic.
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.
Summary
Key Features
Preview domain
https://feat-side-by-side-opportunity-ed.preview.app.daily.dev