Logux is a new way to connect client and server. Instead of sending HTTP requests (e.g., AJAX and GraphQL) it synchronizes log of operations between client, server, and other clients.
Documentation: logux.io
This repository contains Logux base components to build web client:
CrossTabClient
andClient
to create web client for Logux.IndexedStore
to store Logux log inIndexedDB
.badge()
widget to show Logux synchronization status in UI.status()
to write own UI to show Logux synchronization status in UI.attention()
,confirm()
,favicon()
to improve UX in Logux web app.log()
to print Logux synchronization status to browser DevTools.
Check demo page for widget UI.
npm install @logux/client
See documentation for Logux API.
import { CrossTabClient, badge, badgeEn, log } from '@logux/client'
import { badgeStyles } from '@logux/client/badge/styles'
let userId = document.querySelector('meta[name=user]').content
let token = document.querySelector('meta[name=token]').content
const client = new CrossTabClient({
subprotocol: '1.0.0',
server: 'wss://example.com:1337',
userId,
token
})
badge(client, { messages: badgeEn, styles: badgeStyles })
log(client)
client.start()