redis-smq-web-ui 9.0.0-next.0 → 9.0.0-next.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,128 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [9.0.0-next.10](https://github.com/weyoss/redis-smq/compare/v9.0.0-next.9...v9.0.0-next.10) (2025-10-26)
7
+
8
+ ### 🐛 Bug Fixes
9
+
10
+ - **redis-smq-web-ui:** handle correctly base path ([f338be1](https://github.com/weyoss/redis-smq/commit/f338be1c279bd1b6a91225c85c2615490f0050cc))
11
+
12
+ ### 🚀 Chore
13
+
14
+ - **redis-smq-web-ui:** upgrade playwright to version 1.56.1 ([ac1cd46](https://github.com/weyoss/redis-smq/commit/ac1cd46cc64c927fb00ade40e39e4752fc8fa9fd))
15
+ - **redis-smq-web-ui:** upgrade vite to version 7.1.12 ([5c92529](https://github.com/weyoss/redis-smq/commit/5c92529828d9f2512dee5f1b95d92eba996ee2ab))
16
+
17
+ ## [9.0.0-next.9](https://github.com/weyoss/redis-smq/compare/v9.0.0-next.8...v9.0.0-next.9) (2025-10-21)
18
+
19
+ **Note:** Version bump only for package redis-smq-web-ui
20
+
21
+ ## [9.0.0-next.8](https://github.com/weyoss/redis-smq/compare/v9.0.0-next.7...v9.0.0-next.8) (2025-10-18)
22
+
23
+ ### 🐛 Bug Fixes
24
+
25
+ - **redis-smq-web-ui:** make loading screen responsive with fluid scaling ([fe6d346](https://github.com/weyoss/redis-smq/commit/fe6d3469eaf67a3f52f903c79e2a25942c46ef86))
26
+ - **redis-smq-web-ui:** offer to create the first queue only when no queues exist ([8042b45](https://github.com/weyoss/redis-smq/commit/8042b45d5c735352df83e44176647c722509e128))
27
+
28
+ ### 📝 Documentation
29
+
30
+ - **redis-smq-web-ui:** update README screenshot to home view ([874ad7f](https://github.com/weyoss/redis-smq/commit/874ad7f342119b71004662731482e8b45b921991))
31
+
32
+ ### ♻️ Code Refactoring
33
+
34
+ - **redis-smq-web-ui:** integrate CreateQueueModal into HomeView, simplify dashboard ([de2a116](https://github.com/weyoss/redis-smq/commit/de2a116a8fb069a8ff51c0d3b616fadb7d6d306c))
35
+ - **redis-smq-web-ui:** make CreateQueueModal self-contained ([ff31b5c](https://github.com/weyoss/redis-smq/commit/ff31b5c5f3b10d0831184350616c096c0118613f))
36
+
37
+ ## [9.0.0-next.7](https://github.com/weyoss/redis-smq/compare/v9.0.0-next.6...v9.0.0-next.7) (2025-10-13)
38
+
39
+ ### 📝 Documentation
40
+
41
+ - **redis-smq-web-ui:** update web ui screenshot ([8c1addb](https://github.com/weyoss/redis-smq/commit/8c1addb026e6ee734070adc2d57e522d07411cdb))
42
+
43
+ ### ♻️ Code Refactoring
44
+
45
+ - **redis-smq-web-ui:** extract ClearRateLimitConfirmationModal component ([f46508a](https://github.com/weyoss/redis-smq/commit/f46508a70b1d1695f11dd7b0aff6d17f7d5ea36a))
46
+ - **redis-smq-web-ui:** unify queue display format to name@namespace ([0362b5b](https://github.com/weyoss/redis-smq/commit/0362b5b02245ef98cf33f2775ad280d9ae6fda05))
47
+
48
+ ## [9.0.0-next.6](https://github.com/weyoss/redis-smq/compare/v9.0.0-next.5...v9.0.0-next.6) (2025-10-13)
49
+
50
+ ### ✨ Features
51
+
52
+ - **redis-smq-web-ui:** add notification for exchange deletion with bound queues ([c9159fa](https://github.com/weyoss/redis-smq/commit/c9159fa9404583bacd88392c11ae245d5df3b4ba))
53
+ - **redis-smq-web-ui:** add unified DeleteExchangeModal for all exchange types ([db69156](https://github.com/weyoss/redis-smq/commit/db6915686fbb5f85414ee6a71f83b00a5afaf1ac))
54
+
55
+ ### ♻️ Code Refactoring
56
+
57
+ - **redis-smq-web-ui:** remove unused DeleteFanoutExchangeModal ([d91136c](https://github.com/weyoss/redis-smq/commit/d91136c952843fe16d8fcbc1b4f96ad92c452f93))
58
+
59
+ ## [9.0.0-next.5](https://github.com/weyoss/redis-smq/compare/v9.0.0-next.4...v9.0.0-next.5) (2025-10-12)
60
+
61
+ ### ✨ Features
62
+
63
+ - **redis-smq-web-ui:** improve mobile experience ([1230bfe](https://github.com/weyoss/redis-smq/commit/1230bfee88f2d6ed2dea4c56bd4b7e4c7dd216df))
64
+ - **redis-smq-web-ui:** notify about disabled message storage for ack/dl messages ([b3ecc52](https://github.com/weyoss/redis-smq/commit/b3ecc527548c770c37829cc69f716c27b8df5f14))
65
+
66
+ ### 🐛 Bug Fixes
67
+
68
+ - **redis-smq-web-ui:** fix sudden CreateExchangeModal closure ([b6b2b0e](https://github.com/weyoss/redis-smq/commit/b6b2b0edb6d4d1c4fc022d2cbaf2f21101a61c4a))
69
+
70
+ ### 🚀 Chore
71
+
72
+ - **redis-smq-web-ui:** update dependencies to latest versions ([f48c578](https://github.com/weyoss/redis-smq/commit/f48c578eaf84b04bdb700d808b5acc60396fc9e5))
73
+
74
+ ### 📝 Documentation
75
+
76
+ - add GitHub note callouts in README files ([86e855a](https://github.com/weyoss/redis-smq/commit/86e855ae7aea91e3295301671b8da3249164ea40))
77
+ - **redis-smq-web-ui:** fix license statement ([0e37a16](https://github.com/weyoss/redis-smq/commit/0e37a16143bc458de9b33e78e2be9f1757897f33))
78
+ - **redis-smq-web-ui:** improve README clarity and structure ([d85bffe](https://github.com/weyoss/redis-smq/commit/d85bffede56fcc17651af1ac7d0fb0a03cb331ce))
79
+ - standardize "next" branch reference ([15f3e4f](https://github.com/weyoss/redis-smq/commit/15f3e4f4347fd4f76f9dc167dd72f174f178ab8e))
80
+ - update README files for next branch with pre-release badges and doc links ([463250b](https://github.com/weyoss/redis-smq/commit/463250bbd754d44ae6741abcf4e2d62995aef620))
81
+
82
+ ### ♻️ Code Refactoring
83
+
84
+ - **redis-smq-web-ui:** migrate scripts utils to use RedisSMQ class ([30797f8](https://github.com/weyoss/redis-smq/commit/30797f855272f5c2f3456224c0a91a2301d2eb39))
85
+ - **redis-smq-web-ui:** remove unused CreateFanoutExchangeModal ([79f3fda](https://github.com/weyoss/redis-smq/commit/79f3fdae50c2f1cc21592e7a8759daf98be09fe8))
86
+ - **redis-smq-web-ui:** reorder navigation menu items ([235e81c](https://github.com/weyoss/redis-smq/commit/235e81c98a4df75b229b89227e06c2d7aaded068))
87
+
88
+ ## [9.0.0-next.4](https://github.com/weyoss/redis-smq/compare/v9.0.0-next.3...v9.0.0-next.4) (2025-10-09)
89
+
90
+ ### ✨ Features
91
+
92
+ - **redis-smq-web-ui:** add exchange management system ([c33650c](https://github.com/weyoss/redis-smq/commit/c33650c01a3c4fcd4663b08668642f7aea394fce))
93
+
94
+ ### 🐛 Bug Fixes
95
+
96
+ - **redis-smq-web-ui:** fix error message reference ([8e6fb43](https://github.com/weyoss/redis-smq/commit/8e6fb4379976a7a3d26036f22f235f0271da79a0))
97
+ - **redis-smq-web-ui:** initialize RedisSMQ before starting API server ([22887fa](https://github.com/weyoss/redis-smq/commit/22887faf0abc8939de9f90e8abfb18d7c8e93d02))
98
+ - **redis-smq-web-ui:** update branding ([2bd50ce](https://github.com/weyoss/redis-smq/commit/2bd50ce8ef75bdca9c5602ddc8bc6d36cdb8342f))
99
+
100
+ ### 📝 Documentation
101
+
102
+ - **redis-smq-web-ui:** improve README formatting ([e0d3399](https://github.com/weyoss/redis-smq/commit/e0d33990886f934df31e65fa831b87f7a761e3b0))
103
+
104
+ ### ♻️ Code Refactoring
105
+
106
+ - **redis-smq-web-ui:** standardize HTML formatting ([b290044](https://github.com/weyoss/redis-smq/commit/b290044c861014cda393467dd3b7af52f5507679))
107
+
108
+ ## [9.0.0-next.3](https://github.com/weyoss/redis-smq/compare/v9.0.0-next.2...v9.0.0-next.3) (2025-09-09)
109
+
110
+ ### 🐛 Bug Fixes
111
+
112
+ - **redis-smq-web-ui:** move redis-smq-rest-api from peer to dev deps ([573829e](https://github.com/weyoss/redis-smq/commit/573829e862355c33deb4b830a6c89c708d387c6f))
113
+
114
+ ### 📝 Documentation
115
+
116
+ - **redis-smq-web-ui:** include Priority Queues support ([ce6d143](https://github.com/weyoss/redis-smq/commit/ce6d1436ea0015e66d736e7a01f1e2982254a0c2))
117
+
118
+ ## [9.0.0-next.2](https://github.com/weyoss/redis-smq/compare/v9.0.0-next.1...v9.0.0-next.2) (2025-09-07)
119
+
120
+ ### 📝 Documentation
121
+
122
+ - **redis-smq-web-ui:** add screenshot to README ([c6fb731](https://github.com/weyoss/redis-smq/commit/c6fb731f1bf29021793cb7ee12e69b2a8332a707))
123
+
124
+ ## [9.0.0-next.1](https://github.com/weyoss/redis-smq/compare/v9.0.0-next.0...v9.0.0-next.1) (2025-09-06)
125
+
126
+ **Note:** Version bump only for package redis-smq-web-ui
127
+
6
128
  ## [9.0.0-next.0](https://github.com/weyoss/redis-smq/compare/v8.3.1...v9.0.0-next.0) (2025-09-06)
7
129
 
8
130
  ### ✨ Features
package/README.md CHANGED
@@ -1,115 +1,122 @@
1
1
  # RedisSMQ Web UI
2
2
 
3
- A Single Page Application for monitoring and managing RedisSMQ: inspect queues, messages, consumers, and more — with an integrated OpenAPI client.
3
+ > [!NOTE]
4
+ > You are viewing the documentation for the "next" branch. These docs describe unreleased changes published under the npm "next" dist-tag.
5
+ > For the latest stable documentation, see:
6
+ >
7
+ > - Master (stable) README: https://github.com/weyoss/redis-smq/tree/master/packages/redis-smq-web-ui
8
+ > - Latest release notes/tags: https://github.com/weyoss/redis-smq/releases/latest
9
+ > - Install stable packages with @latest; pre-release with @next.
10
+
11
+ ![RedisSMQ Web UI - Home](docs/screenshots/img01.png)
12
+
13
+ A Single Page Application for monitoring and managing RedisSMQ. Inspect queues and messages, review consumers, and perform common actions — with an integrated, type-safe OpenAPI client.
4
14
 
5
15
  - Works seamlessly with the RedisSMQ REST API
6
- - Best served via the RedisSMQ Web Server (serves static UI and hosts or proxies the API)
7
- - Ships with developer-friendly tooling, types, and test setup
16
+ - Best served via the RedisSMQ Web Server (serves the static UI and hosts or proxies the API)
17
+ - Ships with developer-friendly types and OpenAPI client generation
8
18
 
9
19
  ## Features
10
20
 
11
- - Dashboard to overview queues, consumers, and message stats
21
+ - Dashboard for queues, consumers, and message stats
12
22
  - Queue/message browsers with filters and actions (ack, retry, delete, etc.)
13
- - Support for FIFO/LIFO and multiple delivery models
14
- - Integrated documentation via Swagger UI (when served with the REST API)
15
- - Type-safe OpenAPI client (generated)
23
+ - Supports multiple queue and delivery models
24
+ - Exchange types: Direct, Topic, Fanout
25
+ - Type-safe OpenAPI client (generated from the REST API schema)
26
+ - History-fallback friendly routing (works correctly under a sub-path when configured)
16
27
 
17
28
  ## Version compatibility
18
29
 
19
- Always install matching versions of RedisSMQ packages. See the root docs for Version Compatibility. Use the same major/minor across:
20
- - redis-smq
21
- - redis-smq-common
22
- - redis-smq-rest-api
23
- - redis-smq-web-server
24
- - redis-smq-web-ui
25
-
26
- ## Getting started
27
-
28
- ### Recommended: run via the Web Server
29
-
30
- Use redis-smq-web-server to host the UI and API in one place, or proxy the API to an external service.
31
-
32
- - In-process API:
33
- - UI at http://localhost:8080/
34
- - API at http://localhost:8080/api
35
- - Proxy to an external REST API:
36
- - UI is still served locally
37
- - API/docs/assets are forwarded to the upstream API
30
+ Always install matching versions of RedisSMQ packages (same major/minor) to avoid runtime/API mismatches. See
31
+ [version-compatibility.md](/packages/redis-smq/docs/version-compatibility.md).
38
32
 
39
- See [RedisSMQ Web Server](../redis-smq-web-server/README.md) for CLI options such as:
40
- - --port
41
- - --base-path
42
- - --api-proxy-target
33
+ ## Requirements
43
34
 
44
- ### Development
35
+ See [requirements of RedisSMQ](/README.md).
45
36
 
46
- Prerequisites:
47
- - Node.js >= 20
48
- - PNPM (recommended)
37
+ ## Installation
49
38
 
50
- From the monorepo root:
39
+ Typically consumed via the [RedisSMQ Web Server](/packages/redis-smq-web-server/README.md). To set up everything with pre-release builds:
51
40
 
52
41
  ```bash
53
- pnpm install
54
- pnpm -w -C packages/redis-smq-web-ui dev
42
+ npm install redis-smq@next redis-smq-common@next redis-smq-rest-api@next redis-smq-web-ui@next redis-smq-web-server@next
43
+ # Choose a Redis client:
44
+ npm install ioredis
45
+ # or
46
+ npm install @redis/client
55
47
  ```
56
48
 
57
- #### OpenAPI client generation
49
+ ## Quick start
58
50
 
59
- The UI uses a generated OpenAPI client. To regenerate:
51
+ Use the [RedisSMQ Web Server](/packages/redis-smq-web-server/README.md) to serve the UI and either mount the REST API in-process or proxy to an external instance.
60
52
 
61
- ```shell
62
- pnpm -w -C packages/redis-smq-web-ui generate-openapi-client
63
- ```
64
-
65
- Make sure redis-smq-rest-api (with OpenAPI endpoint) is reachable as configured by the generation script.
53
+ - In-process API (default):
54
+ - UI at http://localhost:8080/
55
+ - API at http://localhost:8080/api
56
+ - Proxy to an external REST API:
57
+ - UI is served locally
58
+ - API/docs/assets are forwarded to the upstream API
66
59
 
67
- #### Running the dev Server
60
+ Examples:
68
61
 
69
62
  ```bash
70
- pnpm -w -C packages/redis-smq-web-ui dev
71
- ```
63
+ # Default (UI at /, API at /api)
64
+ npx redis-smq-web-server
72
65
 
73
- The dev script typically runs:
66
+ # Serve under a sub-path (e.g., behind a reverse proxy)
67
+ npx redis-smq-web-server --base-path /redis-smq
74
68
 
75
- - Vite dev server for the UI
76
- - A local REST API dev server for convenience
69
+ # Proxy API/docs/assets to an external REST API
70
+ npx redis-smq-web-server --api-proxy-target http://127.0.0.1:7210
71
+ ```
77
72
 
78
- - Open the printed local URL to access the UI during development.
79
-
80
- #### Building
81
-
82
- From the monorepo root:
73
+ See [RedisSMQ Web Server](/packages/redis-smq-web-server/README.md) for CLI options such as:
83
74
 
84
- ```shell
85
- pnpm -w -C packages/redis-smq-web-ui build
86
- ```
75
+ - `--port`
76
+ - `--base-path`
77
+ - `--api-proxy-target`
78
+ - Redis connection and logging options (used only when hosting the API in-process)
79
+
80
+ ## Configuration and routing
87
81
 
88
- Artifacts are output to the package’s dist directory.
89
- Serve the built assets with [RedisSMQ Web Server](../redis-smq-web-server/README.md) for correct routing and API integration.
82
+ - Base path
83
+ - When served by [RedisSMQ Web Server](/packages/redis-smq-web-server/README.md), basePath controls where the UI and local API/docs are mounted.
84
+ - Examples:
85
+ - basePath = / → UI at /, API at /api, Swagger UI at /docs
86
+ - basePath = /redis-smq → UI at /redis-smq, API at /redis-smq/api, Swagger UI at /redis-smq/docs
90
87
 
91
- #### Configuration and routing
88
+ - API endpoint
89
+ - With an embedded API (no proxy): the server mounts the REST API alongside the UI under <basePath>/api.
90
+ - With a proxy target: the server forwards <basePath>/api, <basePath>/docs, and <basePath>/assets to the configured upstream URL.
92
91
 
93
- - Base path: When served by redis-smq-web-server, the basePath is handled by the server and the UI will work under either / or a sub-path (e.g., /redis-smq).
94
- - API endpoint: When using redis-smq-web-server, the UI automatically talks to the in-process API or the configured proxy target.
95
- - Swagger UI and static docs are available when the REST API is hosted or proxied alongside the UI.
92
+ - Standalone/static hosting (advanced)
93
+ - If hosting the UI assets yourself:
94
+ - Serve the SPA with history fallback (so client-side routes work on refresh).
95
+ - Ensure the public base path matches where you host the app.
96
+ - Proxy API requests to the REST API under the same public base path (e.g., <basePath>/api).
97
+ - Expose <basePath>/docs and <basePath>/assets if you want Swagger UI and API schema accessible.
98
+ - Note: [RedisSMQ Web Server](/packages/redis-smq-web-server/README.md) already handles these concerns and is the simplest path.
96
99
 
97
- For standalone/static hosting, ensure your server:
100
+ ## Deploying behind a reverse proxy
98
101
 
99
- - Serves the built assets under the desired public base path
100
- - Proxies API requests to the REST API under the same base path (e.g., /api)
102
+ - Set a public sub-path using the web server’s --base-path (e.g., /redis-smq).
103
+ - Forward both the UI and API prefixes through your proxy:
104
+ - /redis-smq → web server
105
+ - If proxying the API to an external service, combine with --api-proxy-target:
106
+ - Client → reverse proxy → web server (/redis-smq)
107
+ - Web server proxies /redis-smq/api, /redis-smq/docs, /redis-smq/assets → external API
101
108
 
102
109
  ## Related packages
103
110
 
104
111
  - [redis-smq](../redis-smq/README.md): Core message queue
105
112
  - [redis-smq-common](../redis-smq-common/README.md): Shared components/utilities
106
- - [redis-smq-rest-api](../redis-smq-rest-api/README.md): REST API with OpenAPI 3 schema and Swagger UI
113
+ - [redis-smq-rest-api](../redis-smq-rest-api/README.md): REST API with OpenAPI v3 and Swagger UI
107
114
  - [redis-smq-web-server](../redis-smq-web-server/README.md): Static hosting + in-process or proxied API
108
115
 
109
116
  ## Contributing
110
117
 
111
- Contributions are welcome. Please see the repository’s CONTRIBUTING.md in the project root.
118
+ Contributions are welcome. Please see the repository’s [CONTRIBUTING.md](/CONTRIBUTING.md) in the project root.
112
119
 
113
120
  ## License
114
121
 
115
- RedisSMQ Web UI is licensed under is released under the [MIT License](https://github.com/weyoss/redis-smq/blob/master/LICENSE).
122
+ RedisSMQ Web UI is released under the [MIT License](/LICENSE).
@@ -0,0 +1 @@
1
+ import{d as F,u as N,a as P,b as B,c as T,e as Q,r as f,w as C,o as A,f as H,g as b,h as y,i as S,j as h,k as I,P as R,l as s,C as j,D as G,m as q,n as r,p as o,q as K,t as g,F as Y,s as z,Q as J,v as O,_ as U}from"./index-DxQqLPGB.js";const W={key:0,class:"alert alert-warning alert-dismissible fade show mb-4",role:"alert"},X={class:"queues-list-container"},Z={class:"queues-list-header"},ee={class:"queues-count"},te={class:"queues-list"},se="Queues",ae="Manage all available message queues",ue=F({__name:"QueuesView",setup(le){const E=O(),t=N(),_=P(),{sortedQueues:c,isLoadingQueues:d,queuesError:m,refetchQueues:v}=B(),{deleteQueue:w,isDeletingQueue:D,deleteQueueError:p,deleteQueueMutation:k}=T(async()=>{await v()}),M=Q(()=>c.value.length>0),l=f(!1),a=f(!1),i=f(null),V=Q(()=>[{id:"refresh-queues",label:"Refresh",icon:"bi bi-arrow-clockwise",variant:"secondary",disabled:d.value,loading:d.value,handler:()=>v()},{id:"create-queue",label:"Create Queue",icon:"bi bi-plus-circle",variant:"primary",disabled:!1,loading:!1,handler:()=>l.value=!0}]);function x(n,e){E.push({name:"Queue",params:{ns:n,queue:e}})}function L(n,e){i.value={ns:n,name:e},a.value=!0}async function $(){if(i.value)try{await w(i.value),a.value=!1}catch(n){console.error("Failed to delete queue:",n)}}return C(()=>{t.setPageHeader({title:se,subtitle:ae,icon:"bi bi-card-list"}),t.setPageActions(V.value),t.setLoadingState(d.value),m.value?(t.setErrorState(q(m.value)),t.setEmptyState(!1)):!d.value&&!M.value?(t.setErrorState(null),t.setEmptyState(!0,{icon:"bi bi-plus-square-dotted",title:"No Queues Found",message:"Get started by creating your first message queue.",actionLabel:"Create Your First Queue",actionHandler:()=>l.value=!0})):(t.setErrorState(null),t.setEmptyState(!1))}),C(()=>{_.clearSelectedQueue()}),A(()=>{v()}),H([{isVisible:l,onEscape:()=>l.value=!1},{isVisible:a,onEscape:()=>a.value=!1}]),(n,e)=>(r(),b("div",null,[y(R,null,{default:I(()=>[s(p)&&!a.value?(r(),b("div",W,[e[4]||(e[4]=o("i",{class:"bi bi-exclamation-triangle-fill me-2"},null,-1)),K(" "+g(s(q)(s(p)))+" ",1),o("button",{type:"button",class:"btn-close","aria-label":"Close",onClick:e[0]||(e[0]=u=>s(k).reset())})])):h("",!0),o("div",X,[o("div",Z,[o("h5",ee,g(s(c).length)+" Queue"+g(s(c).length!==1?"s":""),1)]),o("div",te,[(r(!0),b(Y,null,z(s(c),u=>(r(),S(J,{key:`${u.ns}-${u.name}`,queue:u,onSelect:x,onDelete:L},null,8,["queue"]))),128))])])]),_:1}),y(j,{"is-visible":l.value,onClose:e[1]||(e[1]=u=>l.value=!1),onCreated:e[2]||(e[2]=u=>s(v)())},null,8,["is-visible"]),a.value&&i.value?(r(),S(G,{key:0,"is-visible":a.value,"is-deleting":s(D),queue:i.value,onCancel:e[3]||(e[3]=u=>a.value=!1),onConfirm:$},null,8,["is-visible","is-deleting","queue"])):h("",!0)]))}}),oe=U(ue,[["__scopeId","data-v-4363b2b4"]]);export{oe as default};
@@ -0,0 +1 @@
1
+ .queues-list-container[data-v-4363b2b4]{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000000d;border:1px solid #e9ecef;overflow:hidden}.queues-list-header[data-v-4363b2b4]{padding:1.5rem 2rem 1rem;border-bottom:1px solid #e9ecef;background:#f8f9fa}.queues-count[data-v-4363b2b4]{margin:0;color:#495057;font-weight:600;font-size:1rem}.queues-list[data-v-4363b2b4]{max-height:calc(100vh - 260px);overflow-y:auto}.queues-list[data-v-4363b2b4]::-webkit-scrollbar{width:6px}.queues-list[data-v-4363b2b4]::-webkit-scrollbar-track{background:#f8f9fa}.queues-list[data-v-4363b2b4]::-webkit-scrollbar-thumb{background:#ced4da;border-radius:3px}.queues-list[data-v-4363b2b4]::-webkit-scrollbar-thumb:hover{background:#adb5bd}@media(max-width:768px){.queues-list-header[data-v-4363b2b4]{padding:1rem 1.5rem .75rem}.queues-list[data-v-4363b2b4]{max-height:calc(100vh - 220px)}}