Skip to content

reeesespuffs/for-web

 
 

Repository files navigation

Stoat Frontend

Stars Forks Pull Requests Issues Contributors License

The official web client powering https://beta.revolt.chat/app, built with Solid.js 💖.
Track the project roadmap on OpenProject.

Development Guide

Before contributing, make yourself familiar with our contribution guidelines, the code style guidelines, and the technical documentation for this project.

Before getting started, you'll want to install:

  • Git
  • Node.js
  • pnpm (run corepack enable)

Then proceed to setup:

# clone the repository
git clone --recursive https://github.com/stoatchat/for-web client
cd client

# update submodules if you pull new changes
# git submodule init && git submodule update

# install all packages
pnpm i --frozen-lockfile

# build deps:
pnpm build:deps

# or build a specific dep (e.g. revolt.js updates):
# pnpm --filter revolt.js run build

# run dev server
pnpm dev:web

Finally, navigate to http://local.revolt.chat:5173.

Pulling in Stoat's brand assets

If you want to pull in Stoat brand assets after pulling, run the following:

# update the assets
git -c submodule."packages/client/assets".update=checkout submodule update --init packages/client/assets

You can switch back to the fallback assets by running deinit and continuing as normal:

# deinit submodule which clears directory
git submodule deinit packages/client/assets

Faster iteration with Revolt.js

To make it easier to work with revolt.js, you may want to temporarily make this change:

# packages/revolt.js/package.json
-  "module": "lib/esm/index.js",
+  "module": "src/index.ts",

Any edits to the revolt.js codebase will immediately be reflected while developing.

Deployment Guide

Build the app

# install packages
pnpm i --frozen-lockfile

# build dependencies
pnpm build:deps

# build for web
pnpm build:web

# ... when building for Stoat production, use this instead of :web
pnpm build:prod

You can now deploy the directory packages/client/dist.

Routing Information

The app currently needs the following routes:

  • /login
  • /pwa
  • /dev
  • /settings
  • /friends
  • /server
  • /channel

This corresponds to Content.tsx#L33.

About

Stoat for Web – browser app for Stoat

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 99.5%
  • Other 0.5%