# Changelog All notable changes to **A-WP-Notes** are documented here. Format: [Keep a Changelog 1.1.0](https://keepachangelog.com/en/1.1.0/) — versioning: [SemVer](https://semver.org/). --- ## [Unreleased] ### Fixed — Duplicate "Create a New WP Note" form at the bottom of My Notes A second, bare-bones *"Create a New WP Note"* form was being rendered at the **bottom** of the My Notes page, below the active and completed lists. The form at the **top** (the proper `Add New Note` postbox with color/size/font/emoji controls) is the intended one — the bottom one was a duplicate, redundant from a UX standpoint. **Root cause:** WordPress registers BOTH the parent menu's callback AND a submenu's callback against the same page hook when the two share a `menu_slug`. When `?page=wp-notes` is requested, both fire in registration order. The submenu was passing `wp_notes_create_page` as its callback (a separate bare-form renderer used by the Tools-menu shortcut), so its output was getting appended below the main page. **Fix:** the My Notes submenu now passes an **empty string** as the callback — the standard WP pattern when a submenu just relabels the parent (same slug, same target page). Only the parent's `wp_notes_page_callback` renders now. The `wp_notes_create_page` function is unchanged and still serves the Tools → My Notes shortcut at `?page=wp-notes-create`. ### Fixed — Empty-state notice ("No notes found") now dismissible The "No active notes found" / "No completed notes found" inline notice on the My Notes page rendered with `class="notice notice-info"` but no `is-dismissible` modifier, so WordPress's core common.js never attached an X close button to it. Users couldn't clear the message for the current view. Adding `is-dismissible` is the only change — WP core handles the X button render + click-to-hide automatically. Dismissal is per-page-load (the message reappears on next refresh if the list is still empty); persistence across reloads would need user_meta tracking and isn't built yet. **Notice inventory after this fix** — every notice the plugin emits is now both dismissible AND only fires in its intended state: | Notice | Class | Fires when | |---|---|---| | "No active/completed notes found" | `notice notice-info is-dismissible` | List is empty | | Migration prompt | `notice notice-info is-dismissible` | `wp_notes_migration_completed` option is unset | | Settings save / import errors / import success | rendered by core `settings_errors()` (auto-dismissible since WP 4.2) | Only on form submission events | ### Changed — Removed duplicate smiley-face button on the emoji picker The "Add emoji" formatting option rendered two clickable elements stacked: the *"Click to add emoji"* text input AND a separate button beside it with a smiley-face dashicon. Both opened the same dropdown picker — visually duplicated and slightly confusing. The standalone button has been removed; clicking the input itself still opens the picker (the JS already wired both targets to the same handler). Keyboard navigation (Enter/Space to toggle, Escape to close) follows focus to the input instead of the now-gone button. Orphaned `.emoji-picker-button` CSS rule deleted. ### Changed — Menu labels: "Create WP Note" → "My Notes", "About WP Notes" → "About" - **"Create WP Note" submenu renamed to "My Notes"** (both in the WP Notes parent menu and the Tools → quick-access shortcut). The page is the central dashboard — create form + active list + completed list + edit + restore — so "Create" was misleadingly narrow. "My Notes" matches the WP-native `Posts → All Posts` pattern. - **"About WP Notes" submenu renamed to just "About".** The WP Notes brand is already carried by the parent menu, so the submenu can be plain-spoken. - **About page H1 trimmed** to match the Tier-1 style on the main page: `
` tags wrapping `