Page header: "+ Add tag" and "+ Add property" above the title until the first one
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 72/100
- Issue type
- Feature
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- react, tailwindcss, typescript
- Domain
- frontend
Research direction
Start in PageView.tsx at the data-line layout, then read Tags.tsx and Properties.tsx to see how each component marks its empty state. Update the layout and margins while keeping DOM order stable, and revise the layout comment and relevant stories in PageView.stories.tsx. Check the running app against the listed first-tag, first-property, and mixed-state behaviors, including tag input focus.
Written by the indexing model from the issue text.
Description
What
Put "+ Add tag" and "+ Add property" above the page title, the way Notion does, while each one is still for adding the first tag or property. Once a page has a tag, "+ Add tag" stays at the end of the chip row under the title, as it does now. Once a page has a property, "+ Add property" stays under the table.
Today an empty tag row and an empty properties section sit beside the title.
How
Both components already mark themselves data-bare when empty:
Tagswhen it has no chips (Tags.tsx)Propertieswhen it has no rows and no draft open (Properties.tsx)
So the "first one" rule is already computed, and this is a layout change in PageView.tsx (the data-line div that holds the title, tags and properties):
- The title takes a full row.
[data-bare]items get a negativeorderso they come before it, and filled items come after. Theafter:line-break trick goes away. Keep the reordering in CSS so the DOM doesn't change, and an open tag input or property draft isn't remounted when it moves. - Re-tune the margins (
mb-3on the tag row,mb-4on the section,mt-6on the title) so the buttons sit close above the title. - Update the layout comment in
PageView.tsxand the stories inPageView.stories.tsxthat describe the buttons as sitting "to the right" of the title.
Unchanged: the hover/focus reveal (the buttons are still inside the same data-line), journal days, zooms and references (they never show empty tags or properties).
Behaviour to settle
- First tag: on Enter, the chip appears and the row moves below the title, with the input still open and focused. Proposed: move on the first Enter, which matches Notion. The other option is to keep the row bare until the input closes.
- First property: clicking "+ Add property" opens a draft at once, so the table appears under the title straight away. Same as Notion.
- Empty strip: the hidden buttons keep their room (opacity, not removal), so a new page has a blank band above its title.
- Tab order: the order is visual only, so Tab still goes title → "+ Add tag". Leave it unless it bothers someone; fixing it means moving DOM nodes.
Done when
- A new page shows both buttons above the title on hover or focus, and nothing beside it.
- Adding the first tag moves the chip row under the title without losing the input's focus.
- Adding the first property puts the table under the title.
- With some tags and no properties, only "+ Add property" is above the title.
- Stories are updated, and the change is checked in the running app.
🤖 Generated with Claude Code
- Dominant language
- TypeScript
- Stars
- 0
- Forks
- 1
- Avg merge
- 46m
- Merged PRs (30d)
- 117
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from shovon/pbnotes
-
Sidebar: a lighter highlight for the current entryPossibly taken @shovon claimed this today. Openenhancement
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
Maintainers usually reply within 1 day
-
Website for Pb NotesOpenenhancement
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
Maintainers usually reply within 1 day
-
enhancement
Difficulty 4/5 3-5 days Newbie friendliness 45/100
Maintainers usually reply within 1 day
Similar issues
-
documentation good first issue roadmap
Difficulty 1/5 1-3 hours Newbie friendliness 68/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
resend/react-email#3876 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
siyuan-note/siyuan#21324 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
dmno-dev/varlock#1279 · 1 comment ·
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
himynameisdave/bsky-profanity-counter#59 ·
Maintainers usually reply within 1 day