@@ -8,8 +8,7 @@ const isPlaceholder = (value: string): boolean => value.toLowerCase().startsWith
88export default function App ( ) {
99 const [ permission , setPermission ] = useState < boolean | null > ( null ) ;
1010 const [ pushSubscriptionId , setPushSubscriptionId ] = useState < string | null > ( null ) ;
11- const [ locationShared , setLocationShared ] = useState < boolean | null > ( null ) ;
12- const [ status , setStatus ] = useState ( 'Ready' ) ;
11+ const [ permissionStatus , setPermissionStatus ] = useState < string | null > ( null ) ;
1312
1413 const refreshPushState = useCallback ( ( ) => {
1514 void OneSignal . Notifications . hasPermission ( )
@@ -29,27 +28,24 @@ export default function App() {
2928 } , [ refreshPushState ] ) ;
3029
3130 const requestPermission = useCallback ( async ( ) => {
32- setStatus ( 'Requesting notification permission...' ) ;
31+ setPermissionStatus ( 'Requesting notification permission...' ) ;
3332 try {
3433 const granted = await OneSignal . Notifications . requestPermission ( false ) ;
3534 setPermission ( granted ) ;
3635 refreshPushState ( ) ;
37- setStatus (
36+ setPermissionStatus (
3837 granted ? 'Notification permission granted.' : 'Notification permission not granted.' ,
3938 ) ;
4039 } catch ( error ) {
41- setStatus ( `Permission request failed: ${ String ( error ) } ` ) ;
40+ setPermissionStatus ( `Permission request failed: ${ String ( error ) } ` ) ;
4241 }
4342 } , [ refreshPushState ] ) ;
4443
45- const checkLocationBridge = useCallback ( async ( ) => {
46- setStatus ( 'Checking location bridge...' ) ;
44+ const testLocationPermissionRequest = useCallback ( async ( ) => {
4745 try {
48- const shared = await OneSignal . Location . isShared ( ) ;
49- setLocationShared ( shared ) ;
50- setStatus ( `Location bridge resolved safely: shared=${ String ( shared ) } .` ) ;
46+ await OneSignal . Location . requestPermission ( ) ;
5147 } catch ( error ) {
52- setStatus ( ` Location bridge rejected: ${ String ( error ) } ` ) ;
48+ console . error ( 'OneSignal. Location.requestPermission failed:' , error ) ;
5349 }
5450 } , [ ] ) ;
5551
@@ -66,8 +62,8 @@ export default function App() {
6662 < section className = "card" >
6763 < h2 > Configuration</ h2 >
6864 < p >
69- Builds with < code > ONESIGNAL_DISABLE_LOCATION=true </ code > and avoids { ' ' }
70- < code > OneSignal.Location </ code > in normal app flow .
65+ This demo initializes OneSignal and requests notification permission only when you tap
66+ the button below. Native build flags exclude the location module .
7167 </ p >
7268 < dl >
7369 < div >
@@ -96,28 +92,20 @@ export default function App() {
9692 </ div >
9793 </ dl >
9894 < button type = "button" onClick = { requestPermission } >
99- Request Notification Permission
95+ REQUEST PERMISSION
10096 </ button >
97+ { permissionStatus && < p className = "result" > { permissionStatus } </ p > }
10198 </ section >
10299
103100 < section className = "card" >
104101 < h2 > Location Bridge</ h2 >
105102 < p >
106- This optional check calls < code > OneSignal.Location.isShared()</ code > . In a no-location
107- Android build it should resolve < code > false</ code > ; iOS should also remain safe when the
108- location product is omitted.
103+ The location test call may not log a JavaScript error; check Android Logcat or Xcode
104+ logs for native diagnostics.
109105 </ p >
110- < button type = "button" className = "secondary" onClick = { checkLocationBridge } >
111- Check Location Bridge
106+ < button type = "button" className = "secondary" onClick = { testLocationPermissionRequest } >
107+ TEST LOCATION REQUEST
112108 </ button >
113- < p className = "result" >
114- Last location value: { locationShared == null ? 'Not checked' : String ( locationShared ) }
115- </ p >
116- </ section >
117-
118- < section className = "card" >
119- < h2 > Status</ h2 >
120- < p > { status } </ p >
121109 </ section >
122110 </ div >
123111 </ main >
0 commit comments