Item request notifications

This commit is contained in:
jackiettran
2025-11-18 22:28:47 -05:00
parent 026e748bf8
commit 413ac6b6e2
11 changed files with 875 additions and 224 deletions

View File

@@ -20,6 +20,7 @@ const CreateForumPost: React.FC = () => {
| "community_resources"
| "general_discussion",
tags: [] as string[],
zipCode: user?.zipCode || "",
});
const [imageFiles, setImageFiles] = useState<File[]>([]);
@@ -111,6 +112,11 @@ const CreateForumPost: React.FC = () => {
return;
}
if (formData.category === "item_request" && !formData.zipCode.trim()) {
setError("Zip code is required for item requests");
return;
}
try {
setIsSubmitting(true);
@@ -125,6 +131,11 @@ const CreateForumPost: React.FC = () => {
submitData.append('tags', JSON.stringify(formData.tags));
}
// Add location data for item requests
if (formData.category === 'item_request' && formData.zipCode) {
submitData.append('zipCode', formData.zipCode);
}
// Add images
imageFiles.forEach((file) => {
submitData.append('images', file);
@@ -247,6 +258,31 @@ const CreateForumPost: React.FC = () => {
</div>
</div>
{/* Location fields for item requests */}
{formData.category === "item_request" && (
<div className="mb-3">
<label htmlFor="zipCode" className="form-label">
Zip Code <span className="text-danger">*</span>
</label>
<input
type="text"
className="form-control"
id="zipCode"
name="zipCode"
value={formData.zipCode}
onChange={handleInputChange}
placeholder="Enter your zip code..."
maxLength={10}
disabled={isSubmitting}
required
/>
<div className="form-text">
Your zip code helps notify nearby users who might have
the item you're looking for
</div>
</div>
)}
{/* Content */}
<div className="mb-3">
<label htmlFor="content" className="form-label">