Implement Telegram-style emoji picker and improve accessibility - #14
Open
mx57 wants to merge 18 commits into
Open
Implement Telegram-style emoji picker and improve accessibility#14mx57 wants to merge 18 commits into
mx57 wants to merge 18 commits into
Conversation
- Updates reaction UI to include a quick-access panel with 6 popular emojis and an expand button - Integrates `emoji-picker-element` to support any emoji selection - Fixes SSR issues by lazy-loading the web component via `onMount` - Updates `Messaging.ts` and components to use `string` for emoji handling instead of a fixed union - Bumps package version and creates tag v1.1.4 for the APK release GitHub Workflow
…513313389109 feat: Implement Telegram-style full emoji picker for message reactions
…out secrets - Replace the ANDROID_KEYSTORE_BASE64 secret dependency with an on-the-fly self-signed keystore (keytool -genkeypair) so assembleRelease can sign the APK with no repository secrets configured. - Keeps SDK 36 (required by androidx.activity 1.11.0 / androidx.core 1.17.0). - TEST build only: swap this step for real keystore secrets before a prod release.
fix(android): self-signed test keystore + pin SDK to 35
- Replace 4 fixed reactions with 6 quick emojis + full emoji-picker-element - Any emoji now supported (string type instead of fixed union) - Toggle reactions: tap to add/remove your reaction - Clickable reaction bubbles under messages - SSR-safe lazy loading of emoji-picker-element
feat: Telegram-style full emoji picker with toggle reactions
Added a complete test suite for `src/lib/utils/fileIcons.ts` covering: - `detectMediaType` (happy paths, edge cases, fallbacks) - `formatFileSize` - `validateFileSize` - `getFileExtension` - `getFileIconInfo` This ensures that the file icon, media detection, and size validation logic is robust and guarded against regressions.
…8196 🧪 test: add test file for fileIcons utilities
Add comprehensive tests for `copyTextToClipboard` covering:
- Happy path using `navigator.clipboard.writeText`
- Fallback logic to `document.execCommand('copy')`
- Error handling and edge cases
- SSR environment without global window/navigator
🧪 test: add comprehensive tests for clipboard utility
Added `aria-label` to the image zoom buttons in `MessageContent.svelte` to improve accessibility for screen readers. The buttons previously relied only on the `alt` text of the images they wrapped, which did not convey their function (viewing full screen). Also added the corresponding translations to the `en.ts` and `ru.ts` locale files.
…3701192309874623 🎨 Palette: Add ARIA label to image zoom buttons in MessageContent
- Added `type="button"` to `<button>` elements in `ChatContextMenu` and `ContactContextMenu` to prevent accidental form submission behavior. - Translated hardcoded aria-labels in `ContextMenu` to use `$t` for i18n support.
…67311558 🎨 Palette: [UX improvement] Add type="button" and translate aria labels in context menus
…-16380147487481025743 🎨 Palette: Fix non-reactive update for emoji picker in ContextMenu
💡 What: Added `role="menu"` to the container and `role="menuitem"` to buttons in `ChatContextMenu` and `ContactContextMenu`. Added explicit `focus-visible` classes matching hover states and `focus-visible:outline-none`. 🎯 Why: Ensures screen readers announce the dynamically portaled dropdowns as menus, and provides clear, consistent keyboard navigation visibility for users. ♿ Accessibility: Improved semantic markup and keyboard navigation.
…745679854 🎨 Palette: Add ARIA roles and visible focus states to Context Menus
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.