🏷️ Search for custom tailnet name offers with keywords.
at master 25 lines 602 B view raw
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};