feat: ✨ add recyclability and repairability filters#823
Open
phoebus-84 wants to merge 16 commits intodtecfrom
Open
feat: ✨ add recyclability and repairability filters#823phoebus-84 wants to merge 16 commits intodtecfrom
phoebus-84 wants to merge 16 commits intodtecfrom
Conversation
Collaborator
phoebus-84
commented
Feb 25, 2026
- chore: 🔧 new publish workflow also for tchibo branch (chore: 🔧 new publish workflow also for tchibo branch #809)
- style: 🎨 lighter markdown editor (style: 🎨 lighter markdown editor #763)
- feat: ✨ links to projects now lead to new products page (feat: ✨ links to projects now lead to new products page #813)
- feat: ✨ improve UX for unauthenticated users (feat: ✨ improve UX for unauthenticated users #814)
- fix: 🐛 project images editing (fix: 🐛 project images editing #817)
- fix: 🐛 qr code disappear for projects that have it and new tabs mapping for url params (fix: 🐛 qr code disappear for projects that have it and new tabs mapping for url params #818)
- feat: ✨ add recyclability and repairability filters (feat: ✨ add recyclability and repairability filters #821)
Co-authored-by: Puria Nafisi Azizi <puria@dyne.org>
Co-authored-by: Puria Nafisi Azizi <puria@dyne.org>
- Make 404 page public (accessible without login) - Hide Contributors tab when not authenticated - Hide user info sections (contributors, project by) for logged-out users - Skip GraphQL user queries when not authenticated - Hide contributions count/button when 0 - Show DPP QR-code only for products with DPP metadata - Fix BrBreadcrumb and GeneralCard license footer Related to epic interfacer-gui-m4c Closes: interfacer-gui-m4c.1, interfacer-gui-m4c.2, interfacer-gui-m4c.3, interfacer-gui-m4c.4, interfacer-gui-m4c.5 --------- Co-authored-by: Puria Nafisi Azizi <puria@dyne.org>
…ng for url params (#818)
Recyclability: numeric percentage (0-100%) with monotonic range tags for stepped filtering via classifiedAs, same pattern as energy/CO2. Repairability: binary toggle with single 'repairability-available' tag in classifiedAs. Both filters are wired through: - Create flow (ProductFiltersStep) - Edit flow (specs.tsx) - Products sidebar filters (ProductsFilters) - Active filters bar chips (ProductsActiveFiltersBar) - Tag generation and normalization (tagging.ts, useProjectCRUD) Closes interfacer-gui-zsv
- **feat: ✨ Epic 1 - Design System Foundation** - **feat: ✨ Epic 2 - Navigation and Layout Redesign** - **feat: ✨ Epic 3 - Catalog Pages (Designs, Products, Services)** - **feat: ✨ redesign project detail page with new layout** - **feat: ✨ Epic 5 - Profile Page Redesign with new layout and tabs** - **feat: ✨ Epic 6 - Creation Forms Redesign with new design tokens** - **chore: 🔧 close epics 7-9 in bd tracker** - **feat: ✨ add creation form access from profile page (cxo.7)** - **fix: 🐛 align catalog titles, stats & placeholders with prototype (cxo.1, cxo.2, cxo.3)** - **feat: ✨ add Show All dropdown to catalog toolbar (cxo.5)** - **feat: ✨ add missing sidebar filters (cxo.4)** - **feat: ✨ rename My list to Saved Lists, add Track Record nav item (cxo.8)** - **feat: ✨ enhance project cards with requires/nearby and based-on links (cxo.6)** - **feat: ✨ enhance detail page sidebar and add product passport section (cxo.9)**
- Add /dpps/[id] route with SSG fallback and public access
- Header card: orange DPP icon, inline status badge, batch code,
Share/Download PDF/overflow action buttons
- Collapsible 'What is a DPP?' explainer card with checkmarks
- Sticky sidebar with colored section navigation (desktop)
- Section cards with colored icon headers, title+subtitle, field grids
- Product detail DPP cards navigate to /dpps/{id}
- Profile DPP tab rows navigate to /dpps/{id} with keyboard support
- Fix useDppApi infinite re-render: bypass unstable useStorage refs,
read localStorage directly in useCallback bodies
Closes: interfacer-gui-7yb.1, .2, .3, .4, .6, .7, .8, .9
- Topbar: Designs nav button links to /designs instead of / - Topbar: active state uses exact path matching, no fallback - NavigationMenu: Designs sidebar link updated to /designs - Logo still links to / homepage
… backend (#838) - **feat: ✨ wire totalCount into first hero stat card on catalog pages** - **feat: ✨ wire sorting orderBy and distinctPrimaryAccountableCount from backend**
- Add KPI counter cards (total/active/drafts/archived) with backend facets - Add status filter dropdown and expanded sort options - Redesign table with Product ID, DPP ID, Batch/Unit, Status, Created columns - Add QR code download button and More Actions overflow menu - Add pagination footer showing count of displayed DPPs - Update API types for facets, search, sort params - Wire frontend to new backend search/sort/facets/QR endpoints
…840) ## Summary - remove owner-only edit banners from profile and project detail pages while keeping inline edit actions - fix search page filter composition to avoid sending mutually exclusive fields name and orName - fix profile tab search by wiring search input into the projects query filter with debounce ## Commits - refactor(ui): remove owner edit banners from profile and project detail pages - fix(search): avoid sending both name and orName filter params - fix(profile): wire search input to GraphQL filter in profile tabs ## Testing - manual verification of search page error path and profile tab search behavior
… system classifiedAs (#841) classifiedAs stores both user free-form tags and system-derived metadata (machine-*, material-*, category-*, powercompat-*, env-*, etc.), forcing display code to maintain drifting per-component blocklists to hide system tags from users. Introduce a dedicated TAG_PREFIX.USER = "tag" prefix applied symmetrically on save and read: - lib/tagging.ts: add userTag, isUserTag, stripUserTagPrefix, isSystemTag, extractUserTagValues, normalizeUserTagsForSave helpers plus SYSTEM_TAG_PREFIXES and LEGACY_SYSTEM_TAG_PATTERNS constants. - Save sites (useProjectCRUD handleProjectCreation + handleMachineCreation, resource claim) normalize user-entered tags to tag-<slug>. - URL filter producers (ProductsFilters, ProjectsFilters) prefix on apply and strip on load so chips show "laser cut" instead of "tag-laser-cut". - Display sites (ProjectCardNew, ProjectDetailNew, GeneralCard, ProjectsTableRow, ProductsActiveFiltersBar) route through extractUserTagValues, removing bespoke blocklists (including stale mat:, c:, pc:, env:, pwr:, rep:, m: entries). - Legacy un-prefixed tags remain visible via backwards-compat fallback in extractUserTagValues; no data migration required. Closes interfacer-gui-i46.
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.