初始提交: ScriptForge 脚本快速转运行链接服务
Some checks failed
Release / build-and-release (push) Failing after 1m31s
Some checks failed
Release / build-and-release (push) Failing after 1m31s
- Go 后端 (Gin + GORM + SQLite) 提供 API 和纯文本脚本服务 - Vite + React + TypeScript + Tailwind 前端 - 单二进制部署 (Go embed 前端静态文件) - Gitea Actions CI/CD: 打标签自动构建多平台 Release - 支持 bash/zsh/sh/fish/python3/node/ruby/php 8种运行环境 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
23
frontend/src/components/ScriptViewer.tsx
Normal file
23
frontend/src/components/ScriptViewer.tsx
Normal file
@@ -0,0 +1,23 @@
|
||||
interface Props {
|
||||
content: string
|
||||
runtime: string
|
||||
}
|
||||
|
||||
export default function ScriptViewer({ content, runtime }: Props) {
|
||||
return (
|
||||
<div className="bg-gray-900 border border-gray-700 rounded-lg overflow-hidden">
|
||||
<div className="flex items-center justify-between px-4 py-2 bg-gray-800/50 border-b border-gray-700">
|
||||
<span className="text-xs text-gray-400 font-mono">script.{runtime === 'node' ? 'js' : runtime === 'python3' ? 'py' : runtime}</span>
|
||||
<button
|
||||
onClick={() => navigator.clipboard.writeText(content)}
|
||||
className="text-xs text-gray-500 hover:text-blue-400 transition-colors"
|
||||
>
|
||||
复制内容
|
||||
</button>
|
||||
</div>
|
||||
<pre className="p-4 text-sm font-mono overflow-x-auto leading-relaxed text-gray-200">
|
||||
{content}
|
||||
</pre>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
Reference in New Issue
Block a user