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.
- Guide, recipes, and API
- Issues and roadmap
- Projects inside Logux ecosystem
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.
Made at Evil Martians, product consulting for developer tools.
npm install @logux/core @logux/client nanostores
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:https://example.com:1337',
userId,
token
})
badge(client, { messages: badgeEn, styles: badgeStyles })
log(client)
client.start()