quick-chat-react 1.0.1 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +52 -16
- package/package.json +7 -1
package/README.md
CHANGED
|
@@ -1,15 +1,51 @@
|
|
|
1
1
|
# quick-chat-react
|
|
2
2
|
|
|
3
|
+

|
|
4
|
+

|
|
5
|
+

|
|
6
|
+
|
|
3
7
|
Drop-in real-time chat for React apps built on **[Supabase](https://supabase.com)**.
|
|
4
8
|
|
|
5
|
-
|
|
9
|
+
[](https://quick-chat-react.vercel.app)
|
|
10
|
+
|
|
11
|
+
## Preview
|
|
12
|
+
|
|
13
|
+

|
|
14
|
+
|
|
15
|
+
## Installation
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
# npm
|
|
19
|
+
npm install quick-chat-react
|
|
6
20
|
|
|
7
|
-
|
|
21
|
+
# yarn
|
|
22
|
+
yarn add quick-chat-react
|
|
23
|
+
|
|
24
|
+
# pnpm
|
|
25
|
+
pnpm add quick-chat-react
|
|
26
|
+
|
|
27
|
+
**Requires Supabase.** If your project uses Firebase, Auth0, or a custom backend, this library is not the right fit.
|
|
8
28
|
|
|
9
29
|
**Features:** real-time messaging · group conversations · voice messages · file & photo uploads · emoji reactions · read receipts · online status · contact management
|
|
10
30
|
|
|
11
31
|
---
|
|
12
32
|
|
|
33
|
+
### Why quick-chat-react?
|
|
34
|
+
|
|
35
|
+
• ⚡ Add full chat to your app in minutes
|
|
36
|
+
• 🔐 Uses your existing Supabase Auth users
|
|
37
|
+
• 💬 Real-time messaging powered by Supabase Realtime
|
|
38
|
+
• 📁 File uploads, voice messages, reactions, and groups included
|
|
39
|
+
• 🎨 Works with any React UI layout
|
|
40
|
+
|
|
41
|
+
## Perfect for
|
|
42
|
+
|
|
43
|
+
- SaaS apps
|
|
44
|
+
- Startup MVPs
|
|
45
|
+
- Internal team tools
|
|
46
|
+
- Community platforms
|
|
47
|
+
- Lovable + Supabase projects
|
|
48
|
+
|
|
13
49
|
## Use as your startup's base
|
|
14
50
|
|
|
15
51
|
`authMode="built-in"` gives you a complete user infrastructure in minutes — auth, profiles, real-time chat, file storage, and a navbar avatar component with sign out and theme switching. All production-ready on day one.
|
|
@@ -26,7 +62,7 @@ ALTER TABLE public.profiles
|
|
|
26
62
|
|
|
27
63
|
Then read your custom fields with your own Supabase client alongside the library — no extra configuration needed. Gate library features by plan, drive onboarding flows from `onboarded`, restrict data by `team_id` via RLS — the library stays out of the way.
|
|
28
64
|
|
|
29
|
-
**→ Full guide: [Using quick-chat-react as a Startup Base](docs/startup-base.md)**
|
|
65
|
+
**→ Full guide: [Using quick-chat-react as a Startup Base](https://github.com/AndreyKornyusko/quick-chat-react/blob/main/docs/startup-base.md)**
|
|
30
66
|
|
|
31
67
|
---
|
|
32
68
|
|
|
@@ -45,8 +81,8 @@ Then read your custom fields with your own Supabase client alongside the library
|
|
|
45
81
|
| Supabase Auth (email/password) | ✅ Yes |
|
|
46
82
|
| Supabase OAuth (Google, GitHub) | ✅ Yes |
|
|
47
83
|
| Lovable + Supabase (no `profiles` table yet) | ✅ Yes |
|
|
48
|
-
| Lovable + Supabase (`profiles` table already exists) | ✅ Yes — [use the additive migration](docs/lovable-existing-schema.md) |
|
|
49
|
-
| Separate Supabase project for chat | ⚠️ Advanced — [see guide](docs/advanced-separate-project.md) |
|
|
84
|
+
| Lovable + Supabase (`profiles` table already exists) | ✅ Yes — [use the additive migration](https://github.com/AndreyKornyusko/quick-chat-react/blob/main/docs/lovable-existing-schema.md) |
|
|
85
|
+
| Separate Supabase project for chat | ⚠️ Advanced — [see guide](https://github.com/AndreyKornyusko/quick-chat-react/blob/main/docs/advanced-separate-project.md) |
|
|
50
86
|
| Firebase / Auth0 / custom auth backend | ❌ Not supported |
|
|
51
87
|
|
|
52
88
|
---
|
|
@@ -62,7 +98,7 @@ npm install quick-chat-react
|
|
|
62
98
|
import "quick-chat-react/style.css";
|
|
63
99
|
```
|
|
64
100
|
|
|
65
|
-
Run the migrations from [`/supabase/migrations/`](
|
|
101
|
+
Run the migrations from [`/supabase/migrations/`](https://github.com/AndreyKornyusko/quick-chat-react/tree/main/supabase/migrations) in filename order via Supabase SQL Editor, then:
|
|
66
102
|
|
|
67
103
|
```tsx
|
|
68
104
|
import { QuickChat } from "quick-chat-react";
|
|
@@ -77,9 +113,9 @@ export default function App() {
|
|
|
77
113
|
}
|
|
78
114
|
```
|
|
79
115
|
|
|
80
|
-
> **Already have a `profiles` table?** (Lovable-generated projects usually do.) Skip the standard migration files and run [`additive-for-existing-profiles.sql`](
|
|
116
|
+
> **Already have a `profiles` table?** (Lovable-generated projects usually do.) Skip the standard migration files and run [`additive-for-existing-profiles.sql`](https://github.com/AndreyKornyusko/quick-chat-react/blob/main/supabase/migrations/additive-for-existing-profiles.sql) instead. See the [Lovable guide](https://github.com/AndreyKornyusko/quick-chat-react/blob/main/docs/lovable-existing-schema.md).
|
|
81
117
|
|
|
82
|
-
Full step-by-step: [docs/quick-start.md](docs/quick-start.md)
|
|
118
|
+
Full step-by-step: [docs/quick-start.md](https://github.com/AndreyKornyusko/quick-chat-react/blob/main/docs/quick-start.md)
|
|
83
119
|
|
|
84
120
|
---
|
|
85
121
|
|
|
@@ -122,7 +158,7 @@ const { data: { session } } = await supabase.auth.getSession();
|
|
|
122
158
|
/>
|
|
123
159
|
```
|
|
124
160
|
|
|
125
|
-
Full guide with token refresh, OAuth setup, and profile sync: [docs/external-auth.md](docs/external-auth.md)
|
|
161
|
+
Full guide with token refresh, OAuth setup, and profile sync: [docs/external-auth.md](https://github.com/AndreyKornyusko/quick-chat-react/blob/main/docs/external-auth.md)
|
|
126
162
|
|
|
127
163
|
---
|
|
128
164
|
|
|
@@ -130,11 +166,11 @@ Full guide with token refresh, OAuth setup, and profile sync: [docs/external-aut
|
|
|
130
166
|
|
|
131
167
|
| Guide | When to use |
|
|
132
168
|
|---|---|
|
|
133
|
-
| [Quick Start](docs/quick-start.md) | Fresh project, built-in auth, Lovable from scratch |
|
|
134
|
-
| [Startup Base](docs/startup-base.md) | Extending profiles, onboarding, plan gating, team isolation |
|
|
135
|
-
| [External Auth](docs/external-auth.md) | Already have Supabase Auth, want same-user chat |
|
|
136
|
-
| [Lovable Existing Schema](docs/lovable-existing-schema.md) | Lovable project with existing `profiles` table |
|
|
137
|
-
| [Separate Supabase Project](docs/advanced-separate-project.md) | Complete data isolation, separate billing |
|
|
169
|
+
| [Quick Start](https://github.com/AndreyKornyusko/quick-chat-react/blob/main/docs/quick-start.md) | Fresh project, built-in auth, Lovable from scratch |
|
|
170
|
+
| [Startup Base](https://github.com/AndreyKornyusko/quick-chat-react/blob/main/docs/startup-base.md) | Extending profiles, onboarding, plan gating, team isolation |
|
|
171
|
+
| [External Auth](https://github.com/AndreyKornyusko/quick-chat-react/blob/main/docs/external-auth.md) | Already have Supabase Auth, want same-user chat |
|
|
172
|
+
| [Lovable Existing Schema](https://github.com/AndreyKornyusko/quick-chat-react/blob/main/docs/lovable-existing-schema.md) | Lovable project with existing `profiles` table |
|
|
173
|
+
| [Separate Supabase Project](https://github.com/AndreyKornyusko/quick-chat-react/blob/main/docs/advanced-separate-project.md) | Complete data isolation, separate billing |
|
|
138
174
|
|
|
139
175
|
---
|
|
140
176
|
|
|
@@ -163,7 +199,7 @@ const { data: { session } } = await supabase.auth.getSession();
|
|
|
163
199
|
/>
|
|
164
200
|
```
|
|
165
201
|
|
|
166
|
-
Full usage and customization guide: [docs/ChatButton.md](docs/ChatButton.md)
|
|
202
|
+
Full usage and customization guide: [docs/ChatButton.md](https://github.com/AndreyKornyusko/quick-chat-react/blob/main/docs/ChatButton.md)
|
|
167
203
|
|
|
168
204
|
---
|
|
169
205
|
|
|
@@ -195,7 +231,7 @@ export default function App() {
|
|
|
195
231
|
}
|
|
196
232
|
```
|
|
197
233
|
|
|
198
|
-
Full usage and customization guide: [docs/UserAvatar.md](docs/UserAvatar.md)
|
|
234
|
+
Full usage and customization guide: [docs/UserAvatar.md](https://github.com/AndreyKornyusko/quick-chat-react/blob/main/docs/UserAvatar.md)
|
|
199
235
|
|
|
200
236
|
---
|
|
201
237
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "quick-chat-react",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.2",
|
|
4
4
|
"description": "Drop-in React chat component backed by Supabase. Real-time messaging, group chats, voice messages, file uploads, emoji reactions, read receipts, and unread badge — all via props.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.cjs",
|
|
@@ -18,6 +18,11 @@
|
|
|
18
18
|
"dist",
|
|
19
19
|
"README.md"
|
|
20
20
|
],
|
|
21
|
+
"repository": {
|
|
22
|
+
"type": "git",
|
|
23
|
+
"url": "https://github.com/AndreyKornyusko/quick-chat-react"
|
|
24
|
+
},
|
|
25
|
+
"homepage": "https://quick-chat-react.vercel.app",
|
|
21
26
|
"keywords": [
|
|
22
27
|
"react",
|
|
23
28
|
"chat",
|
|
@@ -62,6 +67,7 @@
|
|
|
62
67
|
"devDependencies": {
|
|
63
68
|
"@emoji-mart/data": "^1.2.1",
|
|
64
69
|
"@emoji-mart/react": "^1.1.1",
|
|
70
|
+
"@supabase/supabase-js": "^2.0.0",
|
|
65
71
|
"@eslint/js": "^9.32.0",
|
|
66
72
|
"@hookform/resolvers": "^3.10.0",
|
|
67
73
|
"@radix-ui/react-accordion": "^1.2.11",
|