BaryoDev / BaryoDev/barakoBrew

Epic: the barakoBrew 2026 redesign, and what it costs

Open
#8 2 comments 0 reactions 1 assignee Claimed by @arnelirobles View on GitHub
design epic
Dominant language
TypeScript
Stars
1
Forks
2
Avg merge
4h 34m
Merged PRs (30d)
60

Description

A designer delivered a 2026 redesign of the marketing site and the admin, with the admin renamed barakoBrew in its chrome (#347). The handoff is now versioned at `docs/design/barakobrew-2026/`: the spec in `README.md`, the screen-to-source map in `github.md`, 14 screenshots, and the two prototypes that matter in `prototypes/`.

`docs/design/barakobrew-2026/AUDIT.md` compares every designed screen against `admin/src/` as it stands and sorts each one into theme, component, or route-and-data. This issue tracks the work and holds the three decisions that have to be made before much of it can start.

## Order of work

The handoff's own order is right, and the reason is the theme swap improves every screen at once, including the twenty routes nobody redesigned.

1. Theme tokens in `globals.css`.
2. Sidebar.
3. Overview.
4. Entries, then the entry editor.
5. Content type builder, Workflows, Analytics.
6. Sign in, site landing.
7. Discuss the proposals before building any of them.

## Three decisions

**Dark mode.** The handoff says it was deferred. The admin already has a full `.dark` block in `globals.css`, `next-themes` wired with `defaultTheme="system" enableSystem`, and a switch in the account menu, so anyone on a dark OS is in dark mode right now. Deferring means either shipping a Yeti-charcoal second theme against an indigo light theme, or taking a working feature away. Decide before the swap.

**The Overview event stream.** The design's Overview rail lists event type names. BaryoDev/barakoCMS#229, on this milestone, decides the stream stays internal and adds a test that fails if a public response references `barakoCMS.Events.*`. The panel needs a projected activity feed with its own stable vocabulary, which is a design decision and a new endpoint, not a component.

**Milestone.** 4.0.0 is close to tagging. Putting a nine-screen redesign on it turns a tag-ready release into a design review. Recommendation: 4.1.0 for the theme swap, the sidebar and the cheap screens, and leave the screens that need server work unmilestoned until their data issues are scheduled. BaryoDev/barakoBrew#6 stays on 4.0.0 where it is, because its cost argument is about the published image tag, not about the theme.

## What the audit found that the handoff does not say

- The sidebar is already grouped and already role-filtered. The "19 flat items" premise is out of date.
- The Workflows enable toggle has no field, no endpoint, and no update mutation of any kind.
- The Entries filter bar needs a search parameter and a status parameter that `/api/contents` does not have, and Scheduled is not a `ContentStatus`.
- The sign-in screen's "Forgot?" link has no password reset behind it anywhere in the repo.
- `/api/me/tenants` does not return the caller's role, which the tenant switcher displays.
- Twenty routes are not redesigned, not "roughly ten".

## Issues

Foundations, in this order:

- [x] BaryoDev/barakoCMS#407 Swap the Yeti tokens for the Signal theme, and decide what happens to dark mode
- [x] BaryoDev/barakoCMS#408 Rebuild the sidebar as a rail with counts and badges

Screens, roughly cheapest first once the foundations land:

- [ ] BaryoDev/barakoBrew#14 Analytics
- [ ] BaryoDev/barakoBrew#12 Content type builder
- [ ] BaryoDev/barakoBrew#15 Tenant switcher
- [ ] BaryoDev/barakoBrew#11 Entry editor
- [x] BaryoDev/barakoCMS#416 Sign in
- [x] BaryoDev/barakoCMS#417 Site landing
- [ ] BaryoDev/barakoBrew#10 Entries
- [ ] BaryoDev/barakoBrew#13 Workflows
- [ ] BaryoDev/barakoBrew#9 Overview

Not a build ticket:

- [ ] BaryoDev/barakoBrew#16 Discuss the four proposed screens and the candidate primitives table

Already filed and referenced rather than duplicated: BaryoDev/barakoBrew#6 (the rename), BaryoDev/barakoCMS#185 (modules count), BaryoDev/barakoCMS#229 (the event stream constraint), BaryoDev/barakoCMS#163 (field sensitivity after creation), BaryoDev/barakoCMS#329 (workflow runs), BaryoDev/barakoCMS#342 (transition triggers).

---

## Since filing

**The foundations shipped.** barakoCMS#407 and barakoCMS#408 both closed 2 Sept, barakoCMS#416 the same day and barakoCMS#417 on the 4th. The Signal tokens are in `src/app/globals.css` and the three faces are loaded by `next/font` in `src/app/layout.tsx`. Checked off above.

**Dark mode is decided, in code.** `layout.tsx` sets `forcedTheme="light"`, both toggles were removed, and the `.dark` block is left as dead Yeti values with a comment saying a Signal dark palette is a design job rather than an inversion. The decision above is no longer open. What is open is whether that palette gets drawn or the block gets deleted, which is now BaryoDev/barakoBrew#55.

**The handoff moved on.** The bundle committed at `barakoCMS/docs/design/barakobrew-2026/` syncs 2026-09-01. The current one syncs 2026-09-08: it drops the site landing, renumbers every admin screenshot, adds a philosophy and resources screen, carries all 20 field types instead of 8, and settles Scheduled as accent everywhere. The screen numbers and screenshot names in the issues below were corrected on 8 Sept, and the `admin/src/` paths were rewritten to `src/`, since the console moved.

## Filed from reading the 8 Sept bundle against `master`

- [ ] BaryoDev/barakoBrew#48 Vendor the handoff into this repository and fix the citations
- [ ] BaryoDev/barakoBrew#49 The field picker is three types short of the registry
- [ ] BaryoDev/barakoBrew#50 The action library is 22 kinds, and the console documents six
- [ ] BaryoDev/barakoBrew#51 Analytics breakdown marks, and the favicon rule
- [ ] BaryoDev/barakoBrew#52 One status vocabulary, in one place
- [ ] BaryoDev/barakoBrew#53 The shared segmented control
- [ ] BaryoDev/barakoBrew#54 The twenty-eight routes nobody drew
- [ ] BaryoDev/barakoBrew#55 Dark mode: draw it or delete the block

BaryoDev/barakoCMS#677 collects the eleven things these screens need from the API. Six of the eight are gated on at least one of them.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.