mirror of
https://github.com/zhayujie/chatgpt-on-wechat.git
synced 2026-07-17 11:07:11 +08:00
fix(desktop): adapt remaining pages to updated types
This commit is contained in:
@@ -85,14 +85,12 @@ const ChannelsPage: React.FC<ChannelsPageProps> = ({ baseUrl }) => {
|
||||
{ch.fields.map((field) => (
|
||||
<div key={field.key}>
|
||||
<label className="block text-sm font-medium text-slate-600 dark:text-slate-400 mb-1">
|
||||
{field.label?.zh || field.label?.en || field.key}
|
||||
{field.required && <span className="text-red-500 ml-0.5">*</span>}
|
||||
{field.label || field.key}
|
||||
</label>
|
||||
<input
|
||||
type={field.type === 'password' ? 'password' : 'text'}
|
||||
type={field.type === 'secret' ? 'password' : 'text'}
|
||||
value={configValues[ch.name]?.[field.key] || ''}
|
||||
onChange={(e) => handleFieldChange(ch.name, field.key, e.target.value)}
|
||||
placeholder={field.placeholder?.zh || field.placeholder?.en || ''}
|
||||
className="w-full px-3 py-2 rounded-lg border border-slate-200 dark:border-slate-600 bg-slate-50 dark:bg-white/5 text-sm text-slate-800 dark:text-slate-100 focus:outline-none focus:border-primary-500 transition-colors"
|
||||
/>
|
||||
</div>
|
||||
|
||||
@@ -95,7 +95,7 @@ const MemoryPage: React.FC<MemoryPageProps> = ({ baseUrl }) => {
|
||||
>
|
||||
<td className="px-4 py-3 text-sm font-medium text-slate-700 dark:text-slate-200 font-mono">{item.filename}</td>
|
||||
<td className="px-4 py-3 text-sm text-slate-500 dark:text-slate-400">{formatSize(item.size)}</td>
|
||||
<td className="px-4 py-3 text-sm text-slate-500 dark:text-slate-400">{formatTime(item.modified)}</td>
|
||||
<td className="px-4 py-3 text-sm text-slate-500 dark:text-slate-400">{item.updated_at}</td>
|
||||
</tr>
|
||||
))}
|
||||
</tbody>
|
||||
|
||||
@@ -72,7 +72,7 @@ const SkillsPage: React.FC<SkillsPageProps> = ({ baseUrl }) => {
|
||||
<div key={tool.name} className="bg-white dark:bg-[#1A1A1A] border border-slate-200 dark:border-white/10 rounded-xl p-4">
|
||||
<div className="flex items-center gap-2 mb-1.5">
|
||||
<i className="fas fa-cog text-xs text-primary-400" />
|
||||
<span className="text-sm font-medium text-slate-700 dark:text-slate-200">{tool.display_name || tool.name}</span>
|
||||
<span className="text-sm font-medium text-slate-700 dark:text-slate-200">{tool.name}</span>
|
||||
</div>
|
||||
<p className="text-xs text-slate-500 dark:text-slate-400 leading-relaxed">{tool.description}</p>
|
||||
</div>
|
||||
@@ -104,7 +104,7 @@ const SkillsPage: React.FC<SkillsPageProps> = ({ baseUrl }) => {
|
||||
<div className="flex items-center justify-between mb-2">
|
||||
<div className="flex items-center gap-2">
|
||||
<i className="fas fa-bolt text-xs text-amber-400" />
|
||||
<span className="text-sm font-medium text-slate-700 dark:text-slate-200">{skill.display_name || skill.name}</span>
|
||||
<span className="text-sm font-medium text-slate-700 dark:text-slate-200">{skill.name}</span>
|
||||
</div>
|
||||
<button
|
||||
onClick={() => handleToggle(skill)}
|
||||
|
||||
@@ -63,9 +63,13 @@ const TasksPage: React.FC<TasksPageProps> = ({ baseUrl }) => {
|
||||
</span>
|
||||
</div>
|
||||
<div className="flex items-center gap-4 text-xs text-slate-500 dark:text-slate-400">
|
||||
<span>Cron: <code className="bg-slate-100 dark:bg-white/10 px-1.5 py-0.5 rounded font-mono">{task.cron}</code></span>
|
||||
{task.next_run && <span>Next: {task.next_run}</span>}
|
||||
{task.last_run && <span>Last: {task.last_run}</span>}
|
||||
<span>
|
||||
{task.schedule?.type}:{' '}
|
||||
<code className="bg-slate-100 dark:bg-white/10 px-1.5 py-0.5 rounded font-mono">
|
||||
{task.schedule?.expression || task.schedule?.run_at || `${task.schedule?.seconds ?? ''}s`}
|
||||
</code>
|
||||
</span>
|
||||
{task.next_run_at && <span>Next: {task.next_run_at}</span>}
|
||||
</div>
|
||||
</div>
|
||||
))}
|
||||
|
||||
Reference in New Issue
Block a user