39 lines
1.5 KiB
Python
39 lines
1.5 KiB
Python
import re
|
|
|
|
with open('src/components/Header.tsx', 'r') as f:
|
|
content = f.read()
|
|
|
|
replacement = """
|
|
{/* Right Section: Version Badge & Env Perceive */}
|
|
<div className="flex items-center space-x-2">
|
|
<div className={`flex items-center space-x-1.5 px-2.5 py-1 border rounded-full transition-colors ${
|
|
isDirty
|
|
? 'bg-amber-50 border-amber-100 text-amber-800'
|
|
: 'bg-emerald-50 border-emerald-100 text-emerald-800'
|
|
}`}>
|
|
<span className="relative flex h-1.5 w-1.5">
|
|
<span className={`absolute inline-flex h-full w-full rounded-full opacity-75 ${
|
|
isDirty ? 'animate-ping bg-amber-400' : 'animate-ping bg-emerald-400'
|
|
}`}></span>
|
|
<span className={`relative inline-flex h-1.5 w-1.5 rounded-full ${
|
|
isDirty ? 'bg-amber-500' : 'bg-emerald-500'
|
|
}`}></span>
|
|
</span>
|
|
<span className="font-sans text-[10px] font-bold tracking-tight">
|
|
在线
|
|
</span>
|
|
</div>
|
|
{isDirty && (
|
|
<span className="hidden rounded bg-amber-100/70 border border-amber-200 px-2 py-0.5 text-[10px] font-bold text-amber-800 tracking-wider sm:inline">
|
|
待发布
|
|
</span>
|
|
)}
|
|
</div>
|
|
</div>
|
|
</header>"""
|
|
|
|
content = content.replace(" </div>\n </header>", replacement)
|
|
|
|
with open('src/components/Header.tsx', 'w') as f:
|
|
f.write(content)
|