Conversation
| function handleSubmit(e: React.FormEvent) { | ||
| e.preventDefault(); | ||
| console.log("Submitting Company Project:", form); | ||
| alert("Project details logged to console!"); |
| import { useState } from "react"; | ||
| import PublicLayout from "@/components/layout/PublicLayout"; | ||
|
|
||
| type ProjectFormState = { |
There was a problem hiding this comment.
add:
submitterName: string;
submitterEmail: string;
skillsNeeded: string;
the application DB model requires submitterName and submitterEmail as top-level fields on every application record.
and add the corresponding form fields for submitterName and submitterEmail
| placeholder="Outline the main objectives and deliverables..." | ||
| /> | ||
| </div> | ||
|
|
There was a problem hiding this comment.
Let's also add a skills needed part as part of the org application... something like this would do:
{/* Skills / Expertise Needed */}
<div className="flex flex-col gap-2">
<Label htmlFor="skillsNeeded">Skills / Expertise Needed</Label>
<Input
id="skillsNeeded"
type="text"
required
value={form.skillsNeeded}
onChange={(e) => updateField("skillsNeeded", e.target.value)}
placeholder="e.g. React, Node.js, UI/UX Design"
/>
</div>
(also I made the comment above to add the skillsNeeded: string to ProjectFormState
| /> | ||
| </div> | ||
|
|
||
| <div className="grid grid-cols-1 gap-6 md:grid-cols-2"> |
There was a problem hiding this comment.
This grid has only one child.. projectTitle is rendering at half-width on desktop with nothing next to it. So either remove the grid wrapper and use the same flex flex-col gap-2 as your other fields, or place the skillsNeeded field which I recommended as the second column here if that layout makes sense.
Would probably just remove the grid, but you can experiment.
There was a problem hiding this comment.
(FIX THIS LATER ONCE BSL-24 MERGED IN)
For lines 49–51, 52–60, 66–68, 69–77, 83–85, 86–94, 99–101, 102–110, 115–120:
use shared UI components that were created in BSL-24, once that is merged in...
Currently every form element in the file is a raw HTML element with inline Tailwind instead of the , , <textarea>, and components built in BSL-24.. so once that is merged in use that instead
There was a problem hiding this comment.
Once BSL-24 is merged in, you will have to rebase on main to be able to use the shared components
Built org/company form UI, page that renders below:
