Files
TX/artifacts
riyadhafraa c3999b9af7 notes: freeze header + move composer to top of page (Task #446)
User wanted the Notes top bar to truly stay pinned (فريز / ثابت) while
scrolling, and wanted the "اكتب ملاحظة..." composer to live at the top
of the page above the folders area instead of being tucked under the
folders chips and only showing inside a folder.

Changes (artifacts/tx-os/src/pages/notes.tsx):
- Header bar switched from `sticky top-0` to `fixed top-0 inset-x-0
  z-30`. Measured its live height with a `ResizeObserver` + `offsetHeight`
  (header wraps differently per tab / label set / viewport width), and
  rendered a same-height aria-hidden spacer immediately below so the
  first row of content never slides under the bar.
- Composer was lifted out of the in-folder branch and is now rendered as
  the first content block under the spacer (above FoldersRail and
  FoldersBrowser) on the active "My Notes" view. It is hidden on Inbox,
  Sent, Archived, and the Shared-with-me read-only folder view, so the
  read-only contract from Task #445 stays intact. `folderSelection` is
  still passed in unchanged, so a new note created from this top
  composer continues to land in the currently-selected folder (or
  Unfiled if none).
- Removed the duplicate Composer mount inside the per-folder branch and
  left a comment explaining the move.

Notes:
- No backend or i18n changes — composer placeholder, search input, tabs,
  label chips and grid/list toggle all kept their existing markup and
  behavior.
- Pre-existing TS errors in artifacts/api-server/src/routes/executive-meetings.ts
  remain (out of scope) and the `test` workflow continues to fail for
  that unrelated reason.
2026-05-10 07:26:05 +00:00
..
2026-04-18 02:00:09 +00:00