🏷️ Search for custom tailnet name offers with keywords.
1import { useMemo } from 'react';
2
3const isCombo = (val: string, tails: string[], scales: string[]) => {
4 const parts = val.split('-');
5 return (
6 parts.length === 2 && tails.includes(parts[0]) && scales.includes(parts[1])
7 );
8};
9
10export const useInputValidation = (
11 inputValue: string,
12 tails: string[],
13 scales: string[],
14 tailnetNames: string[],
15) => {
16 return useMemo(
17 () =>
18 inputValue &&
19 (tails.includes(inputValue) ||
20 scales.includes(inputValue) ||
21 isCombo(inputValue, tails, scales)) &&
22 !tailnetNames.includes(inputValue),
23 [inputValue, tails, scales, tailnetNames],
24 );
25};