website/core/TabsConstants.js (60 lines of code) (raw):

import ExecutionEnvironment from '@docusaurus/ExecutionEnvironment'; const isMacOS = ExecutionEnvironment.canUseDOM ? navigator.platform.startsWith('Mac') : false; const isWindows = ExecutionEnvironment.canUseDOM ? navigator.platform.startsWith('Win') : false; const syntax = [ {label: 'Function Component', value: 'functional'}, {label: 'Class Component', value: 'classical'}, ]; const defaultSyntax = 'functional'; const packageManagers = [ {label: 'npm', value: 'npm'}, {label: 'Yarn', value: 'yarn'}, ]; const defaultPackageManager = 'npm'; const androidLanguages = [ {label: 'Java', value: 'java'}, {label: 'Kotlin', value: 'kotlin'}, ]; const defaultAndroidLanguage = 'java'; const guides = [ {label: 'Expo CLI Quickstart', value: 'quickstart'}, {label: 'React Native CLI Quickstart', value: 'native'}, ]; const defaultGuide = 'quickstart'; const platforms = [ {label: 'Android', value: 'android'}, {label: 'iOS', value: 'ios'}, ]; const defaultPlatform = isMacOS ? 'ios' : 'android'; const oses = [ {label: 'macOS', value: 'macos'}, {label: 'Windows', value: 'windows'}, {label: 'Linux', value: 'linux'}, ]; const defaultOs = isMacOS ? 'macos' : isWindows ? 'windows' : 'linux'; const getDevNotesTabs = (tabs = ['android', 'ios', 'web', 'windows']) => [ tabs.includes('android') ? {label: 'Android', value: 'android'} : undefined, tabs.includes('ios') ? {label: 'iOS', value: 'ios'} : undefined, tabs.includes('web') ? {label: 'Web', value: 'web'} : undefined, tabs.includes('windows') ? {label: 'Windows', value: 'windows'} : undefined, ].filter(Boolean); export default { defaultGuide, defaultOs, defaultPackageManager, defaultPlatform, defaultSyntax, defaultAndroidLanguage, getDevNotesTabs, guides, oses, packageManagers, platforms, syntax, androidLanguages, };