- HTML 39.5%
- Go 34.3%
- CSS 18.7%
- Java 4%
- JavaScript 3%
- Other 0.5%
mobile.css, loaded last, lays the pages out for a narrow window (below 48rem): one column, the menu behind a button (a checkbox, no script), the page scrolling whole, the panel of a page of one thing under it. The first page, which has nothing of its own, is the menu. synergy's sheets stay as they were, and a wide window sees no change. android/ is a WebView over the web app, wherever it is served (build.sh; the laboratory's by default): nothing of motiró runs on the phone and no key is kept there, only the session's cookie. It keeps to the app and to the hosted Crachá; other links are the browser's. On /entrando it asks the Crachá of the same phone to let it in without the chain: it takes the entry's challenge from iu, starts the Crachá with it, and brings the owner's signature back. The page's number stays under it, for when there is no Crachá there. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> |
||
|---|---|---|
| android | ||
| static | ||
| templates | ||
| .gitignore | ||
| actions.go | ||
| actions_test.go | ||
| app.go | ||
| app_test.go | ||
| details.go | ||
| forms.go | ||
| forms_test.go | ||
| go.mod | ||
| main.go | ||
| mine.go | ||
| news.go | ||
| news_test.go | ||
| pages.go | ||
| README.md | ||
| update.go | ||
| update_test.go | ||
| views.go | ||
motiró — a app
O motiró na web: esboços, murais, eventos e os coletivos que os fazem, sobre o apelido, o juntos e o
motiró. Veio da app do synergy (git.aslivres.social/setembro/synergy, api/): os templates e o
static como estavam, as structs de vista que eles recebem também (views.go), e o código por baixo
reescrito sobre o juntos/client e o motiro/client; as contas vêm do iu.
- A app é procuradora dos utilizadores no apelido (o código de acesso do
iue o Crachá): publica em nome deles comiu/cadeia. - Segue a sub-cadeia do apelido (
iu/cadeia), aplica-a a um cliente do juntos e o que o juntos aceita a um cliente do motiró — nós sem rede, por isso as páginas mostram o que os validadores aceitam. - Uma proposta aprovada é publicada pela própria app, em nome de quem a propôs (ou de quem votou sim), sem ninguém ter de voltar a carregar num botão.
go build .
./motiro-app -config motiro.json # o JSON do iu/config, com "protocolo": 1247104596 (o do juntos)
Estado (2026-10-01)
Fase 1 — feita: a ligação à rede e às contas; as páginas de leitura (início, esboços, esboço,
coletivos, coletivo, membros, membro, murais, mural, eventos, evento, para votar, ações propostas); o
voto pelo formulário (/api, action=Vote). app_test.go faz o caminho todo com uma rede de faz de
conta: um coletivo, um esboço, um evento e um mural propostos, votados, publicados pela app, e cada
página a mostrá-los.
Fase 2 — feita em parte (2026-10-01):
- criar: esboço (de um ficheiro, até 32 KiB dentro da ação), nova versão, mural, evento, coletivo — pela pessoa, em nome de um coletivo (proposta) ou em coautoria (lista do juntos);
- os botões: fixar e tirar (basta um editor), editores, lançar, carimbar, reagir, pedir para entrar e sair, check-in e aceite — a chave de cada check-in é derivada da chave da app, do evento e da @ (nada a guardar), e é com ela que a app abre o que o aceite entrega;
- edições: propor, listar, ver;
/mediaserve o conteúdo de um esboço ou edição; - votações: o detalhe (quem votou, quem falta, quantos sins faltam) e o desfecho;
- atualizar: mural, coletivo (descrição e maiorias, uma política de cada vez), evento (e os gestores, por votação);
- novidades: o que aconteceu, do motiró e do juntos, nas categorias do synergy (coisas novas, atualizações, apoios, pessoas; e as reações), com os nomes escapados;
- meus eventos: onde fez check-in (com a mensagem do aceite) e o que organiza;
- atualizações: o que mexeu nos coletivos, esboços, murais e eventos da pessoa, com o estado de cada votação ("passa em 2 dias se ninguém se opuser");
- conexões: os coletivos, murais e eventos a que está ligada, com contagens e a última ação;
- minhas mídias: os esboços que escreveu (fixados, edições recebidas, selos) e as edições que propôs.
As páginas de votação por tipo do synergy (vote*.html) saíram: aqui uma votação é sempre o detalhe
genérico (/detailedvote).
Por fazer: os media maiores, com o protocolo de conteúdo.
Os templates são do synergy e agora correm em html/template (o synergy usava text/template, sem
escape).