Waku Connect Chat SDK to easily add a decentralized, censorship-resistant chat feature to your dApp, powered by Waku v2 and Status Communities.
Go to file
Pavel 45e36b2360
[website] Add blog (#417)
* add ghost api

* connect blog overview page

* connect and render post detail

* add processing to server

* update blog detail page

* add eslint-plugin-tailwindcss

* add @tanstack/react-query

* truncate text by numberOfLines

* use ComponentPropsWithRef to infer style prop type

* update ghost fns

* update index

* add tag page

* add author page

* update /

* update /tag

* update /author

* update detail page

* fix posts type

* disable redirect

* remove global background

- not found pages
- pages without common layout (preview)

* tmp: hide nav on smaller screens

* update app layout spacing

* remove text truncating

* update / spacing and sizing

* update .vscode/settings.json

* update .eslintrc

* update prettier-plugin-tailwindcss

* sort tailwind classes

* add packages/eslint-config-custom

* use turbo lint

* use tailwind.config.cjs

see https://github.com/francoismassart/eslint-plugin-tailwindcss/issues/212

* reset global line-height

* fix lint-staged

* update color tokens

* update spacing and sizes

* Update apps/website/src/lib/ghost.ts

Co-authored-by: Pavel <14926950+prichodko@users.noreply.github.com>

* update layout max width

* update card min width

* set line-height

* set overflow on pre

* use flex for markdown content to prevent overflow

* collect follow-ups

* add visibility filter

* update page count

* rename var

* remove filter

* use prod ghost api key

* update ghost api

* revert line-height

* add limit to getPosts params

* update visible posts

* add related articles

* add env vars to gh

* rename eslint config package

* update gh vars

* rename envs

* set emtpy array to related posts

* fix lint-staged

* prevent importing server envs on client

* set limit

---------

Co-authored-by: Felicio Mununga <felicio@users.noreply.github.com>
2023-06-21 11:35:48 +01:00
.changeset Use built-in PBKDF2 implementation for browsers (#295) 2022-07-19 17:45:29 +02:00
.github/workflows [website] Add blog (#417) 2023-06-21 11:35:48 +01:00
.husky Add pre-commit git hooks (#229) 2022-02-24 23:27:22 +01:00
.vscode [website] Add blog (#417) 2023-06-21 11:35:48 +01:00
apps [website] Add blog (#417) 2023-06-21 11:35:48 +01:00
examples [website] Add link previews (#407) 2023-05-29 17:11:02 +02:00
packages [website] Add blog (#417) 2023-06-21 11:35:48 +01:00
patches Setup apps/website (#383) 2023-04-26 12:06:18 +02:00
.editorconfig Add editorconfig 2022-02-25 14:56:28 +01:00
.eslintignore fix more incorrectly resolved conflicts 2023-05-16 11:53:43 +02:00
.gitignore fix more incorrectly resolved conflicts 2023-05-16 11:53:43 +02:00
.prettierrc Improve Prettier monorepo configuration (#225) 2022-02-23 15:49:00 +01:00
LICENSE-APACHE-v2 Update packages to @status-im (#223) 2022-02-23 15:03:14 +01:00
LICENSE-MIT Update packages to @status-im (#223) 2022-02-23 15:03:14 +01:00
README.md use yarn in readme 2022-11-17 18:44:25 +01:00
eas.json Add blur and IconButton variants (#340) 2023-02-10 17:25:13 +01:00
package.json [website] Add blog (#417) 2023-06-21 11:35:48 +01:00
tsconfig.base.json fix more incorrectly resolved conflicts 2023-05-16 11:53:43 +02:00
turbo.json Update turbo.json (#404) 2023-05-16 14:41:24 +02:00
vercel.json Set up website deployment (#391) 2023-05-12 15:06:04 +02:00
yarn.lock [website] Add blog (#417) 2023-06-21 11:35:48 +01:00

README.md

Status Web 🌐

CI

About

Embeddable, customizable and themable component for your Status Community.

Who

  • For community leaders
  • online content creators
  • and their followers

What

  • It is 100% open source
  • 100% decentralized
  • Peer-to-peer
  • Private
  • Pseudoanonymous
  • End-to-end encrypted
  • Free
  • Permissionless
  • Serverless
  • Group chat platform
  • And a virtual space outside the jurisdiction of any government

Why

  • To communicate and collaborate freely without worrying about
    • Censorship
    • Persecution
    • Chilling effects
    • Interference
    • Oppression
    • Being deplatformed, or shut down
  • Support
    • Autonomy
    • Free speech
    • Freedom of association
    • Freedom to transact
    • Right to privacy
    • Crypto native and frictionless integration
    • Monetization
    • Facilitation of sharing of common interests, needs, desires and values
  • Be trusted alternative to centralized group chat application

Usage

For Community owners 👥

Get public key to your pre-existing Community:

  1. Open Status Desktop
  2. Select Community
  3. Click on its overview in upper left corner
  4. Invite new people
  5. Share community
  6. Get only the public key from the URL (e.g. 0x033c88c950480493e2e759923bd38f9aad88e1b36295757a598679a569e6a96801)

Or create new one first:

  1. Get Status Desktop at https://status.im/get
  2. Go to Chat
  3. Click on plus icon
  4. Click on Communities

Use the Community component:

In your project,

Install package:

npm install @status-im/react

Import component:

import { Community } from '@status-im/react'

Set component props:

<Community
  publicKey="0x033c88c950480493e2e759923bd38f9aad88e1b36295757a598679a569e6a96801"
  theme="light"
/>

For an example, see examples/with-vite/src/app.tsx.

For User 👤

Simply visit your Community's URL from the browser:

If the Community doesn't require a joining request, that would be it. So look around and get the feel for the space.

Once ready to chat, create a throwaway profile:

Use Throwaway Profile > wait for your request to be approved and the chat input enabled > react to and write messages

Optionally, you could even run the application locally yourself.

Get the source ready:

git clone https://github.com/status-im/status-web.git
cd ./status-web
yarn install
yarn run build

Add your Community's public key to your environment:

echo 'PUBLIC_KEY="0x033c88c950480493e2e759923bd38f9aad88e1b36295757a598679a569e6a96801"' >> examples/with-vite/.env

And run it:

yarn workspace with-vite run dev