From 00056b634b3f06448b2f07271e65c46a78cb74c1 Mon Sep 17 00:00:00 2001 From: Garfie Date: Fri, 3 Apr 2026 16:39:01 -0500 Subject: [PATCH] chore: rename project from LibreChat Android to LibreChat Mobile --- .claude/skills/sync-upstream/SKILL.md | 63 ++++++++++--------- .../reference/android-architecture.md | 6 +- .../sync-upstream/reference/api-mapping.md | 14 ++--- .../sync-upstream/reference/ui-mapping.md | 18 +++--- .../sync-upstream/reference/upstream-paths.md | 6 +- CLAUDE.md | 8 +-- CONTRIBUTING.md | 4 +- DISCOVERY.md | 4 +- README.md | 6 +- UPSTREAM_VERSION | 2 +- app/CLAUDE.md | 2 +- app/build.gradle.kts | 6 +- app/proguard-rules.pro | 2 +- build-logic/CLAUDE.md | 14 ++--- build-logic/convention/build.gradle.kts | 14 ++--- .../AndroidApplicationConventionPlugin.kt | 2 +- .../kotlin/AndroidFeatureConventionPlugin.kt | 6 +- .../kotlin/AndroidLibraryConventionPlugin.kt | 2 +- .../main/kotlin/KmpLibraryConventionPlugin.kt | 2 +- core/common/CLAUDE.md | 2 +- core/data/CLAUDE.md | 2 +- core/model/CLAUDE.md | 2 +- core/network/CLAUDE.md | 2 +- core/ui/CLAUDE.md | 2 +- .../core/ui/components/EndpointIcons.kt | 14 ++--- .../agents/components/AgentAvatarPicker.kt | 4 +- .../agents/components/AgentActionsPanel.kt | 4 +- .../agents/components/AgentAdvancedPanel.kt | 4 +- .../components/AgentCapabilitiesSection.kt | 4 +- .../components/AgentCategorySelector.kt | 4 +- .../components/AgentCodeInterpreterSection.kt | 4 +- .../components/AgentFileSearchSection.kt | 4 +- .../agents/components/AgentHandoffConfig.kt | 4 +- .../components/AgentMcpToolsSelector.kt | 4 +- .../agents/components/AgentModelPicker.kt | 4 +- .../agents/components/AgentSharingSection.kt | 4 +- .../components/AgentSupportContactSection.kt | 4 +- .../agents/components/AgentVersionHistory.kt | 4 +- .../agents/components/ToolSelectDialog.kt | 4 +- .../agents/screen/AgentDetailScreen.kt | 4 +- .../agents/screen/AgentEditorScreen.kt | 4 +- .../agents/screen/AgentMarketplaceScreen.kt | 4 +- .../auth/screen/ForgotPasswordScreen.kt | 4 +- .../feature/auth/screen/LoginScreen.kt | 4 +- .../feature/auth/screen/RegisterScreen.kt | 4 +- .../auth/screen/ResetPasswordScreen.kt | 4 +- .../feature/auth/screen/ServerUrlScreen.kt | 4 +- .../feature/auth/screen/TermsScreen.kt | 4 +- .../feature/auth/screen/TwoFactorScreen.kt | 4 +- .../feature/auth/screen/VerifyEmailScreen.kt | 4 +- .../chat/components/AudioContentPlayer.kt | 4 +- .../feature/chat/components/ChatInput.kt | 4 +- .../chat/components/ContentPartRenderer.kt | 4 +- .../chat/components/FullscreenImageViewer.kt | 4 +- .../chat/components/MarkdownContent.kt | 4 +- .../feature/chat/components/MermaidDiagram.kt | 4 +- .../feature/chat/components/MessageBubble.kt | 4 +- .../feature/chat/components/VideoContent.kt | 4 +- .../chat/components/VideoContentPlayer.kt | 4 +- .../chat/components/artifact/ArtifactPanel.kt | 4 +- .../feature/chat/screen/ChatScreen.kt | 4 +- .../chat/components/AgentHandoffCard.kt | 4 +- .../chat/components/AttachmentChipsRow.kt | 4 +- .../chat/components/ChatInputToolbar.kt | 4 +- .../chat/components/ChatToolsBottomSheet.kt | 4 +- .../feature/chat/components/CitationChip.kt | 4 +- .../feature/chat/components/CodeBlock.kt | 4 +- .../chat/components/CodeExecutionCard.kt | 4 +- .../chat/components/CommonChatInputCore.kt | 14 ++--- .../chat/components/ComparisonDualPane.kt | 4 +- .../chat/components/ComparisonTabBar.kt | 4 +- .../chat/components/FeedbackCommentDialog.kt | 4 +- .../chat/components/ForkOptionsBottomSheet.kt | 4 +- .../feature/chat/components/ImageGenCard.kt | 4 +- .../chat/components/InConvoSearchBar.kt | 4 +- .../chat/components/InlineEditInput.kt | 4 +- .../feature/chat/components/LandingContent.kt | 4 +- .../feature/chat/components/LogContentCard.kt | 4 +- .../chat/components/McpResourceCarousel.kt | 4 +- .../chat/components/McpServerSelector.kt | 4 +- .../chat/components/MemoryArtifactCard.kt | 4 +- .../components/MessageContentAndActions.kt | 4 +- .../feature/chat/components/MessageFiles.kt | 4 +- .../feature/chat/components/MessageList.kt | 4 +- .../chat/components/ModelSelectorButton.kt | 4 +- .../chat/components/ModelSelectorSheet.kt | 4 +- .../feature/chat/components/PresetPicker.kt | 4 +- .../chat/components/SavePresetDialog.kt | 4 +- .../chat/components/SecondaryMessageList.kt | 4 +- .../chat/components/SiblingNavigator.kt | 4 +- .../chat/components/StreamingIndicator.kt | 4 +- .../chat/components/StreamingToolCallCard.kt | 4 +- .../chat/components/ToolsDropdownMenu.kt | 4 +- .../chat/components/WebSearchResultCard.kt | 4 +- .../components/artifact/ArtifactButton.kt | 4 +- .../components/artifact/ArtifactVersionNav.kt | 4 +- .../chat/prompts/PromptDetailScreen.kt | 4 +- .../chat/prompts/PromptEditorScreen.kt | 4 +- .../chat/prompts/PromptVariablesSection.kt | 4 +- .../chat/prompts/PromptVersionsSheet.kt | 4 +- .../chat/prompts/PromptsLibraryScreen.kt | 4 +- .../prompts/components/PromptFilterSheet.kt | 4 +- .../prompts/components/PromptPreviewPanel.kt | 4 +- .../prompts/components/PromptShareDialog.kt | 4 +- .../prompts/components/VariableInputDialog.kt | 4 +- .../feature/chat/components/IosChatInput.kt | 6 +- .../components/PlatformChatComponents.ios.kt | 26 ++++---- .../components/PlatformMediaComponents.ios.kt | 4 +- .../chat/screen/PlatformScreens.ios.kt | 4 +- .../components/ConversationActions.kt | 4 +- .../components/ConversationItem.kt | 4 +- .../components/ConversationSearchBar.kt | 4 +- .../conversations/components/TagFilterBar.kt | 4 +- .../conversations/components/TagPicker.kt | 4 +- .../export/ExportFormatPicker.kt | 4 +- .../screen/ArchivedConversationsScreen.kt | 4 +- .../screen/ConversationListScreen.kt | 4 +- .../files/platform/PdfPreview.android.kt | 4 +- .../files/components/UploadProgressCard.kt | 4 +- .../feature/files/screen/FilePreviewDialog.kt | 4 +- .../feature/files/screen/FileSortMenu.kt | 4 +- .../feature/files/screen/FilesScreen.kt | 4 +- .../settings/screen/AvatarUploadDialog.kt | 4 +- .../settings/screen/AccountSettingsScreen.kt | 4 +- .../settings/screen/ApiKeyCreateDialog.kt | 4 +- .../feature/settings/screen/ApiKeysScreen.kt | 4 +- .../feature/settings/screen/BalanceSection.kt | 4 +- .../settings/screen/ChatSettingsScreen.kt | 4 +- .../settings/screen/ChatSettingsSection.kt | 4 +- .../settings/screen/CommandsConfigScreen.kt | 4 +- .../settings/screen/DataSettingsScreen.kt | 4 +- .../settings/screen/DataSettingsSection.kt | 4 +- .../settings/screen/ForkSettingsDialog.kt | 4 +- .../settings/screen/GeneralSettingsScreen.kt | 4 +- .../settings/screen/LanguageSelectorDialog.kt | 4 +- .../settings/screen/McpServerDialog.kt | 4 +- .../settings/screen/McpServersScreen.kt | 4 +- .../settings/screen/McpSettingsSection.kt | 4 +- .../feature/settings/screen/McpToolList.kt | 4 +- .../feature/settings/screen/McpToolsSheet.kt | 4 +- .../feature/settings/screen/MemoriesScreen.kt | 4 +- .../screen/MemoriesSettingsSection.kt | 4 +- .../settings/screen/MemoryEditDialog.kt | 4 +- .../settings/screen/PersonalizationDialog.kt | 4 +- .../settings/screen/PresetManagerScreen.kt | 4 +- .../settings/screen/SecuritySection.kt | 4 +- .../feature/settings/screen/SettingsScreen.kt | 4 +- .../settings/screen/SharedLinksScreen.kt | 4 +- .../settings/screen/SpeechDetailDialogs.kt | 4 +- .../settings/screen/SpeechSettingsSection.kt | 4 +- .../settings/screen/TabbedSettingsScreen.kt | 4 +- .../screen/sections/AccountSection.kt | 4 +- .../screen/sections/AppearanceSection.kt | 4 +- .../screen/sections/ChatPreferencesSection.kt | 4 +- .../screen/sections/DataManagementSection.kt | 4 +- .../screen/sections/SecuritySection.kt | 4 +- .../settings/screen/sections/SpeechSection.kt | 4 +- settings.gradle.kts | 2 +- .../shared/navigation/DrawerContent.kt | 24 +++---- .../shared/navigation/LibreChatNavHost.kt | 10 +-- .../navigation/SettingsSidebarContent.kt | 6 +- 161 files changed, 406 insertions(+), 403 deletions(-) diff --git a/.claude/skills/sync-upstream/SKILL.md b/.claude/skills/sync-upstream/SKILL.md index 276d936..cf181ae 100644 --- a/.claude/skills/sync-upstream/SKILL.md +++ b/.claude/skills/sync-upstream/SKILL.md @@ -1,8 +1,8 @@ --- name: sync-upstream description: > - Sync the LibreChat Android client with a newer official LibreChat server release. - Diffs upstream tags, identifies gaps in the Android app, proposes changes with + Sync the LibreChat Mobile client with a newer official LibreChat server release. + Diffs upstream tags, identifies gaps in the mobile app, proposes changes with user approval, then implements them. Use when a new LibreChat version is released. allowed-tools: Bash, Read, Glob, Grep, Write, Edit, Agent, TeamCreate, SendMessage, TaskCreate, TaskUpdate, TaskGet, TaskList argument-hint: "[target-tag] (optional, defaults to latest stable)" @@ -10,7 +10,7 @@ argument-hint: "[target-tag] (optional, defaults to latest stable)" # Sync Upstream -Synchronize the LibreChat Android app with a newer version of the official LibreChat server. +Synchronize the LibreChat Mobile app with a newer version of the official LibreChat server. This is a multi-phase, team-based workflow. You are the **team lead**. You orchestrate at a high level. You NEVER read code, write code, @@ -22,18 +22,20 @@ Create an Agent Team with 4 teammates at the start: | Teammate | Role | Prompt Summary | |----------|------|----------------| -| **investigator** | Reads upstream diffs, analyzes API/type/UI changes, cross-references with Android codebase | "You are the investigator for a LibreChat Android upstream sync. Your job is to analyze diffs between upstream tags and identify gaps in the Android client. You have read-only responsibilities — never write code." | -| **android-expert** | Technical advisor on Android architecture and best practices. Cross-checks all guidance with online research before advising. | "You are the Android tech lead for a LibreChat Android upstream sync. You provide guidance on Android best practices, Jetpack Compose patterns, Kotlin idioms, and architectural decisions. CRITICAL: You MUST cross-check your knowledge by researching online (WebSearch/WebFetch) before giving advice. Never rely solely on training data — always verify current best practices, especially for Compose, Hilt, Ktor, and Material 3. Return researched guidance to teammates who ask." | -| **implementer** | Writes code changes to Android app following existing patterns and conventions | "You are the implementer for a LibreChat Android upstream sync. Your job is to write code changes following existing architecture patterns. Always read the module's CLAUDE.md before touching it. Follow safeApiCall, Hilt DI, UDF, Ktor, @Serializable patterns. Before making significant architectural decisions, consult the android-expert teammate." | -| **verifier** | Checks implementation correctness, runs builds, validates changes match proposal | "You are the verifier for a LibreChat Android upstream sync. Your job is to independently validate that implementation matches the approved proposal. Run builds, review changes, and flag issues. Message the implementer directly if fixes are needed." | +| **investigator** | Reads upstream diffs, analyzes API/type/UI changes, cross-references with mobile codebase | "You are the investigator for a LibreChat Mobile upstream sync. Your job is to analyze diffs between upstream tags and identify gaps in the mobile client. You have read-only responsibilities — never write code." | +| **android-expert** | Technical advisor on Android architecture and best practices. Cross-checks all guidance with online research before advising. | "You are the Android tech lead for a LibreChat Mobile upstream sync. You provide guidance on Android best practices, Jetpack Compose patterns, Kotlin idioms, and architectural decisions. CRITICAL: You MUST cross-check your knowledge by researching online (WebSearch/WebFetch) before giving advice. Never rely solely on training data — always verify current best practices, especially for Compose, Ktor, and Material 3. Return researched guidance to teammates who ask." | +| **ios-kmp-expert** | Technical advisor on iOS and Kotlin Multiplatform architecture. Ensures KMP shared code and iOS-specific implementations follow platform conventions. | "You are the iOS/KMP tech lead for a LibreChat Mobile upstream sync. You provide guidance on Compose Multiplatform patterns, KMP expect/actual declarations, iOS platform APIs (UIKit, Foundation, Keychain), SKIE interop, and ensuring shared code compiles correctly for both targets. CRITICAL: You MUST cross-check your knowledge by researching online (WebSearch/WebFetch) before giving advice. Never rely solely on training data — always verify current best practices for CMP, KMP, and iOS platform conventions. Return researched guidance to teammates who ask." | +| **implementer** | Writes code changes to mobile app following existing patterns and conventions | "You are the implementer for a LibreChat Mobile upstream sync. Your job is to write code changes following existing architecture patterns. Always read the module's CLAUDE.md before touching it. Follow safeApiCall, Koin DI, UDF, Ktor, @Serializable patterns. Before making significant architectural decisions, consult the android-expert or ios-kmp-expert teammate." | +| **verifier** | Checks implementation correctness, runs builds, validates changes match proposal | "You are the verifier for a LibreChat Mobile upstream sync. Your job is to independently validate that implementation matches the approved proposal. Run builds, review changes, and flag issues. Message the implementer directly if fixes are needed." | **Teammate interaction pattern:** - **investigator** works independently on Phase A and B (diff + gap analysis) -- **android-expert** is consulted by the implementer before architectural decisions and by the - lead when the proposal involves patterns that may have better modern alternatives. The - android-expert MUST search online to verify recommendations — do not accept advice that +- **android-expert** is consulted for Android-specific architecture, Compose, and Material 3 decisions. + The android-expert MUST search online to verify recommendations — do not accept advice that hasn't been cross-checked against current documentation. -- **implementer** does all code changes, consulting android-expert for non-trivial patterns +- **ios-kmp-expert** is consulted for KMP shared code, expect/actual patterns, iOS platform APIs, + and Compose Multiplatform concerns. Same online-verification requirement as android-expert. +- **implementer** does all code changes, consulting android-expert or ios-kmp-expert for non-trivial patterns - **verifier** validates after implementer finishes, messages implementer for fixes **Important:** Teammates retain context across messages. Reuse them for follow-ups — do NOT @@ -45,7 +47,7 @@ Run these checks yourself (lightweight, no codebase reading): ### 1. Submodule check ```bash -cd LibreChat-Android && git submodule status +cd Librechat-Mobile && git submodule status ``` If `upstream/` is missing: ```bash @@ -61,7 +63,7 @@ If missing, create from current state: ```bash VERSION=$(grep 'SUPPORTED_BACKEND_VERSION' core/common/src/main/kotlin/com/garfiec/librechat/core/common/BackendVersion.kt | grep -o '"[^"]*"' | tr -d '"') COMMIT=$(cd upstream && git rev-parse HEAD) -echo "# Upstream LibreChat version this Android build tracks." > UPSTREAM_VERSION +echo "# Upstream LibreChat version this mobile build tracks." > UPSTREAM_VERSION echo "# Updated by the sync-upstream skill. Do not edit manually." >> UPSTREAM_VERSION echo "tag=v${VERSION}" >> UPSTREAM_VERSION echo "commit=${COMMIT}" >> UPSTREAM_VERSION @@ -126,7 +128,7 @@ Create a task for the investigator with this prompt: > - **API changes**: New/modified/removed routes, controller logic > - **Type/schema changes**: New/modified data types, request/response shapes > - **UI changes**: New components, modified user flows -> - **Bug fixes**: Fixes that may need Android equivalents +> - **Bug fixes**: Fixes that may need mobile equivalents > - **Infrastructure**: Build, config, deps (usually not relevant) > 6. Report back a structured summary table. @@ -149,14 +151,14 @@ Once investigator reports back: ### B1. Send follow-up to investigator -> Now cross-reference the upstream changes you found with the Android codebase. +> Now cross-reference the upstream changes you found with the mobile codebase. > > 1. Read these mapping files from `${CLAUDE_SKILL_DIR}/reference/`: -> - `api-mapping.md` — official routes to Android *Api.kt files +> - `api-mapping.md` — official routes to mobile *Api.kt files > - `model-mapping.md` — official TS types to Kotlin data classes -> - `ui-mapping.md` — web components to Android feature modules +> - `ui-mapping.md` — web components to mobile feature modules > 2. For each API change from Phase A: -> - Grep the Android codebase (`core/network/src/`) for the corresponding endpoint +> - Grep the mobile codebase (`core/network/src/`) for the corresponding endpoint > - Note if it exists, needs updating, or is missing > 3. For each type/schema change: > - Check `core/model/src/` for matching Kotlin data class @@ -168,11 +170,11 @@ Once investigator reports back: > - **Breaking** (must fix): Changed request/response shapes, removed/renamed endpoints, auth changes > - **Additive** (new feature): New endpoints, new UI features, new optional fields > - **Cosmetic** (polish): UI improvements, a11y, i18n -> 6. Report the categorized gap list with specific file paths for both upstream and Android. +> 6. Report the categorized gap list with specific file paths for both upstream and mobile. ### B2. Receive gap report -The investigator now has full context of both the upstream diff AND the Android gaps. +The investigator now has full context of both the upstream diff AND the mobile gaps. Keep the investigator alive for follow-up questions during Phase C. **Done when:** You have the categorized gap list from the investigator. @@ -191,42 +193,43 @@ Take the investigator's gap report and present it as a structured proposal: ### Breaking Changes ({count}) — must fix before updating version For each: - What changed upstream (with file reference) -- What Android file(s) need updating +- What Mobile file(s) need updating - Proposed change ### New Features ({count}) — recommended For each: - What was added upstream -- Proposed Android implementation approach +- Proposed mobile implementation approach - Which module(s) would be affected ### UI Changes Needing User Input ({count}) For each: - What the web app does (with file reference) -- Why it doesn't translate directly to Android/Compose +- Why it doesn't translate directly to mobile/Compose - 2-3 concrete options for the user to choose from ### Deferred Items ({count}) — can wait for a future sync Items that are low priority or require significant new infrastructure. ``` -### Consult android-expert on non-trivial items +### Consult experts on non-trivial items Before presenting to the user, for any proposed change that involves: - New architectural patterns (e.g., adding a new module, new DI scope) - UI patterns that don't have an existing equivalent in the codebase - Performance-sensitive changes (e.g., new list rendering, image loading) - Navigation changes +- KMP shared code or expect/actual patterns -Send these items to the **android-expert** teammate: +Send Android-specific items to **android-expert** and KMP/iOS items to **ios-kmp-expert**: -> Review these proposed Android changes for best practices. For each item, +> Review these proposed mobile changes for best practices. For each item, > research online to verify the recommended approach is current (especially -> for Compose, Material 3, Hilt, and Ktor). Flag any items where modern +> for Compose, Material 3, Koin, and Ktor). Flag any items where modern > best practices differ from what we're proposing. > {list of non-trivial items} -Incorporate the android-expert's feedback into the proposal before showing the user. +Incorporate the experts' feedback into the proposal before showing the user. ### Approval gate @@ -268,8 +271,8 @@ Create a task for the implementer with the approved change list: > - Ktor client patterns in `core/network/` > > **Before making non-trivial architectural decisions** (new patterns, new modules, -> complex UI components), message the **android-expert** teammate for guidance. -> The android-expert will research current best practices online and advise. +> complex UI components), message the **android-expert** or **ios-kmp-expert** teammate for guidance. +> They will research current best practices online and advise. > > **Approved changes:** > {paste the approved change list here} diff --git a/.claude/skills/sync-upstream/reference/android-architecture.md b/.claude/skills/sync-upstream/reference/android-architecture.md index 10829ff..348ee00 100644 --- a/.claude/skills/sync-upstream/reference/android-architecture.md +++ b/.claude/skills/sync-upstream/reference/android-architecture.md @@ -1,6 +1,6 @@ -# Android Architecture Reference +# LibreChat Mobile Architecture Reference -Condensed architecture guide for the LibreChat Android app. Read module-specific `CLAUDE.md` files for full details. +Condensed architecture guide for the LibreChat Mobile app. Read module-specific `CLAUDE.md` files for full details. ## Module Dependency Graph @@ -143,7 +143,7 @@ Two-phase protocol: - Room entity: `{Domain}Entity.kt` - Room DAO: `{Domain}Dao.kt` - DI module: `{Domain}Module.kt` -- Convention plugins: `librechat.android.{type}` (e.g., `librechat.android.feature`) +- Convention plugins: `librechat.mobile.{type}` (e.g., `librechat.mobile.feature`) ## Build System diff --git a/.claude/skills/sync-upstream/reference/api-mapping.md b/.claude/skills/sync-upstream/reference/api-mapping.md index 50a162e..8535a49 100644 --- a/.claude/skills/sync-upstream/reference/api-mapping.md +++ b/.claude/skills/sync-upstream/reference/api-mapping.md @@ -1,10 +1,10 @@ -# API Route Mapping: Official → Android +# API Route Mapping: Official → Mobile -Maps official LibreChat API route files to their Android `*Api.kt` counterparts. +Maps official LibreChat API route files to their mobile `*Api.kt` counterparts. ## Implemented -| Official Route | Android API File | Notes | +| Official Route | Mobile API File | Notes | |---------------|-----------------|-------| | `routes/auth.js` | `AuthApi.kt` | Login, register, refresh, logout, 2FA | | `routes/oauth.js` | `AuthApi.kt` | OAuth flows (shared file) | @@ -28,15 +28,15 @@ Maps official LibreChat API route files to their Android `*Api.kt` counterparts. | N/A | `SpeechApi.kt` | Text-to-speech | | N/A | `ApiKeysApi.kt` | API key management | -## Gaps (no Android counterpart yet) +## Gaps (no mobile counterpart yet) | Official Route | What It Does | Priority | |---------------|-------------|----------| | `routes/categories.js` | Agent categories | Low — categories embedded in agent responses | -| `routes/endpoints.js` | List available endpoints | Medium — Android uses config response instead | -| `routes/models.js` | List available models per endpoint | Medium — Android uses config response instead | +| `routes/endpoints.js` | List available endpoints | Medium — Mobile uses config response instead | +| `routes/models.js` | List available models per endpoint | Medium — Mobile uses config response instead | | `routes/roles.js` | Role-based access control (admin) | Low — admin feature | -| `routes/settings.js` | User settings CRUD | Medium — Android uses local DataStore | +| `routes/settings.js` | User settings CRUD | Medium — Mobile uses local DataStore | | `routes/actions.js` | Custom actions/plugins | Low — plugin system | | `routes/assistants/` (dir) | OpenAI Assistants API | Low — agents supersede assistants | | `routes/accessPermissions.js` | File access permissions | Low — admin feature | diff --git a/.claude/skills/sync-upstream/reference/ui-mapping.md b/.claude/skills/sync-upstream/reference/ui-mapping.md index 2d1cfa4..66ad025 100644 --- a/.claude/skills/sync-upstream/reference/ui-mapping.md +++ b/.claude/skills/sync-upstream/reference/ui-mapping.md @@ -1,10 +1,10 @@ -# UI Mapping: Official React Components → Android Feature Modules +# UI Mapping: Official React Components → Mobile Feature Modules -Maps web client component directories to Android Compose feature modules. +Maps web client component directories to mobile Compose feature modules. ## Implemented -| Web Component Dir | Android Module | Coverage | +| Web Component Dir | Mobile Module | Coverage | |-------------------|---------------|----------| | `components/Chat/` | `feature/chat/` | Core chat UI, message list, input | | `components/Messages/` | `feature/chat/` | Message rendering, branching, siblings | @@ -17,11 +17,11 @@ Maps web client component directories to Android Compose feature modules. | `components/Banners/` | `app/` | System banner display | | `components/Endpoints/` | `feature/chat/` | Model/endpoint selector bottom sheet | -## Gaps (no Android counterpart) +## Gaps (no mobile counterpart) | Web Component Dir | What It Does | Priority | Notes | |-------------------|-------------|----------|-------| -| `components/Prompts/` | Prompts library with CRUD, categories, sharing | Medium | Android has PromptsApi but no dedicated UI | +| `components/Prompts/` | Prompts library with CRUD, categories, sharing | Medium | Mobile has PromptsApi but no dedicated UI | | `components/Artifacts/` | Code/document artifact viewer and editor | Medium | New feature in recent versions | | `components/MCP/` | MCP server configuration UI | Low | Admin-oriented feature | | `components/MCPUIResource/` | MCP UI resource rendering | Low | Depends on MCP support | @@ -33,13 +33,13 @@ Maps web client component directories to Android Compose feature modules. | `components/Audio/` | Voice input/output, TTS | Medium | SpeechApi exists, no UI | | `components/Plugins/` | Legacy plugin system | N/A | Superseded by agents | | `components/Tools/` | Tool configuration and management | Low | Part of agent setup | -| `components/OAuth/` | OAuth provider buttons | Low | Android uses Chrome Custom Tabs | +| `components/OAuth/` | OAuth provider buttons | Low | Mobile uses Chrome Custom Tabs | | `components/Web/` | Web search integration | Low | Agent tool feature | -| `components/System/` | System-level UI (error boundaries, etc.) | Low | Android has own error handling | +| `components/System/` | System-level UI (error boundaries, etc.) | Low | Mobile has own error handling | -## Key Web Patterns → Android Equivalents +## Key Web Patterns → Mobile Equivalents -| Web Pattern | Android Equivalent | +| Web Pattern | Mobile Equivalent | |------------|-------------------| | Recoil atoms (`store/`) | ViewModel state (StateFlow) | | React Query hooks (`hooks/`) | Repository + ViewModel | diff --git a/.claude/skills/sync-upstream/reference/upstream-paths.md b/.claude/skills/sync-upstream/reference/upstream-paths.md index b95ec03..1dbf4b0 100644 --- a/.claude/skills/sync-upstream/reference/upstream-paths.md +++ b/.claude/skills/sync-upstream/reference/upstream-paths.md @@ -1,13 +1,13 @@ # Upstream Paths to Watch -These are the directories in the `upstream/` submodule that matter for Android parity. +These are the directories in the `upstream/` submodule that matter for mobile parity. Use these paths when generating focused diffs between tags. | Path | What It Contains | Why It Matters | |------|-----------------|----------------| -| `api/server/routes/` | Express route definitions (REST endpoints) | Defines the API contract the Android app calls | +| `api/server/routes/` | Express route definitions (REST endpoints) | Defines the API contract the mobile app calls | | `api/server/controllers/` | Request handlers and business logic | Shows request/response shapes and validation | -| `packages/data-provider/src/` | Shared types, schemas, API client, config | Canonical type definitions; Android models must match | +| `packages/data-provider/src/` | Shared types, schemas, API client, config | Canonical type definitions; Mobile models must match | | `packages/data-provider/src/types/` | TypeScript type subdirectory (queries, mutations, agents, etc.) | React Query hook types that define API shapes | | `packages/data-schemas/src/` | Mongoose schemas and DB models | Database schema changes that affect API responses | | `client/src/components/` | React UI components by feature area | Reference for Android UI feature parity | diff --git a/CLAUDE.md b/CLAUDE.md index c6b64a0..34aa252 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -1,6 +1,6 @@ -# LibreChat Android +# LibreChat Mobile -Native Android client for LibreChat. Connects to existing LibreChat backend servers (no backend changes). Users specify server URL during onboarding. +Native mobile client for LibreChat (Android & iOS). Connects to existing LibreChat backend servers (no backend changes). Users specify server URL during onboarding. ## Tech Stack @@ -42,7 +42,7 @@ Each module has its own `CLAUDE.md` with specific guidance. ## Adding a New Feature Module 1. Create the module directory under `feature/` -2. Apply the `librechat.android.feature` convention plugin in `build.gradle.kts` — this auto-applies Koin + Compose deps +2. Apply the `librechat.mobile.feature` convention plugin in `build.gradle.kts` — this auto-applies Koin + Compose deps 3. Create `di/Module.kt` with a Koin `module { }` containing `viewModelOf(::YourViewModel)` definitions 4. Register the module in `LibreChatApplication.kt`'s `startKoin { modules(...) }` list 5. Use `koinViewModel()` in screen composables to inject ViewModels @@ -58,6 +58,6 @@ Each module has its own `CLAUDE.md` with specific guidance. ## Upstream Sync - **`upstream/`** — Git submodule of the [official LibreChat repo](https://github.com/danny-avila/LibreChat). Read-only reference for API and web app parity. Do not modify. -- **`UPSTREAM_VERSION`** — Tracks which official tag/commit this Android build is based on. Updated by the `/sync-upstream` skill. +- **`UPSTREAM_VERSION`** — Tracks which official tag/commit this mobile build is based on. Updated by the `/sync-upstream` skill. - **`BackendVersion.kt`** (`core/common/`) — `SUPPORTED_BACKEND_VERSION` constant must match the tag in `UPSTREAM_VERSION` (without `v` prefix). - **`/sync-upstream`** — Claude Code skill to diff upstream releases, identify gaps, propose changes, and implement them with user approval. Uses Agent Teams (investigator, android-expert, implementer, verifier). diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index d169809..6048c38 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -14,8 +14,8 @@ ```bash # Clone with submodules (upstream LibreChat server reference) -git clone --recursive https://github.com/anthropics/LibreChat-Android.git -cd LibreChat-Android +git clone --recursive https://github.com/garfiec/Librechat-Mobile.git +cd Librechat-Mobile ``` ### Android diff --git a/DISCOVERY.md b/DISCOVERY.md index 4250cfb..e61ad6d 100644 --- a/DISCOVERY.md +++ b/DISCOVERY.md @@ -1,7 +1,7 @@ -# LibreChat Android - Discovery & Context Document +# LibreChat Mobile - Discovery & Context Document ## Project Goal -Build a native Android app (LibreChat-Android) with full feature parity to the LibreChat web application. The app must connect to an existing LibreChat backend server (no backend changes). Users specify the server URL during onboarding. +Build a native mobile app (LibreChat-Mobile) with full feature parity to the LibreChat web application. The app must connect to an existing LibreChat backend server (no backend changes). Users specify the server URL during onboarding. ## Tech Stack (Mandated) - **UI**: Jetpack Compose + Compose Navigation diff --git a/README.md b/README.md index 78b9bee..9b8916a 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,8 @@ -# LibreChat Android +# LibreChat Mobile [![LibreChat](https://img.shields.io/badge/LibreChat-v0.8.4-blue)](https://github.com/danny-avila/LibreChat/releases/tag/v0.8.4) -A third-party native Android client for [LibreChat](https://www.librechat.ai/). Not affiliated with the official LibreChat project — this is an independent app that connects to any self-hosted LibreChat server, no backend modifications required. +A third-party native mobile client for [LibreChat](https://www.librechat.ai/) (Android & iOS). Not affiliated with the official LibreChat project — this is an independent app that connects to any self-hosted LibreChat server, no backend modifications required. ## Features @@ -53,7 +53,7 @@ Add the following to your LibreChat server's `.env` file: NON_BROWSER_VIOLATION_SCORE=0 ``` -Without this setting, the server's violation system may accumulate ban points against the Android client if the User-Agent check fails, eventually locking the account out. +Without this setting, the server's violation system may accumulate ban points against the mobile client if the User-Agent check fails, eventually locking the account out. ### Notes diff --git a/UPSTREAM_VERSION b/UPSTREAM_VERSION index c15f0b9..f7c056a 100644 --- a/UPSTREAM_VERSION +++ b/UPSTREAM_VERSION @@ -1,4 +1,4 @@ -# Upstream LibreChat version this Android build tracks. +# Upstream LibreChat version this mobile build tracks. # Updated by the sync-upstream skill. Do not edit manually. tag=v0.8.4 commit=0736ff26686e911c9785a237c63a799db1813f0b diff --git a/app/CLAUDE.md b/app/CLAUDE.md index 7c553f4..e94e42a 100644 --- a/app/CLAUDE.md +++ b/app/CLAUDE.md @@ -50,7 +50,7 @@ Conversations are integrated into the drawer body. Agents, Files, and Settings a ## Dependencies This module depends on all `:core:*` and all `:feature:*` modules. -It applies convention plugins: `librechat.android.application`, `librechat.android.compose`, `librechat.android.koin`. +It applies convention plugins: `librechat.mobile.application`, `librechat.mobile.compose`, `librechat.mobile.koin`. ### Server-Synced Favorites - `NavHostViewModel` exposes `favorites: StateFlow>` and `toggleFavorite()` diff --git a/app/build.gradle.kts b/app/build.gradle.kts index bde2efe..744496a 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -1,7 +1,7 @@ plugins { - id("librechat.android.application") - id("librechat.android.compose") - id("librechat.android.koin") + id("librechat.mobile.application") + id("librechat.mobile.compose") + id("librechat.mobile.koin") } android { diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro index 2fc2bc0..e7cd42b 100644 --- a/app/proguard-rules.pro +++ b/app/proguard-rules.pro @@ -1,4 +1,4 @@ -# LibreChat Android ProGuard Rules +# LibreChat Mobile ProGuard Rules # Keep Kotlin serialization -keepattributes *Annotation*, InnerClasses diff --git a/build-logic/CLAUDE.md b/build-logic/CLAUDE.md index 45df9ec..1354b7b 100644 --- a/build-logic/CLAUDE.md +++ b/build-logic/CLAUDE.md @@ -6,12 +6,12 @@ Convention plugins that apply consistent Gradle configuration across all modules | Plugin ID | Class | What it does | |-----------|-------|-------------| -| `librechat.android.application` | `AndroidApplicationConventionPlugin` | AGP application plugin, compileSdk 35, minSdk 26, JDK 17 | -| `librechat.android.library` | `AndroidLibraryConventionPlugin` | AGP library plugin, same SDK/JDK config | -| `librechat.android.compose` | `AndroidComposeConventionPlugin` | Compose compiler, Compose BOM, Material 3 | -| `librechat.android.koin` | `AndroidKoinConventionPlugin` | Koin core + Android dependencies | -| `librechat.android.feature` | `AndroidFeatureConventionPlugin` | Auto-applies: library + compose + koin + serialization | -| `librechat.android.room` | `AndroidRoomConventionPlugin` | Room + KSP, schema export config | +| `librechat.mobile.application` | `AndroidApplicationConventionPlugin` | AGP application plugin, compileSdk 35, minSdk 26, JDK 17 | +| `librechat.mobile.library` | `AndroidLibraryConventionPlugin` | AGP library plugin, same SDK/JDK config | +| `librechat.mobile.compose` | `AndroidComposeConventionPlugin` | Compose compiler, Compose BOM, Material 3 | +| `librechat.mobile.koin` | `AndroidKoinConventionPlugin` | Koin core + Android dependencies | +| `librechat.mobile.feature` | `AndroidFeatureConventionPlugin` | Auto-applies: library + compose + koin + serialization | +| `librechat.mobile.room` | `AndroidRoomConventionPlugin` | Room + KSP, schema export config | | `librechat.kotlin.serialization` | `KotlinSerializationConventionPlugin` | Kotlinx Serialization plugin + JSON dependency | ## Critical: apply() Signature @@ -32,6 +32,6 @@ build.gradle.kts files. Use `libs.` accessors (e.g., `libs.koin.android`, `libs. ## Feature Module Convention -Feature modules use `id("librechat.android.feature")` which auto-applies library, compose, +Feature modules use `id("librechat.mobile.feature")` which auto-applies library, compose, koin, and serialization. They only need to add feature-specific dependencies. Feature modules depend on `:core:*` only, never on other feature modules. diff --git a/build-logic/convention/build.gradle.kts b/build-logic/convention/build.gradle.kts index 24e2402..7995a78 100644 --- a/build-logic/convention/build.gradle.kts +++ b/build-logic/convention/build.gradle.kts @@ -16,27 +16,27 @@ dependencies { gradlePlugin { plugins { register("androidApplication") { - id = "librechat.android.application" + id = "librechat.mobile.application" implementationClass = "AndroidApplicationConventionPlugin" } register("androidLibrary") { - id = "librechat.android.library" + id = "librechat.mobile.library" implementationClass = "AndroidLibraryConventionPlugin" } register("androidCompose") { - id = "librechat.android.compose" + id = "librechat.mobile.compose" implementationClass = "AndroidComposeConventionPlugin" } register("androidFeature") { - id = "librechat.android.feature" + id = "librechat.mobile.feature" implementationClass = "AndroidFeatureConventionPlugin" } register("androidRoom") { - id = "librechat.android.room" + id = "librechat.mobile.room" implementationClass = "AndroidRoomConventionPlugin" } register("androidKoin") { - id = "librechat.android.koin" + id = "librechat.mobile.koin" implementationClass = "AndroidKoinConventionPlugin" } register("kotlinSerialization") { @@ -44,7 +44,7 @@ gradlePlugin { implementationClass = "KotlinSerializationConventionPlugin" } register("androidDetekt") { - id = "librechat.android.detekt" + id = "librechat.mobile.detekt" implementationClass = "AndroidDetektConventionPlugin" } register("kmpLibrary") { diff --git a/build-logic/convention/src/main/kotlin/AndroidApplicationConventionPlugin.kt b/build-logic/convention/src/main/kotlin/AndroidApplicationConventionPlugin.kt index 318f5d6..d0104f1 100644 --- a/build-logic/convention/src/main/kotlin/AndroidApplicationConventionPlugin.kt +++ b/build-logic/convention/src/main/kotlin/AndroidApplicationConventionPlugin.kt @@ -10,7 +10,7 @@ class AndroidApplicationConventionPlugin : Plugin { with(target) { pluginManager.apply("com.android.application") pluginManager.apply("org.jetbrains.kotlin.android") - pluginManager.apply("librechat.android.detekt") + pluginManager.apply("librechat.mobile.detekt") pluginManager.apply("org.jetbrains.kotlinx.kover") tasks.withType().configureEach { diff --git a/build-logic/convention/src/main/kotlin/AndroidFeatureConventionPlugin.kt b/build-logic/convention/src/main/kotlin/AndroidFeatureConventionPlugin.kt index 3d72f8e..0c1f787 100644 --- a/build-logic/convention/src/main/kotlin/AndroidFeatureConventionPlugin.kt +++ b/build-logic/convention/src/main/kotlin/AndroidFeatureConventionPlugin.kt @@ -5,9 +5,9 @@ import org.gradle.kotlin.dsl.dependencies class AndroidFeatureConventionPlugin : Plugin { override fun apply(target: Project) { with(target) { - pluginManager.apply("librechat.android.library") - pluginManager.apply("librechat.android.compose") - pluginManager.apply("librechat.android.koin") + pluginManager.apply("librechat.mobile.library") + pluginManager.apply("librechat.mobile.compose") + pluginManager.apply("librechat.mobile.koin") dependencies { add("implementation", project(":core:ui")) diff --git a/build-logic/convention/src/main/kotlin/AndroidLibraryConventionPlugin.kt b/build-logic/convention/src/main/kotlin/AndroidLibraryConventionPlugin.kt index b969642..e393034 100644 --- a/build-logic/convention/src/main/kotlin/AndroidLibraryConventionPlugin.kt +++ b/build-logic/convention/src/main/kotlin/AndroidLibraryConventionPlugin.kt @@ -10,7 +10,7 @@ class AndroidLibraryConventionPlugin : Plugin { with(target) { pluginManager.apply("com.android.library") pluginManager.apply("org.jetbrains.kotlin.android") - pluginManager.apply("librechat.android.detekt") + pluginManager.apply("librechat.mobile.detekt") pluginManager.apply("org.jetbrains.kotlinx.kover") tasks.withType().configureEach { diff --git a/build-logic/convention/src/main/kotlin/KmpLibraryConventionPlugin.kt b/build-logic/convention/src/main/kotlin/KmpLibraryConventionPlugin.kt index 1bf00e5..933e249 100644 --- a/build-logic/convention/src/main/kotlin/KmpLibraryConventionPlugin.kt +++ b/build-logic/convention/src/main/kotlin/KmpLibraryConventionPlugin.kt @@ -9,7 +9,7 @@ class KmpLibraryConventionPlugin : Plugin { with(target) { pluginManager.apply("com.android.library") pluginManager.apply("org.jetbrains.kotlin.multiplatform") - pluginManager.apply("librechat.android.detekt") + pluginManager.apply("librechat.mobile.detekt") pluginManager.apply("org.jetbrains.kotlinx.kover") extensions.configure { diff --git a/core/common/CLAUDE.md b/core/common/CLAUDE.md index a198a36..1afb082 100644 --- a/core/common/CLAUDE.md +++ b/core/common/CLAUDE.md @@ -37,4 +37,4 @@ This lives here (not in `:core:network`) because repositories in `:core:data` ca - **Pure Kotlin preferred.** Minimal Android dependencies (only what ConnectivityObserver and Koin require). - **No network or data dependencies.** This module must not depend on `:core:network`, `:core:data`, or `:core:model`. - Dependencies: `coroutines-core`, `coroutines-android`, Koin. -- Convention plugin: `librechat.android.library` + `librechat.android.koin`. +- Convention plugin: `librechat.mobile.library` + `librechat.mobile.koin`. diff --git a/core/data/CLAUDE.md b/core/data/CLAUDE.md index 59d832d..0ce718b 100644 --- a/core/data/CLAUDE.md +++ b/core/data/CLAUDE.md @@ -55,7 +55,7 @@ Wrap `EncryptedSharedPreferences` in try/catch -- some OEM devices have broken K ## Rules - Dependencies: `:core:network`, `:core:model`, `:core:common`, Room, DataStore, security-crypto, Ktor, kotlinx-serialization, Timber, Koin. -- Convention plugins: `librechat.android.library` + `librechat.android.koin` + `librechat.android.room` + `librechat.kotlin.serialization`. +- Convention plugins: `librechat.mobile.library` + `librechat.mobile.koin` + `librechat.mobile.room` + `librechat.kotlin.serialization`. - Repositories must use `safeApiCall` from `:core:common` for all network calls. - Entities are internal to this module -- feature modules work with domain models from `:core:model`. - All DAO read methods that the UI observes should return `Flow`, not suspend functions. diff --git a/core/model/CLAUDE.md b/core/model/CLAUDE.md index 03867dd..0fcddd3 100644 --- a/core/model/CLAUDE.md +++ b/core/model/CLAUDE.md @@ -27,4 +27,4 @@ All `@Serializable` data classes -- domain models, DTOs, request/response wrappe - Only dependency beyond `:core:common` is `kotlinx-serialization-json`. - Use `@Serializable` on every data class. Use `@SerialName` for snake_case JSON fields. - Use `JsonObject` / `JsonElement` for truly polymorphic/mixed-type fields (e.g., `Agent.avatar`, `Feedback.tag`). -- Convention plugins: `librechat.android.library` + `librechat.kotlin.serialization`. +- Convention plugins: `librechat.mobile.library` + `librechat.kotlin.serialization`. diff --git a/core/network/CLAUDE.md b/core/network/CLAUDE.md index f189dca..04ebfa9 100644 --- a/core/network/CLAUDE.md +++ b/core/network/CLAUDE.md @@ -41,6 +41,6 @@ On reconnection, append `?resume=true` to get a `sync` event with `runSteps[]` + ## Rules - Dependencies: `:core:model`, `:core:common`, Ktor bundles, kotlinx-serialization, Timber, Koin. -- Convention plugins: `librechat.android.library` + `librechat.android.koin` + `librechat.kotlin.serialization`. +- Convention plugins: `librechat.mobile.library` + `librechat.mobile.koin` + `librechat.kotlin.serialization`. - API services must not contain business logic -- they are thin HTTP wrappers. - All `arg`-wrapped endpoints must match the backend pattern: `setBody(mapOf("arg" to mapOf(...)))`. diff --git a/core/ui/CLAUDE.md b/core/ui/CLAUDE.md index 4a297f5..00d2822 100644 --- a/core/ui/CLAUDE.md +++ b/core/ui/CLAUDE.md @@ -42,7 +42,7 @@ Material 3 theme and shared Compose components used across all feature modules. - Components accept domain models from `:core:model` as parameters and render them. - All components must be stateless or hoist state to the caller. - Dependencies: `:core:model`, `:core:common`, Coil for image loading, Compose libraries. -- Convention plugins: `librechat.android.library` + `librechat.android.compose`. +- Convention plugins: `librechat.mobile.library` + `librechat.mobile.compose`. - No DI in this module (no Koin modules, no injected classes). - Use `@Preview` annotations on all components for Android Studio preview support. - During SSE streaming, buffer markdown re-renders to ~100ms intervals to avoid frame drops. diff --git a/core/ui/src/commonMain/kotlin/com/garfiec/librechat/core/ui/components/EndpointIcons.kt b/core/ui/src/commonMain/kotlin/com/garfiec/librechat/core/ui/components/EndpointIcons.kt index c3180f1..b3bf854 100644 --- a/core/ui/src/commonMain/kotlin/com/garfiec/librechat/core/ui/components/EndpointIcons.kt +++ b/core/ui/src/commonMain/kotlin/com/garfiec/librechat/core/ui/components/EndpointIcons.kt @@ -3,13 +3,13 @@ package com.garfiec.librechat.core.ui.components import androidx.compose.runtime.Composable import androidx.compose.ui.graphics.painter.Painter import com.garfiec.librechat.core.model.EModelEndpoint -import librechat_android.core.ui.generated.resources.Res -import librechat_android.core.ui.generated.resources.ic_agents -import librechat_android.core.ui.generated.resources.ic_anthropic -import librechat_android.core.ui.generated.resources.ic_azure -import librechat_android.core.ui.generated.resources.ic_bedrock -import librechat_android.core.ui.generated.resources.ic_google -import librechat_android.core.ui.generated.resources.ic_openai +import librechat_mobile.core.ui.generated.resources.Res +import librechat_mobile.core.ui.generated.resources.ic_agents +import librechat_mobile.core.ui.generated.resources.ic_anthropic +import librechat_mobile.core.ui.generated.resources.ic_azure +import librechat_mobile.core.ui.generated.resources.ic_bedrock +import librechat_mobile.core.ui.generated.resources.ic_google +import librechat_mobile.core.ui.generated.resources.ic_openai import org.jetbrains.compose.resources.painterResource /** diff --git a/feature/agents/src/androidMain/kotlin/com/garfiec/librechat/feature/agents/components/AgentAvatarPicker.kt b/feature/agents/src/androidMain/kotlin/com/garfiec/librechat/feature/agents/components/AgentAvatarPicker.kt index 3149f48..10ce5a3 100644 --- a/feature/agents/src/androidMain/kotlin/com/garfiec/librechat/feature/agents/components/AgentAvatarPicker.kt +++ b/feature/agents/src/androidMain/kotlin/com/garfiec/librechat/feature/agents/components/AgentAvatarPicker.kt @@ -23,8 +23,8 @@ import androidx.compose.ui.semantics.contentDescription import androidx.compose.ui.semantics.semantics import androidx.compose.ui.unit.dp import coil3.compose.AsyncImage -import librechat_android.feature.agents.generated.resources.Res -import librechat_android.feature.agents.generated.resources.* +import librechat_mobile.feature.agents.generated.resources.Res +import librechat_mobile.feature.agents.generated.resources.* @Composable actual fun AgentAvatarPicker( diff --git a/feature/agents/src/commonMain/kotlin/com/garfiec/librechat/feature/agents/components/AgentActionsPanel.kt b/feature/agents/src/commonMain/kotlin/com/garfiec/librechat/feature/agents/components/AgentActionsPanel.kt index ef40588..6237f0c 100644 --- a/feature/agents/src/commonMain/kotlin/com/garfiec/librechat/feature/agents/components/AgentActionsPanel.kt +++ b/feature/agents/src/commonMain/kotlin/com/garfiec/librechat/feature/agents/components/AgentActionsPanel.kt @@ -57,8 +57,8 @@ import com.garfiec.librechat.core.model.ActionAuth import com.garfiec.librechat.core.model.ActionMetadata import com.garfiec.librechat.core.model.request.FunctionTool import com.garfiec.librechat.feature.agents.AgentActionDisplayData -import librechat_android.feature.agents.generated.resources.Res -import librechat_android.feature.agents.generated.resources.* +import librechat_mobile.feature.agents.generated.resources.Res +import librechat_mobile.feature.agents.generated.resources.* import com.garfiec.librechat.feature.agents.util.OpenApiSpecParser import com.garfiec.librechat.feature.agents.util.ParsedFunctionInfo import kotlinx.coroutines.delay diff --git a/feature/agents/src/commonMain/kotlin/com/garfiec/librechat/feature/agents/components/AgentAdvancedPanel.kt b/feature/agents/src/commonMain/kotlin/com/garfiec/librechat/feature/agents/components/AgentAdvancedPanel.kt index 49d1621..019293a 100644 --- a/feature/agents/src/commonMain/kotlin/com/garfiec/librechat/feature/agents/components/AgentAdvancedPanel.kt +++ b/feature/agents/src/commonMain/kotlin/com/garfiec/librechat/feature/agents/components/AgentAdvancedPanel.kt @@ -29,8 +29,8 @@ import androidx.compose.ui.Modifier import org.jetbrains.compose.resources.stringResource import androidx.compose.ui.text.input.KeyboardType import androidx.compose.ui.unit.dp -import librechat_android.feature.agents.generated.resources.Res -import librechat_android.feature.agents.generated.resources.* +import librechat_mobile.feature.agents.generated.resources.Res +import librechat_mobile.feature.agents.generated.resources.* import kotlin.math.roundToInt data class AgentAdvancedSettings( diff --git a/feature/agents/src/commonMain/kotlin/com/garfiec/librechat/feature/agents/components/AgentCapabilitiesSection.kt b/feature/agents/src/commonMain/kotlin/com/garfiec/librechat/feature/agents/components/AgentCapabilitiesSection.kt index e9ce775..e8b2d5b 100644 --- a/feature/agents/src/commonMain/kotlin/com/garfiec/librechat/feature/agents/components/AgentCapabilitiesSection.kt +++ b/feature/agents/src/commonMain/kotlin/com/garfiec/librechat/feature/agents/components/AgentCapabilitiesSection.kt @@ -18,8 +18,8 @@ import androidx.compose.ui.Modifier import org.jetbrains.compose.resources.stringResource import androidx.compose.ui.text.input.KeyboardType import androidx.compose.ui.unit.dp -import librechat_android.feature.agents.generated.resources.Res -import librechat_android.feature.agents.generated.resources.* +import librechat_mobile.feature.agents.generated.resources.Res +import librechat_mobile.feature.agents.generated.resources.* data class AgentCapabilities( val artifacts: Boolean = false, diff --git a/feature/agents/src/commonMain/kotlin/com/garfiec/librechat/feature/agents/components/AgentCategorySelector.kt b/feature/agents/src/commonMain/kotlin/com/garfiec/librechat/feature/agents/components/AgentCategorySelector.kt index 03c87c4..aa61d2d 100644 --- a/feature/agents/src/commonMain/kotlin/com/garfiec/librechat/feature/agents/components/AgentCategorySelector.kt +++ b/feature/agents/src/commonMain/kotlin/com/garfiec/librechat/feature/agents/components/AgentCategorySelector.kt @@ -16,8 +16,8 @@ import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier import org.jetbrains.compose.resources.stringResource import com.garfiec.librechat.core.model.AgentCategory -import librechat_android.feature.agents.generated.resources.Res -import librechat_android.feature.agents.generated.resources.* +import librechat_mobile.feature.agents.generated.resources.Res +import librechat_mobile.feature.agents.generated.resources.* /** * Maps category values to human-readable English labels. diff --git a/feature/agents/src/commonMain/kotlin/com/garfiec/librechat/feature/agents/components/AgentCodeInterpreterSection.kt b/feature/agents/src/commonMain/kotlin/com/garfiec/librechat/feature/agents/components/AgentCodeInterpreterSection.kt index c38f19e..95bbdb4 100644 --- a/feature/agents/src/commonMain/kotlin/com/garfiec/librechat/feature/agents/components/AgentCodeInterpreterSection.kt +++ b/feature/agents/src/commonMain/kotlin/com/garfiec/librechat/feature/agents/components/AgentCodeInterpreterSection.kt @@ -15,8 +15,8 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import org.jetbrains.compose.resources.stringResource import androidx.compose.ui.unit.dp -import librechat_android.feature.agents.generated.resources.Res -import librechat_android.feature.agents.generated.resources.* +import librechat_mobile.feature.agents.generated.resources.Res +import librechat_mobile.feature.agents.generated.resources.* @Composable fun AgentCodeInterpreterSection( diff --git a/feature/agents/src/commonMain/kotlin/com/garfiec/librechat/feature/agents/components/AgentFileSearchSection.kt b/feature/agents/src/commonMain/kotlin/com/garfiec/librechat/feature/agents/components/AgentFileSearchSection.kt index 5b6fad1..79a98f4 100644 --- a/feature/agents/src/commonMain/kotlin/com/garfiec/librechat/feature/agents/components/AgentFileSearchSection.kt +++ b/feature/agents/src/commonMain/kotlin/com/garfiec/librechat/feature/agents/components/AgentFileSearchSection.kt @@ -15,8 +15,8 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import org.jetbrains.compose.resources.stringResource import androidx.compose.ui.unit.dp -import librechat_android.feature.agents.generated.resources.Res -import librechat_android.feature.agents.generated.resources.* +import librechat_mobile.feature.agents.generated.resources.Res +import librechat_mobile.feature.agents.generated.resources.* @Composable fun AgentFileSearchSection( diff --git a/feature/agents/src/commonMain/kotlin/com/garfiec/librechat/feature/agents/components/AgentHandoffConfig.kt b/feature/agents/src/commonMain/kotlin/com/garfiec/librechat/feature/agents/components/AgentHandoffConfig.kt index 52fff1f..e2ea5c0 100644 --- a/feature/agents/src/commonMain/kotlin/com/garfiec/librechat/feature/agents/components/AgentHandoffConfig.kt +++ b/feature/agents/src/commonMain/kotlin/com/garfiec/librechat/feature/agents/components/AgentHandoffConfig.kt @@ -38,8 +38,8 @@ import androidx.compose.ui.Modifier import org.jetbrains.compose.resources.stringResource import androidx.compose.ui.unit.dp import com.garfiec.librechat.feature.agents.AgentHandoffDisplayData -import librechat_android.feature.agents.generated.resources.Res -import librechat_android.feature.agents.generated.resources.* +import librechat_mobile.feature.agents.generated.resources.Res +import librechat_mobile.feature.agents.generated.resources.* @Composable fun AgentHandoffConfig( diff --git a/feature/agents/src/commonMain/kotlin/com/garfiec/librechat/feature/agents/components/AgentMcpToolsSelector.kt b/feature/agents/src/commonMain/kotlin/com/garfiec/librechat/feature/agents/components/AgentMcpToolsSelector.kt index 1ded7d8..d0ee80d 100644 --- a/feature/agents/src/commonMain/kotlin/com/garfiec/librechat/feature/agents/components/AgentMcpToolsSelector.kt +++ b/feature/agents/src/commonMain/kotlin/com/garfiec/librechat/feature/agents/components/AgentMcpToolsSelector.kt @@ -24,8 +24,8 @@ import androidx.compose.ui.Modifier import org.jetbrains.compose.resources.stringResource import androidx.compose.ui.unit.dp import com.garfiec.librechat.core.model.mcp.McpTool -import librechat_android.feature.agents.generated.resources.Res -import librechat_android.feature.agents.generated.resources.* +import librechat_mobile.feature.agents.generated.resources.Res +import librechat_mobile.feature.agents.generated.resources.* /** Hierarchical MCP tool picker grouped by server with checkbox selection. */ @Composable diff --git a/feature/agents/src/commonMain/kotlin/com/garfiec/librechat/feature/agents/components/AgentModelPicker.kt b/feature/agents/src/commonMain/kotlin/com/garfiec/librechat/feature/agents/components/AgentModelPicker.kt index 6d9ad8d..4900722 100644 --- a/feature/agents/src/commonMain/kotlin/com/garfiec/librechat/feature/agents/components/AgentModelPicker.kt +++ b/feature/agents/src/commonMain/kotlin/com/garfiec/librechat/feature/agents/components/AgentModelPicker.kt @@ -18,8 +18,8 @@ import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier import org.jetbrains.compose.resources.stringResource import androidx.compose.ui.unit.dp -import librechat_android.feature.agents.generated.resources.Res -import librechat_android.feature.agents.generated.resources.* +import librechat_mobile.feature.agents.generated.resources.Res +import librechat_mobile.feature.agents.generated.resources.* data class ModelOption( val id: String, diff --git a/feature/agents/src/commonMain/kotlin/com/garfiec/librechat/feature/agents/components/AgentSharingSection.kt b/feature/agents/src/commonMain/kotlin/com/garfiec/librechat/feature/agents/components/AgentSharingSection.kt index 944d7e1..ae38750 100644 --- a/feature/agents/src/commonMain/kotlin/com/garfiec/librechat/feature/agents/components/AgentSharingSection.kt +++ b/feature/agents/src/commonMain/kotlin/com/garfiec/librechat/feature/agents/components/AgentSharingSection.kt @@ -31,8 +31,8 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import org.jetbrains.compose.resources.stringResource import androidx.compose.ui.unit.dp -import librechat_android.feature.agents.generated.resources.Res -import librechat_android.feature.agents.generated.resources.* +import librechat_mobile.feature.agents.generated.resources.Res +import librechat_mobile.feature.agents.generated.resources.* enum class AgentVisibility(val label: String) { PRIVATE("Private"), diff --git a/feature/agents/src/commonMain/kotlin/com/garfiec/librechat/feature/agents/components/AgentSupportContactSection.kt b/feature/agents/src/commonMain/kotlin/com/garfiec/librechat/feature/agents/components/AgentSupportContactSection.kt index 3bf20d5..5d631b0 100644 --- a/feature/agents/src/commonMain/kotlin/com/garfiec/librechat/feature/agents/components/AgentSupportContactSection.kt +++ b/feature/agents/src/commonMain/kotlin/com/garfiec/librechat/feature/agents/components/AgentSupportContactSection.kt @@ -11,8 +11,8 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import org.jetbrains.compose.resources.stringResource import androidx.compose.ui.unit.dp -import librechat_android.feature.agents.generated.resources.Res -import librechat_android.feature.agents.generated.resources.* +import librechat_mobile.feature.agents.generated.resources.Res +import librechat_mobile.feature.agents.generated.resources.* @androidx.compose.runtime.Immutable data class SupportContactState( diff --git a/feature/agents/src/commonMain/kotlin/com/garfiec/librechat/feature/agents/components/AgentVersionHistory.kt b/feature/agents/src/commonMain/kotlin/com/garfiec/librechat/feature/agents/components/AgentVersionHistory.kt index 8e01748..d821e21 100644 --- a/feature/agents/src/commonMain/kotlin/com/garfiec/librechat/feature/agents/components/AgentVersionHistory.kt +++ b/feature/agents/src/commonMain/kotlin/com/garfiec/librechat/feature/agents/components/AgentVersionHistory.kt @@ -23,8 +23,8 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import org.jetbrains.compose.resources.stringResource import androidx.compose.ui.unit.dp -import librechat_android.feature.agents.generated.resources.Res -import librechat_android.feature.agents.generated.resources.* +import librechat_mobile.feature.agents.generated.resources.Res +import librechat_mobile.feature.agents.generated.resources.* data class AgentVersion( val version: Int, diff --git a/feature/agents/src/commonMain/kotlin/com/garfiec/librechat/feature/agents/components/ToolSelectDialog.kt b/feature/agents/src/commonMain/kotlin/com/garfiec/librechat/feature/agents/components/ToolSelectDialog.kt index e6c821b..fddc32d 100644 --- a/feature/agents/src/commonMain/kotlin/com/garfiec/librechat/feature/agents/components/ToolSelectDialog.kt +++ b/feature/agents/src/commonMain/kotlin/com/garfiec/librechat/feature/agents/components/ToolSelectDialog.kt @@ -49,8 +49,8 @@ import androidx.compose.ui.window.Dialog import androidx.compose.ui.window.DialogProperties import coil3.compose.AsyncImage import com.garfiec.librechat.feature.agents.AgentToolDisplayData -import librechat_android.feature.agents.generated.resources.Res -import librechat_android.feature.agents.generated.resources.* +import librechat_mobile.feature.agents.generated.resources.Res +import librechat_mobile.feature.agents.generated.resources.* /** * Full-screen dialog for selecting agent tools, matching the web app's ToolSelectDialog. diff --git a/feature/agents/src/commonMain/kotlin/com/garfiec/librechat/feature/agents/screen/AgentDetailScreen.kt b/feature/agents/src/commonMain/kotlin/com/garfiec/librechat/feature/agents/screen/AgentDetailScreen.kt index 37293b7..45e0c7c 100644 --- a/feature/agents/src/commonMain/kotlin/com/garfiec/librechat/feature/agents/screen/AgentDetailScreen.kt +++ b/feature/agents/src/commonMain/kotlin/com/garfiec/librechat/feature/agents/screen/AgentDetailScreen.kt @@ -51,8 +51,8 @@ import com.garfiec.librechat.core.ui.components.AvatarImage import com.garfiec.librechat.core.ui.components.endpointIconPainter import com.garfiec.librechat.core.ui.components.ErrorBanner import com.garfiec.librechat.core.ui.components.LoadingIndicator -import librechat_android.feature.agents.generated.resources.Res -import librechat_android.feature.agents.generated.resources.* +import librechat_mobile.feature.agents.generated.resources.Res +import librechat_mobile.feature.agents.generated.resources.* import com.garfiec.librechat.feature.agents.viewmodel.AgentDetailEvent import com.garfiec.librechat.feature.agents.viewmodel.AgentDetailViewModel import org.koin.compose.viewmodel.koinViewModel diff --git a/feature/agents/src/commonMain/kotlin/com/garfiec/librechat/feature/agents/screen/AgentEditorScreen.kt b/feature/agents/src/commonMain/kotlin/com/garfiec/librechat/feature/agents/screen/AgentEditorScreen.kt index f36ebd7..00eb10f 100644 --- a/feature/agents/src/commonMain/kotlin/com/garfiec/librechat/feature/agents/screen/AgentEditorScreen.kt +++ b/feature/agents/src/commonMain/kotlin/com/garfiec/librechat/feature/agents/screen/AgentEditorScreen.kt @@ -53,8 +53,8 @@ import androidx.compose.ui.unit.dp import androidx.lifecycle.compose.collectAsStateWithLifecycle import com.garfiec.librechat.core.ui.components.ErrorBanner import com.garfiec.librechat.core.ui.components.LoadingIndicator -import librechat_android.feature.agents.generated.resources.Res -import librechat_android.feature.agents.generated.resources.* +import librechat_mobile.feature.agents.generated.resources.Res +import librechat_mobile.feature.agents.generated.resources.* import com.garfiec.librechat.feature.agents.components.AgentActionsPanel import com.garfiec.librechat.feature.agents.components.AgentAdvancedPanel import com.garfiec.librechat.feature.agents.components.AgentAvatarPicker diff --git a/feature/agents/src/commonMain/kotlin/com/garfiec/librechat/feature/agents/screen/AgentMarketplaceScreen.kt b/feature/agents/src/commonMain/kotlin/com/garfiec/librechat/feature/agents/screen/AgentMarketplaceScreen.kt index e072e74..6895645 100644 --- a/feature/agents/src/commonMain/kotlin/com/garfiec/librechat/feature/agents/screen/AgentMarketplaceScreen.kt +++ b/feature/agents/src/commonMain/kotlin/com/garfiec/librechat/feature/agents/screen/AgentMarketplaceScreen.kt @@ -52,8 +52,8 @@ import com.garfiec.librechat.core.ui.components.ErrorBanner import com.garfiec.librechat.core.ui.components.LibreChatTopBar import com.garfiec.librechat.core.ui.components.LoadingIndicator import com.garfiec.librechat.feature.agents.AgentCardDisplayData -import librechat_android.feature.agents.generated.resources.Res -import librechat_android.feature.agents.generated.resources.* +import librechat_mobile.feature.agents.generated.resources.Res +import librechat_mobile.feature.agents.generated.resources.* import com.garfiec.librechat.feature.agents.viewmodel.AgentMarketplaceViewModel import org.koin.compose.viewmodel.koinViewModel diff --git a/feature/auth/src/commonMain/kotlin/com/garfiec/librechat/feature/auth/screen/ForgotPasswordScreen.kt b/feature/auth/src/commonMain/kotlin/com/garfiec/librechat/feature/auth/screen/ForgotPasswordScreen.kt index 83c40ff..9694690 100644 --- a/feature/auth/src/commonMain/kotlin/com/garfiec/librechat/feature/auth/screen/ForgotPasswordScreen.kt +++ b/feature/auth/src/commonMain/kotlin/com/garfiec/librechat/feature/auth/screen/ForgotPasswordScreen.kt @@ -31,8 +31,8 @@ import androidx.compose.foundation.text.KeyboardOptions import androidx.compose.ui.text.input.KeyboardType import androidx.compose.ui.unit.dp import androidx.lifecycle.compose.collectAsStateWithLifecycle -import librechat_android.feature.auth.generated.resources.Res -import librechat_android.feature.auth.generated.resources.* +import librechat_mobile.feature.auth.generated.resources.Res +import librechat_mobile.feature.auth.generated.resources.* import com.garfiec.librechat.feature.auth.viewmodel.ForgotPasswordViewModel import org.koin.compose.viewmodel.koinViewModel diff --git a/feature/auth/src/commonMain/kotlin/com/garfiec/librechat/feature/auth/screen/LoginScreen.kt b/feature/auth/src/commonMain/kotlin/com/garfiec/librechat/feature/auth/screen/LoginScreen.kt index 3536ccb..1d69d67 100644 --- a/feature/auth/src/commonMain/kotlin/com/garfiec/librechat/feature/auth/screen/LoginScreen.kt +++ b/feature/auth/src/commonMain/kotlin/com/garfiec/librechat/feature/auth/screen/LoginScreen.kt @@ -31,8 +31,8 @@ import androidx.compose.ui.unit.dp import androidx.lifecycle.Lifecycle import androidx.lifecycle.compose.LifecycleEventEffect import androidx.lifecycle.compose.collectAsStateWithLifecycle -import librechat_android.feature.auth.generated.resources.Res -import librechat_android.feature.auth.generated.resources.* +import librechat_mobile.feature.auth.generated.resources.Res +import librechat_mobile.feature.auth.generated.resources.* import com.garfiec.librechat.feature.auth.viewmodel.LoginViewModel import org.koin.compose.viewmodel.koinViewModel diff --git a/feature/auth/src/commonMain/kotlin/com/garfiec/librechat/feature/auth/screen/RegisterScreen.kt b/feature/auth/src/commonMain/kotlin/com/garfiec/librechat/feature/auth/screen/RegisterScreen.kt index f3dae4e..6f2e51d 100644 --- a/feature/auth/src/commonMain/kotlin/com/garfiec/librechat/feature/auth/screen/RegisterScreen.kt +++ b/feature/auth/src/commonMain/kotlin/com/garfiec/librechat/feature/auth/screen/RegisterScreen.kt @@ -28,8 +28,8 @@ import androidx.compose.foundation.text.KeyboardOptions import androidx.compose.ui.text.input.KeyboardType import androidx.compose.ui.unit.dp import androidx.lifecycle.compose.collectAsStateWithLifecycle -import librechat_android.feature.auth.generated.resources.Res -import librechat_android.feature.auth.generated.resources.* +import librechat_mobile.feature.auth.generated.resources.Res +import librechat_mobile.feature.auth.generated.resources.* import com.garfiec.librechat.feature.auth.viewmodel.RegisterViewModel import org.koin.compose.viewmodel.koinViewModel diff --git a/feature/auth/src/commonMain/kotlin/com/garfiec/librechat/feature/auth/screen/ResetPasswordScreen.kt b/feature/auth/src/commonMain/kotlin/com/garfiec/librechat/feature/auth/screen/ResetPasswordScreen.kt index a7ae129..83c41f6 100644 --- a/feature/auth/src/commonMain/kotlin/com/garfiec/librechat/feature/auth/screen/ResetPasswordScreen.kt +++ b/feature/auth/src/commonMain/kotlin/com/garfiec/librechat/feature/auth/screen/ResetPasswordScreen.kt @@ -31,8 +31,8 @@ import androidx.compose.foundation.text.KeyboardOptions import androidx.compose.ui.text.input.KeyboardType import androidx.compose.ui.unit.dp import androidx.lifecycle.compose.collectAsStateWithLifecycle -import librechat_android.feature.auth.generated.resources.Res -import librechat_android.feature.auth.generated.resources.* +import librechat_mobile.feature.auth.generated.resources.Res +import librechat_mobile.feature.auth.generated.resources.* import com.garfiec.librechat.feature.auth.viewmodel.ResetPasswordViewModel import org.koin.compose.viewmodel.koinViewModel diff --git a/feature/auth/src/commonMain/kotlin/com/garfiec/librechat/feature/auth/screen/ServerUrlScreen.kt b/feature/auth/src/commonMain/kotlin/com/garfiec/librechat/feature/auth/screen/ServerUrlScreen.kt index b7b279c..d07f3f0 100644 --- a/feature/auth/src/commonMain/kotlin/com/garfiec/librechat/feature/auth/screen/ServerUrlScreen.kt +++ b/feature/auth/src/commonMain/kotlin/com/garfiec/librechat/feature/auth/screen/ServerUrlScreen.kt @@ -25,8 +25,8 @@ import androidx.compose.ui.semantics.heading import androidx.compose.ui.semantics.semantics import androidx.compose.ui.unit.dp import androidx.lifecycle.compose.collectAsStateWithLifecycle -import librechat_android.feature.auth.generated.resources.Res -import librechat_android.feature.auth.generated.resources.* +import librechat_mobile.feature.auth.generated.resources.Res +import librechat_mobile.feature.auth.generated.resources.* import com.garfiec.librechat.feature.auth.viewmodel.ServerUrlViewModel import org.koin.compose.viewmodel.koinViewModel diff --git a/feature/auth/src/commonMain/kotlin/com/garfiec/librechat/feature/auth/screen/TermsScreen.kt b/feature/auth/src/commonMain/kotlin/com/garfiec/librechat/feature/auth/screen/TermsScreen.kt index 46db41d..ee3fcd1 100644 --- a/feature/auth/src/commonMain/kotlin/com/garfiec/librechat/feature/auth/screen/TermsScreen.kt +++ b/feature/auth/src/commonMain/kotlin/com/garfiec/librechat/feature/auth/screen/TermsScreen.kt @@ -32,8 +32,8 @@ import androidx.compose.ui.semantics.semantics import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp import androidx.lifecycle.compose.collectAsStateWithLifecycle -import librechat_android.feature.auth.generated.resources.Res -import librechat_android.feature.auth.generated.resources.* +import librechat_mobile.feature.auth.generated.resources.Res +import librechat_mobile.feature.auth.generated.resources.* import com.garfiec.librechat.feature.auth.viewmodel.TermsViewModel import org.koin.compose.viewmodel.koinViewModel diff --git a/feature/auth/src/commonMain/kotlin/com/garfiec/librechat/feature/auth/screen/TwoFactorScreen.kt b/feature/auth/src/commonMain/kotlin/com/garfiec/librechat/feature/auth/screen/TwoFactorScreen.kt index 98aa68b..9419d3a 100644 --- a/feature/auth/src/commonMain/kotlin/com/garfiec/librechat/feature/auth/screen/TwoFactorScreen.kt +++ b/feature/auth/src/commonMain/kotlin/com/garfiec/librechat/feature/auth/screen/TwoFactorScreen.kt @@ -38,8 +38,8 @@ import androidx.compose.ui.text.input.KeyboardType import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp import androidx.lifecycle.compose.collectAsStateWithLifecycle -import librechat_android.feature.auth.generated.resources.Res -import librechat_android.feature.auth.generated.resources.* +import librechat_mobile.feature.auth.generated.resources.Res +import librechat_mobile.feature.auth.generated.resources.* import com.garfiec.librechat.feature.auth.viewmodel.TwoFactorViewModel import org.koin.compose.viewmodel.koinViewModel diff --git a/feature/auth/src/commonMain/kotlin/com/garfiec/librechat/feature/auth/screen/VerifyEmailScreen.kt b/feature/auth/src/commonMain/kotlin/com/garfiec/librechat/feature/auth/screen/VerifyEmailScreen.kt index 66ddec5..280bba6 100644 --- a/feature/auth/src/commonMain/kotlin/com/garfiec/librechat/feature/auth/screen/VerifyEmailScreen.kt +++ b/feature/auth/src/commonMain/kotlin/com/garfiec/librechat/feature/auth/screen/VerifyEmailScreen.kt @@ -30,8 +30,8 @@ import androidx.compose.ui.semantics.semantics import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp import androidx.lifecycle.compose.collectAsStateWithLifecycle -import librechat_android.feature.auth.generated.resources.Res -import librechat_android.feature.auth.generated.resources.* +import librechat_mobile.feature.auth.generated.resources.Res +import librechat_mobile.feature.auth.generated.resources.* import com.garfiec.librechat.feature.auth.viewmodel.VerifyEmailViewModel import org.koin.compose.viewmodel.koinViewModel diff --git a/feature/chat/src/androidMain/kotlin/com/garfiec/librechat/feature/chat/components/AudioContentPlayer.kt b/feature/chat/src/androidMain/kotlin/com/garfiec/librechat/feature/chat/components/AudioContentPlayer.kt index 10418c5..dbd7877 100644 --- a/feature/chat/src/androidMain/kotlin/com/garfiec/librechat/feature/chat/components/AudioContentPlayer.kt +++ b/feature/chat/src/androidMain/kotlin/com/garfiec/librechat/feature/chat/components/AudioContentPlayer.kt @@ -34,8 +34,8 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalContext import org.jetbrains.compose.resources.stringResource import androidx.compose.ui.unit.dp -import librechat_android.feature.chat.generated.resources.Res -import librechat_android.feature.chat.generated.resources.* +import librechat_mobile.feature.chat.generated.resources.Res +import librechat_mobile.feature.chat.generated.resources.* import kotlinx.coroutines.delay import co.touchlab.kermit.Logger import java.io.File diff --git a/feature/chat/src/androidMain/kotlin/com/garfiec/librechat/feature/chat/components/ChatInput.kt b/feature/chat/src/androidMain/kotlin/com/garfiec/librechat/feature/chat/components/ChatInput.kt index 99d1391..138a39b 100644 --- a/feature/chat/src/androidMain/kotlin/com/garfiec/librechat/feature/chat/components/ChatInput.kt +++ b/feature/chat/src/androidMain/kotlin/com/garfiec/librechat/feature/chat/components/ChatInput.kt @@ -53,8 +53,8 @@ import androidx.core.content.ContextCompat import androidx.core.content.FileProvider import com.garfiec.librechat.feature.chat.McpServerDisplayData import com.garfiec.librechat.feature.chat.PromptMentionDisplayData -import librechat_android.feature.chat.generated.resources.Res -import librechat_android.feature.chat.generated.resources.* +import librechat_mobile.feature.chat.generated.resources.Res +import librechat_mobile.feature.chat.generated.resources.* import java.io.File @Composable diff --git a/feature/chat/src/androidMain/kotlin/com/garfiec/librechat/feature/chat/components/ContentPartRenderer.kt b/feature/chat/src/androidMain/kotlin/com/garfiec/librechat/feature/chat/components/ContentPartRenderer.kt index 4979384..131e553 100644 --- a/feature/chat/src/androidMain/kotlin/com/garfiec/librechat/feature/chat/components/ContentPartRenderer.kt +++ b/feature/chat/src/androidMain/kotlin/com/garfiec/librechat/feature/chat/components/ContentPartRenderer.kt @@ -51,8 +51,8 @@ import com.garfiec.librechat.core.common.ToolConstants import com.garfiec.librechat.core.model.AgentToolCall import com.garfiec.librechat.core.model.ContentType import com.garfiec.librechat.core.model.MessageContentPart -import librechat_android.feature.chat.generated.resources.Res -import librechat_android.feature.chat.generated.resources.* +import librechat_mobile.feature.chat.generated.resources.Res +import librechat_mobile.feature.chat.generated.resources.* import com.garfiec.librechat.feature.chat.components.artifact.ArtifactButton import com.garfiec.librechat.feature.chat.components.artifact.ArtifactPanel import com.garfiec.librechat.feature.chat.components.artifact.ArtifactSegment diff --git a/feature/chat/src/androidMain/kotlin/com/garfiec/librechat/feature/chat/components/FullscreenImageViewer.kt b/feature/chat/src/androidMain/kotlin/com/garfiec/librechat/feature/chat/components/FullscreenImageViewer.kt index 32ed642..6650d3e 100644 --- a/feature/chat/src/androidMain/kotlin/com/garfiec/librechat/feature/chat/components/FullscreenImageViewer.kt +++ b/feature/chat/src/androidMain/kotlin/com/garfiec/librechat/feature/chat/components/FullscreenImageViewer.kt @@ -53,8 +53,8 @@ import coil3.compose.AsyncImage import coil3.SingletonImageLoader import coil3.request.ImageRequest import coil3.toBitmap -import librechat_android.feature.chat.generated.resources.Res -import librechat_android.feature.chat.generated.resources.* +import librechat_mobile.feature.chat.generated.resources.Res +import librechat_mobile.feature.chat.generated.resources.* import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch import kotlinx.coroutines.withContext diff --git a/feature/chat/src/androidMain/kotlin/com/garfiec/librechat/feature/chat/components/MarkdownContent.kt b/feature/chat/src/androidMain/kotlin/com/garfiec/librechat/feature/chat/components/MarkdownContent.kt index fd1c07e..95a788b 100644 --- a/feature/chat/src/androidMain/kotlin/com/garfiec/librechat/feature/chat/components/MarkdownContent.kt +++ b/feature/chat/src/androidMain/kotlin/com/garfiec/librechat/feature/chat/components/MarkdownContent.kt @@ -60,8 +60,8 @@ import androidx.compose.ui.unit.isSpecified import androidx.compose.ui.unit.sp import androidx.compose.ui.window.Dialog import androidx.compose.ui.window.DialogProperties -import librechat_android.feature.chat.generated.resources.Res -import librechat_android.feature.chat.generated.resources.* +import librechat_mobile.feature.chat.generated.resources.Res +import librechat_mobile.feature.chat.generated.resources.* import com.mikepenz.markdown.m3.Markdown import com.mikepenz.markdown.m3.markdownColor import com.mikepenz.markdown.m3.markdownTypography diff --git a/feature/chat/src/androidMain/kotlin/com/garfiec/librechat/feature/chat/components/MermaidDiagram.kt b/feature/chat/src/androidMain/kotlin/com/garfiec/librechat/feature/chat/components/MermaidDiagram.kt index c532dd2..7c2cc43 100644 --- a/feature/chat/src/androidMain/kotlin/com/garfiec/librechat/feature/chat/components/MermaidDiagram.kt +++ b/feature/chat/src/androidMain/kotlin/com/garfiec/librechat/feature/chat/components/MermaidDiagram.kt @@ -47,8 +47,8 @@ import androidx.compose.ui.unit.dp import androidx.compose.ui.viewinterop.AndroidView import androidx.compose.ui.window.Dialog import androidx.compose.ui.window.DialogProperties -import librechat_android.feature.chat.generated.resources.Res -import librechat_android.feature.chat.generated.resources.* +import librechat_mobile.feature.chat.generated.resources.Res +import librechat_mobile.feature.chat.generated.resources.* import co.touchlab.kermit.Logger @Composable diff --git a/feature/chat/src/androidMain/kotlin/com/garfiec/librechat/feature/chat/components/MessageBubble.kt b/feature/chat/src/androidMain/kotlin/com/garfiec/librechat/feature/chat/components/MessageBubble.kt index 542c83d..d146494 100644 --- a/feature/chat/src/androidMain/kotlin/com/garfiec/librechat/feature/chat/components/MessageBubble.kt +++ b/feature/chat/src/androidMain/kotlin/com/garfiec/librechat/feature/chat/components/MessageBubble.kt @@ -31,8 +31,8 @@ import com.garfiec.librechat.core.model.Message import com.garfiec.librechat.core.ui.components.AvatarImage import com.garfiec.librechat.core.ui.components.endpointIconPainter import com.garfiec.librechat.core.ui.components.isMonochromeEndpointIcon -import librechat_android.feature.chat.generated.resources.Res -import librechat_android.feature.chat.generated.resources.* +import librechat_mobile.feature.chat.generated.resources.Res +import librechat_mobile.feature.chat.generated.resources.* import kotlinx.coroutines.delay private const val ACTION_AUTO_HIDE_MILLIS = 30_000L diff --git a/feature/chat/src/androidMain/kotlin/com/garfiec/librechat/feature/chat/components/VideoContent.kt b/feature/chat/src/androidMain/kotlin/com/garfiec/librechat/feature/chat/components/VideoContent.kt index 1a1579b..303f8e7 100644 --- a/feature/chat/src/androidMain/kotlin/com/garfiec/librechat/feature/chat/components/VideoContent.kt +++ b/feature/chat/src/androidMain/kotlin/com/garfiec/librechat/feature/chat/components/VideoContent.kt @@ -29,8 +29,8 @@ import androidx.compose.ui.viewinterop.AndroidView import androidx.media3.common.MediaItem import androidx.media3.exoplayer.ExoPlayer import androidx.media3.ui.PlayerView -import librechat_android.feature.chat.generated.resources.Res -import librechat_android.feature.chat.generated.resources.* +import librechat_mobile.feature.chat.generated.resources.Res +import librechat_mobile.feature.chat.generated.resources.* @Composable actual fun VideoContent( diff --git a/feature/chat/src/androidMain/kotlin/com/garfiec/librechat/feature/chat/components/VideoContentPlayer.kt b/feature/chat/src/androidMain/kotlin/com/garfiec/librechat/feature/chat/components/VideoContentPlayer.kt index 5d613c5..9afcbaa 100644 --- a/feature/chat/src/androidMain/kotlin/com/garfiec/librechat/feature/chat/components/VideoContentPlayer.kt +++ b/feature/chat/src/androidMain/kotlin/com/garfiec/librechat/feature/chat/components/VideoContentPlayer.kt @@ -31,8 +31,8 @@ import androidx.media3.common.MediaItem import androidx.media3.common.Player import androidx.media3.exoplayer.ExoPlayer import androidx.media3.ui.PlayerView -import librechat_android.feature.chat.generated.resources.Res -import librechat_android.feature.chat.generated.resources.* +import librechat_mobile.feature.chat.generated.resources.Res +import librechat_mobile.feature.chat.generated.resources.* /** Plays video via ExoPlayer (media3) in a 16:9 card. Releases player on dispose via DisposableEffect. */ @Composable diff --git a/feature/chat/src/androidMain/kotlin/com/garfiec/librechat/feature/chat/components/artifact/ArtifactPanel.kt b/feature/chat/src/androidMain/kotlin/com/garfiec/librechat/feature/chat/components/artifact/ArtifactPanel.kt index c084f06..4a199e9 100644 --- a/feature/chat/src/androidMain/kotlin/com/garfiec/librechat/feature/chat/components/artifact/ArtifactPanel.kt +++ b/feature/chat/src/androidMain/kotlin/com/garfiec/librechat/feature/chat/components/artifact/ArtifactPanel.kt @@ -63,8 +63,8 @@ import androidx.compose.ui.unit.dp import androidx.compose.ui.viewinterop.AndroidView import androidx.compose.ui.window.Dialog import androidx.compose.ui.window.DialogProperties -import librechat_android.feature.chat.generated.resources.Res -import librechat_android.feature.chat.generated.resources.* +import librechat_mobile.feature.chat.generated.resources.Res +import librechat_mobile.feature.chat.generated.resources.* import com.garfiec.librechat.feature.chat.components.CodeBlock import kotlinx.coroutines.launch import co.touchlab.kermit.Logger diff --git a/feature/chat/src/androidMain/kotlin/com/garfiec/librechat/feature/chat/screen/ChatScreen.kt b/feature/chat/src/androidMain/kotlin/com/garfiec/librechat/feature/chat/screen/ChatScreen.kt index 2f2990d..caef207 100644 --- a/feature/chat/src/androidMain/kotlin/com/garfiec/librechat/feature/chat/screen/ChatScreen.kt +++ b/feature/chat/src/androidMain/kotlin/com/garfiec/librechat/feature/chat/screen/ChatScreen.kt @@ -77,8 +77,8 @@ import com.garfiec.librechat.core.model.ContentType import com.garfiec.librechat.core.model.MessageContentPart import com.garfiec.librechat.core.ui.components.LoadingIndicator import com.garfiec.librechat.core.ui.components.ModelParameterSheet -import librechat_android.feature.chat.generated.resources.Res -import librechat_android.feature.chat.generated.resources.* +import librechat_mobile.feature.chat.generated.resources.Res +import librechat_mobile.feature.chat.generated.resources.* import com.garfiec.librechat.feature.chat.components.ChatInput import com.garfiec.librechat.feature.chat.components.ComparisonDualPane import com.garfiec.librechat.feature.chat.components.ComparisonTabBar diff --git a/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/AgentHandoffCard.kt b/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/AgentHandoffCard.kt index 4d5d7e5..93f64cf 100644 --- a/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/AgentHandoffCard.kt +++ b/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/AgentHandoffCard.kt @@ -27,8 +27,8 @@ import androidx.compose.ui.semantics.semantics import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp -import librechat_android.feature.chat.generated.resources.Res -import librechat_android.feature.chat.generated.resources.* +import librechat_mobile.feature.chat.generated.resources.Res +import librechat_mobile.feature.chat.generated.resources.* /** * Data class representing an agent handoff event. diff --git a/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/AttachmentChipsRow.kt b/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/AttachmentChipsRow.kt index 518a650..8a9de8e 100644 --- a/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/AttachmentChipsRow.kt +++ b/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/AttachmentChipsRow.kt @@ -53,8 +53,8 @@ import androidx.compose.ui.unit.dp import coil3.compose.AsyncImage import com.garfiec.librechat.core.common.ToolConstants import com.garfiec.librechat.feature.chat.McpServerDisplayData -import librechat_android.feature.chat.generated.resources.Res -import librechat_android.feature.chat.generated.resources.* +import librechat_mobile.feature.chat.generated.resources.Res +import librechat_mobile.feature.chat.generated.resources.* /** * Floating row of Material 3 chips above the chat input field. diff --git a/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/ChatInputToolbar.kt b/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/ChatInputToolbar.kt index b4e2402..7f6c9e9 100644 --- a/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/ChatInputToolbar.kt +++ b/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/ChatInputToolbar.kt @@ -36,8 +36,8 @@ import androidx.compose.ui.semantics.semantics import androidx.compose.ui.unit.dp import com.garfiec.librechat.core.common.ToolConstants import com.garfiec.librechat.feature.chat.McpServerDisplayData -import librechat_android.feature.chat.generated.resources.Res -import librechat_android.feature.chat.generated.resources.* +import librechat_mobile.feature.chat.generated.resources.Res +import librechat_mobile.feature.chat.generated.resources.* data class ToolToggle( val id: String, diff --git a/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/ChatToolsBottomSheet.kt b/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/ChatToolsBottomSheet.kt index f6fa2f1..6f32b7b 100644 --- a/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/ChatToolsBottomSheet.kt +++ b/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/ChatToolsBottomSheet.kt @@ -55,8 +55,8 @@ import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp import com.garfiec.librechat.core.common.ToolConstants import com.garfiec.librechat.feature.chat.McpServerDisplayData -import librechat_android.feature.chat.generated.resources.Res -import librechat_android.feature.chat.generated.resources.* +import librechat_mobile.feature.chat.generated.resources.Res +import librechat_mobile.feature.chat.generated.resources.* @OptIn(ExperimentalMaterial3Api::class) @Composable diff --git a/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/CitationChip.kt b/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/CitationChip.kt index 6fc5246..baddf88 100644 --- a/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/CitationChip.kt +++ b/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/CitationChip.kt @@ -35,8 +35,8 @@ import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import androidx.compose.ui.window.Popup import androidx.compose.ui.window.PopupProperties -import librechat_android.feature.chat.generated.resources.Res -import librechat_android.feature.chat.generated.resources.* +import librechat_mobile.feature.chat.generated.resources.Res +import librechat_mobile.feature.chat.generated.resources.* /** * Parsed citation found in message text. diff --git a/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/CodeBlock.kt b/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/CodeBlock.kt index 047431c..577b217 100644 --- a/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/CodeBlock.kt +++ b/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/CodeBlock.kt @@ -44,8 +44,8 @@ import androidx.compose.ui.text.font.FontStyle import androidx.compose.ui.text.withStyle import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp -import librechat_android.feature.chat.generated.resources.Res -import librechat_android.feature.chat.generated.resources.* +import librechat_mobile.feature.chat.generated.resources.Res +import librechat_mobile.feature.chat.generated.resources.* import kotlinx.coroutines.delay @Composable diff --git a/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/CodeExecutionCard.kt b/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/CodeExecutionCard.kt index 3820035..7a8b586 100644 --- a/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/CodeExecutionCard.kt +++ b/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/CodeExecutionCard.kt @@ -42,8 +42,8 @@ import androidx.compose.ui.semantics.role import androidx.compose.ui.semantics.semantics import androidx.compose.ui.text.font.FontFamily import androidx.compose.ui.unit.dp -import librechat_android.feature.chat.generated.resources.Res -import librechat_android.feature.chat.generated.resources.* +import librechat_mobile.feature.chat.generated.resources.Res +import librechat_mobile.feature.chat.generated.resources.* /** * Data class representing a code execution result parsed from tool call output. diff --git a/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/CommonChatInputCore.kt b/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/CommonChatInputCore.kt index 411ddaf..5c020a8 100644 --- a/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/CommonChatInputCore.kt +++ b/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/CommonChatInputCore.kt @@ -42,13 +42,13 @@ import androidx.compose.ui.graphics.Color import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp import com.garfiec.librechat.feature.chat.McpServerDisplayData -import librechat_android.feature.chat.generated.resources.Res -import librechat_android.feature.chat.generated.resources.cd_send_message -import librechat_android.feature.chat.generated.resources.cd_start_voice_recording -import librechat_android.feature.chat.generated.resources.cd_stop_generation -import librechat_android.feature.chat.generated.resources.hint_message -import librechat_android.feature.chat.generated.resources.hint_message_model -import librechat_android.feature.chat.generated.resources.recording +import librechat_mobile.feature.chat.generated.resources.Res +import librechat_mobile.feature.chat.generated.resources.cd_send_message +import librechat_mobile.feature.chat.generated.resources.cd_start_voice_recording +import librechat_mobile.feature.chat.generated.resources.cd_stop_generation +import librechat_mobile.feature.chat.generated.resources.hint_message +import librechat_mobile.feature.chat.generated.resources.hint_message_model +import librechat_mobile.feature.chat.generated.resources.recording import org.jetbrains.compose.resources.stringResource @Immutable diff --git a/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/ComparisonDualPane.kt b/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/ComparisonDualPane.kt index e9f7524..f84fbdd 100644 --- a/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/ComparisonDualPane.kt +++ b/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/ComparisonDualPane.kt @@ -17,8 +17,8 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import org.jetbrains.compose.resources.stringResource import androidx.compose.ui.unit.dp -import librechat_android.feature.chat.generated.resources.Res -import librechat_android.feature.chat.generated.resources.* +import librechat_mobile.feature.chat.generated.resources.Res +import librechat_mobile.feature.chat.generated.resources.* /** * Tablet-layout comparison view with two side-by-side panes. diff --git a/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/ComparisonTabBar.kt b/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/ComparisonTabBar.kt index 33f0c7b..ef43550 100644 --- a/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/ComparisonTabBar.kt +++ b/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/ComparisonTabBar.kt @@ -22,8 +22,8 @@ import androidx.compose.ui.Modifier import org.jetbrains.compose.resources.stringResource import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp -import librechat_android.feature.chat.generated.resources.Res -import librechat_android.feature.chat.generated.resources.* +import librechat_mobile.feature.chat.generated.resources.Res +import librechat_mobile.feature.chat.generated.resources.* import kotlinx.coroutines.launch /** diff --git a/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/FeedbackCommentDialog.kt b/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/FeedbackCommentDialog.kt index e2579b7..7249639 100644 --- a/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/FeedbackCommentDialog.kt +++ b/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/FeedbackCommentDialog.kt @@ -19,8 +19,8 @@ import androidx.compose.ui.Modifier import org.jetbrains.compose.resources.stringResource import androidx.compose.ui.text.input.KeyboardCapitalization import androidx.compose.ui.unit.dp -import librechat_android.feature.chat.generated.resources.Res -import librechat_android.feature.chat.generated.resources.* +import librechat_mobile.feature.chat.generated.resources.Res +import librechat_mobile.feature.chat.generated.resources.* /** * Dialog shown when a user taps thumbs-down on an AI message. diff --git a/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/ForkOptionsBottomSheet.kt b/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/ForkOptionsBottomSheet.kt index 4726b83..ec2b400 100644 --- a/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/ForkOptionsBottomSheet.kt +++ b/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/ForkOptionsBottomSheet.kt @@ -31,8 +31,8 @@ import androidx.compose.ui.graphics.vector.ImageVector import org.jetbrains.compose.resources.stringResource import androidx.compose.ui.unit.dp import com.garfiec.librechat.core.model.request.ForkOption -import librechat_android.feature.chat.generated.resources.Res -import librechat_android.feature.chat.generated.resources.* +import librechat_mobile.feature.chat.generated.resources.Res +import librechat_mobile.feature.chat.generated.resources.* @OptIn(ExperimentalMaterial3Api::class) @Composable diff --git a/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/ImageGenCard.kt b/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/ImageGenCard.kt index 7015c30..068f9f9 100644 --- a/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/ImageGenCard.kt +++ b/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/ImageGenCard.kt @@ -38,8 +38,8 @@ import androidx.compose.ui.semantics.role import androidx.compose.ui.semantics.semantics import androidx.compose.ui.unit.dp import coil3.compose.SubcomposeAsyncImage -import librechat_android.feature.chat.generated.resources.Res -import librechat_android.feature.chat.generated.resources.* +import librechat_mobile.feature.chat.generated.resources.Res +import librechat_mobile.feature.chat.generated.resources.* data class ImageGenResult( val imageUrl: String? = null, diff --git a/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/InConvoSearchBar.kt b/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/InConvoSearchBar.kt index 8ef4fd9..b49756a 100644 --- a/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/InConvoSearchBar.kt +++ b/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/InConvoSearchBar.kt @@ -30,8 +30,8 @@ import androidx.compose.ui.semantics.contentDescription import androidx.compose.ui.semantics.semantics import androidx.compose.ui.text.input.ImeAction import androidx.compose.ui.unit.dp -import librechat_android.feature.chat.generated.resources.Res -import librechat_android.feature.chat.generated.resources.* +import librechat_mobile.feature.chat.generated.resources.Res +import librechat_mobile.feature.chat.generated.resources.* import kotlinx.coroutines.FlowPreview import kotlinx.coroutines.flow.debounce import kotlinx.coroutines.flow.filter diff --git a/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/InlineEditInput.kt b/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/InlineEditInput.kt index 8399b70..f47a43d 100644 --- a/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/InlineEditInput.kt +++ b/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/InlineEditInput.kt @@ -24,8 +24,8 @@ import org.jetbrains.compose.resources.stringResource import androidx.compose.ui.text.input.KeyboardCapitalization import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp -import librechat_android.feature.chat.generated.resources.Res -import librechat_android.feature.chat.generated.resources.* +import librechat_mobile.feature.chat.generated.resources.Res +import librechat_mobile.feature.chat.generated.resources.* @Composable fun InlineEditInput( diff --git a/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/LandingContent.kt b/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/LandingContent.kt index 70b2925..4a92abb 100644 --- a/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/LandingContent.kt +++ b/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/LandingContent.kt @@ -26,8 +26,8 @@ import androidx.compose.ui.semantics.semantics import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp -import librechat_android.feature.chat.generated.resources.Res -import librechat_android.feature.chat.generated.resources.* +import librechat_mobile.feature.chat.generated.resources.Res +import librechat_mobile.feature.chat.generated.resources.* import kotlin.time.Clock import kotlinx.datetime.TimeZone import kotlinx.datetime.toLocalDateTime diff --git a/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/LogContentCard.kt b/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/LogContentCard.kt index aee2956..11fa4dc 100644 --- a/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/LogContentCard.kt +++ b/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/LogContentCard.kt @@ -38,8 +38,8 @@ import androidx.compose.ui.semantics.role import androidx.compose.ui.semantics.semantics import androidx.compose.ui.text.font.FontFamily import androidx.compose.ui.unit.dp -import librechat_android.feature.chat.generated.resources.Res -import librechat_android.feature.chat.generated.resources.* +import librechat_mobile.feature.chat.generated.resources.Res +import librechat_mobile.feature.chat.generated.resources.* data class LogContent( val title: String = "Log Output", diff --git a/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/McpResourceCarousel.kt b/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/McpResourceCarousel.kt index a2b5aa4..65488f4 100644 --- a/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/McpResourceCarousel.kt +++ b/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/McpResourceCarousel.kt @@ -28,8 +28,8 @@ import androidx.compose.ui.semantics.semantics import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp -import librechat_android.feature.chat.generated.resources.Res -import librechat_android.feature.chat.generated.resources.* +import librechat_mobile.feature.chat.generated.resources.Res +import librechat_mobile.feature.chat.generated.resources.* /** * Data class representing an MCP resource parsed from tool call output. diff --git a/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/McpServerSelector.kt b/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/McpServerSelector.kt index 1c78dde..1695895 100644 --- a/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/McpServerSelector.kt +++ b/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/McpServerSelector.kt @@ -34,8 +34,8 @@ import androidx.compose.ui.semantics.semantics import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp import com.garfiec.librechat.feature.chat.McpServerDisplayData -import librechat_android.feature.chat.generated.resources.Res -import librechat_android.feature.chat.generated.resources.* +import librechat_mobile.feature.chat.generated.resources.Res +import librechat_mobile.feature.chat.generated.resources.* @Composable fun McpServerSelector( diff --git a/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/MemoryArtifactCard.kt b/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/MemoryArtifactCard.kt index bcd6032..3369b23 100644 --- a/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/MemoryArtifactCard.kt +++ b/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/MemoryArtifactCard.kt @@ -28,8 +28,8 @@ import androidx.compose.ui.semantics.semantics import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp -import librechat_android.feature.chat.generated.resources.Res -import librechat_android.feature.chat.generated.resources.* +import librechat_mobile.feature.chat.generated.resources.Res +import librechat_mobile.feature.chat.generated.resources.* /** * Data class representing a memory artifact parsed from tool call output. diff --git a/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/MessageContentAndActions.kt b/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/MessageContentAndActions.kt index 65202c5..8830b61 100644 --- a/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/MessageContentAndActions.kt +++ b/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/MessageContentAndActions.kt @@ -32,8 +32,8 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.layout.LayoutCoordinates import androidx.compose.ui.unit.dp import com.garfiec.librechat.core.model.Message -import librechat_android.feature.chat.generated.resources.Res -import librechat_android.feature.chat.generated.resources.* +import librechat_mobile.feature.chat.generated.resources.Res +import librechat_mobile.feature.chat.generated.resources.* import org.jetbrains.compose.resources.stringResource /** diff --git a/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/MessageFiles.kt b/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/MessageFiles.kt index 16b6f71..7cc2098 100644 --- a/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/MessageFiles.kt +++ b/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/MessageFiles.kt @@ -47,8 +47,8 @@ import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp import coil3.compose.SubcomposeAsyncImage import com.garfiec.librechat.core.model.FileReference -import librechat_android.feature.chat.generated.resources.Res -import librechat_android.feature.chat.generated.resources.* +import librechat_mobile.feature.chat.generated.resources.Res +import librechat_mobile.feature.chat.generated.resources.* /** * Renders files attached to a message. Splits files into images (shown as diff --git a/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/MessageList.kt b/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/MessageList.kt index 5ab6dd1..1e97e28 100644 --- a/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/MessageList.kt +++ b/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/MessageList.kt @@ -39,8 +39,8 @@ import org.jetbrains.compose.resources.stringResource import androidx.compose.ui.unit.dp import com.garfiec.librechat.core.common.ChatLayoutConstants import com.garfiec.librechat.core.model.FeedbackRating -import librechat_android.feature.chat.generated.resources.Res -import librechat_android.feature.chat.generated.resources.* +import librechat_mobile.feature.chat.generated.resources.Res +import librechat_mobile.feature.chat.generated.resources.* import com.garfiec.librechat.feature.chat.util.MessageNode import com.garfiec.librechat.feature.chat.viewmodel.ActiveToolCall import com.garfiec.librechat.feature.chat.viewmodel.SearchMatch diff --git a/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/ModelSelectorButton.kt b/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/ModelSelectorButton.kt index 034d2d6..1b3726f 100644 --- a/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/ModelSelectorButton.kt +++ b/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/ModelSelectorButton.kt @@ -16,8 +16,8 @@ import androidx.compose.ui.Modifier import org.jetbrains.compose.resources.stringResource import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp -import librechat_android.feature.chat.generated.resources.Res -import librechat_android.feature.chat.generated.resources.* +import librechat_mobile.feature.chat.generated.resources.Res +import librechat_mobile.feature.chat.generated.resources.* @Composable fun ModelSelectorButton( diff --git a/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/ModelSelectorSheet.kt b/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/ModelSelectorSheet.kt index 44cb0f4..9e24e0e 100644 --- a/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/ModelSelectorSheet.kt +++ b/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/ModelSelectorSheet.kt @@ -51,8 +51,8 @@ import com.garfiec.librechat.core.model.EndpointConfig import com.garfiec.librechat.core.ui.components.endpointIconPainter import com.garfiec.librechat.core.ui.components.isMonochromeEndpointIcon import com.garfiec.librechat.feature.chat.util.FuzzyMatch -import librechat_android.feature.chat.generated.resources.Res -import librechat_android.feature.chat.generated.resources.* +import librechat_mobile.feature.chat.generated.resources.Res +import librechat_mobile.feature.chat.generated.resources.* import org.jetbrains.compose.resources.stringResource private val IconSize = 20.dp diff --git a/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/PresetPicker.kt b/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/PresetPicker.kt index a9ecbd2..d59d5a5 100644 --- a/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/PresetPicker.kt +++ b/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/PresetPicker.kt @@ -29,8 +29,8 @@ import org.jetbrains.compose.resources.stringResource import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp import com.garfiec.librechat.feature.chat.PresetDisplayData -import librechat_android.feature.chat.generated.resources.Res -import librechat_android.feature.chat.generated.resources.* +import librechat_mobile.feature.chat.generated.resources.Res +import librechat_mobile.feature.chat.generated.resources.* @OptIn(ExperimentalMaterial3Api::class) @Composable diff --git a/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/SavePresetDialog.kt b/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/SavePresetDialog.kt index 7d7c6b0..c3678cf 100644 --- a/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/SavePresetDialog.kt +++ b/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/SavePresetDialog.kt @@ -17,8 +17,8 @@ import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier import org.jetbrains.compose.resources.stringResource import androidx.compose.ui.unit.dp -import librechat_android.feature.chat.generated.resources.Res -import librechat_android.feature.chat.generated.resources.* +import librechat_mobile.feature.chat.generated.resources.Res +import librechat_mobile.feature.chat.generated.resources.* @Composable fun SavePresetDialog( diff --git a/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/SecondaryMessageList.kt b/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/SecondaryMessageList.kt index b1907b5..6e8979a 100644 --- a/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/SecondaryMessageList.kt +++ b/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/SecondaryMessageList.kt @@ -16,8 +16,8 @@ import androidx.compose.ui.Modifier import org.jetbrains.compose.resources.stringResource import androidx.compose.ui.unit.dp import com.garfiec.librechat.core.common.ChatLayoutConstants -import librechat_android.feature.chat.generated.resources.Res -import librechat_android.feature.chat.generated.resources.* +import librechat_mobile.feature.chat.generated.resources.Res +import librechat_mobile.feature.chat.generated.resources.* import com.garfiec.librechat.feature.chat.util.MessageNode import com.garfiec.librechat.feature.chat.viewmodel.ActiveToolCall diff --git a/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/SiblingNavigator.kt b/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/SiblingNavigator.kt index ef8fbb6..31c4c0c 100644 --- a/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/SiblingNavigator.kt +++ b/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/SiblingNavigator.kt @@ -17,8 +17,8 @@ import org.jetbrains.compose.resources.stringResource import androidx.compose.ui.semantics.semantics import androidx.compose.ui.semantics.stateDescription import androidx.compose.ui.unit.dp -import librechat_android.feature.chat.generated.resources.Res -import librechat_android.feature.chat.generated.resources.* +import librechat_mobile.feature.chat.generated.resources.Res +import librechat_mobile.feature.chat.generated.resources.* @Composable fun SiblingNavigator( diff --git a/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/StreamingIndicator.kt b/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/StreamingIndicator.kt index 3790a26..6e6b336 100644 --- a/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/StreamingIndicator.kt +++ b/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/StreamingIndicator.kt @@ -19,8 +19,8 @@ import androidx.compose.ui.semantics.semantics import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp -import librechat_android.feature.chat.generated.resources.Res -import librechat_android.feature.chat.generated.resources.* +import librechat_mobile.feature.chat.generated.resources.Res +import librechat_mobile.feature.chat.generated.resources.* /** * Blinking cursor indicator shown during streaming. Displays a pipe character (|) diff --git a/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/StreamingToolCallCard.kt b/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/StreamingToolCallCard.kt index c34fba7..d2892d1 100644 --- a/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/StreamingToolCallCard.kt +++ b/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/StreamingToolCallCard.kt @@ -33,8 +33,8 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import org.jetbrains.compose.resources.stringResource import androidx.compose.ui.unit.dp -import librechat_android.feature.chat.generated.resources.Res -import librechat_android.feature.chat.generated.resources.* +import librechat_mobile.feature.chat.generated.resources.Res +import librechat_mobile.feature.chat.generated.resources.* import com.garfiec.librechat.feature.chat.viewmodel.ActiveToolCall @Composable diff --git a/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/ToolsDropdownMenu.kt b/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/ToolsDropdownMenu.kt index ece9bef..130a42c 100644 --- a/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/ToolsDropdownMenu.kt +++ b/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/ToolsDropdownMenu.kt @@ -16,8 +16,8 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.vector.ImageVector import org.jetbrains.compose.resources.stringResource import com.garfiec.librechat.core.common.ToolConstants -import librechat_android.feature.chat.generated.resources.Res -import librechat_android.feature.chat.generated.resources.* +import librechat_mobile.feature.chat.generated.resources.Res +import librechat_mobile.feature.chat.generated.resources.* private data class ToolMenuItem( val id: String, diff --git a/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/WebSearchResultCard.kt b/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/WebSearchResultCard.kt index f232216..6c7f380 100644 --- a/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/WebSearchResultCard.kt +++ b/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/WebSearchResultCard.kt @@ -36,8 +36,8 @@ import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp import coil3.compose.SubcomposeAsyncImage -import librechat_android.feature.chat.generated.resources.Res -import librechat_android.feature.chat.generated.resources.* +import librechat_mobile.feature.chat.generated.resources.Res +import librechat_mobile.feature.chat.generated.resources.* /** * Data class representing a single web search result parsed from tool call output. diff --git a/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/artifact/ArtifactButton.kt b/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/artifact/ArtifactButton.kt index 6c30f58..2f81ae3 100644 --- a/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/artifact/ArtifactButton.kt +++ b/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/artifact/ArtifactButton.kt @@ -32,8 +32,8 @@ import org.jetbrains.compose.resources.stringResource import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp -import librechat_android.feature.chat.generated.resources.Res -import librechat_android.feature.chat.generated.resources.* +import librechat_mobile.feature.chat.generated.resources.Res +import librechat_mobile.feature.chat.generated.resources.* @Composable fun ArtifactButton( diff --git a/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/artifact/ArtifactVersionNav.kt b/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/artifact/ArtifactVersionNav.kt index d7edeb1..bdfc48f 100644 --- a/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/artifact/ArtifactVersionNav.kt +++ b/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/components/artifact/ArtifactVersionNav.kt @@ -16,8 +16,8 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import org.jetbrains.compose.resources.stringResource import androidx.compose.ui.unit.dp -import librechat_android.feature.chat.generated.resources.Res -import librechat_android.feature.chat.generated.resources.* +import librechat_mobile.feature.chat.generated.resources.Res +import librechat_mobile.feature.chat.generated.resources.* /** Prev/next version navigation for artifacts. [currentIndex] is 0-based; display shows 1-based "v1/N". */ @Composable diff --git a/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/prompts/PromptDetailScreen.kt b/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/prompts/PromptDetailScreen.kt index 0309275..ef99716 100644 --- a/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/prompts/PromptDetailScreen.kt +++ b/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/prompts/PromptDetailScreen.kt @@ -31,8 +31,8 @@ import androidx.compose.ui.Modifier import org.jetbrains.compose.resources.stringResource import androidx.compose.ui.unit.dp import com.garfiec.librechat.core.ui.components.LibreChatTopBar -import librechat_android.feature.chat.generated.resources.Res -import librechat_android.feature.chat.generated.resources.* +import librechat_mobile.feature.chat.generated.resources.Res +import librechat_mobile.feature.chat.generated.resources.* import com.garfiec.librechat.feature.chat.prompts.components.PromptPreviewPanel @OptIn(ExperimentalMaterial3Api::class) diff --git a/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/prompts/PromptEditorScreen.kt b/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/prompts/PromptEditorScreen.kt index 8cd2dac..9bb7e4b 100644 --- a/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/prompts/PromptEditorScreen.kt +++ b/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/prompts/PromptEditorScreen.kt @@ -35,8 +35,8 @@ import androidx.compose.ui.text.input.KeyboardCapitalization import androidx.compose.ui.unit.dp import androidx.lifecycle.compose.collectAsStateWithLifecycle import com.garfiec.librechat.core.ui.components.LoadingIndicator -import librechat_android.feature.chat.generated.resources.Res -import librechat_android.feature.chat.generated.resources.* +import librechat_mobile.feature.chat.generated.resources.Res +import librechat_mobile.feature.chat.generated.resources.* import org.koin.compose.viewmodel.koinViewModel @OptIn(ExperimentalMaterial3Api::class) diff --git a/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/prompts/PromptVariablesSection.kt b/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/prompts/PromptVariablesSection.kt index e771e0c..82c77c7 100644 --- a/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/prompts/PromptVariablesSection.kt +++ b/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/prompts/PromptVariablesSection.kt @@ -15,8 +15,8 @@ import androidx.compose.runtime.remember import androidx.compose.ui.Modifier import org.jetbrains.compose.resources.stringResource import androidx.compose.ui.unit.dp -import librechat_android.feature.chat.generated.resources.Res -import librechat_android.feature.chat.generated.resources.* +import librechat_mobile.feature.chat.generated.resources.Res +import librechat_mobile.feature.chat.generated.resources.* private val VARIABLE_REGEX = Regex("\\{\\{\\s*(\\w+)\\s*\\}\\}") diff --git a/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/prompts/PromptVersionsSheet.kt b/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/prompts/PromptVersionsSheet.kt index 75fcc05..60b09da 100644 --- a/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/prompts/PromptVersionsSheet.kt +++ b/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/prompts/PromptVersionsSheet.kt @@ -26,8 +26,8 @@ import org.jetbrains.compose.resources.stringResource import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp import com.garfiec.librechat.core.model.Prompt -import librechat_android.feature.chat.generated.resources.Res -import librechat_android.feature.chat.generated.resources.* +import librechat_mobile.feature.chat.generated.resources.Res +import librechat_mobile.feature.chat.generated.resources.* /** * A ModalBottomSheet that shows the version history of prompts within a group. diff --git a/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/prompts/PromptsLibraryScreen.kt b/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/prompts/PromptsLibraryScreen.kt index 7c0f857..8fa6c1d 100644 --- a/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/prompts/PromptsLibraryScreen.kt +++ b/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/prompts/PromptsLibraryScreen.kt @@ -49,8 +49,8 @@ import com.garfiec.librechat.core.ui.components.EmptyState import com.garfiec.librechat.core.ui.components.ErrorBanner import com.garfiec.librechat.core.ui.components.LibreChatTopBar import com.garfiec.librechat.core.ui.components.LoadingIndicator -import librechat_android.feature.chat.generated.resources.Res -import librechat_android.feature.chat.generated.resources.* +import librechat_mobile.feature.chat.generated.resources.Res +import librechat_mobile.feature.chat.generated.resources.* import com.garfiec.librechat.feature.chat.prompts.components.PromptFilterSheet import com.garfiec.librechat.feature.chat.prompts.components.PromptShareDialog import com.garfiec.librechat.feature.chat.prompts.components.PromptSortOrder diff --git a/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/prompts/components/PromptFilterSheet.kt b/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/prompts/components/PromptFilterSheet.kt index f4645c2..0dc80cb 100644 --- a/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/prompts/components/PromptFilterSheet.kt +++ b/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/prompts/components/PromptFilterSheet.kt @@ -20,8 +20,8 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import org.jetbrains.compose.resources.stringResource import androidx.compose.ui.unit.dp -import librechat_android.feature.chat.generated.resources.Res -import librechat_android.feature.chat.generated.resources.* +import librechat_mobile.feature.chat.generated.resources.Res +import librechat_mobile.feature.chat.generated.resources.* enum class PromptSortOrder(val label: String) { RECENT("Recent"), diff --git a/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/prompts/components/PromptPreviewPanel.kt b/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/prompts/components/PromptPreviewPanel.kt index 76c0571..a71cb25 100644 --- a/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/prompts/components/PromptPreviewPanel.kt +++ b/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/prompts/components/PromptPreviewPanel.kt @@ -11,8 +11,8 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import org.jetbrains.compose.resources.stringResource import androidx.compose.ui.unit.dp -import librechat_android.feature.chat.generated.resources.Res -import librechat_android.feature.chat.generated.resources.* +import librechat_mobile.feature.chat.generated.resources.Res +import librechat_mobile.feature.chat.generated.resources.* @Composable fun PromptPreviewPanel( diff --git a/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/prompts/components/PromptShareDialog.kt b/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/prompts/components/PromptShareDialog.kt index f0cb03b..d770a7c 100644 --- a/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/prompts/components/PromptShareDialog.kt +++ b/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/prompts/components/PromptShareDialog.kt @@ -27,8 +27,8 @@ import androidx.compose.ui.Modifier import com.garfiec.librechat.feature.chat.util.copyToClipboard import org.jetbrains.compose.resources.stringResource import androidx.compose.ui.unit.dp -import librechat_android.feature.chat.generated.resources.Res -import librechat_android.feature.chat.generated.resources.* +import librechat_mobile.feature.chat.generated.resources.Res +import librechat_mobile.feature.chat.generated.resources.* enum class SharePermission(val label: String) { VIEW_ONLY("View only"), diff --git a/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/prompts/components/VariableInputDialog.kt b/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/prompts/components/VariableInputDialog.kt index f922a5c..fe4fd0c 100644 --- a/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/prompts/components/VariableInputDialog.kt +++ b/feature/chat/src/commonMain/kotlin/com/garfiec/librechat/feature/chat/prompts/components/VariableInputDialog.kt @@ -28,8 +28,8 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import org.jetbrains.compose.resources.stringResource import androidx.compose.ui.unit.dp -import librechat_android.feature.chat.generated.resources.Res -import librechat_android.feature.chat.generated.resources.* +import librechat_mobile.feature.chat.generated.resources.Res +import librechat_mobile.feature.chat.generated.resources.* private val VARIABLE_PATTERN = Regex("\\{\\{(\\w+)\\}\\}") diff --git a/feature/chat/src/iosMain/kotlin/com/garfiec/librechat/feature/chat/components/IosChatInput.kt b/feature/chat/src/iosMain/kotlin/com/garfiec/librechat/feature/chat/components/IosChatInput.kt index a2b9f98..24a61ce 100644 --- a/feature/chat/src/iosMain/kotlin/com/garfiec/librechat/feature/chat/components/IosChatInput.kt +++ b/feature/chat/src/iosMain/kotlin/com/garfiec/librechat/feature/chat/components/IosChatInput.kt @@ -27,9 +27,9 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp import com.garfiec.librechat.feature.chat.McpServerDisplayData -import librechat_android.feature.chat.generated.resources.Res -import librechat_android.feature.chat.generated.resources.cd_attach_file -import librechat_android.feature.chat.generated.resources.cd_paste_image +import librechat_mobile.feature.chat.generated.resources.Res +import librechat_mobile.feature.chat.generated.resources.cd_attach_file +import librechat_mobile.feature.chat.generated.resources.cd_paste_image import org.jetbrains.compose.resources.stringResource @Composable diff --git a/feature/chat/src/iosMain/kotlin/com/garfiec/librechat/feature/chat/components/PlatformChatComponents.ios.kt b/feature/chat/src/iosMain/kotlin/com/garfiec/librechat/feature/chat/components/PlatformChatComponents.ios.kt index 4c729a7..b1f9c2c 100644 --- a/feature/chat/src/iosMain/kotlin/com/garfiec/librechat/feature/chat/components/PlatformChatComponents.ios.kt +++ b/feature/chat/src/iosMain/kotlin/com/garfiec/librechat/feature/chat/components/PlatformChatComponents.ios.kt @@ -84,19 +84,19 @@ import com.mikepenz.markdown.m3.markdownColor import com.mikepenz.markdown.m3.markdownTypography import org.intellij.markdown.flavours.gfm.GFMFlavourDescriptor import kotlinx.coroutines.delay -import librechat_android.feature.chat.generated.resources.Res -import librechat_android.feature.chat.generated.resources.cd_collapse -import librechat_android.feature.chat.generated.resources.cd_embedded_image -import librechat_android.feature.chat.generated.resources.cd_expand -import librechat_android.feature.chat.generated.resources.cd_expand_table -import librechat_android.feature.chat.generated.resources.cd_close -import librechat_android.feature.chat.generated.resources.cd_failed_to_load_image -import librechat_android.feature.chat.generated.resources.dialog_table -import librechat_android.feature.chat.generated.resources.label_input -import librechat_android.feature.chat.generated.resources.label_output -import librechat_android.feature.chat.generated.resources.label_thinking -import librechat_android.feature.chat.generated.resources.sender_assistant -import librechat_android.feature.chat.generated.resources.sender_you +import librechat_mobile.feature.chat.generated.resources.Res +import librechat_mobile.feature.chat.generated.resources.cd_collapse +import librechat_mobile.feature.chat.generated.resources.cd_embedded_image +import librechat_mobile.feature.chat.generated.resources.cd_expand +import librechat_mobile.feature.chat.generated.resources.cd_expand_table +import librechat_mobile.feature.chat.generated.resources.cd_close +import librechat_mobile.feature.chat.generated.resources.cd_failed_to_load_image +import librechat_mobile.feature.chat.generated.resources.dialog_table +import librechat_mobile.feature.chat.generated.resources.label_input +import librechat_mobile.feature.chat.generated.resources.label_output +import librechat_mobile.feature.chat.generated.resources.label_thinking +import librechat_mobile.feature.chat.generated.resources.sender_assistant +import librechat_mobile.feature.chat.generated.resources.sender_you import org.jetbrains.compose.resources.stringResource import com.garfiec.librechat.feature.chat.components.artifact.ArtifactButton import com.garfiec.librechat.feature.chat.components.artifact.ArtifactPanel diff --git a/feature/chat/src/iosMain/kotlin/com/garfiec/librechat/feature/chat/components/PlatformMediaComponents.ios.kt b/feature/chat/src/iosMain/kotlin/com/garfiec/librechat/feature/chat/components/PlatformMediaComponents.ios.kt index a55d017..4d271a9 100644 --- a/feature/chat/src/iosMain/kotlin/com/garfiec/librechat/feature/chat/components/PlatformMediaComponents.ios.kt +++ b/feature/chat/src/iosMain/kotlin/com/garfiec/librechat/feature/chat/components/PlatformMediaComponents.ios.kt @@ -82,8 +82,8 @@ import platform.WebKit.WKWebView import platform.WebKit.WKWebViewConfiguration import platform.darwin.NSObject import org.jetbrains.compose.resources.stringResource -import librechat_android.feature.chat.generated.resources.Res -import librechat_android.feature.chat.generated.resources.* +import librechat_mobile.feature.chat.generated.resources.Res +import librechat_mobile.feature.chat.generated.resources.* import androidx.compose.animation.AnimatedContent import androidx.compose.animation.fadeIn import androidx.compose.animation.fadeOut diff --git a/feature/chat/src/iosMain/kotlin/com/garfiec/librechat/feature/chat/screen/PlatformScreens.ios.kt b/feature/chat/src/iosMain/kotlin/com/garfiec/librechat/feature/chat/screen/PlatformScreens.ios.kt index 5148a6a..d29912f 100644 --- a/feature/chat/src/iosMain/kotlin/com/garfiec/librechat/feature/chat/screen/PlatformScreens.ios.kt +++ b/feature/chat/src/iosMain/kotlin/com/garfiec/librechat/feature/chat/screen/PlatformScreens.ios.kt @@ -77,8 +77,8 @@ import com.garfiec.librechat.feature.chat.util.openPhotoPicker import com.garfiec.librechat.feature.chat.util.readClipboardImage import com.garfiec.librechat.feature.chat.viewmodel.ChatScreenState import com.garfiec.librechat.feature.chat.viewmodel.ChatViewModel -import librechat_android.feature.chat.generated.resources.Res -import librechat_android.feature.chat.generated.resources.* +import librechat_mobile.feature.chat.generated.resources.Res +import librechat_mobile.feature.chat.generated.resources.* import org.jetbrains.compose.resources.stringResource import org.koin.compose.viewmodel.koinViewModel diff --git a/feature/conversations/src/commonMain/kotlin/com/garfiec/librechat/feature/conversations/components/ConversationActions.kt b/feature/conversations/src/commonMain/kotlin/com/garfiec/librechat/feature/conversations/components/ConversationActions.kt index 90de349..c470844 100644 --- a/feature/conversations/src/commonMain/kotlin/com/garfiec/librechat/feature/conversations/components/ConversationActions.kt +++ b/feature/conversations/src/commonMain/kotlin/com/garfiec/librechat/feature/conversations/components/ConversationActions.kt @@ -37,8 +37,8 @@ import androidx.compose.ui.graphics.vector.ImageVector import org.jetbrains.compose.resources.stringResource import androidx.compose.ui.unit.dp import com.garfiec.librechat.core.model.Conversation -import librechat_android.feature.conversations.generated.resources.Res -import librechat_android.feature.conversations.generated.resources.* +import librechat_mobile.feature.conversations.generated.resources.Res +import librechat_mobile.feature.conversations.generated.resources.* @OptIn(ExperimentalMaterial3Api::class) @Composable diff --git a/feature/conversations/src/commonMain/kotlin/com/garfiec/librechat/feature/conversations/components/ConversationItem.kt b/feature/conversations/src/commonMain/kotlin/com/garfiec/librechat/feature/conversations/components/ConversationItem.kt index c45174f..5e705eb 100644 --- a/feature/conversations/src/commonMain/kotlin/com/garfiec/librechat/feature/conversations/components/ConversationItem.kt +++ b/feature/conversations/src/commonMain/kotlin/com/garfiec/librechat/feature/conversations/components/ConversationItem.kt @@ -29,8 +29,8 @@ import com.garfiec.librechat.core.common.extensions.toInstantOrNull import com.garfiec.librechat.core.model.EModelEndpoint import com.garfiec.librechat.core.ui.components.endpointIconPainter import com.garfiec.librechat.core.ui.components.isMonochromeIcon -import librechat_android.feature.conversations.generated.resources.Res -import librechat_android.feature.conversations.generated.resources.* +import librechat_mobile.feature.conversations.generated.resources.Res +import librechat_mobile.feature.conversations.generated.resources.* import kotlin.time.Clock import kotlin.time.Instant import kotlinx.datetime.TimeZone diff --git a/feature/conversations/src/commonMain/kotlin/com/garfiec/librechat/feature/conversations/components/ConversationSearchBar.kt b/feature/conversations/src/commonMain/kotlin/com/garfiec/librechat/feature/conversations/components/ConversationSearchBar.kt index 3bd9a4b..1ec8591 100644 --- a/feature/conversations/src/commonMain/kotlin/com/garfiec/librechat/feature/conversations/components/ConversationSearchBar.kt +++ b/feature/conversations/src/commonMain/kotlin/com/garfiec/librechat/feature/conversations/components/ConversationSearchBar.kt @@ -18,8 +18,8 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color import org.jetbrains.compose.resources.stringResource import androidx.compose.ui.unit.dp -import librechat_android.feature.conversations.generated.resources.Res -import librechat_android.feature.conversations.generated.resources.* +import librechat_mobile.feature.conversations.generated.resources.Res +import librechat_mobile.feature.conversations.generated.resources.* @Composable fun ConversationSearchBar( diff --git a/feature/conversations/src/commonMain/kotlin/com/garfiec/librechat/feature/conversations/components/TagFilterBar.kt b/feature/conversations/src/commonMain/kotlin/com/garfiec/librechat/feature/conversations/components/TagFilterBar.kt index 19f1ee0..704b62e 100644 --- a/feature/conversations/src/commonMain/kotlin/com/garfiec/librechat/feature/conversations/components/TagFilterBar.kt +++ b/feature/conversations/src/commonMain/kotlin/com/garfiec/librechat/feature/conversations/components/TagFilterBar.kt @@ -29,8 +29,8 @@ import androidx.compose.ui.Modifier import org.jetbrains.compose.resources.stringResource import androidx.compose.ui.unit.dp import com.garfiec.librechat.core.model.ConversationTag -import librechat_android.feature.conversations.generated.resources.Res -import librechat_android.feature.conversations.generated.resources.* +import librechat_mobile.feature.conversations.generated.resources.Res +import librechat_mobile.feature.conversations.generated.resources.* @OptIn(ExperimentalMaterial3Api::class) @Composable diff --git a/feature/conversations/src/commonMain/kotlin/com/garfiec/librechat/feature/conversations/components/TagPicker.kt b/feature/conversations/src/commonMain/kotlin/com/garfiec/librechat/feature/conversations/components/TagPicker.kt index b3751a6..3818e22 100644 --- a/feature/conversations/src/commonMain/kotlin/com/garfiec/librechat/feature/conversations/components/TagPicker.kt +++ b/feature/conversations/src/commonMain/kotlin/com/garfiec/librechat/feature/conversations/components/TagPicker.kt @@ -5,8 +5,8 @@ import androidx.compose.runtime.remember import androidx.compose.ui.Modifier import com.garfiec.librechat.core.model.ConversationTag import com.garfiec.librechat.core.ui.components.FilterChipBottomSheet -import librechat_android.feature.conversations.generated.resources.Res -import librechat_android.feature.conversations.generated.resources.* +import librechat_mobile.feature.conversations.generated.resources.Res +import librechat_mobile.feature.conversations.generated.resources.* import org.jetbrains.compose.resources.stringResource @Composable diff --git a/feature/conversations/src/commonMain/kotlin/com/garfiec/librechat/feature/conversations/export/ExportFormatPicker.kt b/feature/conversations/src/commonMain/kotlin/com/garfiec/librechat/feature/conversations/export/ExportFormatPicker.kt index 1d41814..d4e4304 100644 --- a/feature/conversations/src/commonMain/kotlin/com/garfiec/librechat/feature/conversations/export/ExportFormatPicker.kt +++ b/feature/conversations/src/commonMain/kotlin/com/garfiec/librechat/feature/conversations/export/ExportFormatPicker.kt @@ -22,8 +22,8 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.vector.ImageVector import org.jetbrains.compose.resources.stringResource import androidx.compose.ui.unit.dp -import librechat_android.feature.conversations.generated.resources.Res -import librechat_android.feature.conversations.generated.resources.* +import librechat_mobile.feature.conversations.generated.resources.Res +import librechat_mobile.feature.conversations.generated.resources.* @OptIn(ExperimentalMaterial3Api::class) @Composable diff --git a/feature/conversations/src/commonMain/kotlin/com/garfiec/librechat/feature/conversations/screen/ArchivedConversationsScreen.kt b/feature/conversations/src/commonMain/kotlin/com/garfiec/librechat/feature/conversations/screen/ArchivedConversationsScreen.kt index c2aed79..7b4e918 100644 --- a/feature/conversations/src/commonMain/kotlin/com/garfiec/librechat/feature/conversations/screen/ArchivedConversationsScreen.kt +++ b/feature/conversations/src/commonMain/kotlin/com/garfiec/librechat/feature/conversations/screen/ArchivedConversationsScreen.kt @@ -43,8 +43,8 @@ import com.garfiec.librechat.core.ui.components.EmptyState import com.garfiec.librechat.core.ui.components.ErrorBanner import com.garfiec.librechat.core.ui.components.LoadingIndicator import com.garfiec.librechat.feature.conversations.ArchivedConversationDisplayData -import librechat_android.feature.conversations.generated.resources.Res -import librechat_android.feature.conversations.generated.resources.* +import librechat_mobile.feature.conversations.generated.resources.Res +import librechat_mobile.feature.conversations.generated.resources.* import com.garfiec.librechat.feature.conversations.viewmodel.ArchivedConversationsEvent import com.garfiec.librechat.feature.conversations.viewmodel.ArchivedConversationsViewModel import org.koin.compose.viewmodel.koinViewModel diff --git a/feature/conversations/src/commonMain/kotlin/com/garfiec/librechat/feature/conversations/screen/ConversationListScreen.kt b/feature/conversations/src/commonMain/kotlin/com/garfiec/librechat/feature/conversations/screen/ConversationListScreen.kt index 56b0970..289fcbf 100644 --- a/feature/conversations/src/commonMain/kotlin/com/garfiec/librechat/feature/conversations/screen/ConversationListScreen.kt +++ b/feature/conversations/src/commonMain/kotlin/com/garfiec/librechat/feature/conversations/screen/ConversationListScreen.kt @@ -42,8 +42,8 @@ import com.garfiec.librechat.core.model.Conversation import com.garfiec.librechat.core.ui.components.EmptyState import com.garfiec.librechat.core.ui.components.ErrorBanner import com.garfiec.librechat.core.ui.components.LoadingIndicator -import librechat_android.feature.conversations.generated.resources.Res -import librechat_android.feature.conversations.generated.resources.* +import librechat_mobile.feature.conversations.generated.resources.Res +import librechat_mobile.feature.conversations.generated.resources.* import com.garfiec.librechat.feature.conversations.components.ConversationActions import com.garfiec.librechat.feature.conversations.components.ConversationItem import com.garfiec.librechat.feature.conversations.components.ConversationSearchBar diff --git a/feature/files/src/androidMain/kotlin/com/garfiec/librechat/feature/files/platform/PdfPreview.android.kt b/feature/files/src/androidMain/kotlin/com/garfiec/librechat/feature/files/platform/PdfPreview.android.kt index 2271a00..859a3a9 100644 --- a/feature/files/src/androidMain/kotlin/com/garfiec/librechat/feature/files/platform/PdfPreview.android.kt +++ b/feature/files/src/androidMain/kotlin/com/garfiec/librechat/feature/files/platform/PdfPreview.android.kt @@ -44,8 +44,8 @@ import co.touchlab.kermit.Logger import com.garfiec.librechat.feature.files.FilePreviewDisplayData import com.garfiec.librechat.feature.files.screen.InfoRow import org.jetbrains.compose.resources.stringResource -import librechat_android.feature.files.generated.resources.Res -import librechat_android.feature.files.generated.resources.* +import librechat_mobile.feature.files.generated.resources.Res +import librechat_mobile.feature.files.generated.resources.* import java.io.File private sealed interface PdfLoadState { diff --git a/feature/files/src/commonMain/kotlin/com/garfiec/librechat/feature/files/components/UploadProgressCard.kt b/feature/files/src/commonMain/kotlin/com/garfiec/librechat/feature/files/components/UploadProgressCard.kt index e7e9e18..190b8a4 100644 --- a/feature/files/src/commonMain/kotlin/com/garfiec/librechat/feature/files/components/UploadProgressCard.kt +++ b/feature/files/src/commonMain/kotlin/com/garfiec/librechat/feature/files/components/UploadProgressCard.kt @@ -28,8 +28,8 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp import org.jetbrains.compose.resources.stringResource -import librechat_android.feature.files.generated.resources.Res -import librechat_android.feature.files.generated.resources.* +import librechat_mobile.feature.files.generated.resources.Res +import librechat_mobile.feature.files.generated.resources.* /** Animated card showing upload filename, progress bar, and cancel button with slide/fade visibility transitions. */ @Composable diff --git a/feature/files/src/commonMain/kotlin/com/garfiec/librechat/feature/files/screen/FilePreviewDialog.kt b/feature/files/src/commonMain/kotlin/com/garfiec/librechat/feature/files/screen/FilePreviewDialog.kt index 1f9b44a..65a29b8 100644 --- a/feature/files/src/commonMain/kotlin/com/garfiec/librechat/feature/files/screen/FilePreviewDialog.kt +++ b/feature/files/src/commonMain/kotlin/com/garfiec/librechat/feature/files/screen/FilePreviewDialog.kt @@ -58,8 +58,8 @@ import co.touchlab.kermit.Logger import com.garfiec.librechat.feature.files.FilePreviewDisplayData import com.garfiec.librechat.feature.files.platform.PdfPreview import org.jetbrains.compose.resources.stringResource -import librechat_android.feature.files.generated.resources.Res -import librechat_android.feature.files.generated.resources.* +import librechat_mobile.feature.files.generated.resources.Res +import librechat_mobile.feature.files.generated.resources.* @OptIn(ExperimentalMaterial3Api::class) @Composable diff --git a/feature/files/src/commonMain/kotlin/com/garfiec/librechat/feature/files/screen/FileSortMenu.kt b/feature/files/src/commonMain/kotlin/com/garfiec/librechat/feature/files/screen/FileSortMenu.kt index 29162ad..d6df39d 100644 --- a/feature/files/src/commonMain/kotlin/com/garfiec/librechat/feature/files/screen/FileSortMenu.kt +++ b/feature/files/src/commonMain/kotlin/com/garfiec/librechat/feature/files/screen/FileSortMenu.kt @@ -17,8 +17,8 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp import org.jetbrains.compose.resources.stringResource -import librechat_android.feature.files.generated.resources.Res -import librechat_android.feature.files.generated.resources.* +import librechat_mobile.feature.files.generated.resources.Res +import librechat_mobile.feature.files.generated.resources.* import com.garfiec.librechat.feature.files.viewmodel.FileSortField import com.garfiec.librechat.feature.files.viewmodel.FileSortOrder diff --git a/feature/files/src/commonMain/kotlin/com/garfiec/librechat/feature/files/screen/FilesScreen.kt b/feature/files/src/commonMain/kotlin/com/garfiec/librechat/feature/files/screen/FilesScreen.kt index 0dc7b21..975c7bb 100644 --- a/feature/files/src/commonMain/kotlin/com/garfiec/librechat/feature/files/screen/FilesScreen.kt +++ b/feature/files/src/commonMain/kotlin/com/garfiec/librechat/feature/files/screen/FilesScreen.kt @@ -83,8 +83,8 @@ import com.garfiec.librechat.feature.files.viewmodel.FileTypeFilter import com.garfiec.librechat.feature.files.viewmodel.FileViewMode import com.garfiec.librechat.feature.files.viewmodel.FilesViewModel import org.jetbrains.compose.resources.stringResource -import librechat_android.feature.files.generated.resources.Res -import librechat_android.feature.files.generated.resources.* +import librechat_mobile.feature.files.generated.resources.Res +import librechat_mobile.feature.files.generated.resources.* import org.koin.compose.viewmodel.koinViewModel @OptIn(ExperimentalMaterial3Api::class) diff --git a/feature/settings/src/androidMain/kotlin/com/garfiec/librechat/feature/settings/screen/AvatarUploadDialog.kt b/feature/settings/src/androidMain/kotlin/com/garfiec/librechat/feature/settings/screen/AvatarUploadDialog.kt index 4c4eb1b..21d8518 100644 --- a/feature/settings/src/androidMain/kotlin/com/garfiec/librechat/feature/settings/screen/AvatarUploadDialog.kt +++ b/feature/settings/src/androidMain/kotlin/com/garfiec/librechat/feature/settings/screen/AvatarUploadDialog.kt @@ -35,8 +35,8 @@ import androidx.compose.ui.semantics.contentDescription import androidx.compose.ui.semantics.semantics import androidx.compose.ui.unit.dp import coil3.compose.AsyncImage -import librechat_android.feature.settings.generated.resources.Res -import librechat_android.feature.settings.generated.resources.* +import librechat_mobile.feature.settings.generated.resources.Res +import librechat_mobile.feature.settings.generated.resources.* @Composable internal actual fun AvatarUploadDialog( diff --git a/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/AccountSettingsScreen.kt b/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/AccountSettingsScreen.kt index 8fee778..e5dd1dc 100644 --- a/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/AccountSettingsScreen.kt +++ b/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/AccountSettingsScreen.kt @@ -56,8 +56,8 @@ import coil3.compose.AsyncImage import com.garfiec.librechat.core.ui.components.ErrorBanner import com.garfiec.librechat.core.ui.components.LoadingIndicator import com.garfiec.librechat.core.ui.components.OtpVerificationDialog -import librechat_android.feature.settings.generated.resources.Res -import librechat_android.feature.settings.generated.resources.* +import librechat_mobile.feature.settings.generated.resources.Res +import librechat_mobile.feature.settings.generated.resources.* import com.garfiec.librechat.feature.settings.screen.sections.BackupCodesDialog import com.garfiec.librechat.feature.settings.screen.sections.TwoFactorCodeDialog import com.garfiec.librechat.feature.settings.screen.sections.TwoFactorSetupDialog diff --git a/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/ApiKeyCreateDialog.kt b/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/ApiKeyCreateDialog.kt index 4c1355b..f193ff9 100644 --- a/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/ApiKeyCreateDialog.kt +++ b/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/ApiKeyCreateDialog.kt @@ -28,8 +28,8 @@ import androidx.compose.ui.text.font.FontFamily import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp import com.garfiec.librechat.core.model.ApiKey -import librechat_android.feature.settings.generated.resources.Res -import librechat_android.feature.settings.generated.resources.* +import librechat_mobile.feature.settings.generated.resources.Res +import librechat_mobile.feature.settings.generated.resources.* /** * Two-phase API key creation dialog. diff --git a/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/ApiKeysScreen.kt b/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/ApiKeysScreen.kt index 471f84d..5f69d94 100644 --- a/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/ApiKeysScreen.kt +++ b/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/ApiKeysScreen.kt @@ -47,8 +47,8 @@ import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp import androidx.lifecycle.compose.collectAsStateWithLifecycle import com.garfiec.librechat.core.model.ApiKey -import librechat_android.feature.settings.generated.resources.Res -import librechat_android.feature.settings.generated.resources.* +import librechat_mobile.feature.settings.generated.resources.Res +import librechat_mobile.feature.settings.generated.resources.* import com.garfiec.librechat.feature.settings.viewmodel.ApiKeysViewModel import org.koin.compose.viewmodel.koinViewModel diff --git a/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/BalanceSection.kt b/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/BalanceSection.kt index 29af5aa..3833628 100644 --- a/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/BalanceSection.kt +++ b/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/BalanceSection.kt @@ -24,8 +24,8 @@ import org.jetbrains.compose.resources.stringResource import androidx.compose.ui.semantics.contentDescription import androidx.compose.ui.semantics.semantics import androidx.compose.ui.unit.dp -import librechat_android.feature.settings.generated.resources.Res -import librechat_android.feature.settings.generated.resources.* +import librechat_mobile.feature.settings.generated.resources.Res +import librechat_mobile.feature.settings.generated.resources.* @Composable internal fun BalanceSection( diff --git a/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/ChatSettingsScreen.kt b/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/ChatSettingsScreen.kt index a5f8d10..066ff9f 100644 --- a/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/ChatSettingsScreen.kt +++ b/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/ChatSettingsScreen.kt @@ -38,8 +38,8 @@ import androidx.compose.ui.semantics.heading import androidx.compose.ui.semantics.semantics import androidx.compose.ui.unit.dp import androidx.lifecycle.compose.collectAsStateWithLifecycle -import librechat_android.feature.settings.generated.resources.Res -import librechat_android.feature.settings.generated.resources.* +import librechat_mobile.feature.settings.generated.resources.Res +import librechat_mobile.feature.settings.generated.resources.* import com.garfiec.librechat.feature.settings.viewmodel.SettingsViewModel import org.koin.compose.viewmodel.koinViewModel diff --git a/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/ChatSettingsSection.kt b/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/ChatSettingsSection.kt index 0a9cfc2..5c638eb 100644 --- a/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/ChatSettingsSection.kt +++ b/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/ChatSettingsSection.kt @@ -24,8 +24,8 @@ import androidx.compose.ui.unit.dp import com.garfiec.librechat.core.common.ChatLayoutConstants import com.garfiec.librechat.core.data.datastore.ChatFontSize import com.garfiec.librechat.core.data.datastore.LatexRenderer -import librechat_android.feature.settings.generated.resources.Res -import librechat_android.feature.settings.generated.resources.* +import librechat_mobile.feature.settings.generated.resources.Res +import librechat_mobile.feature.settings.generated.resources.* @Composable internal fun ChatSettingsSection( diff --git a/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/CommandsConfigScreen.kt b/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/CommandsConfigScreen.kt index fa156bb..f41e346 100644 --- a/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/CommandsConfigScreen.kt +++ b/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/CommandsConfigScreen.kt @@ -25,8 +25,8 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import org.jetbrains.compose.resources.stringResource import androidx.compose.ui.unit.dp -import librechat_android.feature.settings.generated.resources.Res -import librechat_android.feature.settings.generated.resources.* +import librechat_mobile.feature.settings.generated.resources.Res +import librechat_mobile.feature.settings.generated.resources.* data class CommandConfig( val name: String, diff --git a/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/DataSettingsScreen.kt b/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/DataSettingsScreen.kt index 4d82cc6..ea3ce11 100644 --- a/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/DataSettingsScreen.kt +++ b/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/DataSettingsScreen.kt @@ -40,8 +40,8 @@ import androidx.compose.ui.semantics.heading import androidx.compose.ui.semantics.semantics import androidx.compose.ui.unit.dp import androidx.lifecycle.compose.collectAsStateWithLifecycle -import librechat_android.feature.settings.generated.resources.Res -import librechat_android.feature.settings.generated.resources.* +import librechat_mobile.feature.settings.generated.resources.Res +import librechat_mobile.feature.settings.generated.resources.* import com.garfiec.librechat.feature.settings.viewmodel.SettingsViewModel import org.koin.compose.viewmodel.koinViewModel diff --git a/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/DataSettingsSection.kt b/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/DataSettingsSection.kt index 97a9ec7..6666e18 100644 --- a/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/DataSettingsSection.kt +++ b/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/DataSettingsSection.kt @@ -29,8 +29,8 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import org.jetbrains.compose.resources.stringResource import androidx.compose.ui.unit.dp -import librechat_android.feature.settings.generated.resources.Res -import librechat_android.feature.settings.generated.resources.* +import librechat_mobile.feature.settings.generated.resources.Res +import librechat_mobile.feature.settings.generated.resources.* @Composable internal fun DataSettingsSection( diff --git a/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/ForkSettingsDialog.kt b/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/ForkSettingsDialog.kt index 9f333d0..448022b 100644 --- a/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/ForkSettingsDialog.kt +++ b/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/ForkSettingsDialog.kt @@ -25,8 +25,8 @@ import org.jetbrains.compose.resources.stringResource import androidx.compose.ui.semantics.Role import androidx.compose.ui.unit.dp import com.garfiec.librechat.core.model.request.ForkOption -import librechat_android.feature.settings.generated.resources.Res -import librechat_android.feature.settings.generated.resources.* +import librechat_mobile.feature.settings.generated.resources.Res +import librechat_mobile.feature.settings.generated.resources.* enum class ForkMode(val label: String, val description: String, val apiValue: String) { DIRECT_PATH( diff --git a/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/GeneralSettingsScreen.kt b/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/GeneralSettingsScreen.kt index 739c8e3..cb6c3de 100644 --- a/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/GeneralSettingsScreen.kt +++ b/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/GeneralSettingsScreen.kt @@ -41,8 +41,8 @@ import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp import androidx.lifecycle.compose.collectAsStateWithLifecycle import com.garfiec.librechat.core.data.datastore.ThemeMode -import librechat_android.feature.settings.generated.resources.Res -import librechat_android.feature.settings.generated.resources.* +import librechat_mobile.feature.settings.generated.resources.Res +import librechat_mobile.feature.settings.generated.resources.* import com.garfiec.librechat.feature.settings.viewmodel.SettingsViewModel import org.koin.compose.viewmodel.koinViewModel diff --git a/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/LanguageSelectorDialog.kt b/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/LanguageSelectorDialog.kt index 8f2f91b..93b4e15 100644 --- a/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/LanguageSelectorDialog.kt +++ b/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/LanguageSelectorDialog.kt @@ -27,8 +27,8 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import org.jetbrains.compose.resources.stringResource import androidx.compose.ui.unit.dp -import librechat_android.feature.settings.generated.resources.Res -import librechat_android.feature.settings.generated.resources.* +import librechat_mobile.feature.settings.generated.resources.Res +import librechat_mobile.feature.settings.generated.resources.* data class LanguageOption( val code: String, diff --git a/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/McpServerDialog.kt b/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/McpServerDialog.kt index 8b5b76c..ac5fed9 100644 --- a/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/McpServerDialog.kt +++ b/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/McpServerDialog.kt @@ -36,8 +36,8 @@ import com.garfiec.librechat.core.model.mcp.McpAuthorizationType import com.garfiec.librechat.core.model.mcp.McpOAuthConfig import com.garfiec.librechat.core.model.mcp.McpServer import com.garfiec.librechat.core.model.mcp.McpServerType -import librechat_android.feature.settings.generated.resources.Res -import librechat_android.feature.settings.generated.resources.* +import librechat_mobile.feature.settings.generated.resources.Res +import librechat_mobile.feature.settings.generated.resources.* /** Add/edit MCP server dialog with server type dropdown and auth configuration. */ @OptIn(ExperimentalMaterial3Api::class) diff --git a/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/McpServersScreen.kt b/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/McpServersScreen.kt index a8fb892..22ec819 100644 --- a/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/McpServersScreen.kt +++ b/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/McpServersScreen.kt @@ -53,8 +53,8 @@ import com.garfiec.librechat.core.model.mcp.McpServer import com.garfiec.librechat.core.model.mcp.McpServerStatus import com.garfiec.librechat.core.ui.components.ErrorBanner import com.garfiec.librechat.core.ui.components.LoadingIndicator -import librechat_android.feature.settings.generated.resources.Res -import librechat_android.feature.settings.generated.resources.* +import librechat_mobile.feature.settings.generated.resources.Res +import librechat_mobile.feature.settings.generated.resources.* import com.garfiec.librechat.feature.settings.viewmodel.McpViewModel import org.koin.compose.viewmodel.koinViewModel diff --git a/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/McpSettingsSection.kt b/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/McpSettingsSection.kt index 0467706..50070ad 100644 --- a/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/McpSettingsSection.kt +++ b/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/McpSettingsSection.kt @@ -30,8 +30,8 @@ import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp import com.garfiec.librechat.core.model.mcp.McpServer import com.garfiec.librechat.core.model.mcp.McpServerStatus -import librechat_android.feature.settings.generated.resources.Res -import librechat_android.feature.settings.generated.resources.* +import librechat_mobile.feature.settings.generated.resources.Res +import librechat_mobile.feature.settings.generated.resources.* @Composable internal fun McpSettingsSection( diff --git a/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/McpToolList.kt b/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/McpToolList.kt index 4694f62..289dda4 100644 --- a/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/McpToolList.kt +++ b/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/McpToolList.kt @@ -30,8 +30,8 @@ import androidx.compose.ui.Modifier import org.jetbrains.compose.resources.stringResource import androidx.compose.ui.unit.dp import com.garfiec.librechat.core.model.mcp.McpTool -import librechat_android.feature.settings.generated.resources.Res -import librechat_android.feature.settings.generated.resources.* +import librechat_mobile.feature.settings.generated.resources.Res +import librechat_mobile.feature.settings.generated.resources.* @Composable internal fun McpToolList( diff --git a/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/McpToolsSheet.kt b/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/McpToolsSheet.kt index 0f3c1de..0601ddf 100644 --- a/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/McpToolsSheet.kt +++ b/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/McpToolsSheet.kt @@ -21,8 +21,8 @@ import androidx.compose.ui.semantics.heading import androidx.compose.ui.semantics.semantics import androidx.compose.ui.unit.dp import com.garfiec.librechat.core.model.mcp.McpTool -import librechat_android.feature.settings.generated.resources.Res -import librechat_android.feature.settings.generated.resources.* +import librechat_mobile.feature.settings.generated.resources.Res +import librechat_mobile.feature.settings.generated.resources.* /** Bottom sheet listing MCP tools grouped by server; optional serverFilter narrows to one server. */ @OptIn(ExperimentalMaterial3Api::class) diff --git a/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/MemoriesScreen.kt b/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/MemoriesScreen.kt index 17cac4c..39dabef 100644 --- a/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/MemoriesScreen.kt +++ b/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/MemoriesScreen.kt @@ -52,8 +52,8 @@ import androidx.lifecycle.compose.collectAsStateWithLifecycle import com.garfiec.librechat.core.model.Memory import com.garfiec.librechat.core.ui.components.ErrorBanner import com.garfiec.librechat.core.ui.components.LoadingIndicator -import librechat_android.feature.settings.generated.resources.Res -import librechat_android.feature.settings.generated.resources.* +import librechat_mobile.feature.settings.generated.resources.Res +import librechat_mobile.feature.settings.generated.resources.* import com.garfiec.librechat.feature.settings.viewmodel.MemoriesViewModel import org.koin.compose.viewmodel.koinViewModel diff --git a/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/MemoriesSettingsSection.kt b/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/MemoriesSettingsSection.kt index 4cfa74e..db65c7a 100644 --- a/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/MemoriesSettingsSection.kt +++ b/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/MemoriesSettingsSection.kt @@ -37,8 +37,8 @@ import androidx.compose.ui.semantics.semantics import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp import com.garfiec.librechat.core.model.Memory -import librechat_android.feature.settings.generated.resources.Res -import librechat_android.feature.settings.generated.resources.* +import librechat_mobile.feature.settings.generated.resources.Res +import librechat_mobile.feature.settings.generated.resources.* @Composable internal fun MemoriesSettingsSection( diff --git a/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/MemoryEditDialog.kt b/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/MemoryEditDialog.kt index dddf98e..2d530ba 100644 --- a/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/MemoryEditDialog.kt +++ b/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/MemoryEditDialog.kt @@ -17,8 +17,8 @@ import androidx.compose.ui.Modifier import org.jetbrains.compose.resources.stringResource import androidx.compose.ui.unit.dp import com.garfiec.librechat.core.model.Memory -import librechat_android.feature.settings.generated.resources.Res -import librechat_android.feature.settings.generated.resources.* +import librechat_mobile.feature.settings.generated.resources.Res +import librechat_mobile.feature.settings.generated.resources.* /** Add/edit memory dialog; key field is immutable when editing an existing memory. */ @Composable diff --git a/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/PersonalizationDialog.kt b/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/PersonalizationDialog.kt index a35b8f5..00e1186 100644 --- a/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/PersonalizationDialog.kt +++ b/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/PersonalizationDialog.kt @@ -22,8 +22,8 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import org.jetbrains.compose.resources.stringResource import androidx.compose.ui.unit.dp -import librechat_android.feature.settings.generated.resources.Res -import librechat_android.feature.settings.generated.resources.* +import librechat_mobile.feature.settings.generated.resources.Res +import librechat_mobile.feature.settings.generated.resources.* /** "About you" and "Response style" text areas with enable toggle; fields disabled when off. */ @Composable diff --git a/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/PresetManagerScreen.kt b/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/PresetManagerScreen.kt index b865f8f..0fa1ec0 100644 --- a/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/PresetManagerScreen.kt +++ b/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/PresetManagerScreen.kt @@ -42,8 +42,8 @@ import androidx.lifecycle.compose.collectAsStateWithLifecycle import com.garfiec.librechat.core.ui.components.EmptyState import com.garfiec.librechat.core.ui.components.LoadingIndicator import com.garfiec.librechat.feature.settings.PresetManagerDisplayData -import librechat_android.feature.settings.generated.resources.Res -import librechat_android.feature.settings.generated.resources.* +import librechat_mobile.feature.settings.generated.resources.Res +import librechat_mobile.feature.settings.generated.resources.* import com.garfiec.librechat.feature.settings.viewmodel.PresetManagerViewModel import org.koin.compose.viewmodel.koinViewModel diff --git a/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/SecuritySection.kt b/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/SecuritySection.kt index 68d2bca..7c79632 100644 --- a/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/SecuritySection.kt +++ b/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/SecuritySection.kt @@ -22,8 +22,8 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import org.jetbrains.compose.resources.stringResource import androidx.compose.ui.unit.dp -import librechat_android.feature.settings.generated.resources.Res -import librechat_android.feature.settings.generated.resources.* +import librechat_mobile.feature.settings.generated.resources.Res +import librechat_mobile.feature.settings.generated.resources.* @Composable internal fun SecuritySection( diff --git a/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/SettingsScreen.kt b/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/SettingsScreen.kt index d134b6d..9947a4e 100644 --- a/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/SettingsScreen.kt +++ b/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/SettingsScreen.kt @@ -40,8 +40,8 @@ import androidx.lifecycle.compose.collectAsStateWithLifecycle import com.garfiec.librechat.core.ui.components.ErrorBanner import com.garfiec.librechat.core.ui.components.LoadingIndicator import com.garfiec.librechat.core.ui.components.OtpVerificationDialog -import librechat_android.feature.settings.generated.resources.Res -import librechat_android.feature.settings.generated.resources.* +import librechat_mobile.feature.settings.generated.resources.Res +import librechat_mobile.feature.settings.generated.resources.* import com.garfiec.librechat.feature.settings.screen.sections.AboutInfo import com.garfiec.librechat.feature.settings.screen.sections.AccountInfo import com.garfiec.librechat.feature.settings.screen.sections.BackupCodesDialog diff --git a/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/SharedLinksScreen.kt b/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/SharedLinksScreen.kt index a09d901..609f04a 100644 --- a/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/SharedLinksScreen.kt +++ b/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/SharedLinksScreen.kt @@ -48,8 +48,8 @@ import org.jetbrains.compose.resources.stringResource import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp import com.garfiec.librechat.core.ui.components.EmptyState -import librechat_android.feature.settings.generated.resources.Res -import librechat_android.feature.settings.generated.resources.* +import librechat_mobile.feature.settings.generated.resources.Res +import librechat_mobile.feature.settings.generated.resources.* import com.garfiec.librechat.feature.settings.SharedLinkDisplayData @OptIn(ExperimentalMaterial3Api::class) diff --git a/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/SpeechDetailDialogs.kt b/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/SpeechDetailDialogs.kt index 5010855..d05f00d 100644 --- a/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/SpeechDetailDialogs.kt +++ b/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/SpeechDetailDialogs.kt @@ -37,8 +37,8 @@ import org.jetbrains.compose.resources.stringResource import androidx.compose.ui.semantics.contentDescription import androidx.compose.ui.semantics.semantics import androidx.compose.ui.unit.dp -import librechat_android.feature.settings.generated.resources.Res -import librechat_android.feature.settings.generated.resources.* +import librechat_mobile.feature.settings.generated.resources.Res +import librechat_mobile.feature.settings.generated.resources.* @OptIn(ExperimentalMaterial3Api::class) @Composable diff --git a/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/SpeechSettingsSection.kt b/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/SpeechSettingsSection.kt index d9098c9..b698cba 100644 --- a/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/SpeechSettingsSection.kt +++ b/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/SpeechSettingsSection.kt @@ -30,8 +30,8 @@ import androidx.compose.ui.semantics.contentDescription import androidx.compose.ui.semantics.semantics import androidx.compose.ui.unit.dp import com.garfiec.librechat.core.model.speech.TtsVoice -import librechat_android.feature.settings.generated.resources.Res -import librechat_android.feature.settings.generated.resources.* +import librechat_mobile.feature.settings.generated.resources.Res +import librechat_mobile.feature.settings.generated.resources.* @OptIn(ExperimentalMaterial3Api::class) @Composable diff --git a/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/TabbedSettingsScreen.kt b/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/TabbedSettingsScreen.kt index 2c5ad25..01d96cc 100644 --- a/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/TabbedSettingsScreen.kt +++ b/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/TabbedSettingsScreen.kt @@ -23,8 +23,8 @@ import androidx.compose.runtime.remember import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.ui.Modifier import org.jetbrains.compose.resources.stringResource -import librechat_android.feature.settings.generated.resources.Res -import librechat_android.feature.settings.generated.resources.* +import librechat_mobile.feature.settings.generated.resources.Res +import librechat_mobile.feature.settings.generated.resources.* import com.garfiec.librechat.feature.settings.viewmodel.SettingsViewModel import kotlinx.coroutines.launch import org.koin.compose.viewmodel.koinViewModel diff --git a/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/sections/AccountSection.kt b/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/sections/AccountSection.kt index 558a602..a45320f 100644 --- a/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/sections/AccountSection.kt +++ b/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/sections/AccountSection.kt @@ -26,8 +26,8 @@ import org.jetbrains.compose.resources.stringResource import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp import coil3.compose.AsyncImage -import librechat_android.feature.settings.generated.resources.Res -import librechat_android.feature.settings.generated.resources.* +import librechat_mobile.feature.settings.generated.resources.Res +import librechat_mobile.feature.settings.generated.resources.* @Composable internal fun AccountInfo( diff --git a/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/sections/AppearanceSection.kt b/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/sections/AppearanceSection.kt index 3efea18..3fa45fb 100644 --- a/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/sections/AppearanceSection.kt +++ b/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/sections/AppearanceSection.kt @@ -25,8 +25,8 @@ import org.jetbrains.compose.resources.stringResource import androidx.compose.ui.semantics.Role import androidx.compose.ui.unit.dp import com.garfiec.librechat.core.data.datastore.ThemeMode -import librechat_android.feature.settings.generated.resources.Res -import librechat_android.feature.settings.generated.resources.* +import librechat_mobile.feature.settings.generated.resources.Res +import librechat_mobile.feature.settings.generated.resources.* @Composable internal fun ThemeSelector( diff --git a/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/sections/ChatPreferencesSection.kt b/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/sections/ChatPreferencesSection.kt index db57b7e..fbd103b 100644 --- a/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/sections/ChatPreferencesSection.kt +++ b/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/sections/ChatPreferencesSection.kt @@ -25,8 +25,8 @@ import androidx.compose.ui.Modifier import org.jetbrains.compose.resources.stringResource import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp -import librechat_android.feature.settings.generated.resources.Res -import librechat_android.feature.settings.generated.resources.* +import librechat_mobile.feature.settings.generated.resources.Res +import librechat_mobile.feature.settings.generated.resources.* @Composable internal fun AboutInfo(serverUrl: String) { diff --git a/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/sections/DataManagementSection.kt b/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/sections/DataManagementSection.kt index c5395c4..59f6cba 100644 --- a/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/sections/DataManagementSection.kt +++ b/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/sections/DataManagementSection.kt @@ -19,8 +19,8 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import org.jetbrains.compose.resources.stringResource import androidx.compose.ui.unit.dp -import librechat_android.feature.settings.generated.resources.Res -import librechat_android.feature.settings.generated.resources.* +import librechat_mobile.feature.settings.generated.resources.Res +import librechat_mobile.feature.settings.generated.resources.* @Composable internal fun DataExtraActions( diff --git a/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/sections/SecuritySection.kt b/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/sections/SecuritySection.kt index fb174f8..f06b09a 100644 --- a/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/sections/SecuritySection.kt +++ b/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/sections/SecuritySection.kt @@ -19,8 +19,8 @@ import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier import org.jetbrains.compose.resources.stringResource import androidx.compose.ui.unit.dp -import librechat_android.feature.settings.generated.resources.Res -import librechat_android.feature.settings.generated.resources.* +import librechat_mobile.feature.settings.generated.resources.Res +import librechat_mobile.feature.settings.generated.resources.* @Composable internal fun TwoFactorSetupDialog( diff --git a/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/sections/SpeechSection.kt b/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/sections/SpeechSection.kt index 4faaaf2..0af7a78 100644 --- a/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/sections/SpeechSection.kt +++ b/feature/settings/src/commonMain/kotlin/com/garfiec/librechat/feature/settings/screen/sections/SpeechSection.kt @@ -17,8 +17,8 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import org.jetbrains.compose.resources.stringResource import androidx.compose.ui.unit.dp -import librechat_android.feature.settings.generated.resources.Res -import librechat_android.feature.settings.generated.resources.* +import librechat_mobile.feature.settings.generated.resources.Res +import librechat_mobile.feature.settings.generated.resources.* @Composable internal fun SpeechDetailButtons( diff --git a/settings.gradle.kts b/settings.gradle.kts index 044616f..8cba19f 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -16,7 +16,7 @@ dependencyResolutionManagement { } } -rootProject.name = "LibreChat-Android" +rootProject.name = "LibreChat-Mobile" include(":app") include(":core:common") diff --git a/shared/src/commonMain/kotlin/com/garfiec/librechat/shared/navigation/DrawerContent.kt b/shared/src/commonMain/kotlin/com/garfiec/librechat/shared/navigation/DrawerContent.kt index 7dc4281..926b01b 100644 --- a/shared/src/commonMain/kotlin/com/garfiec/librechat/shared/navigation/DrawerContent.kt +++ b/shared/src/commonMain/kotlin/com/garfiec/librechat/shared/navigation/DrawerContent.kt @@ -53,18 +53,18 @@ import androidx.compose.ui.unit.dp import androidx.lifecycle.compose.collectAsStateWithLifecycle import com.garfiec.librechat.core.ui.components.endpointIconPainter import com.garfiec.librechat.core.ui.components.isMonochromeIcon -import librechat_android.shared.generated.resources.Res -import librechat_android.shared.generated.resources.agents -import librechat_android.shared.generated.resources.bookmark -import librechat_android.shared.generated.resources.cd_clear_search -import librechat_android.shared.generated.resources.cd_search -import librechat_android.shared.generated.resources.favorites -import librechat_android.shared.generated.resources.files -import librechat_android.shared.generated.resources.new_chat -import librechat_android.shared.generated.resources.no_conversations_found -import librechat_android.shared.generated.resources.remove_bookmark -import librechat_android.shared.generated.resources.search_conversations_placeholder -import librechat_android.shared.generated.resources.settings +import librechat_mobile.shared.generated.resources.Res +import librechat_mobile.shared.generated.resources.agents +import librechat_mobile.shared.generated.resources.bookmark +import librechat_mobile.shared.generated.resources.cd_clear_search +import librechat_mobile.shared.generated.resources.cd_search +import librechat_mobile.shared.generated.resources.favorites +import librechat_mobile.shared.generated.resources.files +import librechat_mobile.shared.generated.resources.new_chat +import librechat_mobile.shared.generated.resources.no_conversations_found +import librechat_mobile.shared.generated.resources.remove_bookmark +import librechat_mobile.shared.generated.resources.search_conversations_placeholder +import librechat_mobile.shared.generated.resources.settings import org.jetbrains.compose.resources.stringResource // Pre-computed shapes to avoid creating new ones per item per frame diff --git a/shared/src/commonMain/kotlin/com/garfiec/librechat/shared/navigation/LibreChatNavHost.kt b/shared/src/commonMain/kotlin/com/garfiec/librechat/shared/navigation/LibreChatNavHost.kt index f5a09ff..85a71d0 100644 --- a/shared/src/commonMain/kotlin/com/garfiec/librechat/shared/navigation/LibreChatNavHost.kt +++ b/shared/src/commonMain/kotlin/com/garfiec/librechat/shared/navigation/LibreChatNavHost.kt @@ -55,11 +55,11 @@ import com.garfiec.librechat.feature.settings.navigation.SETTINGS_TABBED_ROUTE import com.garfiec.librechat.feature.settings.navigation.SHARED_LINKS_ROUTE import com.garfiec.librechat.feature.settings.navigation.settingsGraph import kotlinx.coroutines.launch -import librechat_android.shared.generated.resources.Res -import librechat_android.shared.generated.resources.dismiss -import librechat_android.shared.generated.resources.dont_warn_again -import librechat_android.shared.generated.resources.version_mismatch_message -import librechat_android.shared.generated.resources.version_mismatch_title +import librechat_mobile.shared.generated.resources.Res +import librechat_mobile.shared.generated.resources.dismiss +import librechat_mobile.shared.generated.resources.dont_warn_again +import librechat_mobile.shared.generated.resources.version_mismatch_message +import librechat_mobile.shared.generated.resources.version_mismatch_title import org.jetbrains.compose.resources.stringResource import org.koin.compose.viewmodel.koinViewModel diff --git a/shared/src/commonMain/kotlin/com/garfiec/librechat/shared/navigation/SettingsSidebarContent.kt b/shared/src/commonMain/kotlin/com/garfiec/librechat/shared/navigation/SettingsSidebarContent.kt index 12f5889..bdf4669 100644 --- a/shared/src/commonMain/kotlin/com/garfiec/librechat/shared/navigation/SettingsSidebarContent.kt +++ b/shared/src/commonMain/kotlin/com/garfiec/librechat/shared/navigation/SettingsSidebarContent.kt @@ -29,9 +29,9 @@ import androidx.compose.ui.graphics.vector.ImageVector import androidx.compose.ui.semantics.heading import androidx.compose.ui.semantics.semantics import androidx.compose.ui.unit.dp -import librechat_android.shared.generated.resources.Res -import librechat_android.shared.generated.resources.cd_back_to_conversations -import librechat_android.shared.generated.resources.settings +import librechat_mobile.shared.generated.resources.Res +import librechat_mobile.shared.generated.resources.cd_back_to_conversations +import librechat_mobile.shared.generated.resources.settings import org.jetbrains.compose.resources.stringResource private val CategoryItemShape = RoundedCornerShape(12.dp)