再次优化筛选
This commit is contained in:
@@ -13,11 +13,16 @@ import {
|
||||
} from '@/features/listings/api/listingOptions'
|
||||
import { useHomeFilters } from '@/features/listings/composables/useHomeFilters'
|
||||
import {
|
||||
clearStoredHomeQuery,
|
||||
desktopHomeFilterStorageKey,
|
||||
desktopHomeFilterQueryKeys,
|
||||
hasHomeQueryValues,
|
||||
isSameQuery,
|
||||
mergeHomeQuery,
|
||||
readStoredHomeQuery,
|
||||
readQueryNumber,
|
||||
readQueryString,
|
||||
storeHomeQuery,
|
||||
type HomeQueryValue,
|
||||
} from '@/features/listings/composables/useHomeFilterQuery'
|
||||
import { useListingQuery } from '@/features/listings/composables/useListingQuery'
|
||||
@@ -151,6 +156,7 @@ function updateFilters(partial: Partial<typeof filters>) {
|
||||
}
|
||||
|
||||
function handleResetFilters() {
|
||||
clearStoredHomeQuery(desktopHomeFilterStorageKey)
|
||||
resetFilters()
|
||||
activeZone.value = 'all'
|
||||
sortBy.value = 'recommended'
|
||||
@@ -158,7 +164,10 @@ function handleResetFilters() {
|
||||
}
|
||||
|
||||
function applyRouteQueryToHomeState() {
|
||||
const query = route.query
|
||||
const storedQuery = readStoredHomeQuery(desktopHomeFilterStorageKey)
|
||||
const query = hasHomeQueryValues(route.query, desktopHomeFilterQueryKeys)
|
||||
? route.query
|
||||
: storedQuery
|
||||
filters.keyword = readQueryString(query, 'keyword')
|
||||
filters.server = readQueryString(query, 'server')
|
||||
filters.region = readQueryString(query, 'region')
|
||||
@@ -193,6 +202,9 @@ function syncHomeQuery() {
|
||||
desktopHomeFilterQueryKeys,
|
||||
buildDesktopHomeQueryValues()
|
||||
)
|
||||
if (hasHomeQueryValues(query, desktopHomeFilterQueryKeys)) {
|
||||
storeHomeQuery(desktopHomeFilterStorageKey, query)
|
||||
}
|
||||
if (isSameQuery(route.query, query)) return
|
||||
router.replace({ path: '/', query })
|
||||
}
|
||||
@@ -224,6 +236,7 @@ function buildDesktopHomeQueryValues(): Record<string, HomeQueryValue> {
|
||||
}
|
||||
}
|
||||
|
||||
syncHomeQuery()
|
||||
loadHome()
|
||||
</script>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user