Extract vendored dioxus-primitives components into their own crate #10

Merged
schaefera merged 1 commit from worktree-extract-dx-components into main 2026-09-15 10:23:29 +00:00
Collaborator

Summary

  • crates/web/src/components/ (badge, button, input, scroll_area, separator, sheet, sidebar, skeleton, tooltip) was a byte-for-byte copy of the DioxusLabs/components preview/ registry — a shadcn-style "copy this source into your project" set, not something published as a real crate dependency.
  • Moved it wholesale into a new feedsignal-dioxus-components workspace crate (crates/dioxus-components) so it reads as vendored code the app depends on, not application source. crates/web now imports feedsignal_dioxus_components::{badge, button, input, scroll_area, sidebar} instead of crate::components::*.
  • Every moved file is a pure git rename (100% identical content) — no component logic, styling, or css_module paths were touched. Going forward, app-specific styling should layer on via the class/attributes props each component already accepts rather than editing the vendored files directly.

Test plan

  • cargo check -p feedsignal-dioxus-components
  • cargo check -p feedsignal-web --no-default-features --features web
  • cargo check -p feedsignal-web --no-default-features --features server
  • cargo fmt --check
  • cargo clippy --workspace --exclude feedsignal-web --all-targets -- -D warnings
  • cargo clippy -p feedsignal-web --no-default-features --features server --all-targets -- -D warnings
  • cargo clippy -p feedsignal-web --no-default-features --features web --target wasm32-unknown-unknown -- -D warnings
  • cargo test --workspace --exclude feedsignal-web

🤖 Generated with Claude Code

## Summary - `crates/web/src/components/` (badge, button, input, scroll_area, separator, sheet, sidebar, skeleton, tooltip) was a byte-for-byte copy of the [DioxusLabs/components](https://github.com/DioxusLabs/components) `preview/` registry — a shadcn-style "copy this source into your project" set, not something published as a real crate dependency. - Moved it wholesale into a new `feedsignal-dioxus-components` workspace crate (`crates/dioxus-components`) so it reads as vendored code the app depends on, not application source. `crates/web` now imports `feedsignal_dioxus_components::{badge, button, input, scroll_area, sidebar}` instead of `crate::components::*`. - Every moved file is a pure git rename (100% identical content) — no component logic, styling, or `css_module` paths were touched. Going forward, app-specific styling should layer on via the `class`/`attributes` props each component already accepts rather than editing the vendored files directly. ## Test plan - [x] `cargo check -p feedsignal-dioxus-components` - [x] `cargo check -p feedsignal-web --no-default-features --features web` - [x] `cargo check -p feedsignal-web --no-default-features --features server` - [x] `cargo fmt --check` - [x] `cargo clippy --workspace --exclude feedsignal-web --all-targets -- -D warnings` - [x] `cargo clippy -p feedsignal-web --no-default-features --features server --all-targets -- -D warnings` - [x] `cargo clippy -p feedsignal-web --no-default-features --features web --target wasm32-unknown-unknown -- -D warnings` - [x] `cargo test --workspace --exclude feedsignal-web` 🤖 Generated with [Claude Code](https://claude.com/claude-code)
claude-bot added 1 commit 2026-09-15 09:31:47 +00:00
Extract vendored dioxus-primitives components into their own crate
All checks were successful
CI / check (pull_request) Successful in 15m54s
CI / test (pull_request) Successful in 10m5s
CI / audit (pull_request) Successful in 27s
3dcf404b26
crates/web/src/components/ was a byte-for-byte copy of the
DioxusLabs/components "preview" registry (a shadcn-style copy-into-
your-project source, not something published as a dependency). Move it
wholesale into a new feedsignal-dioxus-components crate so it reads as
vendored code we depend on rather than application source, and future
app-specific styling should layer on via the class/attributes props
each component already accepts instead of editing the vendored files.

No component logic changed — this is a pure move plus import-path
updates in the four app files that consumed it.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
claude-bot changed title from WIP: Extract vendored dioxus-primitives components into their own crate to Extract vendored dioxus-primitives components into their own crate 2026-09-15 10:22:18 +00:00
schaefera approved these changes 2026-09-15 10:23:24 +00:00
schaefera merged commit bc07a8808f into main 2026-09-15 10:23:29 +00:00
schaefera deleted branch worktree-extract-dx-components 2026-09-15 10:23:29 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: schaefera/feedsignal#10
No description provided.