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) {
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({
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 }
Some code conventions require that all switch statements have a default case, even if the default case is empty. The idea is to always explicitly state what the default behavior should be so that it's clear that the developer didn't forget to handle the default fallback case.
switch (a) {
case 1:
/* code */
break;
}
switch (a) {
case 1:
/* code */
break;
default:
/* code */
break;
}
switch (a) {
case 1:
/* code */
break;
// no default
}
switch (a) {
case 1:
/* code */
break;
// No Default
}