From 61d1a18ce66335cc80542f403e1e1e37dfc89313 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alja=C5=BE=20Hribernik?= Date: Thu, 8 Jan 2026 04:28:46 +0100 Subject: [PATCH 01/11] room user, user label and context menu --- web/package.json | 6 +- web/src/components/icon/icons.ts | 2 + .../components/identity/user-context-menu.vue | 137 ++++++++++++++++++ web/src/components/identity/user-identity.vue | 2 +- web/src/components/identity/user-label.vue | 66 +++++++++ web/src/components/identity/user-room.vue | 41 ++++++ web/src/icons/promote.svg | 3 + web/src/icons/remove.svg | 4 + web/src/main.css | 6 + web/src/views/RoomView.vue | 12 +- 10 files changed, 274 insertions(+), 5 deletions(-) create mode 100644 web/src/components/identity/user-context-menu.vue create mode 100644 web/src/components/identity/user-label.vue create mode 100644 web/src/components/identity/user-room.vue create mode 100644 web/src/icons/promote.svg create mode 100644 web/src/icons/remove.svg diff --git a/web/package.json b/web/package.json index c84007f..483b90c 100644 --- a/web/package.json +++ b/web/package.json @@ -23,7 +23,7 @@ "@regle/rules": "^1.16.1", "crypto-js": "^4.2.0", "slugify": "^1.6.6", - "vue": "3.5.15", + "vue": "^3.5.26", "vue-router": "4" }, "devDependencies": { @@ -31,7 +31,7 @@ "@spiriit/vite-plugin-svg-spritemap": "^6.0.0", "@types/crypto-js": "^4.2.2", "@types/node": "^24.10.1", - "@vitejs/plugin-vue": "5.2.1", + "@vitejs/plugin-vue": "^6.0.0", "@vue/eslint-config-prettier": "^10.2.0", "@vue/eslint-config-typescript": "^14.6.0", "@vue/tsconfig": "^0.8.1", @@ -42,7 +42,7 @@ "oxlint": "^1.36.0", "prettier": "^3.7.4", "typescript": "~5.9.3", - "vite": "~7.0.0", + "vite": "^7.3.0", "vite-plugin-vue-devtools": "^8.0.5", "vue-tsc": "^3.2.1" } diff --git a/web/src/components/icon/icons.ts b/web/src/components/icon/icons.ts index fe4d76c..0b09475 100644 --- a/web/src/components/icon/icons.ts +++ b/web/src/components/icon/icons.ts @@ -7,6 +7,8 @@ export const ICONS = [ 'delete', 'add', 'arrow_down', + 'promote', + 'remove', ] as const export type TIconName = (typeof ICONS)[number] diff --git a/web/src/components/identity/user-context-menu.vue b/web/src/components/identity/user-context-menu.vue new file mode 100644 index 0000000..f6003d6 --- /dev/null +++ b/web/src/components/identity/user-context-menu.vue @@ -0,0 +1,137 @@ + + + + + \ No newline at end of file diff --git a/web/src/components/identity/user-identity.vue b/web/src/components/identity/user-identity.vue index c4a3973..f5755dc 100644 --- a/web/src/components/identity/user-identity.vue +++ b/web/src/components/identity/user-identity.vue @@ -18,7 +18,7 @@ const emit = defineEmits<{