fix(hackathon): use searchable CitySelect on edit team page
- Replace basic select dropdown with CitySelect component - Consistent with create team and profile pages 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude
parent
cdd4fd4703
commit
b3bdf25b5f
@@ -5,7 +5,8 @@ import { useNavigate, useParams } from 'react-router';
|
|||||||
import { useForm, Controller } from 'react-hook-form';
|
import { useForm, Controller } from 'react-hook-form';
|
||||||
import { teamUpdateSchema, TTeamUpdateForm, useUpdateTeam, useTeamById, ETeamVisibility, useUploadFile, useAuthStore } from '@imphnen-frontend-service/service';
|
import { teamUpdateSchema, TTeamUpdateForm, useUpdateTeam, useTeamById, ETeamVisibility, useUploadFile, useAuthStore } from '@imphnen-frontend-service/service';
|
||||||
import { zodResolver } from '@hookform/resolvers/zod';
|
import { zodResolver } from '@hookform/resolvers/zod';
|
||||||
import INDONESIAN_CITIES from '../../../../constants/cities';
|
|
||||||
|
import { CitySelect } from '../../../../components/city-select';
|
||||||
|
|
||||||
const EditTeamPage: FC = (): ReactElement => {
|
const EditTeamPage: FC = (): ReactElement => {
|
||||||
const { teamId } = useParams<{ teamId: string }>();
|
const { teamId } = useParams<{ teamId: string }>();
|
||||||
@@ -229,22 +230,12 @@ const EditTeamPage: FC = (): ReactElement => {
|
|||||||
control={form.control}
|
control={form.control}
|
||||||
name="city"
|
name="city"
|
||||||
render={({ field, fieldState }) => (
|
render={({ field, fieldState }) => (
|
||||||
<div>
|
<CitySelect
|
||||||
<select
|
value={field.value || ''}
|
||||||
{...field}
|
onChange={field.onChange}
|
||||||
className="w-full px-3 py-2 border border-gray-300 dark:border-neutral-600 dark:bg-neutral-800 dark:text-white rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-transparent"
|
error={fieldState.error?.message}
|
||||||
>
|
placeholder="Search your city..."
|
||||||
<option value="">Select city</option>
|
/>
|
||||||
{INDONESIAN_CITIES.map((city) => (
|
|
||||||
<option key={city} value={city}>
|
|
||||||
{city}
|
|
||||||
</option>
|
|
||||||
))}
|
|
||||||
</select>
|
|
||||||
{fieldState.error && (
|
|
||||||
<p className="text-sm text-red-500 mt-1">{fieldState.error.message}</p>
|
|
||||||
)}
|
|
||||||
</div>
|
|
||||||
)}
|
)}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user