Skip to content

feat: phase 5 & 6 — link settings, collections CRUD, drag-and-drop re… - #32

Merged
NehanAhmed merged 1 commit into
mainfrom
feat/collections-link-settings-phase-5-6
Jul 16, 2026
Merged

feat: phase 5 & 6 — link settings, collections CRUD, drag-and-drop re…#32
NehanAhmed merged 1 commit into
mainfrom
feat/collections-link-settings-phase-5-6

Conversation

@NehanAhmed

@NehanAhmed NehanAhmed commented Jul 16, 2026

Copy link
Copy Markdown
Owner

…order

Summary by CodeRabbit

  • New Features

    • Added full collection management, including creation, editing, deletion, hierarchical viewing, and drag-and-drop reordering.
    • Added collection detail tools for managing links, bulk selection, search, and pagination.
    • Added comprehensive link settings for scheduling, QR-code expiration, bot blocking, passwords, deletion, and permanent removal.
    • Added unsaved-change warnings and confirmation dialogs for sensitive actions.
  • Bug Fixes

    • Improved loading, empty, success, and error states across collection and link management pages.

@NehanAhmed
NehanAhmed merged commit f0ac07a into main Jul 16, 2026
0 of 2 checks passed
@coderabbitai

coderabbitai Bot commented Jul 16, 2026

Copy link
Copy Markdown

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: b7ff2447-78de-4ee9-8306-a137ac50d6d1

📥 Commits

Reviewing files that changed from the base of the PR and between 1beac81 and b1e669f.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (6)
  • apps/api/src/services/collections.service.ts
  • apps/dashboard/package.json
  • apps/dashboard/src/pages/CollectionDetailPage.tsx
  • apps/dashboard/src/pages/CollectionsListPage.tsx
  • apps/dashboard/src/pages/UrlSettingsPage.tsx
  • packages/shared/src/index.ts

📝 Walkthrough

Walkthrough

The dashboard now provides complete collection list/detail management and URL settings pages. It adds drag-and-drop collection ordering, URL membership controls, scheduling and QR expiry settings, password management, deletion workflows, shared QR expiry contracts, and supporting DnD dependencies.

Changes

Dashboard management flows

Layer / File(s) Summary
Collection hierarchy and ordering
apps/dashboard/package.json, apps/dashboard/src/pages/CollectionsListPage.tsx, apps/api/src/services/collections.service.ts
Collections can be created, edited, deleted, displayed hierarchically, reordered with drag-and-drop, and persisted through sequential sort-order updates.
Collection URL membership
apps/dashboard/src/pages/CollectionDetailPage.tsx
Collection details support loading, adding single or multiple URLs, removing URLs, pagination, editing, and deletion.
URL settings and destructive actions
packages/shared/src/index.ts, apps/dashboard/src/pages/UrlSettingsPage.tsx
URL settings support active/expiry dates, QR expiry, bot blocking, password operations, soft deletion, and permanent purge with confirmation dialogs.

Estimated code review effort: 4 (Complex) | ~60 minutes

Sequence Diagram(s)

sequenceDiagram
  participant User
  participant CollectionsListPage
  participant CollectionsAPI
  participant Database
  User->>CollectionsListPage: drag root collection
  CollectionsListPage->>CollectionsListPage: flatten reordered tree
  CollectionsListPage->>CollectionsAPI: submit sort-order payload
  CollectionsAPI->>Database: update collection sortOrder values
  Database-->>CollectionsAPI: persist updates
  CollectionsAPI-->>CollectionsListPage: return result
Loading

Possibly related PRs

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/collections-link-settings-phase-5-6

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant