Stuck on Database Filtering

Hey everyone. Trying to code the following page:

It is functional, but not as intended. Currently the two sorting dropdowns act independently of each other. If I select one it shows relevant products, but when I select the other it only sorts by that one. These are using the native WixProducts dataset, with the following code:

import {local} from 'wix-storage';
import wixData from 'wix-data';

export async function brand_change(event) {
    defaultSort = await false;
    if (debounceTimer) {
        debounceTimer = undefined;
    debounceTimer = setTimeout(() => {
        filter($w("#brand").value, collectionName);
    }, 200);

export async function collection_change(event) {
    defaultSort = await false;
    filter(filterBrand, $w("#collection").value);

let filterBrand;
let collectionName;

let debounceTimer;

async function filter(brand, collection) {
    if(filterBrand !== brand || collectionName !== collection) {
        let newFilter = wixData.filter();
        newFilter = newFilter.contains('brand', brand);
        newFilter = newFilter.hasSome('collections', [collection]);
    await $w("#dataset1").setFilter(newFilter);
    if(defaultSort === true) {

my dataset is #dataset1, and the textboxes are #brand and #collection, respectively.

Any thoughts? I’ve used the code on my search page as well and it works flawlessly, but this section just doesn’t seem to want to play the same way.