This commit introduces a new `BaseDropdown` component with search functionality and refactors the campaign listing page to utilize this new component and improve its layout.
The `BaseDropdown` component was significantly refactored from a native `<select>` element to a custom component built with `div` and `input` elements. This allows for:
- **Search functionality**: Users can now type to filter dropdown options.
- **Improved accessibility**: Custom handling of focus and keyboard navigation.
- **Enhanced styling**: More control over the visual appearance.
The campaign listing page (`src/pages/campaigns/index.tsx`) was updated to:
- Replace the previous dropdowns with the new `BaseDropdown` component.
- Adjust the layout of the header, search bar, and filter section for better responsiveness and visual appeal.
- Update the `VITE_API_URL` in `.env` to ensure a newline at the end of the file.
These changes enhance the user experience by providing a more interactive and user-friendly way to select options and navigate the campaign page.
feat: update campaign types to include user_id_nickname and add comments and signature item interfaces
feat: improve campaign detail page with comments functionality and remove comment feature
feat: refactor campaigns page to use new campaign service and update tab labels to Persian
feat: enhance user profile page with image upload functionality and improved form handling
fix: update router paths for campaign detail page
feat: implement user authentication context and protected route handling
feat: add global types for token management
feat: create utility functions for image handling and uploading