1
0
Fork 0
mirror of https://github.com/maziggy/bambuddy.git synced 2026-05-09 08:25:54 +02:00

[PR #591] [CLOSED] Add inline speed control dropdown to printer cards #1081

Closed
opened 2026-05-07 00:15:53 +02:00 by BreizhHardware · 0 comments

📋 Pull Request Information

Original PR: https://github.com/maziggy/bambuddy/pull/591
Author: @aneopsy
Created: 3/4/2026
Status: Closed

Base: 0.2.2b1Head: feature/quick-speed-control-256


📝 Commits (1)

  • a71a676 Add one-tap print speed presets to printer control row

📊 Changes

14 files changed (+481 additions, -145 deletions)

View changed files

📝 backend/app/api/routes/printers.py (+27 -0)
📝 backend/tests/integration/test_printers_api.py (+130 -0)
📝 frontend/src/api/client.ts (+6 -0)
📝 frontend/src/i18n/locales/de.ts (+8 -0)
📝 frontend/src/i18n/locales/en.ts (+8 -0)
📝 frontend/src/i18n/locales/fr.ts (+8 -0)
📝 frontend/src/i18n/locales/it.ts (+8 -0)
📝 frontend/src/i18n/locales/ja.ts (+8 -0)
📝 frontend/src/i18n/locales/pt-BR.ts (+8 -0)
📝 frontend/src/i18n/locales/zh-CN.ts (+8 -0)
📝 frontend/src/pages/PrintersPage.tsx (+119 -2)
📝 static/assets/index-BuAdij3n.css (+1 -1)
📝 static/assets/index-CTR8x2VB.js (+140 -140)
📝 static/index.html (+2 -2)

📄 Description

Description

Adds a compact inline dropdown for changing print speed presets (Silent / Standard / Sport / Ludicrous) directly from the printer card, without needing to open a separate modal or the printer's full settings.

image image

Fixes #256

Type of Change

  • Bug fix (non-breaking change that fixes an issue)
  • New feature (non-breaking change that adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Documentation update
  • Code refactoring
  • Performance improvement
  • Test addition or update

Changes Made

  • New POST /api/v1/printers/{id}/speed?mode=1-4 endpoint to set print speed via MQTT
  • SpeedDropdown component rendered inline alongside fan/chamber badges on actively printing cards
  • Auto-closes dropdown on print end and on scroll to prevent stale UI
  • Integration tests covering valid modes, out-of-range values, disconnected printers, and missing printers
  • i18n keys added to all 7 locale files (en, de, fr, it, ja, pt-BR, zh-CN)

Testing

  • I have tested this on my local machine
  • I have tested with my printer model: X1C

Checklist

  • My code follows the project's coding style
  • My changes generate no new warnings
  • I have tested my changes thoroughly

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/maziggy/bambuddy/pull/591 **Author:** [@aneopsy](https://github.com/aneopsy) **Created:** 3/4/2026 **Status:** ❌ Closed **Base:** `0.2.2b1` ← **Head:** `feature/quick-speed-control-256` --- ### 📝 Commits (1) - [`a71a676`](https://github.com/maziggy/bambuddy/commit/a71a67616c1ffdd3b5dfa48c3e1707da6e169285) Add one-tap print speed presets to printer control row ### 📊 Changes **14 files changed** (+481 additions, -145 deletions) <details> <summary>View changed files</summary> 📝 `backend/app/api/routes/printers.py` (+27 -0) 📝 `backend/tests/integration/test_printers_api.py` (+130 -0) 📝 `frontend/src/api/client.ts` (+6 -0) 📝 `frontend/src/i18n/locales/de.ts` (+8 -0) 📝 `frontend/src/i18n/locales/en.ts` (+8 -0) 📝 `frontend/src/i18n/locales/fr.ts` (+8 -0) 📝 `frontend/src/i18n/locales/it.ts` (+8 -0) 📝 `frontend/src/i18n/locales/ja.ts` (+8 -0) 📝 `frontend/src/i18n/locales/pt-BR.ts` (+8 -0) 📝 `frontend/src/i18n/locales/zh-CN.ts` (+8 -0) 📝 `frontend/src/pages/PrintersPage.tsx` (+119 -2) 📝 `static/assets/index-BuAdij3n.css` (+1 -1) 📝 `static/assets/index-CTR8x2VB.js` (+140 -140) 📝 `static/index.html` (+2 -2) </details> ### 📄 Description ## Description Adds a compact inline dropdown for changing print speed presets (Silent / Standard / Sport / Ludicrous) directly from the printer card, without needing to open a separate modal or the printer's full settings. <img width="516" height="268" alt="image" src="https://github.com/user-attachments/assets/6ad5037b-04ec-4e32-ad6d-2ef9ea65ef42" /> <img width="236" height="220" alt="image" src="https://github.com/user-attachments/assets/69f6a273-80e9-428b-a08e-b30e7d8d5cb9" /> ## Related Issue Fixes #256 ## Type of Change - [ ] Bug fix (non-breaking change that fixes an issue) - [x] New feature (non-breaking change that adds functionality) - [ ] Breaking change (fix or feature that would cause existing functionality to change) - [ ] Documentation update - [ ] Code refactoring - [ ] Performance improvement - [ ] Test addition or update ## Changes Made - New `POST /api/v1/printers/{id}/speed?mode=1-4` endpoint to set print speed via MQTT - `SpeedDropdown` component rendered inline alongside fan/chamber badges on actively printing cards - Auto-closes dropdown on print end and on scroll to prevent stale UI - Integration tests covering valid modes, out-of-range values, disconnected printers, and missing printers - i18n keys added to all 7 locale files (en, de, fr, it, ja, pt-BR, zh-CN) ## Testing - [x] I have tested this on my local machine - [x] I have tested with my printer model: X1C ## Checklist - [x] My code follows the project's coding style - [x] My changes generate no new warnings - [x] I have tested my changes thoroughly --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
BreizhHardware 2026-05-07 00:15:53 +02:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
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
starred/bambuddy-maziggy-1#1081
No description provided.