├── .env.example ├── .eslintrc.json ├── .gitignore ├── .idea ├── .gitignore ├── inspectionProfiles │ └── Project_Default.xml ├── modules.xml ├── prettier.xml ├── shark-chat-js.iml └── vcs.xml ├── .vscode └── shark-chat.code-workspace ├── LICENSE ├── README.md ├── apps └── web │ ├── app │ ├── (dashboard) │ │ ├── (app) │ │ │ ├── chat │ │ │ │ ├── [group] │ │ │ │ │ ├── page.tsx │ │ │ │ │ ├── settings │ │ │ │ │ │ ├── danger.tsx │ │ │ │ │ │ ├── info.tsx │ │ │ │ │ │ ├── invite.tsx │ │ │ │ │ │ ├── members.tsx │ │ │ │ │ │ └── page.tsx │ │ │ │ │ └── use-group.ts │ │ │ │ └── layout.tsx │ │ │ ├── dm │ │ │ │ └── [channel] │ │ │ │ │ └── page.tsx │ │ │ ├── emotes │ │ │ │ ├── item.tsx │ │ │ │ └── page.tsx │ │ │ ├── layout.client.tsx │ │ │ ├── layout.tsx │ │ │ ├── page.tsx │ │ │ └── settings │ │ │ │ ├── page.tsx │ │ │ │ └── update-info.tsx │ │ ├── invite │ │ │ └── [invite] │ │ │ │ ├── page.client.tsx │ │ │ │ └── page.tsx │ │ ├── layout.client.tsx │ │ └── layout.tsx │ ├── api │ │ ├── ably │ │ │ └── auth │ │ │ │ └── route.ts │ │ ├── auth │ │ │ └── [...nextauth] │ │ │ │ └── route.ts │ │ └── trpc │ │ │ └── [trpc] │ │ │ └── route.ts │ ├── auth │ │ └── signin │ │ │ ├── page.client.tsx │ │ │ └── page.tsx │ ├── favicon.ico │ ├── info │ │ └── page.tsx │ ├── layout.tsx │ ├── opengraph-image.png │ └── theme.tsx │ ├── components │ ├── BannerImage.tsx │ ├── ThemeSwitch.tsx │ ├── chat │ │ ├── AttachmentItem.tsx │ │ ├── ChatView.tsx │ │ ├── MessageList.tsx │ │ ├── Sendbar.tsx │ │ ├── TypingIndicator.tsx │ │ ├── message │ │ │ ├── atom.tsx │ │ │ ├── edit.tsx │ │ │ ├── embed.tsx │ │ │ ├── index.tsx │ │ │ ├── markdown.tsx │ │ │ ├── reference.tsx │ │ │ └── sending.tsx │ │ ├── scroll.ts │ │ └── use-items.ts │ ├── input │ │ ├── ImagePicker.tsx │ │ └── UniqueNameInput.tsx │ ├── layout │ │ ├── Breadcrumbs.tsx │ │ ├── Navbar.tsx │ │ └── Sidebar.tsx │ ├── menu │ │ └── DirectMessageMenu.tsx │ └── modal │ │ ├── BoardingModal.tsx │ │ ├── CreateEmoteModal.tsx │ │ ├── CreateGroupModal.tsx │ │ ├── GenerateTextModal.tsx │ │ ├── JoinGroupModal.tsx │ │ └── UserProfileModal.tsx │ ├── middleware.ts │ ├── next.config.js │ ├── package.json │ ├── postcss.config.js │ ├── public │ └── icon.png │ ├── styles │ └── globals.css │ ├── tailwind.config.js │ ├── tsconfig.json │ └── utils │ ├── ably │ └── client.tsx │ ├── auth.tsx │ ├── cloudinary-loader.ts │ ├── contexts │ └── group-context.ts │ ├── get-base-url.ts │ ├── handlers │ ├── chat.tsx │ ├── group.tsx │ ├── private.tsx │ └── shared.ts │ ├── hooks │ ├── mutations │ │ ├── send-message.ts │ │ ├── update-group-info.ts │ │ ├── update-profile.ts │ │ └── upload.ts │ ├── use-callback-ref.ts │ └── use-profile.ts │ ├── stores │ ├── chat.ts │ └── page.ts │ ├── trpc │ └── index.ts │ └── types.ts ├── dev └── compose.yaml ├── document └── image.png ├── package.json ├── packages ├── config │ ├── package.json │ ├── tsconfig-base.json │ ├── tsconfig-lib.json │ └── tsconfig-next.json ├── db │ ├── client.ts │ ├── drizzle.config.ts │ ├── package.json │ ├── schema.ts │ ├── tsconfig.json │ └── utils │ │ └── index.ts ├── server │ ├── ably │ │ ├── index.ts │ │ └── schema.ts │ ├── auth │ │ ├── index.ts │ │ └── nextauth-adapter.ts │ ├── cloudinary.ts │ ├── context.ts │ ├── eden.ts │ ├── inworld.ts │ ├── package.json │ ├── redis │ │ ├── client.ts │ │ ├── last-read.ts │ │ └── ratelimit.ts │ ├── routers │ │ ├── _app.ts │ │ ├── account.ts │ │ ├── chat.ts │ │ ├── dm.ts │ │ ├── emotes.ts │ │ ├── group │ │ │ ├── group.ts │ │ │ ├── invite.ts │ │ │ └── members.ts │ │ └── upload.ts │ ├── trpc.ts │ ├── tsconfig.json │ └── utils │ │ ├── messages.ts │ │ ├── og-meta.ts │ │ └── permissions.ts ├── shared │ ├── ably.ts │ ├── common.ts │ ├── media │ │ ├── format.ts │ │ └── timestamp.ts │ ├── package.json │ ├── schema │ │ ├── chat.ts │ │ ├── group.ts │ │ └── user.ts │ ├── tsconfig.json │ └── types.ts └── ui │ ├── components │ ├── alert-dialog.tsx │ ├── avatar.tsx │ ├── button.tsx │ ├── context-menu.tsx │ ├── dialog.tsx │ ├── dropdown.tsx │ ├── image-skeleton.tsx │ ├── input.tsx │ ├── popover.tsx │ ├── select.tsx │ ├── skeleton.tsx │ ├── spinner.tsx │ ├── switch.tsx │ ├── tabs.tsx │ ├── textarea.tsx │ ├── toast.tsx │ └── tooltip.tsx │ ├── hooks │ ├── use-copy-text.ts │ └── use-mounted.ts │ ├── package.json │ ├── tsconfig.json │ └── utils │ ├── cn.ts │ └── time.ts ├── pnpm-lock.yaml ├── pnpm-workspace.yaml └── turbo.json /.env.example: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/.env.example -------------------------------------------------------------------------------- /.eslintrc.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/.eslintrc.json -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/.gitignore -------------------------------------------------------------------------------- /.idea/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/.idea/.gitignore -------------------------------------------------------------------------------- /.idea/inspectionProfiles/Project_Default.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/.idea/inspectionProfiles/Project_Default.xml -------------------------------------------------------------------------------- /.idea/modules.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/.idea/modules.xml -------------------------------------------------------------------------------- /.idea/prettier.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/.idea/prettier.xml -------------------------------------------------------------------------------- /.idea/shark-chat-js.iml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/.idea/shark-chat-js.iml -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/.idea/vcs.xml -------------------------------------------------------------------------------- /.vscode/shark-chat.code-workspace: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/.vscode/shark-chat.code-workspace -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/README.md -------------------------------------------------------------------------------- /apps/web/app/(dashboard)/(app)/chat/[group]/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/apps/web/app/(dashboard)/(app)/chat/[group]/page.tsx -------------------------------------------------------------------------------- /apps/web/app/(dashboard)/(app)/chat/[group]/settings/danger.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/apps/web/app/(dashboard)/(app)/chat/[group]/settings/danger.tsx -------------------------------------------------------------------------------- /apps/web/app/(dashboard)/(app)/chat/[group]/settings/info.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/apps/web/app/(dashboard)/(app)/chat/[group]/settings/info.tsx -------------------------------------------------------------------------------- /apps/web/app/(dashboard)/(app)/chat/[group]/settings/invite.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/apps/web/app/(dashboard)/(app)/chat/[group]/settings/invite.tsx -------------------------------------------------------------------------------- /apps/web/app/(dashboard)/(app)/chat/[group]/settings/members.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/apps/web/app/(dashboard)/(app)/chat/[group]/settings/members.tsx -------------------------------------------------------------------------------- /apps/web/app/(dashboard)/(app)/chat/[group]/settings/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/apps/web/app/(dashboard)/(app)/chat/[group]/settings/page.tsx -------------------------------------------------------------------------------- /apps/web/app/(dashboard)/(app)/chat/[group]/use-group.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/apps/web/app/(dashboard)/(app)/chat/[group]/use-group.ts -------------------------------------------------------------------------------- /apps/web/app/(dashboard)/(app)/chat/layout.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/apps/web/app/(dashboard)/(app)/chat/layout.tsx -------------------------------------------------------------------------------- /apps/web/app/(dashboard)/(app)/dm/[channel]/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/apps/web/app/(dashboard)/(app)/dm/[channel]/page.tsx -------------------------------------------------------------------------------- /apps/web/app/(dashboard)/(app)/emotes/item.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/apps/web/app/(dashboard)/(app)/emotes/item.tsx -------------------------------------------------------------------------------- /apps/web/app/(dashboard)/(app)/emotes/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/apps/web/app/(dashboard)/(app)/emotes/page.tsx -------------------------------------------------------------------------------- /apps/web/app/(dashboard)/(app)/layout.client.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/apps/web/app/(dashboard)/(app)/layout.client.tsx -------------------------------------------------------------------------------- /apps/web/app/(dashboard)/(app)/layout.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/apps/web/app/(dashboard)/(app)/layout.tsx -------------------------------------------------------------------------------- /apps/web/app/(dashboard)/(app)/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/apps/web/app/(dashboard)/(app)/page.tsx -------------------------------------------------------------------------------- /apps/web/app/(dashboard)/(app)/settings/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/apps/web/app/(dashboard)/(app)/settings/page.tsx -------------------------------------------------------------------------------- /apps/web/app/(dashboard)/(app)/settings/update-info.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/apps/web/app/(dashboard)/(app)/settings/update-info.tsx -------------------------------------------------------------------------------- /apps/web/app/(dashboard)/invite/[invite]/page.client.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/apps/web/app/(dashboard)/invite/[invite]/page.client.tsx -------------------------------------------------------------------------------- /apps/web/app/(dashboard)/invite/[invite]/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/apps/web/app/(dashboard)/invite/[invite]/page.tsx -------------------------------------------------------------------------------- /apps/web/app/(dashboard)/layout.client.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/apps/web/app/(dashboard)/layout.client.tsx -------------------------------------------------------------------------------- /apps/web/app/(dashboard)/layout.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/apps/web/app/(dashboard)/layout.tsx -------------------------------------------------------------------------------- /apps/web/app/api/ably/auth/route.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/apps/web/app/api/ably/auth/route.ts -------------------------------------------------------------------------------- /apps/web/app/api/auth/[...nextauth]/route.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/apps/web/app/api/auth/[...nextauth]/route.ts -------------------------------------------------------------------------------- /apps/web/app/api/trpc/[trpc]/route.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/apps/web/app/api/trpc/[trpc]/route.ts -------------------------------------------------------------------------------- /apps/web/app/auth/signin/page.client.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/apps/web/app/auth/signin/page.client.tsx -------------------------------------------------------------------------------- /apps/web/app/auth/signin/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/apps/web/app/auth/signin/page.tsx -------------------------------------------------------------------------------- /apps/web/app/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/apps/web/app/favicon.ico -------------------------------------------------------------------------------- /apps/web/app/info/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/apps/web/app/info/page.tsx -------------------------------------------------------------------------------- /apps/web/app/layout.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/apps/web/app/layout.tsx -------------------------------------------------------------------------------- /apps/web/app/opengraph-image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/apps/web/app/opengraph-image.png -------------------------------------------------------------------------------- /apps/web/app/theme.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/apps/web/app/theme.tsx -------------------------------------------------------------------------------- /apps/web/components/BannerImage.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/apps/web/components/BannerImage.tsx -------------------------------------------------------------------------------- /apps/web/components/ThemeSwitch.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/apps/web/components/ThemeSwitch.tsx -------------------------------------------------------------------------------- /apps/web/components/chat/AttachmentItem.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/apps/web/components/chat/AttachmentItem.tsx -------------------------------------------------------------------------------- /apps/web/components/chat/ChatView.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/apps/web/components/chat/ChatView.tsx -------------------------------------------------------------------------------- /apps/web/components/chat/MessageList.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/apps/web/components/chat/MessageList.tsx -------------------------------------------------------------------------------- /apps/web/components/chat/Sendbar.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/apps/web/components/chat/Sendbar.tsx -------------------------------------------------------------------------------- /apps/web/components/chat/TypingIndicator.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/apps/web/components/chat/TypingIndicator.tsx -------------------------------------------------------------------------------- /apps/web/components/chat/message/atom.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/apps/web/components/chat/message/atom.tsx -------------------------------------------------------------------------------- /apps/web/components/chat/message/edit.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/apps/web/components/chat/message/edit.tsx -------------------------------------------------------------------------------- /apps/web/components/chat/message/embed.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/apps/web/components/chat/message/embed.tsx -------------------------------------------------------------------------------- /apps/web/components/chat/message/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/apps/web/components/chat/message/index.tsx -------------------------------------------------------------------------------- /apps/web/components/chat/message/markdown.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/apps/web/components/chat/message/markdown.tsx -------------------------------------------------------------------------------- /apps/web/components/chat/message/reference.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/apps/web/components/chat/message/reference.tsx -------------------------------------------------------------------------------- /apps/web/components/chat/message/sending.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/apps/web/components/chat/message/sending.tsx -------------------------------------------------------------------------------- /apps/web/components/chat/scroll.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/apps/web/components/chat/scroll.ts -------------------------------------------------------------------------------- /apps/web/components/chat/use-items.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/apps/web/components/chat/use-items.ts -------------------------------------------------------------------------------- /apps/web/components/input/ImagePicker.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/apps/web/components/input/ImagePicker.tsx -------------------------------------------------------------------------------- /apps/web/components/input/UniqueNameInput.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/apps/web/components/input/UniqueNameInput.tsx -------------------------------------------------------------------------------- /apps/web/components/layout/Breadcrumbs.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/apps/web/components/layout/Breadcrumbs.tsx -------------------------------------------------------------------------------- /apps/web/components/layout/Navbar.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/apps/web/components/layout/Navbar.tsx -------------------------------------------------------------------------------- /apps/web/components/layout/Sidebar.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/apps/web/components/layout/Sidebar.tsx -------------------------------------------------------------------------------- /apps/web/components/menu/DirectMessageMenu.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/apps/web/components/menu/DirectMessageMenu.tsx -------------------------------------------------------------------------------- /apps/web/components/modal/BoardingModal.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/apps/web/components/modal/BoardingModal.tsx -------------------------------------------------------------------------------- /apps/web/components/modal/CreateEmoteModal.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/apps/web/components/modal/CreateEmoteModal.tsx -------------------------------------------------------------------------------- /apps/web/components/modal/CreateGroupModal.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/apps/web/components/modal/CreateGroupModal.tsx -------------------------------------------------------------------------------- /apps/web/components/modal/GenerateTextModal.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/apps/web/components/modal/GenerateTextModal.tsx -------------------------------------------------------------------------------- /apps/web/components/modal/JoinGroupModal.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/apps/web/components/modal/JoinGroupModal.tsx -------------------------------------------------------------------------------- /apps/web/components/modal/UserProfileModal.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/apps/web/components/modal/UserProfileModal.tsx -------------------------------------------------------------------------------- /apps/web/middleware.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/apps/web/middleware.ts -------------------------------------------------------------------------------- /apps/web/next.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/apps/web/next.config.js -------------------------------------------------------------------------------- /apps/web/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/apps/web/package.json -------------------------------------------------------------------------------- /apps/web/postcss.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/apps/web/postcss.config.js -------------------------------------------------------------------------------- /apps/web/public/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/apps/web/public/icon.png -------------------------------------------------------------------------------- /apps/web/styles/globals.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/apps/web/styles/globals.css -------------------------------------------------------------------------------- /apps/web/tailwind.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/apps/web/tailwind.config.js -------------------------------------------------------------------------------- /apps/web/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/apps/web/tsconfig.json -------------------------------------------------------------------------------- /apps/web/utils/ably/client.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/apps/web/utils/ably/client.tsx -------------------------------------------------------------------------------- /apps/web/utils/auth.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/apps/web/utils/auth.tsx -------------------------------------------------------------------------------- /apps/web/utils/cloudinary-loader.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/apps/web/utils/cloudinary-loader.ts -------------------------------------------------------------------------------- /apps/web/utils/contexts/group-context.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/apps/web/utils/contexts/group-context.ts -------------------------------------------------------------------------------- /apps/web/utils/get-base-url.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/apps/web/utils/get-base-url.ts -------------------------------------------------------------------------------- /apps/web/utils/handlers/chat.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/apps/web/utils/handlers/chat.tsx -------------------------------------------------------------------------------- /apps/web/utils/handlers/group.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/apps/web/utils/handlers/group.tsx -------------------------------------------------------------------------------- /apps/web/utils/handlers/private.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/apps/web/utils/handlers/private.tsx -------------------------------------------------------------------------------- /apps/web/utils/handlers/shared.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/apps/web/utils/handlers/shared.ts -------------------------------------------------------------------------------- /apps/web/utils/hooks/mutations/send-message.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/apps/web/utils/hooks/mutations/send-message.ts -------------------------------------------------------------------------------- /apps/web/utils/hooks/mutations/update-group-info.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/apps/web/utils/hooks/mutations/update-group-info.ts -------------------------------------------------------------------------------- /apps/web/utils/hooks/mutations/update-profile.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/apps/web/utils/hooks/mutations/update-profile.ts -------------------------------------------------------------------------------- /apps/web/utils/hooks/mutations/upload.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/apps/web/utils/hooks/mutations/upload.ts -------------------------------------------------------------------------------- /apps/web/utils/hooks/use-callback-ref.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/apps/web/utils/hooks/use-callback-ref.ts -------------------------------------------------------------------------------- /apps/web/utils/hooks/use-profile.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/apps/web/utils/hooks/use-profile.ts -------------------------------------------------------------------------------- /apps/web/utils/stores/chat.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/apps/web/utils/stores/chat.ts -------------------------------------------------------------------------------- /apps/web/utils/stores/page.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/apps/web/utils/stores/page.ts -------------------------------------------------------------------------------- /apps/web/utils/trpc/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/apps/web/utils/trpc/index.ts -------------------------------------------------------------------------------- /apps/web/utils/types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/apps/web/utils/types.ts -------------------------------------------------------------------------------- /dev/compose.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/dev/compose.yaml -------------------------------------------------------------------------------- /document/image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/document/image.png -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/package.json -------------------------------------------------------------------------------- /packages/config/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/packages/config/package.json -------------------------------------------------------------------------------- /packages/config/tsconfig-base.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/packages/config/tsconfig-base.json -------------------------------------------------------------------------------- /packages/config/tsconfig-lib.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/packages/config/tsconfig-lib.json -------------------------------------------------------------------------------- /packages/config/tsconfig-next.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/packages/config/tsconfig-next.json -------------------------------------------------------------------------------- /packages/db/client.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/packages/db/client.ts -------------------------------------------------------------------------------- /packages/db/drizzle.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/packages/db/drizzle.config.ts -------------------------------------------------------------------------------- /packages/db/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/packages/db/package.json -------------------------------------------------------------------------------- /packages/db/schema.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/packages/db/schema.ts -------------------------------------------------------------------------------- /packages/db/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/packages/db/tsconfig.json -------------------------------------------------------------------------------- /packages/db/utils/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/packages/db/utils/index.ts -------------------------------------------------------------------------------- /packages/server/ably/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/packages/server/ably/index.ts -------------------------------------------------------------------------------- /packages/server/ably/schema.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/packages/server/ably/schema.ts -------------------------------------------------------------------------------- /packages/server/auth/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/packages/server/auth/index.ts -------------------------------------------------------------------------------- /packages/server/auth/nextauth-adapter.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/packages/server/auth/nextauth-adapter.ts -------------------------------------------------------------------------------- /packages/server/cloudinary.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/packages/server/cloudinary.ts -------------------------------------------------------------------------------- /packages/server/context.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/packages/server/context.ts -------------------------------------------------------------------------------- /packages/server/eden.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/packages/server/eden.ts -------------------------------------------------------------------------------- /packages/server/inworld.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/packages/server/inworld.ts -------------------------------------------------------------------------------- /packages/server/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/packages/server/package.json -------------------------------------------------------------------------------- /packages/server/redis/client.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/packages/server/redis/client.ts -------------------------------------------------------------------------------- /packages/server/redis/last-read.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/packages/server/redis/last-read.ts -------------------------------------------------------------------------------- /packages/server/redis/ratelimit.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/packages/server/redis/ratelimit.ts -------------------------------------------------------------------------------- /packages/server/routers/_app.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/packages/server/routers/_app.ts -------------------------------------------------------------------------------- /packages/server/routers/account.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/packages/server/routers/account.ts -------------------------------------------------------------------------------- /packages/server/routers/chat.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/packages/server/routers/chat.ts -------------------------------------------------------------------------------- /packages/server/routers/dm.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/packages/server/routers/dm.ts -------------------------------------------------------------------------------- /packages/server/routers/emotes.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/packages/server/routers/emotes.ts -------------------------------------------------------------------------------- /packages/server/routers/group/group.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/packages/server/routers/group/group.ts -------------------------------------------------------------------------------- /packages/server/routers/group/invite.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/packages/server/routers/group/invite.ts -------------------------------------------------------------------------------- /packages/server/routers/group/members.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/packages/server/routers/group/members.ts -------------------------------------------------------------------------------- /packages/server/routers/upload.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/packages/server/routers/upload.ts -------------------------------------------------------------------------------- /packages/server/trpc.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/packages/server/trpc.ts -------------------------------------------------------------------------------- /packages/server/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/packages/server/tsconfig.json -------------------------------------------------------------------------------- /packages/server/utils/messages.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/packages/server/utils/messages.ts -------------------------------------------------------------------------------- /packages/server/utils/og-meta.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/packages/server/utils/og-meta.ts -------------------------------------------------------------------------------- /packages/server/utils/permissions.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/packages/server/utils/permissions.ts -------------------------------------------------------------------------------- /packages/shared/ably.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/packages/shared/ably.ts -------------------------------------------------------------------------------- /packages/shared/common.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/packages/shared/common.ts -------------------------------------------------------------------------------- /packages/shared/media/format.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/packages/shared/media/format.ts -------------------------------------------------------------------------------- /packages/shared/media/timestamp.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/packages/shared/media/timestamp.ts -------------------------------------------------------------------------------- /packages/shared/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/packages/shared/package.json -------------------------------------------------------------------------------- /packages/shared/schema/chat.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/packages/shared/schema/chat.ts -------------------------------------------------------------------------------- /packages/shared/schema/group.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/packages/shared/schema/group.ts -------------------------------------------------------------------------------- /packages/shared/schema/user.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/packages/shared/schema/user.ts -------------------------------------------------------------------------------- /packages/shared/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/packages/shared/tsconfig.json -------------------------------------------------------------------------------- /packages/shared/types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/packages/shared/types.ts -------------------------------------------------------------------------------- /packages/ui/components/alert-dialog.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/packages/ui/components/alert-dialog.tsx -------------------------------------------------------------------------------- /packages/ui/components/avatar.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/packages/ui/components/avatar.tsx -------------------------------------------------------------------------------- /packages/ui/components/button.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/packages/ui/components/button.tsx -------------------------------------------------------------------------------- /packages/ui/components/context-menu.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/packages/ui/components/context-menu.tsx -------------------------------------------------------------------------------- /packages/ui/components/dialog.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/packages/ui/components/dialog.tsx -------------------------------------------------------------------------------- /packages/ui/components/dropdown.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/packages/ui/components/dropdown.tsx -------------------------------------------------------------------------------- /packages/ui/components/image-skeleton.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/packages/ui/components/image-skeleton.tsx -------------------------------------------------------------------------------- /packages/ui/components/input.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/packages/ui/components/input.tsx -------------------------------------------------------------------------------- /packages/ui/components/popover.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/packages/ui/components/popover.tsx -------------------------------------------------------------------------------- /packages/ui/components/select.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/packages/ui/components/select.tsx -------------------------------------------------------------------------------- /packages/ui/components/skeleton.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/packages/ui/components/skeleton.tsx -------------------------------------------------------------------------------- /packages/ui/components/spinner.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/packages/ui/components/spinner.tsx -------------------------------------------------------------------------------- /packages/ui/components/switch.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/packages/ui/components/switch.tsx -------------------------------------------------------------------------------- /packages/ui/components/tabs.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/packages/ui/components/tabs.tsx -------------------------------------------------------------------------------- /packages/ui/components/textarea.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/packages/ui/components/textarea.tsx -------------------------------------------------------------------------------- /packages/ui/components/toast.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/packages/ui/components/toast.tsx -------------------------------------------------------------------------------- /packages/ui/components/tooltip.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/packages/ui/components/tooltip.tsx -------------------------------------------------------------------------------- /packages/ui/hooks/use-copy-text.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/packages/ui/hooks/use-copy-text.ts -------------------------------------------------------------------------------- /packages/ui/hooks/use-mounted.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/packages/ui/hooks/use-mounted.ts -------------------------------------------------------------------------------- /packages/ui/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/packages/ui/package.json -------------------------------------------------------------------------------- /packages/ui/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/packages/ui/tsconfig.json -------------------------------------------------------------------------------- /packages/ui/utils/cn.ts: -------------------------------------------------------------------------------- 1 | export { twMerge as cn } from "tailwind-merge"; 2 | -------------------------------------------------------------------------------- /packages/ui/utils/time.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/packages/ui/utils/time.ts -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/pnpm-lock.yaml -------------------------------------------------------------------------------- /pnpm-workspace.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/pnpm-workspace.yaml -------------------------------------------------------------------------------- /turbo.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuma-nama/shark-chat-js/HEAD/turbo.json --------------------------------------------------------------------------------