@vettly/react 0.1.18 → 0.1.19
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 +15 -15
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
# @vettly/react
|
|
2
2
|
|
|
3
|
-
React components for
|
|
3
|
+
React components for UGC moderation. Real-time policy feedback, decision tracking, and moderated uploads.
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## UGC Moderation Essentials
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
Apps with user-generated content need four things to stay compliant and keep users safe. This package handles the client-side UX for content filtering and audit trails — pair with `@vettly/sdk` on the server for reporting and blocking:
|
|
8
8
|
|
|
9
|
-
| Requirement |
|
|
10
|
-
|
|
11
|
-
| **Content filtering** |
|
|
12
|
-
| **User reporting** |
|
|
13
|
-
| **User blocking** |
|
|
14
|
-
| **Audit trail** |
|
|
9
|
+
| Requirement | React Integration |
|
|
10
|
+
|-------------|-------------------|
|
|
11
|
+
| **Content filtering** | `<ModeratedTextarea>`, `<ModeratedImageUpload>`, `<ModeratedVideoUpload>` |
|
|
12
|
+
| **User reporting** | Pair with server-side SDK (`POST /v1/reports`) |
|
|
13
|
+
| **User blocking** | Pair with server-side SDK (`POST /v1/blocks`) |
|
|
14
|
+
| **Audit trail** | Every check returns `decisionId` — store it with your content |
|
|
15
15
|
|
|
16
16
|
### React Native / Expo
|
|
17
17
|
|
|
@@ -20,7 +20,7 @@ import { useModeration } from '@vettly/react'
|
|
|
20
20
|
|
|
21
21
|
function CommentInput() {
|
|
22
22
|
const { result, check } = useModeration({
|
|
23
|
-
apiKey: '
|
|
23
|
+
apiKey: 'vettly_live_...',
|
|
24
24
|
policyId: 'app-store',
|
|
25
25
|
})
|
|
26
26
|
|
|
@@ -92,7 +92,7 @@ A textarea with real-time content moderation and visual feedback.
|
|
|
92
92
|
```tsx
|
|
93
93
|
<ModeratedTextarea
|
|
94
94
|
// Required
|
|
95
|
-
apiKey="
|
|
95
|
+
apiKey="vettly_live_..."
|
|
96
96
|
policyId="community-safe"
|
|
97
97
|
|
|
98
98
|
// Content
|
|
@@ -160,7 +160,7 @@ Image upload component with pre-upload moderation.
|
|
|
160
160
|
```tsx
|
|
161
161
|
<ModeratedImageUpload
|
|
162
162
|
// Required
|
|
163
|
-
apiKey="
|
|
163
|
+
apiKey="vettly_live_..."
|
|
164
164
|
policyId="strict"
|
|
165
165
|
|
|
166
166
|
// Callbacks
|
|
@@ -229,7 +229,7 @@ Video upload with frame extraction and moderation.
|
|
|
229
229
|
```tsx
|
|
230
230
|
<ModeratedVideoUpload
|
|
231
231
|
// Required
|
|
232
|
-
apiKey="
|
|
232
|
+
apiKey="vettly_live_..."
|
|
233
233
|
policyId="video-policy"
|
|
234
234
|
|
|
235
235
|
// Callbacks
|
|
@@ -312,7 +312,7 @@ import { useModeration } from '@vettly/react'
|
|
|
312
312
|
|
|
313
313
|
function CustomModerationUI() {
|
|
314
314
|
const { result, check } = useModeration({
|
|
315
|
-
apiKey: '
|
|
315
|
+
apiKey: 'vettly_live_...',
|
|
316
316
|
policyId: 'community-safe',
|
|
317
317
|
debounceMs: 500,
|
|
318
318
|
enabled: true,
|
|
@@ -617,7 +617,7 @@ export async function POST(req) {
|
|
|
617
617
|
|
|
618
618
|
1. Sign up at [vettly.dev](https://vettly.dev)
|
|
619
619
|
2. Go to Dashboard > API Keys
|
|
620
|
-
3. Create and copy your **publishable key** (`
|
|
620
|
+
3. Create and copy your **publishable key** (`vettly_live_...`) for client-side use
|
|
621
621
|
|
|
622
622
|
---
|
|
623
623
|
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vettly/react",
|
|
3
|
-
"version": "0.1.
|
|
4
|
-
"description": "React components for content moderation. ModeratedTextarea, ImageUpload, and VideoUpload with
|
|
3
|
+
"version": "0.1.19",
|
|
4
|
+
"description": "React components for content moderation. ModeratedTextarea, ImageUpload, and VideoUpload with built-in content moderation.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
7
7
|
"types": "./dist/index.d.ts",
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
"license": "MIT",
|
|
42
42
|
"repository": {
|
|
43
43
|
"type": "git",
|
|
44
|
-
"url": "https://github.com/nextauralabs/vettly
|
|
44
|
+
"url": "https://github.com/nextauralabs/vettly.git",
|
|
45
45
|
"directory": "packages/react"
|
|
46
46
|
},
|
|
47
47
|
"homepage": "https://vettly.dev",
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
"access": "public"
|
|
50
50
|
},
|
|
51
51
|
"bugs": {
|
|
52
|
-
"url": "https://github.com/nextauralabs/vettly
|
|
52
|
+
"url": "https://github.com/nextauralabs/vettly/issues"
|
|
53
53
|
},
|
|
54
54
|
"peerDependencies": {
|
|
55
55
|
"react": "^18.0.0",
|