merge main
This commit is contained in:
@@ -34,6 +34,7 @@ class ViewController: UIViewController, WKScriptMessageHandler, WKNavigationDele
|
|||||||
webView.navigationDelegate = self
|
webView.navigationDelegate = self
|
||||||
self.view.addSubview(webView)
|
self.view.addSubview(webView)
|
||||||
self.webView = webView
|
self.webView = webView
|
||||||
|
self.webView?.load(URLRequest(url: URL(string: "https://bsky.app/?splash=true&clip=true")!))
|
||||||
}
|
}
|
||||||
|
|
||||||
func userContentController(_ userContentController: WKUserContentController, didReceive message: WKScriptMessage) {
|
func userContentController(_ userContentController: WKUserContentController, didReceive message: WKScriptMessage) {
|
||||||
@@ -45,13 +46,11 @@ class ViewController: UIViewController, WKScriptMessageHandler, WKNavigationDele
|
|||||||
|
|
||||||
switch payload.action {
|
switch payload.action {
|
||||||
case .present:
|
case .present:
|
||||||
guard let url = self.starterPackUrl else {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
self.presentAppStoreOverlay()
|
self.presentAppStoreOverlay()
|
||||||
defaults?.setValue(url.absoluteString, forKey: "starterPackUri")
|
|
||||||
|
|
||||||
|
if let url = self.starterPackUrl {
|
||||||
|
defaults?.setValue(url.absoluteString, forKey: "starterPackUri")
|
||||||
|
}
|
||||||
case .store:
|
case .store:
|
||||||
guard let keyToStoreAs = payload.keyToStoreAs, let jsonToStore = payload.jsonToStore else {
|
guard let keyToStoreAs = payload.keyToStoreAs, let jsonToStore = payload.jsonToStore else {
|
||||||
return
|
return
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "bsky.app",
|
"name": "bsky.app",
|
||||||
"version": "1.92.0",
|
"version": "1.93.0",
|
||||||
"private": true,
|
"private": true,
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=18"
|
"node": ">=18"
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ export type TextProps = Omit<RNTextProps, 'children'> & {
|
|||||||
title?: string
|
title?: string
|
||||||
} & (
|
} & (
|
||||||
| {
|
| {
|
||||||
emoji: true
|
emoji?: true
|
||||||
children: StringChild
|
children: StringChild
|
||||||
}
|
}
|
||||||
| {
|
| {
|
||||||
|
|||||||
@@ -8,10 +8,11 @@ import {logger} from '#/logger'
|
|||||||
import {useModalControls} from '#/state/modals'
|
import {useModalControls} from '#/state/modals'
|
||||||
import {useAgent, useSession} from '#/state/session'
|
import {useAgent, useSession} from '#/state/session'
|
||||||
import {ErrorMessage} from '#/view/com/util/error/ErrorMessage'
|
import {ErrorMessage} from '#/view/com/util/error/ErrorMessage'
|
||||||
import {atoms as a, useBreakpoints, useTheme} from '#/alf'
|
import {atoms as a, useBreakpoints} from '#/alf'
|
||||||
import {Button, ButtonText} from '#/components/Button'
|
import {Button, ButtonText} from '#/components/Button'
|
||||||
import * as Dialog from '#/components/Dialog'
|
import * as Dialog from '#/components/Dialog'
|
||||||
import * as TextField from '#/components/forms/TextField'
|
import * as TextField from '#/components/forms/TextField'
|
||||||
|
import {InlineLinkText} from '#/components/Link'
|
||||||
import {Loader} from '#/components/Loader'
|
import {Loader} from '#/components/Loader'
|
||||||
import {Text} from '#/components/Typography'
|
import {Text} from '#/components/Typography'
|
||||||
|
|
||||||
@@ -55,7 +56,6 @@ export function Inner({
|
|||||||
const {_} = useLingui()
|
const {_} = useLingui()
|
||||||
const {currentAccount} = useSession()
|
const {currentAccount} = useSession()
|
||||||
const agent = useAgent()
|
const agent = useAgent()
|
||||||
const t = useTheme()
|
|
||||||
const {openModal} = useModalControls()
|
const {openModal} = useModalControls()
|
||||||
const {gtMobile} = useBreakpoints()
|
const {gtMobile} = useBreakpoints()
|
||||||
|
|
||||||
@@ -116,7 +116,12 @@ export function Inner({
|
|||||||
}
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Dialog.ScrollableInner label={_(msg`Verify email dialog`)}>
|
<Dialog.ScrollableInner
|
||||||
|
label={_(msg`Verify email dialog`)}
|
||||||
|
style={[
|
||||||
|
gtMobile ? {width: 'auto', maxWidth: 400, minWidth: 200} : a.w_full,
|
||||||
|
]}>
|
||||||
|
<Dialog.Close />
|
||||||
<View style={[a.gap_xl]}>
|
<View style={[a.gap_xl]}>
|
||||||
<View style={[a.gap_sm]}>
|
<View style={[a.gap_sm]}>
|
||||||
<Text style={[a.font_heavy, a.text_2xl]}>
|
<Text style={[a.font_heavy, a.text_2xl]}>
|
||||||
@@ -129,26 +134,28 @@ export function Inner({
|
|||||||
) : null}
|
) : null}
|
||||||
<Text style={[a.text_md, a.leading_snug]}>
|
<Text style={[a.text_md, a.leading_snug]}>
|
||||||
{currentStep === 'StepOne' ? (
|
{currentStep === 'StepOne' ? (
|
||||||
<Trans>
|
<>
|
||||||
You'll receive an email at{' '}
|
<Trans>
|
||||||
<Text style={[a.text_md, a.leading_snug, a.font_bold]}>
|
You'll receive an email at{' '}
|
||||||
{currentAccount?.email}
|
<Text style={[a.text_md, a.leading_snug, a.font_bold]}>
|
||||||
</Text>{' '}
|
{currentAccount?.email}
|
||||||
to verify it's you.{' '}
|
</Text>{' '}
|
||||||
<Text
|
to verify it's you.
|
||||||
onPress={() => {
|
</Trans>{' '}
|
||||||
|
<InlineLinkText
|
||||||
|
to="#"
|
||||||
|
label={_(msg`Change email address`)}
|
||||||
|
style={[a.text_md, a.leading_snug]}
|
||||||
|
onPress={e => {
|
||||||
|
e.preventDefault()
|
||||||
control.close(() => {
|
control.close(() => {
|
||||||
openModal({name: 'change-email'})
|
openModal({name: 'change-email'})
|
||||||
})
|
})
|
||||||
}}
|
return false
|
||||||
style={[
|
}}>
|
||||||
a.text_md,
|
|
||||||
a.leading_snug,
|
|
||||||
{color: t.palette.primary_500},
|
|
||||||
]}>
|
|
||||||
<Trans>Need to change it?</Trans>
|
<Trans>Need to change it?</Trans>
|
||||||
</Text>
|
</InlineLinkText>
|
||||||
</Trans>
|
</>
|
||||||
) : (
|
) : (
|
||||||
uiStrings[currentStep].message
|
uiStrings[currentStep].message
|
||||||
)}
|
)}
|
||||||
@@ -187,8 +194,8 @@ export function Inner({
|
|||||||
</Button>
|
</Button>
|
||||||
<Button
|
<Button
|
||||||
label={_(msg`I Have a Code`)}
|
label={_(msg`I Have a Code`)}
|
||||||
variant="ghost"
|
variant="solid"
|
||||||
color="primary"
|
color="secondary"
|
||||||
size="large"
|
size="large"
|
||||||
disabled={isProcessing}
|
disabled={isProcessing}
|
||||||
onPress={() => setCurrentStep('StepTwo')}>
|
onPress={() => setCurrentStep('StepTwo')}>
|
||||||
@@ -215,8 +222,8 @@ export function Inner({
|
|||||||
</Button>
|
</Button>
|
||||||
<Button
|
<Button
|
||||||
label={_(msg`Resend Email`)}
|
label={_(msg`Resend Email`)}
|
||||||
variant="ghost"
|
variant="solid"
|
||||||
color="primary"
|
color="secondary"
|
||||||
size="large"
|
size="large"
|
||||||
disabled={isProcessing}
|
disabled={isProcessing}
|
||||||
onPress={() => {
|
onPress={() => {
|
||||||
|
|||||||
@@ -106,7 +106,7 @@ export function UserBanner({
|
|||||||
) : (
|
) : (
|
||||||
<View
|
<View
|
||||||
testID="userBannerFallback"
|
testID="userBannerFallback"
|
||||||
style={[styles.bannerImage, styles.defaultBanner]}
|
style={[styles.bannerImage, t.atoms.bg_contrast_25]}
|
||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
<View style={[styles.editButtonContainer, pal.btn]}>
|
<View style={[styles.editButtonContainer, pal.btn]}>
|
||||||
@@ -181,7 +181,7 @@ export function UserBanner({
|
|||||||
testID="userBannerFallback"
|
testID="userBannerFallback"
|
||||||
style={[
|
style={[
|
||||||
styles.bannerImage,
|
styles.bannerImage,
|
||||||
type === 'labeler' ? styles.labelerBanner : styles.defaultBanner,
|
type === 'labeler' ? styles.labelerBanner : t.atoms.bg_contrast_25,
|
||||||
]}
|
]}
|
||||||
/>
|
/>
|
||||||
)
|
)
|
||||||
@@ -203,9 +203,6 @@ const styles = StyleSheet.create({
|
|||||||
width: '100%',
|
width: '100%',
|
||||||
height: 150,
|
height: 150,
|
||||||
},
|
},
|
||||||
defaultBanner: {
|
|
||||||
backgroundColor: '#0070ff',
|
|
||||||
},
|
|
||||||
labelerBanner: {
|
labelerBanner: {
|
||||||
backgroundColor: tokens.color.temp_purple,
|
backgroundColor: tokens.color.temp_purple,
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user