관리자 검색창 한글 IME 조합 검색 및 모바일 가로 트랙 세로 스크롤 문제 수정

- IME 조합 중에도 검색되는 공통 컴포저블 useImeSearchInput 추가
- 글/멤버/미디어/설정/태그 필터/미디어 모달 검색 IME 조합 대응
- 홈 추천글·페이지 섹션 가로 트랙 touch-action pan-x 제거로 모바일 세로 스크롤 복구
- v1.10.29

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-07-03 17:03:31 +09:00
parent 58fbae5a03
commit b669d34e83
13 changed files with 169 additions and 12 deletions

View File

@@ -29,6 +29,18 @@ const analyticsModalError = ref('')
const postMenuTriggerRefs = new Map()
const tagFilterRef = ref(null)
const {
displayValue: searchInput,
onInput: onSearchInput,
onCompositionEnd: onSearchCompositionEnd
} = useImeSearchInput(searchQuery, { debounce: 200 })
const {
displayValue: tagFilterSearchInput,
onInput: onTagFilterSearchInput,
onCompositionEnd: onTagFilterSearchCompositionEnd
} = useImeSearchInput(tagFilterSearch)
const postsQuery = computed(() => ({
paged: 'true',
page: postPage.value,
@@ -921,10 +933,13 @@ watch(postPageCount, (pageCount) => {
<circle cx="11" cy="11" r="8" />
</svg>
<input
v-model="searchQuery"
:value="searchInput"
class="admin-posts__search-input h-10 w-52 rounded border border-line bg-white pl-9 pr-3 text-sm text-[#394047] outline-none transition-colors placeholder:text-[#8e9cac] hover:border-[#c8ced3] focus:border-[#8e9cac]"
type="search"
placeholder="글 검색"
@input="onSearchInput"
@compositionupdate="onSearchInput"
@compositionend="onSearchCompositionEnd"
>
</label>
<label class="admin-posts__filter">
@@ -958,7 +973,7 @@ watch(postPageCount, (pageCount) => {
<span aria-hidden="true">×</span>
</button>
<input
v-model="tagFilterSearch"
:value="tagFilterSearchInput"
class="admin-posts__tag-filter-input min-w-0 flex-1 bg-transparent px-1 text-sm text-[#394047] outline-none placeholder:text-[#394047]"
type="text"
role="combobox"
@@ -966,7 +981,9 @@ watch(postPageCount, (pageCount) => {
aria-controls="admin-posts-tag-filter-list"
:placeholder="tagFilter === 'all' ? '전체 태그' : '태그 검색'"
autocomplete="off"
@input="openTagFilter"
@input="onTagFilterSearchInput($event); openTagFilter()"
@compositionupdate="onTagFilterSearchInput"
@compositionend="onTagFilterSearchCompositionEnd"
@focus="openTagFilter"
@keydown="handleTagFilterKeydown"
>