Spaces:
Running
Running
RemiFabre commited on
Commit ·
9355f7d
1
Parent(s): fe3df71
feat: Reachy Mini logo as app icon (PNG via Git LFS)
Browse filesUse the downloaded morse.png (resized to 512px) as the icon everywhere:
favicon, host top-bar appIconUrl, HF catalog tile, and the in-app header brand
mark (replacing the 📡 emoji). Tracked via Git LFS since HF rejects plain
binary blobs. Removed the placeholder icon.svg.
- .gitattributes +1 -0
- index.html +1 -1
- lib/version.js +1 -1
- main.js +5 -2
- public/icon.png +3 -0
- style.css +2 -1
.gitattributes
CHANGED
|
@@ -1,2 +1,3 @@
|
|
| 1 |
*.mp3 filter=lfs diff=lfs merge=lfs -text
|
| 2 |
*.wav filter=lfs diff=lfs merge=lfs -text
|
|
|
|
|
|
| 1 |
*.mp3 filter=lfs diff=lfs merge=lfs -text
|
| 2 |
*.wav filter=lfs diff=lfs merge=lfs -text
|
| 3 |
+
*.png filter=lfs diff=lfs merge=lfs -text
|
index.html
CHANGED
|
@@ -6,7 +6,7 @@
|
|
| 6 |
<title>Morse Code · Reachy Mini</title>
|
| 7 |
<meta name="description" content="Talk to Reachy Mini in Morse code — antenna taps and beeps, decoded live through the mic." />
|
| 8 |
<meta name="theme-color" content="#0d1117" />
|
| 9 |
-
<link rel="icon" type="image/
|
| 10 |
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
| 11 |
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
|
| 12 |
<link rel="preconnect" href="https://cdn.jsdelivr.net" crossorigin />
|
|
|
|
| 6 |
<title>Morse Code · Reachy Mini</title>
|
| 7 |
<meta name="description" content="Talk to Reachy Mini in Morse code — antenna taps and beeps, decoded live through the mic." />
|
| 8 |
<meta name="theme-color" content="#0d1117" />
|
| 9 |
+
<link rel="icon" type="image/png" href="public/icon.png" />
|
| 10 |
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
| 11 |
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
|
| 12 |
<link rel="preconnect" href="https://cdn.jsdelivr.net" crossorigin />
|
lib/version.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
| 1 |
// Deployment version label, shown in Settings so you can verify which build
|
| 2 |
// is actually loaded after a push. Format: "YYYY-MM-DD rN", bumped on push.
|
| 3 |
-
export const APP_VERSION = "2026-06-02
|
|
|
|
| 1 |
// Deployment version label, shown in Settings so you can verify which build
|
| 2 |
// is actually loaded after a push. Format: "YYYY-MM-DD rN", bumped on push.
|
| 3 |
+
export const APP_VERSION = "2026-06-02 r7 robot logo";
|
main.js
CHANGED
|
@@ -36,7 +36,7 @@ const isEmbed = params.get("embedded") === "1" || params.get("embed") === "1";
|
|
| 36 |
if (!isEmbed) {
|
| 37 |
mountHost({
|
| 38 |
appName: "Morse Code",
|
| 39 |
-
appIconUrl: "public/icon.
|
| 40 |
appEmoji: "📡",
|
| 41 |
// We capture the LAPTOP/PHONE mic via getUserMedia for decoding; we do
|
| 42 |
// not need the robot's inbound audio track, so no enableMicrophone.
|
|
@@ -154,7 +154,10 @@ async function bootEmbed() {
|
|
| 154 |
modeSeg.append(b);
|
| 155 |
});
|
| 156 |
const header = el("header.appbar", {}, [
|
| 157 |
-
el("div.brand", {}, [
|
|
|
|
|
|
|
|
|
|
| 158 |
modeSeg,
|
| 159 |
el("button.icon-btn", { title: "Settings", onclick: openSettings }, "⚙️"),
|
| 160 |
]);
|
|
|
|
| 36 |
if (!isEmbed) {
|
| 37 |
mountHost({
|
| 38 |
appName: "Morse Code",
|
| 39 |
+
appIconUrl: "public/icon.png",
|
| 40 |
appEmoji: "📡",
|
| 41 |
// We capture the LAPTOP/PHONE mic via getUserMedia for decoding; we do
|
| 42 |
// not need the robot's inbound audio track, so no enableMicrophone.
|
|
|
|
| 154 |
modeSeg.append(b);
|
| 155 |
});
|
| 156 |
const header = el("header.appbar", {}, [
|
| 157 |
+
el("div.brand", {}, [
|
| 158 |
+
el("img.brand-logo-img", { src: "public/icon.png", alt: "" }),
|
| 159 |
+
el("span.brand-name", {}, "Morse Code"),
|
| 160 |
+
]),
|
| 161 |
modeSeg,
|
| 162 |
el("button.icon-btn", { title: "Settings", onclick: openSettings }, "⚙️"),
|
| 163 |
]);
|
public/icon.png
ADDED
|
|
Git LFS Details
|
style.css
CHANGED
|
@@ -66,8 +66,9 @@ html, body {
|
|
| 66 |
backdrop-filter: blur(12px);
|
| 67 |
border-bottom: 1px solid var(--line);
|
| 68 |
}
|
| 69 |
-
.brand { display: flex; align-items: center; gap:
|
| 70 |
.brand-logo { font-size: 22px; }
|
|
|
|
| 71 |
|
| 72 |
.icon-btn {
|
| 73 |
appearance: none;
|
|
|
|
| 66 |
backdrop-filter: blur(12px);
|
| 67 |
border-bottom: 1px solid var(--line);
|
| 68 |
}
|
| 69 |
+
.brand { display: flex; align-items: center; gap: 9px; font-weight: 800; font-size: 19px; letter-spacing: -0.02em; }
|
| 70 |
.brand-logo { font-size: 22px; }
|
| 71 |
+
.brand-logo-img { width: 30px; height: 30px; border-radius: 8px; object-fit: contain; display: block; }
|
| 72 |
|
| 73 |
.icon-btn {
|
| 74 |
appearance: none;
|