From bd5977fc92fc84d7d2e9fd9296114024f4f31fa1 Mon Sep 17 00:00:00 2001 From: M57 Date: Mon, 29 Jun 2026 18:49:10 +0300 Subject: [PATCH] chore: remove sketches directory --- sketches/input-bar-chat-screen/index.html | 400 ---------------------- 1 file changed, 400 deletions(-) delete mode 100644 sketches/input-bar-chat-screen/index.html diff --git a/sketches/input-bar-chat-screen/index.html b/sketches/input-bar-chat-screen/index.html deleted file mode 100644 index 31d4a0e7..00000000 --- a/sketches/input-bar-chat-screen/index.html +++ /dev/null @@ -1,400 +0,0 @@ - - - - - -ChatInputBar β€” Layout (v2) - - - - -

πŸ“± ChatInputBar (v2)

-

- Single πŸ“Ž attach button β†’ dropdown menu with Camera / Image / File -

- -
- - -
-
1. Empty β€” mic visible, dropdown open
-
- - -
- -
-
πŸ“Ž button opens a Material 3 DropdownMenu with three options. Selecting one fires the launcher and closes the menu.
-
- - -
-
2. Empty β€” normal state
-
- - -
- -
-
Default look β€” single πŸ“Ž, no clutter. Mic visible when input is blank & no attachments.
-
- - -
-
3. Typing β€” send shown
-
- - -
- -
-
Mic β†’ Send (blue) when text or attachments present.
-
- - -
-
4. With attachments β€” preview chips
-
-
- πŸ“· - photo_20260629.jpg - -
-
- πŸ“„ - config.yaml - -
-
- πŸ“· - screenshot.png - -
-
-
- - -
- -
-
Image chips β†’ AsyncImage thumbnail. File chips β†’ file icon. Close βœ• removes.
-
- - -
-
5. Listening β€” stop shown
-
- - -
- -
-
While listening, input + attach disabled. Red Stop replaces Mic.
-
- - -
-
6. Disconnected β€” everything disabled
-
- - -
- -
-
Everything dimmed, placeholder "Not connected".
-
- -
- - -
- -

πŸ“ Structural hierarchy

- -
-Card (roundedCornerShape(24dp), surface alpha 0.85)
- β”” Column
-    β”œ [conditional] Slash command suggestions
-    β”‚  β”” LazyColumn (maxHeight 200dp)
-    β”œ [conditional] Attachment preview chips
-    β”‚  β”” Row
-    β”‚     β”” AttachmentChip Γ— N
-    β”‚        β”” Surface (roundedCorner 16dp)
-    β”‚           β”œ [if image] AsyncImage(20dp)
-    β”‚           β”œ [else]      Icon(InsertDriveFile, 16dp)
-    β”‚           β”” name + Close IconButton(18dp)
-    β”” Row (main input area)
-       β”œ Box (positioned for dropdown)
-       β”‚  β”œ IconButton πŸ“Ž AttachFile (36dp)
-       β”‚  β”” DropdownMenu (expanded = showAttachmentMenu)
-       β”‚     β”œ DropdownMenuItem: πŸ“· Camera   β†’ onCameraTap()
-       β”‚     β”œ DropdownMenuItem: πŸ–ΌοΈ Image    β†’ onImageTap()  β†’ launch("image/*")
-       β”‚     β”” DropdownMenuItem: πŸ“„ File     β†’ onFileTap()   β†’ launch("*/*")
-       β”œ OutlinedTextField (weight=1f, maxLines=4, rounded 20dp)
-       β”œ Spacer(4dp)
-       β”” AnimatedContent (mic ↔ send ↔ listening)
-          β”œ mic:        FilledTonalButton(Mic icon, 40dp, circle)
-          β”œ send:       FilledTonalButton(Send icon, 40dp, circle, blue)
-          β”” listening:  FilledTonalButton(Stop icon, 40dp, circle, red)
-
- -
- -

🎯 What each dropdown option does

- - - - - - - - - - - - - - - - - - - - - - -
OptionLauncherMIME
πŸ“· CameraTakePicture β†’ temp FileProvider URIimage/jpeg
πŸ–ΌοΈ ImageGetContent("image/*")image/* (gallery picker)
πŸ“„ FileGetContent("*/*")*/* (system file picker)
- - -