-
-
Notifications
You must be signed in to change notification settings - Fork 1
feat(web): LiveView frontend (design system + Maraca/Ybira/Jaci screens) #159
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
4 commits
Select commit
Hold shift + click to select a range
3ae4691
feat(web): LiveView frontend (design system + Maraca/Ybira/Jaci screens)
zoedsoupe 74c4874
feat: dropa email, usa username como handle
zoedsoupe a713fcb
fix(web): address CodeRabbit review on PR #159
zoedsoupe 62bc5b2
fix(web): address CodeRabbit review round 2 on PR #159
zoedsoupe File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1 +1,7 @@ | ||
| [{"deps/phoenix/lib/phoenix/router.ex", :pattern_match}] | ||
| # Falso positivo do backend gerado por `use Gettext.Backend`: o Dialyzer | ||
| # reclama de `call_without_opaque` ao chamar `Gettext.Plural.plural/2` com o | ||
| # tipo opaco `%Expo.PluralForms{}` do proprio Gettext/Expo. Nao e codigo nosso | ||
| # e some quando o Gettext relaxar a opacidade; ignoramos so este arquivo/aviso. | ||
| [ | ||
| {"lib/taina_web/gettext.ex", :call_without_opaque} | ||
| ] |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,42 @@ | ||
| # CLAUDE.md — Tainá | ||
|
|
||
| Project memory for the Tainá app (this git repo). Overrides the user-level `~/.claude/CLAUDE.md` where they conflict. The workspace-level `../CLAUDE.md` is just a pointer to this file, to `AGENTS.md`, and to the `community-ux-reviewer` agent. | ||
|
|
||
| ## Source of truth: `../tekoa/` | ||
|
|
||
| **`../tekoa/` is the canonical documentation and the source of truth for this project.** Before proposing architecture, scope, or behavior, read the relevant doc in `../tekoa/` and align to it. If code and `../tekoa/` disagree, `../tekoa/` wins — surface the drift rather than inventing a third answer. | ||
|
|
||
| - `../tekoa/ROADMAP.md` — current MVP roadmap (v3.0). What's in/out of scope, and ordering. **Check this before suggesting features.** | ||
| - `../tekoa/tecnico/RFC_ARQUITETURA.md` — the full architecture RFC. The authority on structure and subsystem boundaries. | ||
| - `../tekoa/tecnico/RFC_002_MVP.md` — the MVP RFC that supersedes the older "PWA Monolith" v2.0 design; holds the rationale for current decisions. | ||
| - `../tekoa/guias/contribuindo-github.md` — contribution workflow. | ||
| - `../tekoa/CONTRIBUTING.md`, `../tekoa/CODE_OF_CONDUCT.md` — process and conduct. | ||
|
|
||
| `../tekoa/` is a separate docs repo (`taina-labs/tekoa`) checked out as a sibling at the workspace root — it is **not** part of this app repo. Do not edit it as a side effect of app work; doc changes are deliberate and go through the docs repo. | ||
|
|
||
| ## What Tainá is | ||
|
|
||
| Self-hosted private-cloud platform — a community's file/photo vault with painless install (per `ROADMAP.md`). Modular monolith, backend-first. AGPL. Tupi-Guarani-named subsystems: **Maracá** (auth/invites/authz), **Ybira** (content-addressed storage, source of truth for all file services — extend by composition, not inheritance), **Jaci** (photo gallery), **Guará** (chat, post-MVP). | ||
|
|
||
| ## Stack | ||
|
|
||
| - Elixir 1.20 / OTP 28, **Phoenix 1.8 + LiveView**. | ||
| - **PostgreSQL 18 with Row-Level Security** — per-community isolation. Treat RLS as a hard boundary, not an optimization. | ||
| - Oban (jobs), Bandit (server), bcrypt, nanoid. | ||
| - Nix flake + direnv for the dev env (`flake.nix`, `.envrc`); `docker-compose.yml` for Postgres. | ||
|
|
||
| ## Commands (run here, in the app dir) | ||
|
|
||
| - `mix setup` — deps + `ecto.create` + `ecto.migrate` + seeds. | ||
| - `mix test` — auto-creates/migrates the test DB first. | ||
| - `mix test test/path_test.exs` / `mix test --failed` — focused runs. | ||
| - `mix precommit` — **run when done.** Compiles `--warning-as-errors`, `deps.unlock --unused`, `format`, `test`. Fix everything it reports. | ||
| - `mix ecto.reset` — drop + recreate when migrations get messy. | ||
| - Quality tooling present: Credo, Dialyxir (PLTs in `priv/plts`), Styler. | ||
|
|
||
| ## Conventions | ||
|
|
||
| - Phoenix/Ecto/Elixir specifics live in `AGENTS.md` — follow it. Notably: **`Req` is the HTTP client here** (Phoenix default), not Finch — this repo overrides my usual global preference. | ||
| - **UI/frontend work**: follow the **Frontend / UI** section of `AGENTS.md` (tokens-only/Penpot as source of truth, Functional Core / Imperative Shell on LiveViews *and* JS hooks, `core_components` reuse, communitarian build directives). Run the `community-ux-reviewer` agent for non-trivial UI. | ||
| - Otherwise my user-level conventions apply: Functional Core / Imperative Shell, `@behaviour` over `use` macros, `{:ok,_}`/`{:error,_}` tuples, minimal deps, pattern matching over validators. | ||
| - One module per file. Predicate functions end in `?` (never `is_` prefix outside guards). | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,23 @@ | ||
| /* Entry point, empacotado pelo esbuild junto com js/app.js. | ||
| Ordem importa: tokens primeiro, utilitários por último (precedência). */ | ||
|
|
||
| @import "./tokens.css"; | ||
| @import "./base.css"; | ||
| @import "./layouts.css"; | ||
| @import "./components.css"; | ||
| @import "./utilities.css"; | ||
|
|
||
| /* Estados de conexão do LiveView (feedback discreto, sem JS extra) */ | ||
| .phx-loading { | ||
| cursor: wait; | ||
| } | ||
|
|
||
| .phx-click-loading { | ||
| opacity: var(--opacity-muted); | ||
| pointer-events: none; | ||
| } | ||
|
|
||
| /* uploads: entrada inválida */ | ||
| .phx-no-feedback .field__error { | ||
| display: none; | ||
| } |
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.