Feature/notification system #26

Open
mattdimegs wants to merge 34 commits from feature/notification-system into main
3 changed files with 26 additions and 15 deletions
Showing only changes of commit 0f3ef6aee5 - Show all commits

View file

@ -1,7 +1,7 @@
{
"expo": {
"name": "Tones",
"slug": "Tones",
"slug": "tones",
"version": "1.0.1",
"orientation": "portrait",
"icon": "./assets/images/icon.png",
@ -29,6 +29,15 @@
],
"experiments": {
"typedRoutes": true
}
},
"extra": {
"router": {
"origin": false
},
"eas": {
"projectId": "6903a306-dafd-42ab-b010-f0c8205269ad"
}
},
"owner": "mattdimegs"
}
}

View file

@ -21,11 +21,13 @@ import {
TextLinkContent,
LoginTextInput
} from '../components/generalHelpers.jsx';
import { useNotifications } from '@/hooks';
export default function Login() {
const [hidePassword, setHidePassword] = useState(true);
const [loginButtonDisabled, setLoginButtonDisabled] = useState(true);
const [auth, setAuth] = useState(false);
const { expoPushToken } = useNotifications();
const formik = useFormik({
initialValues: {
@ -122,6 +124,7 @@ export default function Login() {
<TextLinkContent>Landing</TextLinkContent>
</Link>
</View>
<Text>View Token: {expoPushToken}</Text>
<Line />
</InnerContainer>
</StyledContainer>

View file

@ -43,30 +43,29 @@ const registerForPushNotificationsAsync = async () => {
const { status: existingStatus } = await Notifications.getPermissionsAsync();
let finalStatus = existingStatus;
if (existingStatus !== 'granted') {
const { status } = await Notifications.requestPermissionsAsync();
finalStatus = status;
const { status } = await Notifications.requestPermissionsAsync();
finalStatus = status;
}
if (finalStatus !== 'granted') {
alert('Failed to get push token for push notification!');
alert('Failed to get push token for push notification!');
return;
}
// Learn more about projectId:
// https://docs.expo.dev/push-notifications/push-notifications-setup/#configure-projectid
// EAS projectId is used here.
try {
const projectId =
Constants?.expoConfig?.extra?.eas?.projectId ?? Constants?.easConfig?.projectId;
if (!projectId) {
throw new Error('Project ID not found');
}
token = (
const projectId =
Constants?.expoConfig?.extra?.eas?.projectId ?? Constants?.easConfig?.projectId;
if (!projectId) {
throw new Error('Project ID not found');
}
token = (
await Notifications.getExpoPushTokenAsync({
projectId,
projectId,
})
).data;
console.log(token);
).data;
} catch (e) {
token = `${e}`;
token = `${e}`;
}
} else {
alert('Must use physical device for Push Notifications');