feat(chat): add manual refresh for delivered agents
This commit is contained in:
@@ -14,7 +14,9 @@ export function Layout() {
|
||||
const [open, setOpen] = useState(false);
|
||||
const [width, setWidth] = useState(508);
|
||||
const [long, setLong] = useState(true);
|
||||
const count = Number(new URLSearchParams(location.search).get('agents') ?? 0);
|
||||
const [count, setCount] = useState(Number(new URLSearchParams(location.search).get('agents') ?? 0));
|
||||
const [refreshing, setRefreshing] = useState(false);
|
||||
const [refreshStatus, setRefreshStatus] = useState<'idle' | 'success' | 'error'>('idle');
|
||||
const [selected, setSelected] = useState(0);
|
||||
const agents = Array.from({ length: count }, (_, index) => ({
|
||||
teacher_id: `agent-${index}`, version: index + 1, is_default: index === 0,
|
||||
@@ -27,6 +29,16 @@ export function Layout() {
|
||||
definition: agents[selected]?.definition ?? { name: '编程老师', avatar_id: 'avatar-06' },
|
||||
invitation: visible ? { response: long ? '你刚才说想做一个宠物游戏。我们一起想想,什么样的小动作,会让你愿意一直陪它玩下去?可以先挑一个最想试的想法。' : '有什么编程问题想一起讨论?' } : null,
|
||||
welcome: null, enabled: true, loading: false, checking: false, error: null,
|
||||
refreshing, refreshStatus,
|
||||
refresh: async () => {
|
||||
setRefreshing(true);
|
||||
setRefreshStatus('idle');
|
||||
await new Promise((resolve) => window.setTimeout(resolve, 100));
|
||||
setCount((current) => current + 1);
|
||||
setRefreshStatus('success');
|
||||
setRefreshing(false);
|
||||
},
|
||||
reloadCatalog: async () => {},
|
||||
dismiss: () => setVisible(false),
|
||||
} as ComponentProps<typeof TeacherCompanion>['companion'];
|
||||
return <div className="classroom-workspace flex h-screen flex-col bg-white">
|
||||
|
||||
Reference in New Issue
Block a user