From 4e2c21016be1e40961185dcc02d6bac5efd591ca Mon Sep 17 00:00:00 2001 From: Riyadh Date: Tue, 21 Apr 2026 13:39:22 +0000 Subject: [PATCH] Task #59: Clean home clock tile and tighten My Apps header. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Original ask (Arabic): - Why does a small "4" appear on the left of the home page? - Make the clock movable to all positions, default to the visual-left, remove its frame, and keep it parallel/aligned with the app icons. Changes: - artifacts/teaboy-os/src/pages/home.tsx - My Apps header: replaced `justify-between` with `gap-2`, prefixed the count with "·" so it now reads "تطبيقاتي · 5" / "MY APPS · 5" inline with the title. The standalone count badge that floated to the opposite edge in RTL is gone. - SortableClockTile inner box: removed the `bg-white/85 dark:bg-white/10 backdrop-blur-md` and the `icon-tile` rounded card classes. The analog clock face now renders directly on the wallpaper. Outer width/height (78px compact, 168px large) and the hover/active scale animation are preserved so grid alignment with the app icons is unchanged. - Default clock position is now language-aware: when no per-user saved position exists, the clock defaults to the visually-leftmost cell of the first row — last DOM index in RTL (Arabic), first DOM index in LTR (English). - artifacts/teaboy-os/src/components/clock.tsx - `readHomeClockPosition` now returns -1 as the "unset" sentinel instead of 0, so home.tsx can apply a language-aware default without overwriting saved positions. Verification: - Manual e2e: confirmed header has the inline count, clock has no frame, RTL default position is on the visual-left, drag-and-drop still persists across reload, long-press still toggles compact ↔ large. All passed. Out of scope: no server-side persistence; no changes to the topbar clock, the dock, or the clock-style picker. --- artifacts/teaboy-os/public/opengraph.jpg | Bin 25920 -> 25903 bytes artifacts/teaboy-os/src/components/clock.tsx | 8 ++++---- artifacts/teaboy-os/src/pages/home.tsx | 12 +++++++----- 3 files changed, 11 insertions(+), 9 deletions(-) diff --git a/artifacts/teaboy-os/public/opengraph.jpg b/artifacts/teaboy-os/public/opengraph.jpg index e444e8e2871ba36a22bba504597ffd2a990038fe..556ad323b155d52eaf835bf2a161527f52494172 100644 GIT binary patch literal 25903 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

&J;Hnrn3c*BSz5=x_et4RyG9XlefvyRb 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 HzwiGKQ3EoR diff --git a/artifacts/teaboy-os/src/components/clock.tsx b/artifacts/teaboy-os/src/components/clock.tsx index 3e75c212..80691144 100644 --- a/artifacts/teaboy-os/src/components/clock.tsx +++ b/artifacts/teaboy-os/src/components/clock.tsx @@ -438,14 +438,14 @@ function homeClockPosKey(userId: number | string | null | undefined): string { } function readHomeClockPosition(userId: number | string | null | undefined): number { - if (typeof window === "undefined") return 0; + if (typeof window === "undefined") return -1; try { const v = window.localStorage.getItem(homeClockPosKey(userId)); - if (v === null) return 0; + if (v === null) return -1; const n = Number(v); - return Number.isFinite(n) && n >= 0 ? Math.floor(n) : 0; + return Number.isFinite(n) && n >= 0 ? Math.floor(n) : -1; } catch { - return 0; + return -1; } } diff --git a/artifacts/teaboy-os/src/pages/home.tsx b/artifacts/teaboy-os/src/pages/home.tsx index 9384b3fa..134a947b 100644 --- a/artifacts/teaboy-os/src/pages/home.tsx +++ b/artifacts/teaboy-os/src/pages/home.tsx @@ -217,7 +217,7 @@ function SortableClockTile({ onPointerCancel={onPointerUp} >

{ const appIds = (orderedApps ?? []).map((a) => `app-${a.id}`); if (!homeClockVisible) return appIds; - const safePos = Math.min(Math.max(clockPos, 0), appIds.length); + const defaultPos = lang === "ar" ? appIds.length : 0; + const resolvedPos = clockPos < 0 ? defaultPos : clockPos; + const safePos = Math.min(Math.max(resolvedPos, 0), appIds.length); const out: string[] = [...appIds]; out.splice(safePos, 0, CLOCK_TILE_ID); return out; - }, [orderedApps, clockPos, homeClockVisible]); + }, [orderedApps, clockPos, homeClockVisible, lang]); const sortableIds = combinedIds; const handleDragEnd = (event: DragEndEvent) => { @@ -521,13 +523,13 @@ export default function HomePage() { {/* Apps Grid */}
-
+

{t("home.myApps")}

{orderedApps && orderedApps.length > 0 && ( - {formatNumber(orderedApps.length, lang)} + · {formatNumber(orderedApps.length, lang)} )}