mirror of
https://github.com/supabase/supabase.git
synced 2026-10-05 09:25:06 +03:00
Merge pull request #11334 from btoo/nextjs-slack-clone-fixes
fix several issues with nextjs-slack-clone:
This commit is contained in:
2 files changed
+13
-16
No files matched your search
@@ -62,9 +62,9 @@ export const useStore = (props) => {
|
||||
.subscribe()
|
||||
// Cleanup on unmount
|
||||
return () => {
|
||||
supabase.removeChannel('public:messages')
|
||||
supabase.removeChannel('public:users')
|
||||
supabase.removeChannel('public:channels')
|
||||
supabase.removeChannel(supabase.channel(messageListener))
|
||||
supabase.removeChannel(supabase.channel(userListener))
|
||||
supabase.removeChannel(supabase.channel(channelListener))
|
||||
}
|
||||
}, [])
|
||||
|
||||
@@ -179,7 +179,7 @@ export const fetchMessages = async (channelId, setState) => {
|
||||
.from('messages')
|
||||
.select(`*, author:user_id(*)`)
|
||||
.eq('channel_id', channelId)
|
||||
.order('inserted_at', true)
|
||||
.order('inserted_at', { ascending: true })
|
||||
if (setState) setState(data)
|
||||
return data
|
||||
} catch (error) {
|
||||
|
||||
@@ -12,17 +12,10 @@ export default function SupabaseSlackClone({ Component, pageProps }) {
|
||||
const router = useRouter()
|
||||
|
||||
useEffect(() => {
|
||||
supabase.auth.getSession().then(({ data: { session }}) => {
|
||||
setSession(session)
|
||||
setUserLoaded(session ? true : false)
|
||||
if (session?.user) {
|
||||
signIn()
|
||||
router.push('/channels/[id]', '/channels/1')
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
const { subscription: authListener } = supabase.auth.onAuthStateChange(async (event, session) => {
|
||||
function saveSession(
|
||||
/** @type {Awaited<ReturnType<typeof supabase.auth.getSession>>['data']['session']} */
|
||||
session
|
||||
) {
|
||||
setSession(session)
|
||||
const currentUser = session?.user
|
||||
setUser(currentUser ?? null)
|
||||
@@ -31,7 +24,11 @@ export default function SupabaseSlackClone({ Component, pageProps }) {
|
||||
signIn(currentUser.id, currentUser.email)
|
||||
router.push('/channels/[id]', '/channels/1')
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
supabase.auth.getSession().then(({ data: { session }}) => saveSession(session))
|
||||
|
||||
const { subscription: authListener } = supabase.auth.onAuthStateChange(async (event, session) => saveSession(session))
|
||||
|
||||
return () => {
|
||||
authListener.unsubscribe()
|
||||
|
||||
Reference in new issue
Block a user