ikanban-web 0.2.0 → 0.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/{ghostty-web-BkTBr6Qp.js → ghostty-web-DC9h7yp6.js} +1 -1
- package/dist/assets/{home-CbMdbws_.js → home-B2bEEt-Q.js} +1 -1
- package/dist/assets/{index-DvCClLZk.js → index-BM0fG0_S.js} +1 -1
- package/dist/assets/{session-mSsgwdFK.js → session-CFBQK6ra.js} +3 -3
- package/dist/index.html +1 -1
- package/package.json +3 -3
- package/src/app.tsx +7 -7
- package/src/components/dialog-connect-provider.tsx +10 -10
- package/src/components/dialog-custom-provider.tsx +7 -7
- package/src/components/dialog-edit-project.tsx +7 -7
- package/src/components/dialog-fork.tsx +5 -5
- package/src/components/dialog-manage-models.tsx +6 -6
- package/src/components/dialog-release-notes.tsx +3 -3
- package/src/components/dialog-select-directory.tsx +6 -6
- package/src/components/dialog-select-file.tsx +8 -8
- package/src/components/dialog-select-mcp.tsx +3 -3
- package/src/components/dialog-select-model-unpaid.tsx +7 -7
- package/src/components/dialog-select-model.tsx +7 -7
- package/src/components/dialog-select-provider.tsx +5 -5
- package/src/components/dialog-select-server.tsx +9 -9
- package/src/components/dialog-settings.tsx +3 -3
- package/src/components/file-tree.test.ts +4 -4
- package/src/components/file-tree.tsx +3 -3
- package/src/components/prompt-input/attachments.ts +1 -1
- package/src/components/prompt-input/build-request-parts.ts +1 -1
- package/src/components/prompt-input/context-items.tsx +4 -4
- package/src/components/prompt-input/drag-overlay.tsx +1 -1
- package/src/components/prompt-input/image-attachments.tsx +1 -1
- package/src/components/prompt-input/slash-popover.tsx +3 -3
- package/src/components/prompt-input/submit.test.ts +2 -2
- package/src/components/prompt-input/submit.ts +2 -2
- package/src/components/prompt-input.tsx +12 -12
- package/src/components/server/server-row.tsx +1 -1
- package/src/components/session/session-context-tab.tsx +8 -8
- package/src/components/session/session-header.tsx +12 -12
- package/src/components/session/session-new-view.tsx +2 -2
- package/src/components/session/session-sortable-tab.tsx +5 -5
- package/src/components/session/session-sortable-terminal-tab.tsx +4 -4
- package/src/components/session-context-usage.tsx +3 -3
- package/src/components/settings-general.tsx +7 -7
- package/src/components/settings-keybinds.tsx +5 -5
- package/src/components/settings-models.tsx +6 -6
- package/src/components/settings-permissions.tsx +2 -2
- package/src/components/settings-providers.tsx +5 -5
- package/src/components/status-popover.tsx +7 -7
- package/src/components/terminal.tsx +2 -2
- package/src/components/titlebar.tsx +5 -5
- package/src/context/command.tsx +2 -2
- package/src/context/comments.test.ts +1 -1
- package/src/context/comments.tsx +1 -1
- package/src/context/file.tsx +3 -3
- package/src/context/global-sdk.tsx +1 -1
- package/src/context/global-sync/bootstrap.ts +3 -3
- package/src/context/global-sync/event-reducer.ts +1 -1
- package/src/context/global-sync.tsx +2 -2
- package/src/context/highlights.tsx +2 -2
- package/src/context/language.tsx +18 -18
- package/src/context/layout.tsx +1 -1
- package/src/context/local.tsx +2 -2
- package/src/context/models.tsx +1 -1
- package/src/context/notification.tsx +3 -3
- package/src/context/permission-auto-respond.test.ts +1 -1
- package/src/context/permission-auto-respond.ts +1 -1
- package/src/context/permission.tsx +1 -1
- package/src/context/platform.tsx +1 -1
- package/src/context/prompt.tsx +2 -2
- package/src/context/sdk.tsx +1 -1
- package/src/context/server.tsx +1 -1
- package/src/context/settings.tsx +1 -1
- package/src/context/sync.tsx +3 -3
- package/src/context/terminal.test.ts +1 -1
- package/src/context/terminal.tsx +1 -1
- package/src/entry.tsx +1 -1
- package/src/index.css +1 -1
- package/src/pages/directory-layout.tsx +2 -2
- package/src/pages/error.tsx +4 -4
- package/src/pages/home.tsx +5 -5
- package/src/pages/layout/helpers.ts +1 -1
- package/src/pages/layout/inline-editor.tsx +1 -1
- package/src/pages/layout/sidebar-items.tsx +10 -10
- package/src/pages/layout/sidebar-project.tsx +7 -7
- package/src/pages/layout/sidebar-shell.tsx +2 -2
- package/src/pages/layout/sidebar-workspace.tsx +9 -9
- package/src/pages/layout.tsx +14 -14
- package/src/pages/session/composer/session-composer-region.tsx +1 -1
- package/src/pages/session/composer/session-composer-state.ts +1 -1
- package/src/pages/session/composer/session-permission-dock.tsx +3 -3
- package/src/pages/session/composer/session-question-dock.tsx +4 -4
- package/src/pages/session/composer/session-todo-dock.tsx +7 -7
- package/src/pages/session/file-tabs.tsx +10 -10
- package/src/pages/session/message-timeline.tsx +13 -13
- package/src/pages/session/review-tab.tsx +2 -2
- package/src/pages/session/session-mobile-tabs.tsx +1 -1
- package/src/pages/session/session-side-panel.tsx +6 -6
- package/src/pages/session/terminal-panel.tsx +4 -4
- package/src/pages/session/use-session-commands.tsx +3 -3
- package/src/pages/session.tsx +6 -6
- package/src/utils/base64.ts +1 -1
- package/src/utils/persist.ts +1 -1
- package/src/utils/sound.ts +45 -45
|
@@ -3,15 +3,15 @@ import { createEffect, createMemo, For, Show, type Accessor, type JSX } from "so
|
|
|
3
3
|
import { createStore } from "solid-js/store"
|
|
4
4
|
import { createSortable } from "@thisbeyond/solid-dnd"
|
|
5
5
|
import { createMediaQuery } from "@solid-primitives/media"
|
|
6
|
-
import { base64Encode } from "
|
|
7
|
-
import { getFilename } from "
|
|
8
|
-
import { Button } from "
|
|
9
|
-
import { Collapsible } from "
|
|
10
|
-
import { DropdownMenu } from "
|
|
11
|
-
import { Icon } from "
|
|
12
|
-
import { IconButton } from "
|
|
13
|
-
import { Spinner } from "
|
|
14
|
-
import { Tooltip } from "
|
|
6
|
+
import { base64Encode } from "ikanban-utils/encode"
|
|
7
|
+
import { getFilename } from "ikanban-utils/path"
|
|
8
|
+
import { Button } from "ikanban-ui/button"
|
|
9
|
+
import { Collapsible } from "ikanban-ui/collapsible"
|
|
10
|
+
import { DropdownMenu } from "ikanban-ui/dropdown-menu"
|
|
11
|
+
import { Icon } from "ikanban-ui/icon"
|
|
12
|
+
import { IconButton } from "ikanban-ui/icon-button"
|
|
13
|
+
import { Spinner } from "ikanban-ui/spinner"
|
|
14
|
+
import { Tooltip } from "ikanban-ui/tooltip"
|
|
15
15
|
import { type Session } from "@opencode-ai/sdk/v2/client"
|
|
16
16
|
import { type LocalProject } from "@/context/layout"
|
|
17
17
|
import { useGlobalSync } from "@/context/global-sync"
|
package/src/pages/layout.tsx
CHANGED
|
@@ -16,16 +16,16 @@ import { A, useNavigate, useParams } from "@solidjs/router"
|
|
|
16
16
|
import { useLayout, LocalProject } from "@/context/layout"
|
|
17
17
|
import { useGlobalSync } from "@/context/global-sync"
|
|
18
18
|
import { Persist, persisted } from "@/utils/persist"
|
|
19
|
-
import { base64Encode } from "
|
|
19
|
+
import { base64Encode } from "ikanban-utils/encode"
|
|
20
20
|
import { decode64 } from "@/utils/base64"
|
|
21
|
-
import { ResizeHandle } from "
|
|
22
|
-
import { Button } from "
|
|
23
|
-
import { Icon } from "
|
|
24
|
-
import { IconButton } from "
|
|
25
|
-
import { Tooltip, TooltipKeybind } from "
|
|
26
|
-
import { DropdownMenu } from "
|
|
27
|
-
import { Dialog } from "
|
|
28
|
-
import { getFilename } from "
|
|
21
|
+
import { ResizeHandle } from "ikanban-ui/resize-handle"
|
|
22
|
+
import { Button } from "ikanban-ui/button"
|
|
23
|
+
import { Icon } from "ikanban-ui/icon"
|
|
24
|
+
import { IconButton } from "ikanban-ui/icon-button"
|
|
25
|
+
import { Tooltip, TooltipKeybind } from "ikanban-ui/tooltip"
|
|
26
|
+
import { DropdownMenu } from "ikanban-ui/dropdown-menu"
|
|
27
|
+
import { Dialog } from "ikanban-ui/dialog"
|
|
28
|
+
import { getFilename } from "ikanban-utils/path"
|
|
29
29
|
import { Session, type Message } from "@opencode-ai/sdk/v2/client"
|
|
30
30
|
import { usePlatform } from "@/context/platform"
|
|
31
31
|
import { useSettings } from "@/context/settings"
|
|
@@ -33,19 +33,19 @@ import { createStore, produce, reconcile } from "solid-js/store"
|
|
|
33
33
|
import { DragDropProvider, DragDropSensors, DragOverlay, SortableProvider, closestCenter } from "@thisbeyond/solid-dnd"
|
|
34
34
|
import type { DragEvent } from "@thisbeyond/solid-dnd"
|
|
35
35
|
import { useProviders } from "@/hooks/use-providers"
|
|
36
|
-
import { showToast, Toast, toaster } from "
|
|
36
|
+
import { showToast, Toast, toaster } from "ikanban-ui/toast"
|
|
37
37
|
import { useGlobalSDK } from "@/context/global-sdk"
|
|
38
38
|
import { clearWorkspaceTerminals } from "@/context/terminal"
|
|
39
39
|
import { useNotification } from "@/context/notification"
|
|
40
40
|
import { usePermission } from "@/context/permission"
|
|
41
|
-
import { Binary } from "
|
|
42
|
-
import { retry } from "
|
|
41
|
+
import { Binary } from "ikanban-utils/binary"
|
|
42
|
+
import { retry } from "ikanban-utils/retry"
|
|
43
43
|
import { playSound, soundSrc } from "@/utils/sound"
|
|
44
44
|
import { createAim } from "@/utils/aim"
|
|
45
45
|
import { Worktree as WorktreeState } from "@/utils/worktree"
|
|
46
46
|
|
|
47
|
-
import { useDialog } from "
|
|
48
|
-
import { useTheme, type ColorScheme } from "
|
|
47
|
+
import { useDialog } from "ikanban-ui/context/dialog"
|
|
48
|
+
import { useTheme, type ColorScheme } from "ikanban-ui/theme"
|
|
49
49
|
import { DialogSelectProvider } from "@/components/dialog-select-provider"
|
|
50
50
|
import { DialogSelectServer } from "@/components/dialog-select-server"
|
|
51
51
|
import { DialogSettings } from "@/components/dialog-settings"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Show, createEffect, createMemo, createSignal, onCleanup } from "solid-js"
|
|
2
2
|
import { useParams } from "@solidjs/router"
|
|
3
|
-
import { useSpring } from "
|
|
3
|
+
import { useSpring } from "ikanban-ui/motion-spring"
|
|
4
4
|
import { PromptInput } from "@/components/prompt-input"
|
|
5
5
|
import { useLanguage } from "@/context/language"
|
|
6
6
|
import { usePrompt } from "@/context/prompt"
|
|
@@ -2,7 +2,7 @@ import { createEffect, createMemo, on, onCleanup } from "solid-js"
|
|
|
2
2
|
import { createStore } from "solid-js/store"
|
|
3
3
|
import type { PermissionRequest, QuestionRequest, Todo } from "@opencode-ai/sdk/v2"
|
|
4
4
|
import { useParams } from "@solidjs/router"
|
|
5
|
-
import { showToast } from "
|
|
5
|
+
import { showToast } from "ikanban-ui/toast"
|
|
6
6
|
import { useGlobalSync } from "@/context/global-sync"
|
|
7
7
|
import { useLanguage } from "@/context/language"
|
|
8
8
|
import { usePermission } from "@/context/permission"
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { For, Show } from "solid-js"
|
|
2
2
|
import type { PermissionRequest } from "@opencode-ai/sdk/v2"
|
|
3
|
-
import { Button } from "
|
|
4
|
-
import { DockPrompt } from "
|
|
5
|
-
import { Icon } from "
|
|
3
|
+
import { Button } from "ikanban-ui/button"
|
|
4
|
+
import { DockPrompt } from "ikanban-ui/dock-prompt"
|
|
5
|
+
import { Icon } from "ikanban-ui/icon"
|
|
6
6
|
import { useLanguage } from "@/context/language"
|
|
7
7
|
|
|
8
8
|
export function SessionPermissionDock(props: {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { For, Show, createMemo, onCleanup, onMount, type Component } from "solid-js"
|
|
2
2
|
import { createStore } from "solid-js/store"
|
|
3
|
-
import { Button } from "
|
|
4
|
-
import { DockPrompt } from "
|
|
5
|
-
import { Icon } from "
|
|
6
|
-
import { showToast } from "
|
|
3
|
+
import { Button } from "ikanban-ui/button"
|
|
4
|
+
import { DockPrompt } from "ikanban-ui/dock-prompt"
|
|
5
|
+
import { Icon } from "ikanban-ui/icon"
|
|
6
|
+
import { showToast } from "ikanban-ui/toast"
|
|
7
7
|
import type { QuestionAnswer, QuestionRequest } from "@opencode-ai/sdk/v2"
|
|
8
8
|
import { useLanguage } from "@/context/language"
|
|
9
9
|
import { useSDK } from "@/context/sdk"
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import type { Todo } from "@opencode-ai/sdk/v2"
|
|
2
|
-
import { AnimatedNumber } from "
|
|
3
|
-
import { Checkbox } from "
|
|
4
|
-
import { DockTray } from "
|
|
5
|
-
import { IconButton } from "
|
|
6
|
-
import { useSpring } from "
|
|
7
|
-
import { TextReveal } from "
|
|
8
|
-
import { TextStrikethrough } from "
|
|
2
|
+
import { AnimatedNumber } from "ikanban-ui/animated-number"
|
|
3
|
+
import { Checkbox } from "ikanban-ui/checkbox"
|
|
4
|
+
import { DockTray } from "ikanban-ui/dock-surface"
|
|
5
|
+
import { IconButton } from "ikanban-ui/icon-button"
|
|
6
|
+
import { useSpring } from "ikanban-ui/motion-spring"
|
|
7
|
+
import { TextReveal } from "ikanban-ui/text-reveal"
|
|
8
|
+
import { TextStrikethrough } from "ikanban-ui/text-strikethrough"
|
|
9
9
|
import { Index, createEffect, createMemo, createSignal, on, onCleanup } from "solid-js"
|
|
10
10
|
import { createStore } from "solid-js/store"
|
|
11
11
|
|
|
@@ -2,16 +2,16 @@ import { createEffect, createMemo, Match, on, onCleanup, Switch } from "solid-js
|
|
|
2
2
|
import { createStore } from "solid-js/store"
|
|
3
3
|
import { Dynamic } from "solid-js/web"
|
|
4
4
|
import { useParams } from "@solidjs/router"
|
|
5
|
-
import type { FileSearchHandle } from "
|
|
6
|
-
import { useFileComponent } from "
|
|
7
|
-
import { cloneSelectedLineRange, previewSelectedLines } from "
|
|
8
|
-
import { createLineCommentController } from "
|
|
9
|
-
import { sampledChecksum } from "
|
|
10
|
-
import { DropdownMenu } from "
|
|
11
|
-
import { IconButton } from "
|
|
12
|
-
import { Tabs } from "
|
|
13
|
-
import { ScrollView } from "
|
|
14
|
-
import { showToast } from "
|
|
5
|
+
import type { FileSearchHandle } from "ikanban-ui/file"
|
|
6
|
+
import { useFileComponent } from "ikanban-ui/context/file"
|
|
7
|
+
import { cloneSelectedLineRange, previewSelectedLines } from "ikanban-ui/pierre/selection-bridge"
|
|
8
|
+
import { createLineCommentController } from "ikanban-ui/line-comment-annotations"
|
|
9
|
+
import { sampledChecksum } from "ikanban-utils/encode"
|
|
10
|
+
import { DropdownMenu } from "ikanban-ui/dropdown-menu"
|
|
11
|
+
import { IconButton } from "ikanban-ui/icon-button"
|
|
12
|
+
import { Tabs } from "ikanban-ui/tabs"
|
|
13
|
+
import { ScrollView } from "ikanban-ui/scroll-view"
|
|
14
|
+
import { showToast } from "ikanban-ui/toast"
|
|
15
15
|
import { useLayout } from "@/context/layout"
|
|
16
16
|
import { selectionFromLines, useFile, type FileSelection, type SelectedLineRange } from "@/context/file"
|
|
17
17
|
import { useComments } from "@/context/comments"
|
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
import { For, createEffect, createMemo, on, onCleanup, Show, startTransition, Index, type JSX } from "solid-js"
|
|
2
2
|
import { createStore, produce } from "solid-js/store"
|
|
3
3
|
import { useNavigate, useParams } from "@solidjs/router"
|
|
4
|
-
import { Button } from "
|
|
5
|
-
import { FileIcon } from "
|
|
6
|
-
import { Icon } from "
|
|
7
|
-
import { IconButton } from "
|
|
8
|
-
import { DropdownMenu } from "
|
|
9
|
-
import { Dialog } from "
|
|
10
|
-
import { InlineInput } from "
|
|
11
|
-
import { SessionTurn } from "
|
|
12
|
-
import { ScrollView } from "
|
|
4
|
+
import { Button } from "ikanban-ui/button"
|
|
5
|
+
import { FileIcon } from "ikanban-ui/file-icon"
|
|
6
|
+
import { Icon } from "ikanban-ui/icon"
|
|
7
|
+
import { IconButton } from "ikanban-ui/icon-button"
|
|
8
|
+
import { DropdownMenu } from "ikanban-ui/dropdown-menu"
|
|
9
|
+
import { Dialog } from "ikanban-ui/dialog"
|
|
10
|
+
import { InlineInput } from "ikanban-ui/inline-input"
|
|
11
|
+
import { SessionTurn } from "ikanban-ui/session-turn"
|
|
12
|
+
import { ScrollView } from "ikanban-ui/scroll-view"
|
|
13
13
|
import type { AssistantMessage, Message as MessageType, Part, TextPart, UserMessage } from "@opencode-ai/sdk/v2"
|
|
14
|
-
import { showToast } from "
|
|
15
|
-
import { Binary } from "
|
|
16
|
-
import { getFilename } from "
|
|
14
|
+
import { showToast } from "ikanban-ui/toast"
|
|
15
|
+
import { Binary } from "ikanban-utils/binary"
|
|
16
|
+
import { getFilename } from "ikanban-utils/path"
|
|
17
17
|
import { shouldMarkBoundaryGesture, normalizeWheelDelta } from "@/pages/session/message-gesture"
|
|
18
18
|
import { SessionContextUsage } from "@/components/session-context-usage"
|
|
19
|
-
import { useDialog } from "
|
|
19
|
+
import { useDialog } from "ikanban-ui/context/dialog"
|
|
20
20
|
import { useLanguage } from "@/context/language"
|
|
21
21
|
import { useSettings } from "@/context/settings"
|
|
22
22
|
import { useSDK } from "@/context/sdk"
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { createEffect, onCleanup, type JSX } from "solid-js"
|
|
2
2
|
import type { FileDiff } from "@opencode-ai/sdk/v2"
|
|
3
|
-
import { SessionReview } from "
|
|
3
|
+
import { SessionReview } from "ikanban-ui/session-review"
|
|
4
4
|
import type {
|
|
5
5
|
SessionReviewCommentActions,
|
|
6
6
|
SessionReviewCommentDelete,
|
|
7
7
|
SessionReviewCommentUpdate,
|
|
8
|
-
} from "
|
|
8
|
+
} from "ikanban-ui/session-review"
|
|
9
9
|
import type { SelectedLineRange } from "@/context/file"
|
|
10
10
|
import { useSDK } from "@/context/sdk"
|
|
11
11
|
import { useLayout } from "@/context/layout"
|
|
@@ -2,15 +2,15 @@ import { For, Match, Show, Switch, createEffect, createMemo, onCleanup, type JSX
|
|
|
2
2
|
import { createStore } from "solid-js/store"
|
|
3
3
|
import { createMediaQuery } from "@solid-primitives/media"
|
|
4
4
|
import { useParams } from "@solidjs/router"
|
|
5
|
-
import { Tabs } from "
|
|
6
|
-
import { IconButton } from "
|
|
7
|
-
import { TooltipKeybind } from "
|
|
8
|
-
import { ResizeHandle } from "
|
|
9
|
-
import { Mark } from "
|
|
5
|
+
import { Tabs } from "ikanban-ui/tabs"
|
|
6
|
+
import { IconButton } from "ikanban-ui/icon-button"
|
|
7
|
+
import { TooltipKeybind } from "ikanban-ui/tooltip"
|
|
8
|
+
import { ResizeHandle } from "ikanban-ui/resize-handle"
|
|
9
|
+
import { Mark } from "ikanban-ui/logo"
|
|
10
10
|
import { DragDropProvider, DragDropSensors, DragOverlay, SortableProvider, closestCenter } from "@thisbeyond/solid-dnd"
|
|
11
11
|
import type { DragEvent } from "@thisbeyond/solid-dnd"
|
|
12
12
|
import { ConstrainDragYAxis, getDraggableId } from "@/utils/solid-dnd"
|
|
13
|
-
import { useDialog } from "
|
|
13
|
+
import { useDialog } from "ikanban-ui/context/dialog"
|
|
14
14
|
|
|
15
15
|
import FileTree from "@/components/file-tree"
|
|
16
16
|
import { SessionContextUsage } from "@/components/session-context-usage"
|
|
@@ -2,10 +2,10 @@ import { For, Show, createEffect, createMemo, on } from "solid-js"
|
|
|
2
2
|
import { createStore } from "solid-js/store"
|
|
3
3
|
import { createMediaQuery } from "@solid-primitives/media"
|
|
4
4
|
import { useParams } from "@solidjs/router"
|
|
5
|
-
import { Tabs } from "
|
|
6
|
-
import { ResizeHandle } from "
|
|
7
|
-
import { IconButton } from "
|
|
8
|
-
import { TooltipKeybind } from "
|
|
5
|
+
import { Tabs } from "ikanban-ui/tabs"
|
|
6
|
+
import { ResizeHandle } from "ikanban-ui/resize-handle"
|
|
7
|
+
import { IconButton } from "ikanban-ui/icon-button"
|
|
8
|
+
import { TooltipKeybind } from "ikanban-ui/tooltip"
|
|
9
9
|
import { DragDropProvider, DragDropSensors, DragOverlay, SortableProvider, closestCenter } from "@thisbeyond/solid-dnd"
|
|
10
10
|
import type { DragEvent } from "@thisbeyond/solid-dnd"
|
|
11
11
|
import { ConstrainDragYAxis, getDraggableId } from "@/utils/solid-dnd"
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createMemo } from "solid-js"
|
|
2
2
|
import { useNavigate, useParams } from "@solidjs/router"
|
|
3
3
|
import { useCommand, type CommandOption } from "@/context/command"
|
|
4
|
-
import { useDialog } from "
|
|
4
|
+
import { useDialog } from "ikanban-ui/context/dialog"
|
|
5
5
|
import { useFile, selectionFromLines, type FileSelection, type SelectedLineRange } from "@/context/file"
|
|
6
6
|
import { useLanguage } from "@/context/language"
|
|
7
7
|
import { useLayout } from "@/context/layout"
|
|
@@ -15,8 +15,8 @@ import { DialogSelectFile } from "@/components/dialog-select-file"
|
|
|
15
15
|
import { DialogSelectModel } from "@/components/dialog-select-model"
|
|
16
16
|
import { DialogSelectMcp } from "@/components/dialog-select-mcp"
|
|
17
17
|
import { DialogFork } from "@/components/dialog-fork"
|
|
18
|
-
import { showToast } from "
|
|
19
|
-
import { findLast } from "
|
|
18
|
+
import { showToast } from "ikanban-ui/toast"
|
|
19
|
+
import { findLast } from "ikanban-utils/array"
|
|
20
20
|
import { extractPromptFromParts } from "@/utils/prompt"
|
|
21
21
|
import { UserMessage } from "@opencode-ai/sdk/v2"
|
|
22
22
|
import { canAddSelectionContext } from "@/pages/session/session-command-helpers"
|
package/src/pages/session.tsx
CHANGED
|
@@ -16,15 +16,15 @@ import { createResizeObserver } from "@solid-primitives/resize-observer"
|
|
|
16
16
|
import { useLocal } from "@/context/local"
|
|
17
17
|
import { selectionFromLines, useFile, type FileSelection, type SelectedLineRange } from "@/context/file"
|
|
18
18
|
import { createStore } from "solid-js/store"
|
|
19
|
-
import { ResizeHandle } from "
|
|
20
|
-
import { Select } from "
|
|
21
|
-
import { createAutoScroll } from "
|
|
22
|
-
import { Mark } from "
|
|
19
|
+
import { ResizeHandle } from "ikanban-ui/resize-handle"
|
|
20
|
+
import { Select } from "ikanban-ui/select"
|
|
21
|
+
import { createAutoScroll } from "ikanban-ui/hooks"
|
|
22
|
+
import { Mark } from "ikanban-ui/logo"
|
|
23
23
|
|
|
24
24
|
import { useSync } from "@/context/sync"
|
|
25
25
|
import { useLayout } from "@/context/layout"
|
|
26
|
-
import { checksum, base64Encode } from "
|
|
27
|
-
import { useDialog } from "
|
|
26
|
+
import { checksum, base64Encode } from "ikanban-utils/encode"
|
|
27
|
+
import { useDialog } from "ikanban-ui/context/dialog"
|
|
28
28
|
import { useLanguage } from "@/context/language"
|
|
29
29
|
import { useNavigate, useParams } from "@solidjs/router"
|
|
30
30
|
import { UserMessage } from "@opencode-ai/sdk/v2"
|
package/src/utils/base64.ts
CHANGED
package/src/utils/persist.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Platform, usePlatform } from "@/context/platform"
|
|
2
2
|
import { makePersisted, type AsyncStorage, type SyncStorage } from "@solid-primitives/storage"
|
|
3
|
-
import { checksum } from "
|
|
3
|
+
import { checksum } from "ikanban-utils/encode"
|
|
4
4
|
import { createResource, type Accessor } from "solid-js"
|
|
5
5
|
import type { SetStoreFunction, Store } from "solid-js/store"
|
|
6
6
|
|
package/src/utils/sound.ts
CHANGED
|
@@ -1,48 +1,48 @@
|
|
|
1
|
-
import alert01 from "
|
|
2
|
-
import alert02 from "
|
|
3
|
-
import alert03 from "
|
|
4
|
-
import alert04 from "
|
|
5
|
-
import alert05 from "
|
|
6
|
-
import alert06 from "
|
|
7
|
-
import alert07 from "
|
|
8
|
-
import alert08 from "
|
|
9
|
-
import alert09 from "
|
|
10
|
-
import alert10 from "
|
|
11
|
-
import bipbop01 from "
|
|
12
|
-
import bipbop02 from "
|
|
13
|
-
import bipbop03 from "
|
|
14
|
-
import bipbop04 from "
|
|
15
|
-
import bipbop05 from "
|
|
16
|
-
import bipbop06 from "
|
|
17
|
-
import bipbop07 from "
|
|
18
|
-
import bipbop08 from "
|
|
19
|
-
import bipbop09 from "
|
|
20
|
-
import bipbop10 from "
|
|
21
|
-
import nope01 from "
|
|
22
|
-
import nope02 from "
|
|
23
|
-
import nope03 from "
|
|
24
|
-
import nope04 from "
|
|
25
|
-
import nope05 from "
|
|
26
|
-
import nope06 from "
|
|
27
|
-
import nope07 from "
|
|
28
|
-
import nope08 from "
|
|
29
|
-
import nope09 from "
|
|
30
|
-
import nope10 from "
|
|
31
|
-
import nope11 from "
|
|
32
|
-
import nope12 from "
|
|
33
|
-
import staplebops01 from "
|
|
34
|
-
import staplebops02 from "
|
|
35
|
-
import staplebops03 from "
|
|
36
|
-
import staplebops04 from "
|
|
37
|
-
import staplebops05 from "
|
|
38
|
-
import staplebops06 from "
|
|
39
|
-
import staplebops07 from "
|
|
40
|
-
import yup01 from "
|
|
41
|
-
import yup02 from "
|
|
42
|
-
import yup03 from "
|
|
43
|
-
import yup04 from "
|
|
44
|
-
import yup05 from "
|
|
45
|
-
import yup06 from "
|
|
1
|
+
import alert01 from "ikanban-ui/audio/alert-01.aac"
|
|
2
|
+
import alert02 from "ikanban-ui/audio/alert-02.aac"
|
|
3
|
+
import alert03 from "ikanban-ui/audio/alert-03.aac"
|
|
4
|
+
import alert04 from "ikanban-ui/audio/alert-04.aac"
|
|
5
|
+
import alert05 from "ikanban-ui/audio/alert-05.aac"
|
|
6
|
+
import alert06 from "ikanban-ui/audio/alert-06.aac"
|
|
7
|
+
import alert07 from "ikanban-ui/audio/alert-07.aac"
|
|
8
|
+
import alert08 from "ikanban-ui/audio/alert-08.aac"
|
|
9
|
+
import alert09 from "ikanban-ui/audio/alert-09.aac"
|
|
10
|
+
import alert10 from "ikanban-ui/audio/alert-10.aac"
|
|
11
|
+
import bipbop01 from "ikanban-ui/audio/bip-bop-01.aac"
|
|
12
|
+
import bipbop02 from "ikanban-ui/audio/bip-bop-02.aac"
|
|
13
|
+
import bipbop03 from "ikanban-ui/audio/bip-bop-03.aac"
|
|
14
|
+
import bipbop04 from "ikanban-ui/audio/bip-bop-04.aac"
|
|
15
|
+
import bipbop05 from "ikanban-ui/audio/bip-bop-05.aac"
|
|
16
|
+
import bipbop06 from "ikanban-ui/audio/bip-bop-06.aac"
|
|
17
|
+
import bipbop07 from "ikanban-ui/audio/bip-bop-07.aac"
|
|
18
|
+
import bipbop08 from "ikanban-ui/audio/bip-bop-08.aac"
|
|
19
|
+
import bipbop09 from "ikanban-ui/audio/bip-bop-09.aac"
|
|
20
|
+
import bipbop10 from "ikanban-ui/audio/bip-bop-10.aac"
|
|
21
|
+
import nope01 from "ikanban-ui/audio/nope-01.aac"
|
|
22
|
+
import nope02 from "ikanban-ui/audio/nope-02.aac"
|
|
23
|
+
import nope03 from "ikanban-ui/audio/nope-03.aac"
|
|
24
|
+
import nope04 from "ikanban-ui/audio/nope-04.aac"
|
|
25
|
+
import nope05 from "ikanban-ui/audio/nope-05.aac"
|
|
26
|
+
import nope06 from "ikanban-ui/audio/nope-06.aac"
|
|
27
|
+
import nope07 from "ikanban-ui/audio/nope-07.aac"
|
|
28
|
+
import nope08 from "ikanban-ui/audio/nope-08.aac"
|
|
29
|
+
import nope09 from "ikanban-ui/audio/nope-09.aac"
|
|
30
|
+
import nope10 from "ikanban-ui/audio/nope-10.aac"
|
|
31
|
+
import nope11 from "ikanban-ui/audio/nope-11.aac"
|
|
32
|
+
import nope12 from "ikanban-ui/audio/nope-12.aac"
|
|
33
|
+
import staplebops01 from "ikanban-ui/audio/staplebops-01.aac"
|
|
34
|
+
import staplebops02 from "ikanban-ui/audio/staplebops-02.aac"
|
|
35
|
+
import staplebops03 from "ikanban-ui/audio/staplebops-03.aac"
|
|
36
|
+
import staplebops04 from "ikanban-ui/audio/staplebops-04.aac"
|
|
37
|
+
import staplebops05 from "ikanban-ui/audio/staplebops-05.aac"
|
|
38
|
+
import staplebops06 from "ikanban-ui/audio/staplebops-06.aac"
|
|
39
|
+
import staplebops07 from "ikanban-ui/audio/staplebops-07.aac"
|
|
40
|
+
import yup01 from "ikanban-ui/audio/yup-01.aac"
|
|
41
|
+
import yup02 from "ikanban-ui/audio/yup-02.aac"
|
|
42
|
+
import yup03 from "ikanban-ui/audio/yup-03.aac"
|
|
43
|
+
import yup04 from "ikanban-ui/audio/yup-04.aac"
|
|
44
|
+
import yup05 from "ikanban-ui/audio/yup-05.aac"
|
|
45
|
+
import yup06 from "ikanban-ui/audio/yup-06.aac"
|
|
46
46
|
|
|
47
47
|
export const SOUND_OPTIONS = [
|
|
48
48
|
{ id: "alert-01", label: "sound.option.alert01", src: alert01 },
|