diff options
| author | Larvan2 <[email protected]> | 2026-03-15 15:01:57 +0800 |
|---|---|---|
| committer | Larvan2 <[email protected]> | 2026-03-15 15:01:57 +0800 |
| commit | 0e420859f5f7011ba124c965d8319bf3bf4c5fe3 (patch) | |
| tree | 2fc344b757e119ebae6e0b6243121fddba61603c /src/modules/rules/utils.ts | |
| parent | 17c4d2855ffb6914fcbece27367bafdd27a4c182 (diff) | |
refactor: reorganize code
Diffstat (limited to 'src/modules/rules/utils.ts')
| -rw-r--r-- | src/modules/rules/utils.ts | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/modules/rules/utils.ts b/src/modules/rules/utils.ts new file mode 100644 index 0000000..c1d1464 --- /dev/null +++ b/src/modules/rules/utils.ts @@ -0,0 +1,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+'; +} |
