summaryrefslogtreecommitdiffhomepage
path: root/packages
diff options
context:
space:
mode:
authorAdam <[email protected]>2025-12-22 10:13:50 -0600
committerAdam <[email protected]>2025-12-22 10:13:57 -0600
commit4a32fa6f0231f581d7f6dfcf3bede4286874df65 (patch)
tree7db18e7909109bc203c1c27937ac6c68ad0f98e1 /packages
parent29c99ed4abfce2f1fef06dc55be0b575436e028d (diff)
downloadopencode-4a32fa6f0231f581d7f6dfcf3bede4286874df65.tar.gz
opencode-4a32fa6f0231f581d7f6dfcf3bede4286874df65.zip
fix(share): expanded state and responsiveness
Diffstat (limited to 'packages')
-rw-r--r--packages/enterprise/src/routes/share/[shareID].tsx34
1 files changed, 23 insertions, 11 deletions
diff --git a/packages/enterprise/src/routes/share/[shareID].tsx b/packages/enterprise/src/routes/share/[shareID].tsx
index a8b2c7f24..471104d79 100644
--- a/packages/enterprise/src/routes/share/[shareID].tsx
+++ b/packages/enterprise/src/routes/share/[shareID].tsx
@@ -212,6 +212,7 @@ export default function () {
{iife(() => {
const [store, setStore] = createStore({
messageId: undefined as string | undefined,
+ expandedSteps: {} as Record<string, boolean>,
})
const messages = createMemo(() =>
data().sessionID
@@ -253,20 +254,22 @@ export default function () {
const title = () => (
<div class="flex flex-col gap-4">
- <div class="h-8 flex gap-4 items-center justify-start self-stretch">
- <div class="pl-[2.5px] pr-2 flex items-center gap-1.75 bg-surface-strong shadow-xs-border-base">
+ <div class="flex flex-col gap-2 sm:flex-row sm:gap-4 sm:items-center sm:h-8 justify-start self-stretch">
+ <div class="pl-[2.5px] pr-2 flex items-center gap-1.75 bg-surface-strong shadow-xs-border-base w-fit">
<Mark class="shrink-0 w-3 my-0.5" />
<div class="text-12-mono text-text-base">v{info().version}</div>
</div>
- <div class="flex gap-2 items-center">
- <ProviderIcon
- id={provider() as IconName}
- class="size-3.5 shrink-0 text-icon-strong-base"
- />
- <div class="text-12-regular text-text-base">{model()?.name ?? modelID()}</div>
- </div>
- <div class="text-12-regular text-text-weaker">
- {DateTime.fromMillis(info().time.created).toFormat("dd MMM yyyy, HH:mm")}
+ <div class="flex gap-4 items-center">
+ <div class="flex gap-2 items-center">
+ <ProviderIcon
+ id={provider() as IconName}
+ class="size-3.5 shrink-0 text-icon-strong-base"
+ />
+ <div class="text-12-regular text-text-base">{model()?.name ?? modelID()}</div>
+ </div>
+ <div class="text-12-regular text-text-weaker">
+ {DateTime.fromMillis(info().time.created).toFormat("dd MMM yyyy, HH:mm")}
+ </div>
</div>
</div>
<div class="text-left text-16-medium text-text-strong">{info().title}</div>
@@ -282,6 +285,8 @@ export default function () {
<SessionTurn
sessionID={data().sessionID}
messageID={message.id}
+ stepsExpanded={store.expandedSteps[message.id] ?? false}
+ onStepsExpandedToggle={() => setStore("expandedSteps", message.id, (v) => !v)}
classes={{
root: "min-w-0 w-full relative",
content:
@@ -359,6 +364,13 @@ export default function () {
<SessionTurn
sessionID={data().sessionID}
messageID={store.messageId ?? firstUserMessage()!.id!}
+ stepsExpanded={
+ store.expandedSteps[store.messageId ?? firstUserMessage()!.id!] ?? false
+ }
+ onStepsExpandedToggle={() => {
+ const id = store.messageId ?? firstUserMessage()!.id!
+ setStore("expandedSteps", id, (v) => !v)
+ }}
classes={{
root: "grow",
content: "flex flex-col justify-between",