profanity
This commit is contained in:
parent
6363dd46fc
commit
0a78520be5
10
package-lock.json
generated
10
package-lock.json
generated
|
|
@ -8,6 +8,7 @@
|
||||||
"name": "duelfi",
|
"name": "duelfi",
|
||||||
"version": "0.1.0",
|
"version": "0.1.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"@2toad/profanity": "^3.1.1",
|
||||||
"@coral-xyz/anchor": "^0.31.0",
|
"@coral-xyz/anchor": "^0.31.0",
|
||||||
"@fontsource/manrope": "^5.2.5",
|
"@fontsource/manrope": "^5.2.5",
|
||||||
"@privy-io/react-auth": "^2.7.2",
|
"@privy-io/react-auth": "^2.7.2",
|
||||||
|
|
@ -37,6 +38,15 @@
|
||||||
"typescript": "^5"
|
"typescript": "^5"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/@2toad/profanity": {
|
||||||
|
"version": "3.1.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/@2toad/profanity/-/profanity-3.1.1.tgz",
|
||||||
|
"integrity": "sha512-07ny4pCSa4gDrcJ4vZ/WWmiM90+8kv/clXfnDvThf9IJq0GldpjRVdzHCfMwGDs2Y/8eClmTGzKb5tEfUWy/uA==",
|
||||||
|
"license": "MIT",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=12"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/@adraffy/ens-normalize": {
|
"node_modules/@adraffy/ens-normalize": {
|
||||||
"version": "1.10.1",
|
"version": "1.10.1",
|
||||||
"resolved": "https://registry.npmjs.org/@adraffy/ens-normalize/-/ens-normalize-1.10.1.tgz",
|
"resolved": "https://registry.npmjs.org/@adraffy/ens-normalize/-/ens-normalize-1.10.1.tgz",
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,7 @@
|
||||||
"lint": "next lint"
|
"lint": "next lint"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"@2toad/profanity": "^3.1.1",
|
||||||
"@coral-xyz/anchor": "^0.31.0",
|
"@coral-xyz/anchor": "^0.31.0",
|
||||||
"@fontsource/manrope": "^5.2.5",
|
"@fontsource/manrope": "^5.2.5",
|
||||||
"@privy-io/react-auth": "^2.7.2",
|
"@privy-io/react-auth": "^2.7.2",
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ import { usePrivy } from '@privy-io/react-auth';
|
||||||
import { io, Socket } from 'socket.io-client';
|
import { io, Socket } from 'socket.io-client';
|
||||||
import { fetchUserById } from '@/shared/data_fetcher';
|
import { fetchUserById } from '@/shared/data_fetcher';
|
||||||
import { ChatBubbleLeftIcon, XMarkIcon } from '@heroicons/react/24/outline';
|
import { ChatBubbleLeftIcon, XMarkIcon } from '@heroicons/react/24/outline';
|
||||||
|
import { profanity } from '@2toad/profanity';
|
||||||
interface ChatMessage {
|
interface ChatMessage {
|
||||||
id: string;
|
id: string;
|
||||||
user: string;
|
user: string;
|
||||||
|
|
@ -139,7 +139,7 @@ export default function GlobalChat() {
|
||||||
|
|
||||||
if (isCollapsed) {
|
if (isCollapsed) {
|
||||||
return (
|
return (
|
||||||
<div className="fixed bottom-4 right-4 flex items-center gap-2">
|
<div className="fixed bottom-4 right-4 flex items-center gap-2 z-50">
|
||||||
{notification && (
|
{notification && (
|
||||||
<div className="bg-[rgb(40,40,40)] text-white px-4 py-2 rounded-lg shadow-lg animate-fade-in-out">
|
<div className="bg-[rgb(40,40,40)] text-white px-4 py-2 rounded-lg shadow-lg animate-fade-in-out">
|
||||||
<div className="text-sm font-semibold">{notification.username}</div>
|
<div className="text-sm font-semibold">{notification.username}</div>
|
||||||
|
|
@ -157,7 +157,7 @@ export default function GlobalChat() {
|
||||||
}
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="fixed bottom-4 right-4 w-80 bg-[rgb(30,30,30)] rounded-lg shadow-lg">
|
<div className="fixed bottom-4 right-4 w-80 bg-[rgb(30,30,30)] rounded-lg shadow-lg z-50">
|
||||||
<div className="p-4 border-b border-gray-700 flex justify-between items-center">
|
<div className="p-4 border-b border-gray-700 flex justify-between items-center">
|
||||||
<div>
|
<div>
|
||||||
<h3 className="text-lg font-semibold text-white">Global Chat</h3>
|
<h3 className="text-lg font-semibold text-white">Global Chat</h3>
|
||||||
|
|
@ -191,7 +191,7 @@ export default function GlobalChat() {
|
||||||
{new Date(msg.timestamp).toLocaleTimeString([], { hour: '2-digit', minute: '2-digit' })}
|
{new Date(msg.timestamp).toLocaleTimeString([], { hour: '2-digit', minute: '2-digit' })}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div className="text-white">{msg.message}</div>
|
<div className="text-white">{profanity.censor(msg.message)}</div>
|
||||||
</div>
|
</div>
|
||||||
))}
|
))}
|
||||||
<div ref={messagesEndRef} />
|
<div ref={messagesEndRef} />
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user