summaryrefslogtreecommitdiff
path: root/src/modules/rules/utils.ts
blob: c1d1464589c3e9c2d7cae39303f0a2ea775c55bb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import { ClashAPIConfig } from '~/types';

export type RulesListItemData = {
  rules: any[] | null;
  provider: any;
  apiConfig: ClashAPIConfig;
};

export function itemKey(index: number, { rules, provider }: RulesListItemData) {
  if (!rules) {
    return provider.names[index];
  }
  return rules[index].id;
}

export function getItemSizeFactory({ isRulesTab }: { isRulesTab: boolean }) {
  return function getItemSize() {
    return isRulesTab ? 70 : 100;
  };
}

export function formatQty(qty: number) {
  return qty < 100 ? String(qty) : '99+';
}