Skip to content

Commit

Permalink
Merge pull request #15 from stovv/main
Browse files Browse the repository at this point in the history
  • Loading branch information
tobicrain authored Feb 24, 2025
2 parents 6bfef29 + 0670030 commit 63a5b8a
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 19 deletions.
7 changes: 5 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -45,12 +45,15 @@
"prepublishOnly": "npm run build"
},
"peerDependencies": {
"pocketbase": "0.8.1"
"pocketbase": "0.25.1"
},
"devDependencies": {
"@babel/cli": "^7.12.1",
"@babel/core": "^7.19.3",
"@babel/plugin-proposal-class-properties": "^7.18.6",
"@babel/plugin-proposal-decorators": "^7.12.1",
"@babel/plugin-proposal-private-methods": "^7.18.6",
"@babel/plugin-proposal-private-property-in-object": "^7.21.11",
"@babel/plugin-transform-react-jsx": "^7.12.1",
"@babel/plugin-transform-runtime": "^7.12.1",
"@babel/preset-env": "^7.12.1",
Expand All @@ -68,7 +71,7 @@
"dependencies": {
"@react-native-async-storage/async-storage": "^1.17.10",
"@reduxjs/toolkit": "^1.8.5",
"pocketbase": "0.8.1",
"pocketbase": "0.25.1",
"react-redux": "^8.0.4",
"redux": "^4.2.0",
"redux-persist": "^6.0.0"
Expand Down
16 changes: 4 additions & 12 deletions src/context/auth.tsx
Original file line number Diff line number Diff line change
@@ -1,17 +1,9 @@
import { Collection } from 'pocketbase';
import * as React from 'react';
import { createContext } from 'react';
import { useClientContext } from '../hooks/useClientContext';
import { StorageService } from '../service/Storage';
import { AuthProviderInfo } from 'pocketbase';

export type AuthProviderInfo = {
name: string;
state: string;
codeVerifier: string;
codeChallenge: string;
codeChallengeMethod: string;
authUrl: string;
};

export type RegisterWithEmailType = (email: string, password: string) => Promise<void>;
export type SignInWithEmailType = (email: string, password: string) => Promise<void>;
Expand Down Expand Up @@ -65,7 +57,7 @@ export const AuthProvider = (props: AuthProviderProps) => {
const authProvider = authProviders?.find((p) => p.name === provider);
const redirectURL =
typeof document !== 'undefined' ? props.webRedirectUrl : props.mobileRedirectUrl;
const url = authProvider?.authUrl + redirectURL;
const url = authProvider?.authURL + redirectURL;
await StorageService.set('provider', JSON.stringify(authProviders));
await props.openURL(url);
},
Expand All @@ -80,7 +72,7 @@ export const AuthProvider = (props: AuthProviderProps) => {
if (authProvider && code) {
await client
?.collection('users')
.authWithOAuth2(
.authWithOAuth2Code(
authProvider.name,
code,
authProvider.codeVerifier,
Expand Down Expand Up @@ -112,7 +104,7 @@ export const AuthProvider = (props: AuthProviderProps) => {
React.useEffect(() => {
(async () => {
const methods = await client?.collection('users').listAuthMethods();
setAuthProviders(methods?.authProviders);
setAuthProviders(methods?.oauth2?.providers ?? []);
})();
}, [props.webRedirectUrl, props.mobileRedirectUrl]);

Expand Down
9 changes: 4 additions & 5 deletions src/hooks/useAuth.ts
Original file line number Diff line number Diff line change
@@ -1,24 +1,23 @@
import { Admin, Record } from 'pocketbase';
import { RecordModel } from 'pocketbase';
import { useContext, useEffect, useState } from 'react';
import { AuthActions, AuthContext } from '../context/auth';
import { StorageService } from '../service/Storage';
import { useClientContext } from './useClientContext';

export interface AuthContextInterface {
actions: AuthActions;
isSignedIn: boolean | null;
user: Record | Admin | null;
user: RecordModel | null;
}

export function useAuth(): AuthContextInterface {
const client = useClientContext();
const actions = useContext(AuthContext);
const [isSignedIn, setIsSignedIn] = useState<boolean | null>(null);
const [user, setUser] = useState<Record | Admin | null>(null);
const [user, setUser] = useState<RecordModel | null>(null);

function updateAuth() {
setIsSignedIn(client?.authStore.token !== '');
setUser(client?.authStore.model ?? null);
setUser(client?.authStore.record ?? null);
}

useEffect(() => {
Expand Down

0 comments on commit 63a5b8a

Please sign in to comment.