@lobehub/chat 0.164.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/ISSUE_TEMPLATE/1_bug_report.yml +25 -20
- package/.github/ISSUE_TEMPLATE/1_bug_report_cn.yml +25 -20
- package/CHANGELOG.md +25 -0
- package/package.json +1 -1
- package/public/videos/feedback.mp4 +0 -0
- package/public/videos/star.mp4 +0 -0
- package/src/app/(main)/chat/settings/_layout/Desktop/index.tsx +5 -12
- package/src/app/(main)/chat/settings/_layout/Mobile/index.tsx +5 -1
- package/src/app/(main)/settings/_layout/Desktop/index.tsx +4 -21
- package/src/app/(main)/settings/_layout/Mobile/index.tsx +1 -1
- package/src/app/(main)/settings/about/features/Version.tsx +1 -2
- package/src/app/@modal/_layout/SettingModalLayout.tsx +1 -1
- package/src/const/url.ts +0 -3
- package/src/{app/(main)/settings/features → features/Setting}/Footer.tsx +3 -3
- package/src/features/Setting/SettingContainer.tsx +35 -0
|
@@ -3,15 +3,18 @@ description: 'Report an bug'
|
|
|
3
3
|
title: '[Bug] '
|
|
4
4
|
labels: ['🐛 Bug']
|
|
5
5
|
body:
|
|
6
|
-
- type:
|
|
6
|
+
- type: dropdown
|
|
7
7
|
attributes:
|
|
8
8
|
label: '📦 Environment'
|
|
9
|
+
multiple: true
|
|
9
10
|
options:
|
|
10
|
-
-
|
|
11
|
-
-
|
|
12
|
-
-
|
|
13
|
-
-
|
|
14
|
-
-
|
|
11
|
+
- 'Official Preview'
|
|
12
|
+
- 'Vercel'
|
|
13
|
+
- 'Zeabur'
|
|
14
|
+
- 'Sealos'
|
|
15
|
+
- 'Netlify'
|
|
16
|
+
- 'Docker'
|
|
17
|
+
- 'Other'
|
|
15
18
|
validations:
|
|
16
19
|
required: true
|
|
17
20
|
- type: input
|
|
@@ -20,28 +23,30 @@ body:
|
|
|
20
23
|
validations:
|
|
21
24
|
required: true
|
|
22
25
|
|
|
23
|
-
- type:
|
|
26
|
+
- type: dropdown
|
|
24
27
|
attributes:
|
|
25
28
|
label: '💻 Operating System'
|
|
29
|
+
multiple: true
|
|
26
30
|
options:
|
|
27
|
-
-
|
|
28
|
-
-
|
|
29
|
-
-
|
|
30
|
-
-
|
|
31
|
-
-
|
|
32
|
-
-
|
|
33
|
-
-
|
|
31
|
+
- 'Windows'
|
|
32
|
+
- 'macOS'
|
|
33
|
+
- 'Ubuntu'
|
|
34
|
+
- 'Other Linux'
|
|
35
|
+
- 'iOS'
|
|
36
|
+
- 'Android'
|
|
37
|
+
- 'Other'
|
|
34
38
|
validations:
|
|
35
39
|
required: true
|
|
36
|
-
- type:
|
|
40
|
+
- type: dropdown
|
|
37
41
|
attributes:
|
|
38
42
|
label: '🌐 Browser'
|
|
43
|
+
multiple: true
|
|
39
44
|
options:
|
|
40
|
-
-
|
|
41
|
-
-
|
|
42
|
-
-
|
|
43
|
-
-
|
|
44
|
-
-
|
|
45
|
+
- 'Chrome'
|
|
46
|
+
- 'Edge'
|
|
47
|
+
- 'Safari'
|
|
48
|
+
- 'Firefox'
|
|
49
|
+
- 'Other'
|
|
45
50
|
validations:
|
|
46
51
|
required: true
|
|
47
52
|
- type: textarea
|
|
@@ -3,15 +3,18 @@ description: '反馈一个问题缺陷'
|
|
|
3
3
|
title: '[Bug] '
|
|
4
4
|
labels: ['🐛 Bug']
|
|
5
5
|
body:
|
|
6
|
-
- type:
|
|
6
|
+
- type: dropdown
|
|
7
7
|
attributes:
|
|
8
8
|
label: '📦 部署环境'
|
|
9
|
+
multiple: true
|
|
9
10
|
options:
|
|
10
|
-
-
|
|
11
|
-
-
|
|
12
|
-
-
|
|
13
|
-
-
|
|
14
|
-
-
|
|
11
|
+
- 'Official Preview'
|
|
12
|
+
- 'Vercel'
|
|
13
|
+
- 'Zeabur'
|
|
14
|
+
- 'Sealos'
|
|
15
|
+
- 'Netlify'
|
|
16
|
+
- 'Docker'
|
|
17
|
+
- 'Other'
|
|
15
18
|
validations:
|
|
16
19
|
required: true
|
|
17
20
|
- type: input
|
|
@@ -20,28 +23,30 @@ body:
|
|
|
20
23
|
validations:
|
|
21
24
|
required: true
|
|
22
25
|
|
|
23
|
-
- type:
|
|
26
|
+
- type: dropdown
|
|
24
27
|
attributes:
|
|
25
28
|
label: '💻 系统环境'
|
|
29
|
+
multiple: true
|
|
26
30
|
options:
|
|
27
|
-
-
|
|
28
|
-
-
|
|
29
|
-
-
|
|
30
|
-
-
|
|
31
|
-
-
|
|
32
|
-
-
|
|
33
|
-
-
|
|
31
|
+
- 'Windows'
|
|
32
|
+
- 'macOS'
|
|
33
|
+
- 'Ubuntu'
|
|
34
|
+
- 'Other Linux'
|
|
35
|
+
- 'iOS'
|
|
36
|
+
- 'Android'
|
|
37
|
+
- 'Other'
|
|
34
38
|
validations:
|
|
35
39
|
required: true
|
|
36
|
-
- type:
|
|
40
|
+
- type: dropdown
|
|
37
41
|
attributes:
|
|
38
42
|
label: '🌐 浏览器'
|
|
43
|
+
multiple: true
|
|
39
44
|
options:
|
|
40
|
-
-
|
|
41
|
-
-
|
|
42
|
-
-
|
|
43
|
-
-
|
|
44
|
-
-
|
|
45
|
+
- 'Chrome'
|
|
46
|
+
- 'Edge'
|
|
47
|
+
- 'Safari'
|
|
48
|
+
- 'Firefox'
|
|
49
|
+
- 'Other'
|
|
45
50
|
validations:
|
|
46
51
|
required: true
|
|
47
52
|
- type: textarea
|
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,31 @@
|
|
|
2
2
|
|
|
3
3
|
# Changelog
|
|
4
4
|
|
|
5
|
+
### [Version 1.0.1](https://github.com/lobehub/lobe-chat/compare/v1.0.0...v1.0.1)
|
|
6
|
+
|
|
7
|
+
<sup>Released on **2024-06-17**</sup>
|
|
8
|
+
|
|
9
|
+
#### 💄 Styles
|
|
10
|
+
|
|
11
|
+
- **misc**: Remove r2 cdn url.
|
|
12
|
+
|
|
13
|
+
<br/>
|
|
14
|
+
|
|
15
|
+
<details>
|
|
16
|
+
<summary><kbd>Improvements and Fixes</kbd></summary>
|
|
17
|
+
|
|
18
|
+
#### Styles
|
|
19
|
+
|
|
20
|
+
- **misc**: Remove r2 cdn url, closes [#2878](https://github.com/lobehub/lobe-chat/issues/2878) ([19fd4d5](https://github.com/lobehub/lobe-chat/commit/19fd4d5))
|
|
21
|
+
|
|
22
|
+
</details>
|
|
23
|
+
|
|
24
|
+
<div align="right">
|
|
25
|
+
|
|
26
|
+
[](#readme-top)
|
|
27
|
+
|
|
28
|
+
</div>
|
|
29
|
+
|
|
5
30
|
## [Version 0.164.0](https://github.com/lobehub/lobe-chat/compare/v0.163.0...v0.164.0)
|
|
6
31
|
|
|
7
32
|
<sup>Released on **2024-06-17**</sup>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lobehub/chat",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "1.0.1",
|
|
4
4
|
"description": "Lobe Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"framework",
|
|
Binary file
|
|
Binary file
|
|
@@ -1,25 +1,18 @@
|
|
|
1
1
|
import { PropsWithChildren } from 'react';
|
|
2
|
-
import { Flexbox } from 'react-layout-kit';
|
|
3
2
|
|
|
4
3
|
import SafeSpacing from '@/components/SafeSpacing';
|
|
5
4
|
import { HEADER_HEIGHT } from '@/const/layoutTokens';
|
|
5
|
+
import Footer from '@/features/Setting/Footer';
|
|
6
|
+
import SettingContainer from '@/features/Setting/SettingContainer';
|
|
6
7
|
|
|
7
8
|
import Header from './Header';
|
|
8
9
|
|
|
9
10
|
const Layout = ({ children }: PropsWithChildren) => (
|
|
10
11
|
<>
|
|
11
12
|
<Header />
|
|
12
|
-
<
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
style={{ overflowX: 'hidden', overflowY: 'auto' }}
|
|
16
|
-
width={'100%'}
|
|
17
|
-
>
|
|
18
|
-
<SafeSpacing height={HEADER_HEIGHT - 16} />
|
|
19
|
-
<Flexbox gap={64} style={{ maxWidth: 1024, padding: '32px 24px' }} width={'100%'}>
|
|
20
|
-
{children}
|
|
21
|
-
</Flexbox>
|
|
22
|
-
</Flexbox>
|
|
13
|
+
<SettingContainer addonAfter={<Footer />} addonBefore={<SafeSpacing height={HEADER_HEIGHT} />}>
|
|
14
|
+
{children}
|
|
15
|
+
</SettingContainer>
|
|
23
16
|
</>
|
|
24
17
|
);
|
|
25
18
|
|
|
@@ -3,11 +3,15 @@
|
|
|
3
3
|
import { PropsWithChildren } from 'react';
|
|
4
4
|
|
|
5
5
|
import MobileContentLayout from '@/components/server/MobileNavLayout';
|
|
6
|
+
import Footer from '@/features/Setting/Footer';
|
|
6
7
|
|
|
7
8
|
import Header from './Header';
|
|
8
9
|
|
|
9
10
|
const Layout = ({ children }: PropsWithChildren) => (
|
|
10
|
-
<MobileContentLayout header={<Header />}>
|
|
11
|
+
<MobileContentLayout header={<Header />}>
|
|
12
|
+
{children}
|
|
13
|
+
<Footer />
|
|
14
|
+
</MobileContentLayout>
|
|
11
15
|
);
|
|
12
16
|
|
|
13
17
|
Layout.displayName = 'MobileSessionSettingsLayout';
|
|
@@ -6,7 +6,8 @@ import { memo, useRef } from 'react';
|
|
|
6
6
|
import { useTranslation } from 'react-i18next';
|
|
7
7
|
import { Flexbox } from 'react-layout-kit';
|
|
8
8
|
|
|
9
|
-
import
|
|
9
|
+
import SettingContainer from '@/features/Setting//SettingContainer';
|
|
10
|
+
import Footer from '@/features/Setting/Footer';
|
|
10
11
|
import { useActiveSettingsKey } from '@/hooks/useActiveSettingsKey';
|
|
11
12
|
import { SettingsTabs } from '@/store/global/initialState';
|
|
12
13
|
|
|
@@ -16,7 +17,7 @@ import SideBar from './SideBar';
|
|
|
16
17
|
|
|
17
18
|
const Layout = memo<LayoutProps>(({ children, category }) => {
|
|
18
19
|
const ref = useRef<any>(null);
|
|
19
|
-
const { md = true
|
|
20
|
+
const { md = true } = useResponsive();
|
|
20
21
|
const { t } = useTranslation('setting');
|
|
21
22
|
const activeKey = useActiveSettingsKey();
|
|
22
23
|
|
|
@@ -43,25 +44,7 @@ const Layout = memo<LayoutProps>(({ children, category }) => {
|
|
|
43
44
|
{category}
|
|
44
45
|
</Header>
|
|
45
46
|
)}
|
|
46
|
-
<
|
|
47
|
-
align={'center'}
|
|
48
|
-
height={'100%'}
|
|
49
|
-
paddingBlock={mobile ? undefined : 32}
|
|
50
|
-
style={{ overflowX: 'hidden', overflowY: 'auto' }}
|
|
51
|
-
width={'100%'}
|
|
52
|
-
>
|
|
53
|
-
<Flexbox
|
|
54
|
-
gap={64}
|
|
55
|
-
paddingInline={mobile ? undefined : 24}
|
|
56
|
-
style={{
|
|
57
|
-
maxWidth: 1024,
|
|
58
|
-
}}
|
|
59
|
-
width={'100%'}
|
|
60
|
-
>
|
|
61
|
-
{children}
|
|
62
|
-
</Flexbox>
|
|
63
|
-
<Footer />
|
|
64
|
-
</Flexbox>
|
|
47
|
+
<SettingContainer addonAfter={<Footer />}>{children}</SettingContainer>
|
|
65
48
|
</Flexbox>
|
|
66
49
|
);
|
|
67
50
|
});
|
|
@@ -27,10 +27,9 @@ const Version = memo<{ mobile?: boolean }>(({ mobile }) => {
|
|
|
27
27
|
<Flexbox
|
|
28
28
|
align={'center'}
|
|
29
29
|
gap={16}
|
|
30
|
-
horizontal
|
|
30
|
+
horizontal={!mobile}
|
|
31
31
|
justify={'space-between'}
|
|
32
32
|
width={'100%'}
|
|
33
|
-
wrap={'wrap'}
|
|
34
33
|
>
|
|
35
34
|
<Flexbox align={'center'} flex={'none'} gap={16} horizontal>
|
|
36
35
|
<Link href={OFFICIAL_SITE} target={'_blank'}>
|
|
@@ -6,7 +6,7 @@ import { Flexbox } from 'react-layout-kit';
|
|
|
6
6
|
|
|
7
7
|
import Header from '@/app/(main)/settings/_layout/Desktop/Header';
|
|
8
8
|
import SideBar from '@/app/(main)/settings/_layout/Desktop/SideBar';
|
|
9
|
-
import Footer from '@/
|
|
9
|
+
import Footer from '@/features/Setting/Footer';
|
|
10
10
|
|
|
11
11
|
interface SettingLayoutProps {
|
|
12
12
|
activeTitle?: ReactNode;
|
package/src/const/url.ts
CHANGED
|
@@ -56,7 +56,4 @@ export const MEDIDUM = 'https://medium.com/@lobehub';
|
|
|
56
56
|
export const X = 'https://x.com/lobehub';
|
|
57
57
|
export const RELEASES_URL = urlJoin(GITHUB, 'releases');
|
|
58
58
|
|
|
59
|
-
export const R2_CDN_URL = 'https://hub-apac-1.lobeobjects.space/';
|
|
60
|
-
|
|
61
|
-
export const getR2Url = (filename: string) => urlJoin(R2_CDN_URL, filename);
|
|
62
59
|
export const mailTo = (email: string) => `mailto:${email}`;
|
|
@@ -10,7 +10,7 @@ import { Center, Flexbox } from 'react-layout-kit';
|
|
|
10
10
|
|
|
11
11
|
import GuideModal from '@/components/GuideModal';
|
|
12
12
|
import GuideVideo from '@/components/GuideVideo';
|
|
13
|
-
import { GITHUB, GITHUB_ISSUES
|
|
13
|
+
import { GITHUB, GITHUB_ISSUES } from '@/const/url';
|
|
14
14
|
import { isOnServerSide } from '@/utils/env';
|
|
15
15
|
|
|
16
16
|
const useStyles = createStyles(
|
|
@@ -65,7 +65,7 @@ const Footer = memo<PropsWithChildren>(() => {
|
|
|
65
65
|
</Flexbox>
|
|
66
66
|
<GuideModal
|
|
67
67
|
cancelText={t('footer.later')}
|
|
68
|
-
cover={<GuideVideo height={269} src={
|
|
68
|
+
cover={<GuideVideo height={269} src={'/videos/star.mp4'} width={358} />}
|
|
69
69
|
desc={t('footer.star.desc')}
|
|
70
70
|
okText={t('footer.star.action')}
|
|
71
71
|
onCancel={() => setOpenStar(false)}
|
|
@@ -78,7 +78,7 @@ const Footer = memo<PropsWithChildren>(() => {
|
|
|
78
78
|
/>
|
|
79
79
|
<GuideModal
|
|
80
80
|
cancelText={t('footer.later')}
|
|
81
|
-
cover={<GuideVideo height={269} src={
|
|
81
|
+
cover={<GuideVideo height={269} src={'/videos/feedback.mp4'} width={358} />}
|
|
82
82
|
desc={t('footer.feedback.desc')}
|
|
83
83
|
okText={t('footer.feedback.action')}
|
|
84
84
|
onCancel={() => setOpenFeedback(false)}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import { useResponsive } from 'antd-style';
|
|
4
|
+
import { PropsWithChildren, ReactNode, memo } from 'react';
|
|
5
|
+
import { Flexbox } from 'react-layout-kit';
|
|
6
|
+
|
|
7
|
+
const SettingContainer = memo<
|
|
8
|
+
PropsWithChildren<{ addonAfter?: ReactNode; addonBefore?: ReactNode }>
|
|
9
|
+
>(({ children, addonAfter, addonBefore }) => {
|
|
10
|
+
const { mobile = false } = useResponsive();
|
|
11
|
+
return (
|
|
12
|
+
<Flexbox
|
|
13
|
+
align={'center'}
|
|
14
|
+
height={'100%'}
|
|
15
|
+
paddingBlock={mobile ? undefined : 32}
|
|
16
|
+
style={{ overflowX: 'hidden', overflowY: 'auto' }}
|
|
17
|
+
width={'100%'}
|
|
18
|
+
>
|
|
19
|
+
{addonBefore}
|
|
20
|
+
<Flexbox
|
|
21
|
+
gap={64}
|
|
22
|
+
paddingInline={mobile ? undefined : 24}
|
|
23
|
+
style={{
|
|
24
|
+
maxWidth: 1024,
|
|
25
|
+
}}
|
|
26
|
+
width={'100%'}
|
|
27
|
+
>
|
|
28
|
+
{children}
|
|
29
|
+
</Flexbox>
|
|
30
|
+
{addonAfter}
|
|
31
|
+
</Flexbox>
|
|
32
|
+
);
|
|
33
|
+
});
|
|
34
|
+
|
|
35
|
+
export default SettingContainer;
|