Add staging env
parent
38ed9a7943
commit
210082be93
|
@ -0,0 +1 @@
|
|||
REACT_APP_BUILD = 'staging'
|
|
@ -0,0 +1 @@
|
|||
REACT_APP_BUILD = 'staging'
|
|
@ -4,7 +4,7 @@ module.exports = {
|
|||
[
|
||||
'module:react-native-dotenv',
|
||||
{
|
||||
// envName: 'APP_ENV',
|
||||
envName: 'APP_ENV',
|
||||
moduleName: '@env',
|
||||
path: '.env',
|
||||
blocklist: null,
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
"ios": "react-native run-ios --simulator=\"iPhone 14\"",
|
||||
"web": "react-scripts start",
|
||||
"start": "react-native start",
|
||||
"dev-env": "dev-env",
|
||||
"clean-cache": "rm -rf node_modules/.cache/babel-loader/*",
|
||||
"test": "jest",
|
||||
"lint": "eslint . --ext .js,.jsx,.ts,.tsx"
|
||||
},
|
||||
|
|
|
@ -1,8 +1,13 @@
|
|||
// @ts-ignore types not available -prf
|
||||
import {REACT_APP_AUTH_LOBBY} from '@env'
|
||||
import {REACT_APP_BUILD} from '@env'
|
||||
|
||||
if (typeof REACT_APP_AUTH_LOBBY !== 'string') {
|
||||
throw new Error('ENV: No auth lobby provided')
|
||||
if (typeof REACT_APP_BUILD !== 'string') {
|
||||
throw new Error('ENV: No env provided')
|
||||
}
|
||||
if (!['dev', 'staging', 'prod'].includes(REACT_APP_BUILD)) {
|
||||
throw new Error(
|
||||
`ENV: Env must be "dev", "staging", or "prod," got "${REACT_APP_BUILD}"`,
|
||||
)
|
||||
}
|
||||
|
||||
export const AUTH_LOBBY = REACT_APP_AUTH_LOBBY
|
||||
export const BUILD = REACT_APP_BUILD
|
||||
|
|
11
src/env.ts
11
src/env.ts
|
@ -1,5 +1,10 @@
|
|||
if (typeof process.env.REACT_APP_AUTH_LOBBY !== 'string') {
|
||||
throw new Error('ENV: No auth lobby provided')
|
||||
if (typeof process.env.REACT_APP_BUILD !== 'string') {
|
||||
throw new Error('ENV: No env provided')
|
||||
}
|
||||
if (!['dev', 'staging', 'prod'].includes(process.env.REACT_APP_BUILD)) {
|
||||
throw new Error(
|
||||
`ENV: Env must be "dev", "staging", or "prod," got "${process.env.REACT_APP_BUILD}"`,
|
||||
)
|
||||
}
|
||||
|
||||
export const AUTH_LOBBY = process.env.REACT_APP_AUTH_LOBBY
|
||||
export const BUILD = process.env.REACT_APP_BUILD
|
||||
|
|
|
@ -3,8 +3,14 @@ import {sessionClient as AtpApi} from '../third-party/api'
|
|||
import {RootStoreModel} from './models/root-store'
|
||||
import * as libapi from './lib/api'
|
||||
import * as storage from './lib/storage'
|
||||
import {BUILD} from '../env'
|
||||
|
||||
export const DEFAULT_SERVICE = 'http://localhost:2583'
|
||||
export const DEFAULT_SERVICE =
|
||||
BUILD === 'prod'
|
||||
? 'http://localhost:2583' // TODO
|
||||
: BUILD === 'staging'
|
||||
? 'https://pds.staging.bsky.dev' // TODO
|
||||
: 'http://localhost:2583'
|
||||
const ROOT_STATE_STORAGE_KEY = 'root'
|
||||
const STATE_FETCH_INTERVAL = 15e3
|
||||
|
||||
|
|
|
@ -8,6 +8,7 @@ import {useStores} from '../../state'
|
|||
import {FeedModel} from '../../state/models/feed-view'
|
||||
import {ScreenParams} from '../routes'
|
||||
import {s} from '../lib/styles'
|
||||
import {BUILD} from '../../env'
|
||||
|
||||
export const Home = observer(function Home({
|
||||
visible,
|
||||
|
@ -53,7 +54,10 @@ export const Home = observer(function Home({
|
|||
|
||||
return (
|
||||
<View style={s.flex1}>
|
||||
<ViewHeader title="Bluesky" subtitle="Private Beta" />
|
||||
<ViewHeader
|
||||
title="Bluesky"
|
||||
subtitle={`Private Beta${BUILD !== 'prod' ? ` [${BUILD}]` : ''}`}
|
||||
/>
|
||||
<Feed key="default" feed={defaultFeedView} scrollElRef={scrollElRef} />
|
||||
<FAB icon="pen-nib" onPress={onComposePress} />
|
||||
</View>
|
||||
|
|
|
@ -18,6 +18,7 @@ import {s, colors} from '../lib/styles'
|
|||
import {makeValidHandle, createFullHandle} from '../lib/strings'
|
||||
import {useStores, DEFAULT_SERVICE} from '../../state'
|
||||
import {ServiceDescription} from '../../state/models/session'
|
||||
import {BUILD} from '../../env'
|
||||
|
||||
enum ScreenState {
|
||||
SigninOrCreateAccount,
|
||||
|
@ -71,7 +72,9 @@ const SigninOrCreateAccount = ({
|
|||
<View style={styles.hero}>
|
||||
<Logo />
|
||||
<Text style={styles.title}>Bluesky</Text>
|
||||
<Text style={styles.subtitle}>[ private beta ]</Text>
|
||||
<Text style={styles.subtitle}>
|
||||
[ private beta {BUILD !== 'prod' ? `- ${BUILD} ` : ''}]
|
||||
</Text>
|
||||
</View>
|
||||
<View style={s.flex1}>
|
||||
<TouchableOpacity style={styles.btn} onPress={onPressCreateAccount}>
|
||||
|
|
|
@ -33,4 +33,7 @@ Paul's todo list
|
|||
- Bugs
|
||||
- Auth token refresh seems broken
|
||||
- Check that sub components arent reloading too much
|
||||
- Titles are getting screwed up (possibly swipe related)
|
||||
- Titles are getting screwed up (possibly swipe related)
|
||||
> Dont suggest self for follows
|
||||
> Double post on post?
|
||||
> Handle no displayname everywhere
|
Loading…
Reference in New Issue