UNPKG

@roochnetwork/rooch-sdk-kit

Version:
121 lines (109 loc) 4.26 kB
// src/components/session-modal/session-list/SessionList.css.ts var container = "SessionList_container__he8t610"; // src/components/session-modal/session-list/SessionListItem.tsx import { clsx as clsx2 } from "clsx"; // src/components/ui/Heading.tsx import { Slot } from "@radix-ui/react-slot"; import clsx from "clsx"; import { forwardRef } from "react"; // src/components/ui/Heading.css.ts import { createRuntimeFn as _7a468 } from "@vanilla-extract/recipes/createRuntimeFn"; var headingVariants = _7a468({ defaultClassName: "Heading__1v58k1t0", variantClassNames: { size: { sm: "Heading_headingVariants_size_sm__1v58k1t1", md: "Heading_headingVariants_size_md__1v58k1t2", lg: "Heading_headingVariants_size_lg__1v58k1t3", xl: "Heading_headingVariants_size_xl__1v58k1t4" }, weight: { normal: "Heading_headingVariants_weight_normal__1v58k1t5", bold: "Heading_headingVariants_weight_bold__1v58k1t6" }, truncate: { true: "Heading_headingVariants_truncate_true__1v58k1t7" } }, defaultVariants: { size: "lg", weight: "bold" }, compoundVariants: [] }); // src/components/ui/Heading.tsx import { jsx } from "react/jsx-runtime"; var Heading = forwardRef( ({ children, className, asChild = false, as: Tag = "h1", size, weight, truncate, ...headingProps }, forwardedRef) => { return /* @__PURE__ */ jsx( Slot, { ...headingProps, ref: forwardedRef, className: clsx(headingVariants({ size, weight, truncate }), className), children: asChild ? children : /* @__PURE__ */ jsx(Tag, { children }) } ); } ); Heading.displayName = "Heading"; // src/components/session-modal/session-list/SessionListItem.css.ts var container2 = "SessionListItem_container__128jgi30"; var selectedSessionItem = "SessionListItem_selectedSessionItem__128jgi32"; var sessionItem = "SessionListItem_sessionItem__128jgi31"; // src/components/session-modal/session-list/SessionListItem.tsx import { toShortStr } from "@roochnetwork/rooch-sdk"; import { jsx as jsx2 } from "react/jsx-runtime"; function SessionListItem({ authKey, onClick, isSelected = false }) { return /* @__PURE__ */ jsx2("li", { className: container2, children: /* @__PURE__ */ jsx2( "button", { className: clsx2(sessionItem, { [selectedSessionItem]: isSelected }), type: "button", onClick, children: /* @__PURE__ */ jsx2(Heading, { size: "md", truncate: true, asChild: true, children: /* @__PURE__ */ jsx2("div", { children: toShortStr(authKey, { start: 12, end: 6 }) }) }) } ) }); } // src/hooks/useSessionsStore.ts import { useContext } from "react"; import { useStore } from "zustand"; // src/provider/roochProvider.tsx import { createContext, useRef } from "react"; import { jsx as jsx3, jsxs } from "react/jsx-runtime"; var RoochContext = createContext(null); // src/hooks/useSessionsStore.ts function useSessionStore(selector) { const store = useContext(RoochContext); if (!store) { throw new Error( "Could not find RoochSessionContext. Ensure that you have set up the RoochClientProvider." ); } return useStore(store, selector); } // src/hooks/useSessions.ts function useSessions() { return useSessionStore( (state) => state.sessions.sort((a, b) => b.getCreateTime() - a.getCreateTime()) ); } // src/components/session-modal/session-list/SessionList.tsx import { jsx as jsx4, jsxs as jsxs2 } from "react/jsx-runtime"; function SessionList({ selectedSessionAuthKey, onSelect }) { const sessions = useSessions(); return /* @__PURE__ */ jsxs2("ul", { className: container, children: [ /* @__PURE__ */ jsx4( SessionListItem, { authKey: selectedSessionAuthKey?.startsWith("0x") ? "What is a session" : selectedSessionAuthKey || "", isSelected: !selectedSessionAuthKey?.startsWith("0x"), onClick: () => onSelect() }, "new" ), sessions.map((session) => /* @__PURE__ */ jsx4( SessionListItem, { authKey: session.getAuthKey(), isSelected: session.getAuthKey() === selectedSessionAuthKey, onClick: () => onSelect(session) }, session.getAuthKey() )) ] }); } export { SessionList }; //# sourceMappingURL=SessionList.js.map