Versia Server frontend, designed with Nuxt.
Find a file
2024-12-07 13:52:29 +01:00
.github ci: 💚 Correctly name CI mirror workflow 2024-11-04 11:40:49 +01:00
.vscode refactor: ♻️ Disable Nuxt component auto-importing (obscures code flow) 2024-06-20 16:09:09 -10:00
assets feat: 🔍 Block all AI crawlers in robots.txt, make users who opt out of indexing not-indexable 2024-06-20 20:01:33 -10:00
components refactor: 🔥 Remove more old code 2024-12-07 13:52:29 +01:00
composables refactor: 🔥 Remove more old code 2024-12-07 13:52:29 +01:00
layouts refactor: ♻️ Rewrite authentication page 2024-12-02 17:20:27 +01:00
packages/ui chore: ⬆️ Upgrade Bun to 1.1.38 2024-12-03 14:08:47 +01:00
pages refactor: 🔥 Clean up codebase 2024-12-07 13:46:19 +01:00
plugins feat: Implement custom emojis 2024-12-02 22:21:04 +01:00
public refactor: ♻️ Rewrite OAuth consent UI 2024-12-02 23:32:13 +01:00
server/plugins refactor: ♻️ Rewrite authentication page 2024-12-02 17:20:27 +01:00
styles feat: Add McDonald's mode 2024-12-04 15:43:31 +01:00
utils feat: Give more functionality to note menu 2024-11-30 18:21:40 +01:00
.dockerignore refactor: 🎨 Move Lysand-FE into its own repository 2024-04-14 15:16:57 -10:00
.gitignore feat: Add emoji theme picker 2024-11-05 14:25:28 +01:00
app.vue refactor: 🔥 Remove more old code 2024-12-07 13:52:29 +01:00
biome.json chore: 🔥 Clean up Biome config 2024-12-03 14:17:36 +01:00
bun.lockb refactor: 🔥 Remove more old code 2024-12-07 13:52:29 +01:00
components.json refactor: ♻️ Rewrite sidebar with shadcn 2024-11-30 00:58:04 +01:00
Dockerfile fix(build): 🐛 Change default build preset to bun 2024-12-03 14:38:13 +01:00
index.d.ts feat: Add breadcrumb navigation to every page 2024-12-04 15:17:47 +01:00
LICENSE docs: 📝 Make README prettier, add LICENSE 2024-06-09 17:53:51 -10:00
nuxt.config.ts refactor: ♻️ Disable SSR, always build as static 2024-12-04 12:53:43 +01:00
package.json refactor: 🔥 Remove more old code 2024-12-07 13:52:29 +01:00
README.md refactor: 🔥 Remove more old code 2024-12-07 13:52:29 +01:00
settings.ts refactor: 🔥 Clean up codebase 2024-12-07 13:46:19 +01:00
tailwind.config.ts refactor: ♻️ Rewrite sidebar with shadcn 2024-11-30 00:58:04 +01:00
tsconfig.json feat: Implement new confirmation modal utility 2024-11-29 22:29:43 +01:00

Versia Logo

versia-fe

Versia-FE is a beautiful, fast and responsive front-end for the Versia Server project.

Features

  • Timelines: public, home, local
  • Login
  • Notifications
  • Replies
  • Quotes
  • Markdown posts (quasi-unrestricted)
  • Dark mode
  • Following
  • Multiple accounts
  • Custom Emojis
  • Versia Server Permissions support
  • Note editing
  • Alt text support everywhere
  • Media uploads
  • WCAG 2.2 AAA compliance
    • Testing is automated and will not catch all issues, please report any accessibility issues you find.
  • Settings
  • Profile editing

Browser Support

The following browsers are supported (issues will be prioritized):

  • Chromium: 110+
  • Firefox: 110+
  • Safari: 16+
  • IE: None.

The following browsers will very likely work, but are not officially supported:

  • Chromium: 80+
  • Firefox: 80+
  • Safari: 12+
  • IE: None.

Other browsers may work, but are not guaranteed to.

Performance

JavaScript

The total JavaScript bundle size is less than 1000 kB, but this is made even smaller by the fact that the bundle is split into multiple files, and only the necessary files are loaded on each page.

Benchmarks

Soon™.

Installation

Versia-FE is included in the provided docker-compose file during Versia Server installation.

To have Versia-FE and Versia Server running on the same domain, edit the Versia Server configuration to point to the Versia-FE container's address (frontend category inside config).

Manual Installation

Here are the steps to install Versia-FE manually:

Docker/Podman

services:
    fe:
        image: ghcr.io/versia-pub/frontend:main
        container_name: versia-fe
        restart: unless-stopped
        networks:
            - versia-net
        environment:
            NUXT_PUBLIC_API_HOST: https://yourserver.com
            # For Tor users, set the following environment variable in addition to the above
            # NUXT_PUBLIC_ONION_API_HOST: http://youronionserver.onion

Then, the frontend will be available at http://localhost:3000 inside the container. To link it to a Versia Server, set the NUXT_PUBLIC_API_HOST environment variable to the server's URL.

Development

Make sure to run bun run emojis:generate to generate the emoji list before building or running the project.

License

This project is licensed under the AGPL 3.0 - see the LICENSE file for details.

Acknowledgments

Projects

  • Bun: Thanks to the Bun team for creating an amazing JavaScript runtime.
  • Nuxt: Thanks to the Nuxt team for creating an amazing Vue framework.

People

  • April John: Creator and maintainer of the Versia Server ActivityPub bridge.