feat: auth & admin

This commit is contained in:
2026-06-03 10:41:53 +03:00
parent 612d0f0125
commit 7dc59fb3c4
120 changed files with 4683 additions and 2159 deletions
@@ -12,21 +12,24 @@ Effect Event functions do not have a stable identity. Their identity intentional
**Incorrect (Effect Event added as a dependency):**
```tsx
import { useEffect, useEffectEvent } from 'react'
import { useEffect, useEffectEvent } from 'react';
function ChatRoom({ roomId, onConnected }: {
roomId: string
onConnected: () => void
function ChatRoom({
roomId,
onConnected,
}: {
roomId: string;
onConnected: () => void;
}) {
const handleConnected = useEffectEvent(onConnected)
const handleConnected = useEffectEvent(onConnected);
useEffect(() => {
const connection = createConnection(roomId)
connection.on('connected', handleConnected)
connection.connect()
const connection = createConnection(roomId);
connection.on('connected', handleConnected);
connection.connect();
return () => connection.disconnect()
}, [roomId, handleConnected])
return () => connection.disconnect();
}, [roomId, handleConnected]);
}
```
@@ -35,21 +38,24 @@ Including the Effect Event in dependencies makes the effect re-run every render
**Correct (depend on reactive values, not the Effect Event):**
```tsx
import { useEffect, useEffectEvent } from 'react'
import { useEffect, useEffectEvent } from 'react';
function ChatRoom({ roomId, onConnected }: {
roomId: string
onConnected: () => void
function ChatRoom({
roomId,
onConnected,
}: {
roomId: string;
onConnected: () => void;
}) {
const handleConnected = useEffectEvent(onConnected)
const handleConnected = useEffectEvent(onConnected);
useEffect(() => {
const connection = createConnection(roomId)
connection.on('connected', handleConnected)
connection.connect()
const connection = createConnection(roomId);
connection.on('connected', handleConnected);
connection.connect();
return () => connection.disconnect()
}, [roomId])
return () => connection.disconnect();
}, [roomId]);
}
```