@@ -27,13 +27,16 @@ import { TimezoneTimestamp } from "@posthog/ui/primitives/TimezoneTimestamp";
2727import { systemTimezone } from "@posthog/ui/primitives/timezone" ;
2828import { toast } from "@posthog/ui/primitives/toast" ;
2929import {
30+ canGoBackInHistory ,
31+ goBackInHistory ,
3032 navigateToEditLoop ,
3133 navigateToLoops ,
3234} from "@posthog/ui/router/navigationBridge" ;
3335import { track } from "@posthog/ui/shell/analytics" ;
3436import { useHostCapabilities } from "@posthog/ui/shell/useHostCapabilities" ;
3537import { Flex , Text } from "@radix-ui/themes" ;
3638import { useQuery } from "@tanstack/react-query" ;
39+ import { useLocation } from "@tanstack/react-router" ;
3740import { useEffect , useRef , useState } from "react" ;
3841import { useLoop } from "../hooks/useLoop" ;
3942import {
@@ -62,6 +65,9 @@ import { LoopLoadError } from "./LoopFallbacks";
6265import { LoopRunRow } from "./LoopRunRow" ;
6366
6467export function LoopDetailView ( { loopId } : { loopId : string } ) {
68+ const hasLoopListOrigin = useLocation ( {
69+ select : ( location ) => location . state . loopListOrigin === true ,
70+ } ) ;
6571 const { data : loop , isLoading, isError } = useLoop ( loopId ) ;
6672 const updateLoop = useUpdateLoop ( loopId ) ;
6773 const deleteLoop = useDeleteLoop ( ) ;
@@ -207,11 +213,17 @@ export function LoopDetailView({ loopId }: { loopId: string }) {
207213 < Button
208214 variant = "link-muted"
209215 size = "sm"
210- onClick = { navigateToLoops }
216+ onClick = { ( ) => {
217+ if ( hasLoopListOrigin && canGoBackInHistory ( ) ) {
218+ goBackInHistory ( ) ;
219+ return ;
220+ }
221+ navigateToLoops ( ) ;
222+ } }
211223 className = "w-fit px-0"
212224 >
213225 < ArrowLeftIcon size = { 15 } />
214- Loops
226+ Back
215227 </ Button >
216228
217229 < Flex align = "center" justify = "between" gap = "3" wrap = "wrap" >
0 commit comments