Compare commits

...

3 Commits

Author SHA1 Message Date
hongbozhou 0ae4af6dc7 Merge remote-tracking branch 'origin/main' 2 months ago
hongbozhou 1366deb3be 加载页面修改 2 months ago
hongbozhou 3ecb9d943e 加载页面修改 2 months ago

@ -58,6 +58,7 @@
"addAi": "添加一条 AI 消息",
"addUser": "添加一条用户消息",
"more": "更多",
"clear": "清空内容",
"send": "发送",
"sendWithCmdEnter": "按 {{meta}} + Enter 键发送",
"sendWithEnter": "按 Enter 键发送",

@ -21,6 +21,7 @@
"back": "返回发现",
"category": {
"assistant": {
"collect": "收藏",
"academic": "学术",
"all": "全部",
"career": "职业",
@ -39,6 +40,7 @@
},
"plugin": {
"all": "全部",
"collect": "收藏",
"gaming-entertainment": "游戏娱乐",
"life-style": "生活方式",
"media-generate": "媒体生成",

@ -2,7 +2,7 @@
import { createStyles, useTheme } from 'antd-style';
import dynamic from 'next/dynamic';
import { PropsWithChildren, memo } from 'react';
import { PropsWithChildren, memo, useEffect, useRef } from 'react';
import { Flexbox } from 'react-layout-kit';
import { BANNER_HEIGHT } from '@/features/AlertBanner/CloudBanner';
@ -12,7 +12,7 @@ import { Divider } from "antd";
import Avatar from './SideBar/Avatar';
import SideBar from './SideBar';
import { useUserStore } from '@/store/user';
const title:{[key: string]: string } = {
"/chat": '会话',
@ -70,6 +70,13 @@ const useStyles = createStyles(({ css }) => ({
`,
}))
const getCookie=(name)=> {
let matches = document.cookie.match(new RegExp(
"(?:^|; )" + name.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, '\\$1') + "=([^;]*)"
));
return matches ? decodeURIComponent(matches[1]) : undefined;
}
const CloudBanner = dynamic(() => import('@/features/AlertBanner/CloudBanner'));
const Layout = memo<PropsWithChildren>(({ children }) => {
@ -77,8 +84,15 @@ const Layout = memo<PropsWithChildren>(({ children }) => {
const theme = useTheme();
const { styles, cx } = useStyles()
const { showCloudPromotion } = useServerConfigStore(featureFlagsSelectors);
const pathName = window?.location?.pathname ?? '/welcome'
// const pathName = window?.location?.pathname ?? '/welcome'
// const pathName = '/welcome'
const [openSignIn] = useUserStore((s) => [s.openLogin]);
useEffect(() => {
const cookieValue = getCookie('organizationLogo');
if(!cookieValue) {
openSignIn();
}
}, []);
return (
<>

@ -234,7 +234,7 @@ const ApplicationSet = memo<PropsWithChildren>(( ) => {
<>
<div className={cx(styles.topBtn)}>
<Button className={cx(styles.btn, val==='AI'&&styles.selectBtn)} onClick={() => handleClick("AI")}>AI</Button>
<Button className={cx(styles.btn, val==='tj'&&styles.selectBtn)} onClick={() => handleClick("tj")}></Button>
{/*<Button className={cx(styles.btn, val==='tj'&&styles.selectBtn)} onClick={() => handleClick("tj")}>推荐工具</Button> */}
</div>
<div style={{ display: 'flex', overflowY: 'scroll' }}>
{val === 'AI' ?

@ -28,8 +28,8 @@ const SettingButton = memo<{ mobile?: boolean }>(({ mobile }) => {
{/* size={mobile ? MOBILE_HEADER_ICON_SIZE : DESKTOP_HEADER_ICON_SIZE}*/}
{/* title={t('header.session', { ns: 'setting' })}*/}
{/*/>*/}
{/*<AgentSettings key={id} />*/}
<Button onClick={() => openChatSettings()} shape="round" style={{borderColor: '#2E62FF', color: "#2E62FF", fontSize: '13px',height: '30px' }}></Button>
<AgentSettings key={id} />
</>
);
});

@ -6,7 +6,7 @@ import { isRtlLang } from 'rtl-detect';
import Analytics from '@/components/Analytics';
import { DEFAULT_LANG } from '@/const/locale';
import PWAInstall from '@/features/PWAInstall';
// import PWAInstall from '@/features/PWAInstall';
import AuthProvider from '@/layout/AuthProvider';
import GlobalProvider from '@/layout/GlobalProvider';
import { Locales } from '@/locales/resources';
@ -42,7 +42,7 @@ const RootLayout = async ({ children, params, modal }: RootLayoutProps) => {
{children}
{!isMobile && modal}
</AuthProvider>
<PWAInstall />
{/*<PWAInstall />*/}
</GlobalProvider>
<Analytics />
{inVercel && <SpeedInsights />}

@ -90,7 +90,7 @@ const CustomLogo = memo<LobeChatProps>(({ extra, size = 32, className, style, ty
case 'combine': {
logoComponent = (
<>
<CustomImageLogo size={size} />
{/*<CustomImageLogo size={size} />*/}
<CustomTextLogo size={size} style={{ marginLeft: Math.round(size / 4) }} />
</>
);

@ -29,11 +29,11 @@ const InitProgress = memo<InitingProps>(({ activeStage, stages }) => {
<Progress
percent={parseInt(percent.toFixed(0))}
showInfo={false}
strokeColor={theme.colorPrimary}
strokeColor={'#fff'}
/>
<Flexbox align={'center'} gap={4} horizontal>
{stage?.icon ? stage?.icon : <Icon icon={Loader2} spin />}
<Typography.Text type={'secondary'}>{stage?.text}</Typography.Text>
<Typography.Text type={'secondary'} style={{color:'#fff'}}>{stage?.text}</Typography.Text>
</Flexbox>
</Center>
);

Binary file not shown.

After

Width:  |  Height:  |  Size: 342 KiB

@ -0,0 +1,5 @@
.bg {
background: url('./bg1.jpg') no-repeat center center;
background-size: 100% 100%;
position: relative;
}

@ -3,6 +3,7 @@ import { Center, Flexbox } from 'react-layout-kit';
import { ProductLogo } from '@/components/Branding';
import InitProgress, { StageItem } from '@/components/InitProgress';
import './index.css';
interface FullscreenLoadingProps {
activeStage: number;
@ -12,8 +13,8 @@ interface FullscreenLoadingProps {
const FullscreenLoading = memo<FullscreenLoadingProps>(({ activeStage, stages, contentRender }) => {
return (
<Flexbox height={'100%'} style={{ position: 'relative', userSelect: 'none' }} width={'100%'}>
<Center flex={1} gap={16} width={'100%'}>
<Flexbox className="bg" height={'100%'} style={{ position: 'relative', userSelect: 'none' }} width={'100%'}>
<Center flex={1} gap={16} width={'100%'} style={{ color: '#ffffff', fontSize: 15, lineHeight: 1.5, opacity: 0.66 }}>
<ProductLogo size={48} type={'combine'} />
{contentRender ? contentRender : <InitProgress activeStage={activeStage} stages={stages} />}
</Center>

@ -4,7 +4,7 @@
export const LOBE_CHAT_CLOUD = 'LobeChat Cloud';
export const BRANDING_NAME = 'LobeChat';
export const BRANDING_NAME = '智能体平台';
export const BRANDING_LOGO_URL = '';
export const ORG_NAME = 'LobeHub';

Loading…
Cancel
Save