Actions
dev #1996
opendev #1994: [Module] Tool submission and verification
[FE] Submission Tool
Status:
In Progress
Priority:
High
Assignee:
Lutfor Rahman
Target version:
-
Start date:
03/04/2025
Due date:
% Done:
37%
Estimated time:
8:00 h (Total: 93:00 h)
Spent time:
28:00 h (Total: 75:00 h)
Description
Feature: Develop Multi-Step Form Architecture for AI Tool Submission¶
Tasks:¶
-
Develop the Tool Submission Page Title and Description:
- Create a header component for the tool submission page.
- Location for new header component:
src/app/submit-ai/components/SubmitHeader.tsx
-
Create a Multi-Step Form Architecture:
- Implement a multi-step form with a stepper component for navigation.
- Location for multi-step form and stepper components:
src/app/submit-ai/components/MultiStepForm.tsxsrc/components/ui/stepper.tsx
- Location for multi-step form and stepper components:
- Sub-tasks:
-
(I) Integrate and style a stepper component:
- Stepper indicator and title
- Stepper separator
- Stepper buttons: Previous, Next, and Continue
-
(II) Develop three-step form:
-
(I) Step 1 Form:
- Location:
src/app/submit-ai/components/ToolBasicInfo.tsx - Sub-tasks:
- a. Title
- b. Fields:
- Inputs (Tool name, tool overview, price, pricing plan, pricing plan URL)
- Paired: Select & Input (Platform URLs)
- Component:
src/components/form/fields/CustomInputField.tsx
- Component:
- Text editor with skeleton (Tool description)
- Components:
src/components/form/text-editor/ToolDescriptionEditor.tsx - Skeleton:
src/components/form/text-editor/TextEditorSkeleton.tsx
- Components:
- Checkbox (Price)
- Component:
src/components/form/fields/CustomCheckboxField.tsx
- Component:
- Tool description
- Component:
src/components/form/text-editor/ToolDescriptionEditor.tsx
- Component:
- c. Skeletons
- Location:
src/app/submit-ai/components/ToolBasicInfoSkeleton.tsx
- Location:
- Location:
-
(II) Step 2 Form:
- Location:
src/app/submit-ai/components/ToolMediaInfo.tsx - Sub-tasks:
- a. Title
- b. Fields:
- Uploader (Logo and Featured image)
- Component:
src/components/form/fields/CustomLogoUploader.tsx
- Component:
- Selector (Category)
- Component:
src/components/form/fields/CustomCategorySelect.tsx
- Component:
- Multi selector (Tags, Target Users)
- Components:
src/components/form/fields/CustomTagField.tsx src/components/form/fields/CustomTargetUsersField.tsx
- Components:
- Text editor with skeletons (Key features, Use cases, Target users)
- Location:
src/components/form/text-editor
- Location:
- Input (Email)
- Component:
src/components/form/fields/CustomInputField.tsx
- Component:
- Uploader (Logo and Featured image)
- c. Skeletons
- Location:
src/app/submit-ai/components/ToolMediaInfoSkeleton.tsx
- Location:
- Location:
-
(III) Step 3 Form:
- Location:
src/app/submit-ai/components/ToolAdditionalInfo.tsx - Sub-tasks:
- a. Title
- b. Fields:
- Input (Tool video URL)
- Component:
src/components/form/fields/CustomInputField.tsx
- Component:
- Text editor with skeleton (Pros and cons)
- Component:
src/components/form/text-editor/ProsAndConsEditor.tsx
- Component:
- Paired: Select & Input (Social links and App links)
- Component:
src/components/form/fields/CustomSocialLinksSelector.tsx
- Component:
- ReCAPTCHA integration
- Create a reCAPTCHA provider.
- Location:
src/components/form/provider/ReCaptchaProvider.tsx
- Location:
- Create a route for verifying reCAPTCHA
- Location:
src/app/api/verify-recaptcha/route.ts
- Location:
- Use the reCAPTCHA set-up within the tool submission page.
- Location:
src/app/submit-ai/page.tsx
- Location:
- Create a reCAPTCHA provider.
- Input (Tool video URL)
- c. Skeletons
- Location:
src/app/submit-ai/components/ToolAdditionalInfoSkeleton.tsx
- Location:
- Location:
-
(I) Step 1 Form:
-
(I) Integrate and style a stepper component:
- Implement a multi-step form with a stepper component for navigation.
Updated by Zahid Hassan about 1 year ago
- Subject changed from [BE] Submission Tool to [FE] Submission Tool
Updated by Lutfor Rahman about 1 year ago
- Description updated (diff)
- Status changed from Pending to In Progress
- Assignee set to Lutfor Rahman
- Estimated time set to 2:00 h
Updated by Lutfor Rahman about 1 year ago
Enhance Platform and Social URLs (Bug fixes):
1. Min limit (1)
2. Max limit (5)
3. Remove unnecessary options and placeholders
4. Add option-wise validations
5. Remove the option that from the option left that is already added or used
6. Allow scrolling when dropdown is expanded
Updated by Lutfor Rahman about 1 year ago
- Display reCAPTCHA when port forwarding.
- Remove triggers for other validations when tying in another field.
- Allow scrolling when the dropdown is expanded.
- Close the modal after Logging IN.
- Create a route likewise submit-ai for edit-ai.
- Allow the user to Sign UP.
- Create a new field for versioning.
- Separate Pros and Cons fields.
- Enhance (a). Platform and (b). Social link selector components:
- Min limit (1)
- Max limit (5)
- Remove unnecessary options and placeholders
- Add option-wise validations
- Remove the option from the option left that is already added or used
- Allow scrolling when the dropdown is expanded
[Continueing...]
SOLVED: 1, 2, 3, 4, & 9
Updated by Lutfor Rahman about 1 year ago
- Estimated time changed from 2:00 h to 8:00 h
New features and enhancements:
- Dynamic IMPORT of release note editor
- Add button style
- Version number validation
- Typical select (Status, date picker: month, year)
- Selected date on hover color
Updated by Lutfor Rahman about 1 year ago
- Add total versions prop and conditional rendering for removal
- Improve step change logic in multistep form
- Resolve form submission inconsistency with the backend
- Resolve the version entry release note editor issue
- Improve tag entry logic
Updated by Lutfor Rahman about 1 year ago
- Update version validation regex
- Combine tags and target users with temp tags and target users
- Update logo and featured image fields to use url by fetching
- Update api call to use user id instead of tool id
- Dev testing: Mobile and Safari
Updated by Lutfor Rahman about 1 year ago
API Integration¶
-
Form Submissions
- Step one form POST or PATCH
- Step two form PATCH
- Step three form submit
-
Authentication Flows
- Sign up
- Sign in
- Fetch user data
Key Files:
src/app/submit-ai/components/MultiStepForm.tsxsrc/app/auth/signup/page.tsxsrc/app/auth/email-verification/page.tsxsrc/app/auth/signin/page.tsx
Requested Changes within Submit Tool Module¶
-
Form Validation Improvements
- Remove triggers for other validations when typing in another field
-
UI/UX Enhancements
- Allow scrolling when drop-down is expanded
-
User Authentication
- Allow the user to Sign Up
-
New Features
- Create a new field for versioning
- Separate Pros and Cons fields
-
Selector Component Enhancements (for Platform and Social link selectors)
- Set minimum limit (1)
- Set maximum limit (5)
- Remove unnecessary options and placeholders
- Add option-wise validations
- Remove options that are already added/used from available options
- Allow scrolling when drop-down is expanded
Key Files:
src/components/form/fields/CustomPlatformURLsSelector.tsxsrc/components/form/fields/CustomSocialLinksSelector.tsx
-
Additional Developer Improvements
- Dynamic IMPORT of release note editor
- Add button style
- Version number validation
- Typical select implementation (Status, date picker: month, year)
- Selected date on hover color
- Add total versions prop and conditional rendering for removal
- Improve step change logic in multi-step form
- Resolve form submission inconsistency with the backend
- Resolve the version entry release note editor issue
- Improve tag entry logic
Actions