Skip to content

v3.13.0 — Mobile pass, a start page that leads with your boards, and a suggestion form

Choose a tag to compare

@otatechie otatechie released this 19 Oct 15:09
· 31 commits to main since this release

A pass over every screen a student or owner touches, built for the phone first: a start page that leads with your boards, a board and course page with one action each, a suggestion form that works without a mail app, and an operator dashboard that fits a 360px screen. One migration — see "Before you deploy".

Start page and new boards

  • Your boards first. A browser that manages a board now opens /start on "Your boards": each board with where it stands ("1 course · no files yet"), Remove in a ⋯ menu, and "New board" under the list. A first visit still opens on the create form. Boards deleted since drop out instead of linking to a missing page.
  • "Your class", not "Board name". One board for the whole class, with each course inside it. Asked for a board name, people typed a single subject and had nowhere to put courses.
  • Straight to the first course. The receipt says "Add your first course", the new board opens the New course panel, and saving a course goes into it to upload.
  • A lighter receipt. One red label instead of three, Copy inside the share-link box, a flat disabled Continue.
  • Find by name and owner-link recovery are a line of links; the name field opens in place.

Board page

  • The title wraps instead of truncating, and "New course" floats in the thumb zone on phones.
  • Owner · Exit sits in the top row; the share row is one Share button (the phone's share sheet, WhatsApp included) plus QR. On a computer Share copies the link.
  • Blue means tap. Course codes are ink; file counts are a quiet line ("9 files · updated 2h ago").
  • "Add the first file" on an owner's empty course opens it with the upload form up.
  • Reorder hides behind a toggle; search and sort appear from 7 courses.
  • Classmates get the wordmark home and "Run a class of your own? Make a board".

Course page

  • No section pills. Files are already grouped under section headings with counts; search and sort appear from 7 files.
  • Select files reveals checkboxes for bulk delete; single delete is in a ⋯ menu, away from Download.
  • Titles wrap to two lines on phones, type badges share one width, "Download all" is grey.
  • The upload form is a drop area, three section pills, and the two optional fields on one row.

Storage

A board 90% full says so in a box above the list — for owners "delete old files to make room", for everyone else "new uploads may not fit". The small meter steps aside then.

Suggest a feature

  • A form, not mailto. "Suggest a feature" in the app footer, and "Tell us" on the owner card, open a short form: a message and an optional email or WhatsApp for a reply. Most students have no mail app set up, so "Email us" opened nothing.
  • Stored and pinged. Each message is saved and posted to the operator's Telegram when configured. No IP is stored; the page is kept as a path only, so an ?owner= link never is. Five per hour per source, plus a spam trap.
  • Operator → Suggestions tab, newest first, with delete.
  • The owner card shows only to owners of boards with 5+ files.
  • Privacy page lists suggestions and their Telegram ping.

Operator dashboard

  • Login matches /start: centred, with the mark.
  • Header no longer pins over the lists; empty tabs are one line; "At a glance" shows on the landing tab only.
  • Mobile: all five tabs fit a 360px screen, board rows are tappable whole, tiles are tighter, the ambassador form stacks.

Also

  • Clipped titles keep the tails of g, y and p.
  • 44px tap targets on touch for the small links and menu items.
  • DemoSeeder makes five local boards in every state the UI handles: php artisan db:seed --class=DemoSeeder.

Before you deploy

Run migrations. A new suggestions table.

Nothing new in .env. FEEDBACK_WHATSAPP and FEEDBACK_EMAIL are no longer used by the app's feedback prompt (the landing page still reads them). Suggestions reach you on Telegram if TELEGRAM_BOT_TOKEN and TELEGRAM_CHAT_ID are set, and always in Operator → Suggestions.

205 tests.