Task #66
Updated by Dana Basheer about 1 month ago
Enhance the Skill/Service Listings page by adding a service-based filter and a modal popup for creating new skill/service listings. view. The filter allows users to narrow down listings by selected skill/service type. The modal view displays full service type, and the modal allows users to create details when a new listing user clicks on a listing, without navigating away from the page. 🗃️ Tables Used (Reference Existing) ***skill_service_listings skill_service_listings Field Description id (PK) Listing ID user_id (FK users.id) Owner category_id (FK categories.id) Service category skill_service_id (FK skill_service_master.id) Service type skill_title Service title description Service details contact_name Contact name phone_number Contact phone state State district District place Area/City latitude Location latitude (nullable) longitude Location longitude (nullable) status Pending / Approved / Rejected is_active Active / Inactive created_at Timestamp ***skill_service_master skill_service_master Field Description id (PK) Skill/Service ID name Service name is_active Active / Inactive locations Field Description id (PK) Location ID parent_id Parent location name Location name type State / District / City / Area is_active Active / Inactive ***Validations ***Service Filter *Filter dropdown loads only active services from skill_service_master *Default option: All Services Filter applies only to: *status = Approved *is_active = true ***Create Modal (Popup Form) ***Modal View *Modal opens on clicking “Add Service” / “Create Listing” button a service listing Fields inside modal: Displays: *Category (mandatory, active only) *Service Type (mandatory, active only) *Skill Title (mandatory, min 3 characters) title *Description (mandatory, min 10 characters) *Contact Name (auto-filled from user profile, read-only) name & phone *Phone Number (auto-filled from user profile, read-only) *Location (state, district, place) *State / District / Place (mandatory, active locations only) *Optional map preview (if coordinates exist) ***Map selection (optional) Map Rules *Latitude & longitude *Modal must be saved together read-only (no edit actions) *Latitude range: -90 to +90 *Longitude range: -180 to +180 *Manual coordinate entry is not allowed ***System Rules *New listings default to: *status = Pending *is_active = true *User can create listings only for their own account *Inactive categories/services/locations must not appeardal *Close button and outside-click should close modal