Repository navigation
feat: advanced search, receipt export, onboarding, real-time collab (#794 #795 #796 #797) - #838
Merged
Kingsman-99 merged 1 commit intoSep 28, 2026
Conversation
…tellar-split#797 — search, export, onboarding, collab Stellar-split#794 — Advanced full-text invoice search - Rewrite searchInvoices() with multi-token AND semantics across id, status, creator, recipients, title, and token fields - Add saved search persistence (saveNamedSearch / removeSavedSearch) - Add per-entry recent search removal (removeRecentSearch) - Add FullTextSearchBar component to search page with clear button - Add SearchHistoryPanel showing saved searches (starred) and recent history - Integrate full-text filter on top of structured FilterIndex results - clearAll() now also resets the full-text query Stellar-split#795 — Invoice PDF export with receipt PDF and QR code - Extract generateQrCodeDataUrl() helper (reused by both PDF variants) - Add downloadReceiptPdf() — compact A5 receipt PDF with branded banner, summary table, and QR code pointing to on-chain verification page - Add sendReceiptEmail() — calls /api/send-confirmation with invoice metadata - Add 'Receipt PDF' and 'Email Receipt' buttons to InvoiceExportButton - Email panel expands inline with address input and sends-on-Enter support - All three export actions are independent and show individual loading states Stellar-split#796 — Creator onboarding flow with interactive tutorials - Expand from 3 → 5 steps: Welcome, Connect Wallet, Create Invoice, Share, Checklist - Add Tooltip bubble component (? icon, hover/focus activated) - Each step title shows a contextual tooltip via Tooltip component - Add Back button for non-linear navigation between steps - Clickable progress-bar segments for direct step jumping - Add OnboardingChecklist component with 5 getting-started items, a progress bar, and localStorage persistence of checked state - Welcome step shows a feature highlights card - Share step shows a numbered how-it-works explanation - Wallet step adds Freighter install link for new users Stellar-split#797 — Real-time collaboration with co-editor panel and field highlights - Add CoEditorPanel component: collapsible sidebar showing online presence list, active field edits, connection status indicator (Live / Connecting / Disconnected) - Add FieldHighlight wrapper: renders a colored glow ring + editor avatar badges on any input when a remote collaborator has it focused - Add PresenceDot with full-address tooltip on hover - Add ConnectionIndicator with animated pulse for connecting/error states - Collapsed mode shows avatar row for minimal footprint - Permission-denied banner auto-dismisses after 5 s - colorForAddress() and contrastTextColor() for accessible colored avatars
|
@bambuska-man is attempting to deploy a commit to the kingsman-99's projects Team on Vercel. A member of the Team first needs to authorize it. |
|
@bambuska-man Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits. You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR implements four open issues in a single cohesive batch, touching the search layer, export pipeline, onboarding experience, and real-time collaboration system.
#794 — Advanced full-text invoice search
Files:
src/lib/invoiceSearch.ts,src/app/search/page.tsxsearchInvoices()splits the query on whitespace and requires all tokens to appear somewhere in the invoice corpus (id, status, creator, recipients, title, token) using AND semantics.saveNamedSearch/removeSavedSearch/getSavedSearcheshelpers persist named searches to localStorage (up to 20).removeRecentSearch(query)lets users delete individual recent entries without clearing the whole history.FilterIndexresults so both filter dimensions work simultaneously.#795 — Invoice PDF export with receipt PDF and QR code
Files:
src/components/InvoiceExportButton.tsxdownloadReceiptPdf) with a branded color banner, summary table, and an embedded QR code pointing to the on-chain verification page./api/send-confirmationwith invoice metadata; shows success/error feedback inline; supports Enter-to-send.generateQrCodeDataUrl()helper reused by both the full invoice export and the receipt variant.resolveBranding) is extracted into a callback to avoid repetition.#796 — Creator onboarding flow with interactive tutorials
Files:
src/components/OnboardingFlow.tsxrole=tooltip).stellarsplit_checklist.#797 — Real-time collaboration with co-editor panel and field highlights
Files:
src/components/CoEditorPanel.tsxuseInvoiceCollaboration. Shows:ConnectionIndicatorwith animated pulse (Live / Connecting… / Disconnected)<input>/<textarea>when a remote collaborator has that field focused. Drop-in usage:<FieldHighlight fieldName="title" remoteCursors={remoteCursors}>...</FieldHighlight>.colorForAddress()+contrastTextColor()ensure legible colored avatars for every collaborator.Testing
All changes are built on top of existing tested utilities (
FilterIndex,useInvoiceCollaboration,BrandSettings) and do not modify their contracts. No new runtime dependencies were added.Closes #794
Closes #795
Closes #796
Closes #797