mirror of
https://github.com/EthanMarti/infio-copilot.git
synced 2026-05-06 15:00:09 +00:00
update hello world
This commit is contained in:
144
src/components/chat-view/HelloInfo.tsx
Normal file
144
src/components/chat-view/HelloInfo.tsx
Normal file
@@ -0,0 +1,144 @@
|
||||
import { NotebookPen, Server, SquareSlash } from 'lucide-react';
|
||||
import React from 'react';
|
||||
|
||||
import { t } from '../../lang/helpers';
|
||||
|
||||
interface HelloInfoProps {
|
||||
onNavigate: (tab: 'commands' | 'custom-mode' | 'mcp') => void;
|
||||
}
|
||||
|
||||
const HelloInfo: React.FC<HelloInfoProps> = ({ onNavigate }) => {
|
||||
const navigationItems = [
|
||||
{
|
||||
label: t('chat.navigation.commands'),
|
||||
description: t('chat.navigation.commandsDesc'),
|
||||
icon: <SquareSlash size={20} />,
|
||||
action: () => onNavigate('commands'),
|
||||
},
|
||||
{
|
||||
label: t('chat.navigation.customMode'),
|
||||
description: t('chat.navigation.customModeDesc'),
|
||||
icon: <NotebookPen size={20} />,
|
||||
action: () => onNavigate('custom-mode'),
|
||||
},
|
||||
{
|
||||
label: t('chat.navigation.mcp'),
|
||||
description: t('chat.navigation.mcpDesc'),
|
||||
icon: <Server size={20} />,
|
||||
action: () => onNavigate('mcp'),
|
||||
}
|
||||
];
|
||||
|
||||
return (
|
||||
<div className="infio-hello-info">
|
||||
{/* <div className="infio-hello-title">
|
||||
<h3>{t('chat.welcome.title')}</h3>
|
||||
<p>{t('chat.welcome.subtitle')}</p>
|
||||
</div> */}
|
||||
<div className="infio-navigation-cards">
|
||||
{navigationItems.map((item, index) => (
|
||||
<a
|
||||
key={index}
|
||||
className="infio-navigation-card"
|
||||
onClick={item.action}
|
||||
>
|
||||
<div className="infio-navigation-icon">
|
||||
{item.icon}
|
||||
</div>
|
||||
<div className="infio-navigation-content">
|
||||
<div className="infio-navigation-label">{item.label}</div>
|
||||
<div className="infio-navigation-description">{item.description}</div>
|
||||
</div>
|
||||
</a>
|
||||
))}
|
||||
</div>
|
||||
<style>
|
||||
{`
|
||||
/*
|
||||
* Hello Info and Navigation
|
||||
*/
|
||||
.infio-hello-info {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
padding: var(--size-4-8) var(--size-4-4);
|
||||
gap: var(--size-4-6);
|
||||
text-align: center;
|
||||
margin: var(--size-4-4);
|
||||
}
|
||||
|
||||
.infio-hello-title h3 {
|
||||
font-size: 2rem;
|
||||
font-weight: 600;
|
||||
color: var(--text-normal);
|
||||
margin: 0 0 var(--size-4-3) 0;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.infio-hello-title p {
|
||||
font-size: var(--font-ui-medium);
|
||||
color: var(--text-muted);
|
||||
margin: 0;
|
||||
line-height: var(--line-height-normal);
|
||||
}
|
||||
|
||||
.infio-navigation-cards {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
width: 100%;
|
||||
max-width: 480px;
|
||||
}
|
||||
|
||||
.infio-navigation-card {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: var(--size-4-4);
|
||||
padding: var(--size-4-5) var(--size-4-6);
|
||||
cursor: pointer;
|
||||
text-align: left;
|
||||
width: 100%;
|
||||
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
|
||||
}
|
||||
|
||||
.infio-navigation-card:hover {
|
||||
background: var(--background-modifier-hover);
|
||||
border-color: var(--text-accent);
|
||||
}
|
||||
|
||||
.infio-navigation-icon {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
border-radius: var(--radius-m);
|
||||
color: var(--text-accent);
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.infio-navigation-content {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: var(--size-2-2);
|
||||
flex-grow: 1;
|
||||
}
|
||||
|
||||
.infio-navigation-label {
|
||||
font-size: var(--font-ui-large);
|
||||
font-weight: 600;
|
||||
color: var(--text-normal);
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.infio-navigation-description {
|
||||
font-size: var(--font-ui-small);
|
||||
color: var(--text-muted);
|
||||
margin: 0;
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
`}
|
||||
</style>
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
export default HelloInfo;
|
||||
Reference in New Issue
Block a user