Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions app/conversation/[id].tsx
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ import { MessageSkeletonRow } from '@/components/conversation/MessageSkeletonRow
import { SlowLoadingBanner } from '@/components/conversation/SlowLoadingBanner'
import { ConversationHistoryList } from '@/components/conversation/ConversationHistoryList'
import { ConversationSearchView } from '@/components/conversation/ConversationSearchView'
import { makeStyles as makeSearchStyles } from '@/components/sessions/SearchStyles'
import { useLoadingStateStore } from '@/stores/loading-state'
import { useConversation } from '@/hooks/useConversations'
import { useConversationStream } from '@/hooks/useConversationStream'
Expand Down Expand Up @@ -528,6 +529,22 @@ export default function ConversationDetailScreen() {
const headerActions = (
<View style={styles.headerActions}>
{isLive ? <LivePauseControl paused={livePaused} onToggle={toggleLivePaused} /> : null}
<Pressable
onPress={() => setSearchBarState((prev) => ({ ...prev, open: !prev.open }))}
hitSlop={8}
accessibilityLabel={t('search.open')}
testID="conversation-search-btn"
style={({ pressed }) => [
styles.headerButton,
searchOpen && styles.headerButtonActive,
{ opacity: pressed ? 0.5 : 1 },
]}
>
<MagnifyingGlass
size={22}
color={searchOpen ? theme.text.primary : theme.text.secondary}
/>
</Pressable>
<Pressable
onPress={() => {
void toggleFavorite()
Expand Down
3 changes: 2 additions & 1 deletion locales/ar/onboarding.json
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@
"qrHeadline": "امسح للإقران.",
"openCamera": "فتح الكاميرا",
"ready": "✓ جاهز",
"footnote": "// على سطح مكتبك، شغّل tb pair لطباعة توكن.",
"manualSectionLabel": "على جهازك",
"manualSectionHint": "افتح Terminal وشغّل:",
"manualSectionPasteHint": "يطبع URL + رمزًا (أو رابط threadbase://) — الصق أدناه.",
Expand All @@ -40,6 +39,8 @@
"connectBusy": "…جارٍ الاتصال",
"connectErrHint": "انتهت صلاحية الرمز؟ شغّل tb pair مجدداً على جهازك.",
"backToOptions": "← خيارات أخرى",
"step1": "1. على خادمك، شغّل tb pair. سيُطبَع رمز QR في الطرفية.",
"step2": "2. اضغط على فتح الكاميرا بالأسفل. سيطلب Threadbase إذنًا لاستخدام الكاميرا — يُستخدم فقط لقراءة رمز QR.",
"step3": "3. وجّه هاتفك نحو رمز QR. الرمز صالح لمدة 3 دقائق؛ إن انتهت صلاحيته، شغّل tb pair مجدداً."
},
"done": {
Expand Down
3 changes: 1 addition & 2 deletions locales/ar/servers.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,7 @@
"dialog": {
"removeTitle": "إزالة الخادم",
"removeMessage": "قطع الاتصال بـ {{server}}؟",
"removeConfirm": "إزالة",
"removeDismiss": "إلغاء"
"removeConfirm": "إزالة"
},
"form": {
"labelOptional": "التسمية (اختياري)",
Expand Down
3 changes: 2 additions & 1 deletion locales/en/onboarding.json
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@
"qrHeadline": "Scan to pair.",
"openCamera": "Open camera",
"ready": "✓ ready",
"footnote": "// On your desktop, run tb pair to print a token.",
"manualSectionLabel": "On your computer",
"manualSectionHint": "Open Terminal and run:",
"manualSectionPasteHint": "It prints a URL + token (or a threadbase:// link) — paste below.",
Expand All @@ -40,6 +39,8 @@
"connectBusy": "…connecting",
"connectErrHint": "Token expired? Run tb pair again on your computer.",
"backToOptions": "← Other options",
"step1": "1. On your server, run tb pair. A QR will print to the terminal.",
"step2": "2. Tap Open camera below. Threadbase will ask permission to use the camera — that's only used to read the QR.",
"step3": "3. Point your phone at the QR. The pair token is valid for 3 minutes; if it expires, just run tb pair again."
},
"done": {
Expand Down
3 changes: 1 addition & 2 deletions locales/en/servers.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,7 @@
"dialog": {
"removeTitle": "Remove Server",
"removeMessage": "Disconnect from {{server}}?",
"removeConfirm": "Remove",
"removeDismiss": "Cancel"
"removeConfirm": "Remove"
},
"form": {
"labelOptional": "Label (optional)",
Expand Down
3 changes: 2 additions & 1 deletion locales/he/onboarding.json
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@
"qrHeadline": "סרוק כדי לזווג.",
"openCamera": "פתח מצלמה",
"ready": "✓ מוכן",
"footnote": "// על שולחן העבודה שלך, הרץ tb pair כדי להדפיס טוקן.",
"manualSectionLabel": "במחשב שלך",
"manualSectionHint": "פתח טרמינל והרץ:",
"manualSectionPasteHint": "הוא מדפיס URL + טוקן (או קישור threadbase://) — הדבק למטה.",
Expand All @@ -40,6 +39,8 @@
"connectBusy": "…מתחבר",
"connectErrHint": "פג תוקף הטוקן? הרץ tb pair שוב במחשב.",
"backToOptions": "← אפשרויות אחרות",
"step1": "1. על השרת שלך, הרץ tb pair. QR יודפס לטרמינל.",
"step2": "2. הקש על פתח מצלמה למטה. Threadbase תבקש הרשאה להשתמש במצלמה — היא משמשת רק לקריאת ה-QR.",
"step3": "3. כוון את הטלפון ל-QR. הטוקן תקף ל-3 דקות; אם פג, הרץ tb pair שוב."
},
"done": {
Expand Down
3 changes: 1 addition & 2 deletions locales/he/servers.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,7 @@
"dialog": {
"removeTitle": "הסר שרת",
"removeMessage": "להתנתק מ-{{server}}?",
"removeConfirm": "הסר",
"removeDismiss": "ביטול"
"removeConfirm": "הסר"
},
"form": {
"labelOptional": "תווית (אופציונלי)",
Expand Down
3 changes: 2 additions & 1 deletion locales/ru/onboarding.json
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@
"qrHeadline": "Сканируйте для сопряжения.",
"openCamera": "Открыть камеру",
"ready": "✓ готово",
"footnote": "// На вашем компьютере запустите tb pair, чтобы вывести токен.",
"manualSectionLabel": "На вашем компьютере",
"manualSectionHint": "Откройте Терминал и запустите:",
"manualSectionPasteHint": "Он выведет URL + токен (или ссылку threadbase://) — вставьте ниже.",
Expand All @@ -40,6 +39,8 @@
"connectBusy": "…подключение",
"connectErrHint": "Токен истёк? Снова выполните tb pair на компьютере.",
"backToOptions": "← Другие варианты",
"step1": "1. На вашем сервере запустите tb pair. QR выведется в терминал.",
"step2": "2. Нажмите Открыть камеру ниже. Threadbase запросит разрешение на использование камеры — она используется только для чтения QR.",
"step3": "3. Наведите телефон на QR. Токен действует 3 минуты; если истёк — снова выполните tb pair."
},
"done": {
Expand Down
3 changes: 1 addition & 2 deletions locales/ru/servers.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,7 @@
"dialog": {
"removeTitle": "Удалить сервер",
"removeMessage": "Отключиться от {{server}}?",
"removeConfirm": "Удалить",
"removeDismiss": "Отмена"
"removeConfirm": "Удалить"
},
"form": {
"labelOptional": "Метка (необязательно)",
Expand Down
Loading