diff --git a/code/CHANGELOG.md b/code/CHANGELOG.md
index 7d236e4ff..4ec9cdbb4 100644
--- a/code/CHANGELOG.md
+++ b/code/CHANGELOG.md
@@ -13,15 +13,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased]
-## Added
+### Added
- [#264](https://github.com/InditexTech/weavejs/issues/264) User selection awareness events plugin
-## Changed
+### Changed
- [#263](https://github.com/InditexTech/weavejs/issues/263) Awareness cursor UI improvements
+- [#274](https://github.com/InditexTech/weavejs/issues/274) Update create-app frontend
-## Fixed
+### Fixed
- [#245](https://github.com/InditexTech/weavejs/issues/245) Frames drag-and-drop quirks when frames overlap
diff --git a/code/packages/create-frontend-app/template/+nextjs+azure-web-pubsub/components/room-components/connected-users.tsx b/code/packages/create-frontend-app/template/+nextjs+azure-web-pubsub/components/room-components/connected-users.tsx
index c1903c27c..c33c3d710 100644
--- a/code/packages/create-frontend-app/template/+nextjs+azure-web-pubsub/components/room-components/connected-users.tsx
+++ b/code/packages/create-frontend-app/template/+nextjs+azure-web-pubsub/components/room-components/connected-users.tsx
@@ -1,7 +1,6 @@
'use client';
import React from 'react';
-import Avatar from 'boring-avatars';
import { Avatar as AvatarUI, AvatarFallback } from '@/components/ui/avatar';
import {
Tooltip,
@@ -19,6 +18,7 @@ import {
} from '@/components/ui/dropdown-menu';
import { useWeave } from '@inditextech/weave-react';
import { cn } from '@/lib/utils';
+import { getUserShort, stringToColor } from '../utils/users';
export const ConnectedUsers = () => {
const connectedUsers = useWeave((state) => state.users);
@@ -61,10 +61,10 @@ export const ConnectedUsers = () => {
{connectedUserKey && (
-
@@ -84,19 +88,23 @@ export const ConnectedUsers = () => {
-
-
-
+
+
+ {getUserShort(userInfo?.name ?? '')}
-
- {userInfo.name}
+
+
+ {userInfo.name}
);
@@ -110,14 +118,18 @@ export const ConnectedUsers = () => {
>
-
+
{
key={user}
className="text-foreground focus:bg-white hover:rounded-none"
>
-
-
-
+
+
+
+ {getUserShort(userInfo?.name ?? '')}
{userInfo?.name}
diff --git a/code/packages/create-frontend-app/template/+nextjs+azure-web-pubsub/components/utils/users.ts b/code/packages/create-frontend-app/template/+nextjs+azure-web-pubsub/components/utils/users.ts
new file mode 100644
index 000000000..39ef08209
--- /dev/null
+++ b/code/packages/create-frontend-app/template/+nextjs+azure-web-pubsub/components/utils/users.ts
@@ -0,0 +1,18 @@
+export const stringToColor = (str: string) => {
+ let hash = 0;
+ str.split("").forEach((char) => {
+ hash = char.charCodeAt(0) + ((hash << 5) - hash);
+ });
+ let colour = "#";
+ for (let i = 0; i < 3; i++) {
+ const value = (hash >> (i * 8)) & 0xff;
+ colour += value.toString(16).padStart(2, "0");
+ }
+ return colour;
+};
+
+export const getUserShort = (userName: string) => {
+ const firstLetter = userName.slice(0, 1);
+ const lastLetter = userName.slice(-1);
+ return `${firstLetter}${lastLetter}`;
+};
diff --git a/code/packages/create-frontend-app/template/+nextjs+websockets/components/room-components/connected-users.tsx b/code/packages/create-frontend-app/template/+nextjs+websockets/components/room-components/connected-users.tsx
index c1903c27c..c33c3d710 100644
--- a/code/packages/create-frontend-app/template/+nextjs+websockets/components/room-components/connected-users.tsx
+++ b/code/packages/create-frontend-app/template/+nextjs+websockets/components/room-components/connected-users.tsx
@@ -1,7 +1,6 @@
'use client';
import React from 'react';
-import Avatar from 'boring-avatars';
import { Avatar as AvatarUI, AvatarFallback } from '@/components/ui/avatar';
import {
Tooltip,
@@ -19,6 +18,7 @@ import {
} from '@/components/ui/dropdown-menu';
import { useWeave } from '@inditextech/weave-react';
import { cn } from '@/lib/utils';
+import { getUserShort, stringToColor } from '../utils/users';
export const ConnectedUsers = () => {
const connectedUsers = useWeave((state) => state.users);
@@ -61,10 +61,10 @@ export const ConnectedUsers = () => {
{connectedUserKey && (
-
-
-
-
+
+
+
+ {getUserShort(user?.name ?? '')}
@@ -72,8 +72,12 @@ export const ConnectedUsers = () => {
+
{user?.name}
@@ -84,19 +88,23 @@ export const ConnectedUsers = () => {
-
-
-
+
+
+ {getUserShort(userInfo?.name ?? '')}
-
- {userInfo.name}
+
+
+ {userInfo.name}
);
@@ -110,14 +118,18 @@ export const ConnectedUsers = () => {
>
-
+
{
key={user}
className="text-foreground focus:bg-white hover:rounded-none"
>
-
-
-
+
+
+
+ {getUserShort(userInfo?.name ?? '')}
{userInfo?.name}
diff --git a/code/packages/create-frontend-app/template/+nextjs+websockets/components/utils/users.ts b/code/packages/create-frontend-app/template/+nextjs+websockets/components/utils/users.ts
new file mode 100644
index 000000000..39ef08209
--- /dev/null
+++ b/code/packages/create-frontend-app/template/+nextjs+websockets/components/utils/users.ts
@@ -0,0 +1,18 @@
+export const stringToColor = (str: string) => {
+ let hash = 0;
+ str.split("").forEach((char) => {
+ hash = char.charCodeAt(0) + ((hash << 5) - hash);
+ });
+ let colour = "#";
+ for (let i = 0; i < 3; i++) {
+ const value = (hash >> (i * 8)) & 0xff;
+ colour += value.toString(16).padStart(2, "0");
+ }
+ return colour;
+};
+
+export const getUserShort = (userName: string) => {
+ const firstLetter = userName.slice(0, 1);
+ const lastLetter = userName.slice(-1);
+ return `${firstLetter}${lastLetter}`;
+};
diff --git a/docs/content/docs/main/changelog/prerelease/0.16.0.mdx b/docs/content/docs/main/changelog/prerelease/0.16.0.mdx
index cbbafa962..5513636ae 100644
--- a/docs/content/docs/main/changelog/prerelease/0.16.0.mdx
+++ b/docs/content/docs/main/changelog/prerelease/0.16.0.mdx
@@ -1,11 +1,11 @@
---
title: v0.16.0
-description: Awareness Improvements
+description: Awareness improvements & other minor improvements and bugfixes
---
## Metadata
-- **Release date**: 2025-05-22
+- **Release date**: 2025-05-23
## Added
@@ -14,7 +14,9 @@ description: Awareness Improvements
## Changed
- [#263](https://github.com/InditexTech/weavejs/issues/263) Awareness cursor UI improvements
+- [#274](https://github.com/InditexTech/weavejs/issues/274) Update create-app frontend
## Fixed
+- [#238](https://github.com/InditexTech/weavejs/issues/238) Crop image resizing and after-cropping position issues
- [#245](https://github.com/InditexTech/weavejs/issues/245) Frames drag-and-drop quirks when frames overlap