Z ZPI 文档 v0.3.8
介绍页

源码

packages/desktop/src/renderer/PreviewEditorButton.tsx

tsx33 行查看原文
import { ExternalLink } from "lucide-react";
import { logRendererError } from "./error-log.ts";
import { unwrap } from "./unwrap.ts";

export function PreviewEditorButton({
  sessionId,
  path,
  className,
}: {
  sessionId: string;
  path: string;
  className?: string;
}) {
  const label = "使用默认程序打开";
  return (
    <button
      type="button"
      className={className}
      disabled={!path}
      title={label}
      aria-label={label}
      onClick={() => {
        void window.zpi
          .fileAction(sessionId, path, "open")
          .then(unwrap)
          .catch((error) => logRendererError("open-default-file", error));
      }}
    >
      <ExternalLink size={16} />
    </button>
  );
}