weareinreach / InReach

No default cases in switch statements JS-0047
Anti-pattern
Minor
9 days agoa year old
 79
 80	const handleTabChange = useCallback((tab: string) => {
 81		setActiveTab(tab)
 82		switch (tab) { 83			case 'services': { 84				servicesRef.current?.scrollIntoView({ behavior: 'smooth' }) 85				break 86			} 87			case 'photos': { 88				photosRef.current?.scrollIntoView({ behavior: 'smooth' }) 89				break 90			} 91			case 'reviews': { 92				reviewsRef.current?.scrollIntoView({ behavior: 'smooth' }) 93				break 94			} 95		} 96	}, [])
 97
 98	const renderSidebar = useCallback(
 86				return t('common:words.close')
 87			}
 88			case 'back': {
 89				switch (backTo) { 90					case 'search': { 91						return t('common:breadcrumb.back-to-search') 92					} 93					case 'none': { 94						return t('common:words.back') 95					} 96					case 'dynamicText': { 97						const page = backToText 98						if (isMobile) { 99							return t('common:words.back')100						}101						return (102							<Trans103								i18nKey='breadcrumb.back-to-dynamic'104								ns='common'105								values={{ page }}106								shouldUnescape={true}107								components={{ u: <u>.</u> }}108							/>109						)110					}111				}112			}
113			// eslint-disable-next-line no-fallthrough
114			default:
 68
 69	const handleTabChange = useCallback((tab: Tabname) => {
 70		setActiveTab(tab)
 71		switch (tab) { 72			case 'services': { 73				servicesRef.current?.scrollIntoView({ behavior: 'smooth' }) 74				break 75			} 76			case 'photos': { 77				photosRef.current?.scrollIntoView({ behavior: 'smooth' }) 78				break 79			} 80			case 'reviews': { 81				reviewsRef.current?.scrollIntoView({ behavior: 'smooth' }) 82				break 83			} 84		} 85	}, [])
 86
 87	if (loading || !data || !orgData || router.isFallback) {
Expected a default case
229	orgBadges: getTRPCMock({
230		path: ['fieldOpt', 'orgBadges'],
231		response: async (input) => {
232			switch (input.badgeType) {233				case 'organization-leadership': {234					const { default: data } = await import('./json/fieldOpt.orgBadges.organization-leadership.json')235					return data236				}237				case 'service-focus': {238					const { default: data } = await import('./json/fieldOpt.orgBadges.service-focus.json')239					return data240				}241			}242		},
243	}),
244	ccaMap: getTRPCMock({
Expected a default case
 46	const { localeCode, activelyTranslated } = query ?? {}
 47	if (localeCode || activelyTranslated) {
 48		return languages.filter((record) => {
 49			switch (true) { 50				case Boolean(localeCode) && activelyTranslated !== undefined: { 51					return localeCode === record.localeCode && activelyTranslated === record.activelyTranslated 52				} 53				case Boolean(localeCode): { 54					return localeCode === record.localeCode 55				} 56				case activelyTranslated !== undefined: { 57					return activelyTranslated === record.activelyTranslated 58				} 59			} 60			return false
 61		})
 62	}