diff --git a/CLAUDE.md b/CLAUDE.md index 45866a097e..be00c79c28 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -4,7 +4,7 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co ## Prerequisites -- Node.js >= 20.0.0 +- Node.js >= 22.18 - Yarn 1.x (classic) ## Commands @@ -97,6 +97,11 @@ Plugin architecture in `/src/modules/`: - Component files: UpperCamelCase, utilities: kebab-case - Use `Optional` type instead of truly optional parameters when callers should explicitly acknowledge missing values - CSS class names must be prefixed with `mx_` and match component name (e.g., `mx_RoomTile`) +- Import matrix-js-sdk via `matrix-js-sdk/src/matrix` only (not `matrix-js-sdk` or `matrix-js-sdk/src`) +- Use `jest-matrix-react` instead of `@testing-library/react` for component tests +- No `React.forwardRef` - use ref props directly instead +- Use UIStore for window dimensions instead of `window.innerHeight`/`window.innerWidth` +- Use Media helper for MXC URL handling instead of direct `mxcUrlToHttp` calls ### Linked Development with matrix-js-sdk For developing against local SDK changes: diff --git a/apps/web/res/manifest.json b/apps/web/res/manifest.json index cc6f3fd78f..1252691afd 100644 --- a/apps/web/res/manifest.json +++ b/apps/web/res/manifest.json @@ -44,17 +44,12 @@ "related_applications": [ { "platform": "play", - "url": "https://play.google.com/store/apps/details?id=im.vector.app", - "id": "im.vector.app" - }, - { - "platform": "f-droid", - "url": "https://f-droid.org/repository/browse/?fdid=im.vector.app", - "id": "im.vector.app" + "url": "https://play.google.com/store/apps/details?id=ch.healthchat.element", + "id": "ch.healthchat.element" }, { "platform": "itunes", - "url": "https://apps.apple.com/app/vector/id1083446067" + "url": "https://apps.apple.com/ch/app/healthchat/id6743060078" } ] } diff --git a/apps/web/res/themes/element/img/logos/element-app-logo.png b/apps/web/res/themes/element/img/logos/element-app-logo.png index 54205a09fa..b5da82864f 100644 Binary files a/apps/web/res/themes/element/img/logos/element-app-logo.png and b/apps/web/res/themes/element/img/logos/element-app-logo.png differ diff --git a/apps/web/res/themes/element/img/logos/element-logo.svg b/apps/web/res/themes/element/img/logos/element-logo.svg index 54a91b72f8..6b545457ce 100644 --- a/apps/web/res/themes/element/img/logos/element-logo.svg +++ b/apps/web/res/themes/element/img/logos/element-logo.svg @@ -1,7 +1,84 @@ - - - - - - + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/web/res/vector-icons/1024.png b/apps/web/res/vector-icons/1024.png index 77d67480eb..78550bc095 100644 Binary files a/apps/web/res/vector-icons/1024.png and b/apps/web/res/vector-icons/1024.png differ diff --git a/apps/web/res/vector-icons/120.png b/apps/web/res/vector-icons/120.png index bf604618f4..1f5ac33747 100644 Binary files a/apps/web/res/vector-icons/120.png and b/apps/web/res/vector-icons/120.png differ diff --git a/apps/web/res/vector-icons/144.png b/apps/web/res/vector-icons/144.png index 5f09750bc8..cdf6278dbf 100644 Binary files a/apps/web/res/vector-icons/144.png and b/apps/web/res/vector-icons/144.png differ diff --git a/apps/web/res/vector-icons/152.png b/apps/web/res/vector-icons/152.png index 2948c2e9b0..35229ae99f 100644 Binary files a/apps/web/res/vector-icons/152.png and b/apps/web/res/vector-icons/152.png differ diff --git a/apps/web/res/vector-icons/180.png b/apps/web/res/vector-icons/180.png index 8a412c5604..fa80c4d58c 100644 Binary files a/apps/web/res/vector-icons/180.png and b/apps/web/res/vector-icons/180.png differ diff --git a/apps/web/res/vector-icons/24.png b/apps/web/res/vector-icons/24.png index 3aa66a3b1c..4d318d9034 100644 Binary files a/apps/web/res/vector-icons/24.png and b/apps/web/res/vector-icons/24.png differ diff --git a/apps/web/res/vector-icons/512.png b/apps/web/res/vector-icons/512.png index 337a183e30..b5da82864f 100644 Binary files a/apps/web/res/vector-icons/512.png and b/apps/web/res/vector-icons/512.png differ diff --git a/apps/web/src/SdkConfig.ts b/apps/web/src/SdkConfig.ts index 4be64648d8..dd67f09b52 100644 --- a/apps/web/src/SdkConfig.ts +++ b/apps/web/src/SdkConfig.ts @@ -16,7 +16,7 @@ import { type DeepPartial, type DeepReadonly, type Defaultize } from "./@types/c // see element-web config.md for docs, or the IConfigOptions interface for dev docs export const DEFAULTS: DeepReadonly = { - brand: "Element", + brand: "HealthChat", branding: { logo_link_url: "https://element.io", auth_header_logo_url: "themes/element/img/logos/element-logo.svg", @@ -43,7 +43,7 @@ export const DEFAULTS: DeepReadonly = { // everyone's config which has the camelCase property because our default would // be preferred over their config. desktopBuilds: { - available: true, + available: false, // eslint-disable-next-line @typescript-eslint/no-require-imports logo: require("../res/img/element-desktop-logo.svg").default, url: "https://element.io/get-started", @@ -56,7 +56,7 @@ export const DEFAULTS: DeepReadonly = { }, desktop_builds: { - available: true, + available: false, logo: "vector-icons/1024.png", url: "https://element.io/download", url_macos: "https://packages.element.io/desktop/install/macos/Element.dmg", @@ -65,9 +65,9 @@ export const DEFAULTS: DeepReadonly = { url_linux: "https://element.io/download#linux", }, mobile_builds: { - ios: "https://apps.apple.com/app/vector/id1083446067", - android: "https://play.google.com/store/apps/details?id=im.vector.app", - fdroid: "https://f-droid.org/repository/browse/?fdid=im.vector.app", + ios: "https://apps.apple.com/ch/app/healthchat/id6743060078", + android: "https://play.google.com/store/apps/details?id=ch.healthchat.element", + fdroid: "", }, }; diff --git a/apps/web/src/async-components/structures/ErrorView.tsx b/apps/web/src/async-components/structures/ErrorView.tsx index 4d2a8f7a22..7189fd7d51 100644 --- a/apps/web/src/async-components/structures/ErrorView.tsx +++ b/apps/web/src/async-components/structures/ErrorView.tsx @@ -33,7 +33,7 @@ export const ErrorView: React.FC = ({ title, messages, footer, children className="mx_ErrorView_logo" height="160" src="themes/element/img/logos/element-app-logo.png" - alt="Element" + alt="HealthChat" />
@@ -119,7 +119,7 @@ export const UnsupportedBrowserView: React.FC<{ onAccept?(this: void): void; }> = ({ onAccept }) => { const config = SdkConfig.get(); - const brand = config.brand ?? "Element"; + const brand = config.brand ?? "HealthChat"; const hasDesktopBuilds = config.desktop_builds?.available && diff --git a/apps/web/src/vector/index.html b/apps/web/src/vector/index.html index 15dfcc7303..0ca721b2da 100644 --- a/apps/web/src/vector/index.html +++ b/apps/web/src/vector/index.html @@ -2,7 +2,7 @@ - Element + HealthChat @@ -13,8 +13,8 @@ - - + +