Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
D
dify
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
ai-tech
dify
Commits
61e816f2
Unverified
Commit
61e816f2
authored
Oct 16, 2023
by
zxhlyh
Committed by
GitHub
Oct 16, 2023
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: logo (#1356)
parent
2feb16d9
Changes
34
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
34 changed files
with
101 additions
and
160 deletions
+101
-160
index.tsx
web/app/components/app/chat/answer/index.tsx
+13
-9
index.tsx
web/app/components/app/chat/index.tsx
+4
-4
logo-embeded-chat-avatar.tsx
web/app/components/base/logo/logo-embeded-chat-avatar.tsx
+18
-0
logo-embeded-chat-header.tsx
web/app/components/base/logo/logo-embeded-chat-header.tsx
+18
-0
logo-site.tsx
web/app/components/base/logo/logo-site.tsx
+18
-0
index.module.css
web/app/components/header/account-about/index.module.css
+0
-13
index.tsx
web/app/components/header/account-about/index.tsx
+3
-7
index.tsx
web/app/components/header/account-dropdown/index.tsx
+13
-9
index.module.css
...ents/header/account-setting/members-page/index.module.css
+0
-9
index.tsx
.../components/header/account-setting/members-page/index.tsx
+0
-3
logo-icon.png
web/app/components/header/assets/logo-icon.png
+0
-0
logo-text.svg
web/app/components/header/assets/logo-text.svg
+0
-6
logo.png
web/app/components/header/assets/logo.png
+0
-0
index.module.css
web/app/components/header/index.module.css
+0
-7
index.tsx
web/app/components/header/index.tsx
+2
-3
logo.png
web/app/components/share/chat/welcome/icons/logo.png
+0
-0
massive-component.tsx
web/app/components/share/chat/welcome/massive-component.tsx
+2
-1
style.module.css
web/app/components/share/chat/welcome/style.module.css
+0
-7
dify-header.svg
web/app/components/share/chatbot/icons/dify-header.svg
+0
-22
dify.svg
web/app/components/share/chatbot/icons/dify.svg
+0
-11
index.tsx
web/app/components/share/chatbot/index.tsx
+4
-2
style.module.css
web/app/components/share/chatbot/style.module.css
+0
-11
logo.png
web/app/components/share/chatbot/welcome/icons/logo.png
+0
-0
massive-component.tsx
...pp/components/share/chatbot/welcome/massive-component.tsx
+2
-1
style.module.css
web/app/components/share/chatbot/welcome/style.module.css
+0
-7
layout.tsx
web/app/layout.tsx
+1
-0
_header.tsx
web/app/signin/_header.tsx
+2
-2
logo-icon.svg
web/app/signin/assets/logo-icon.svg
+0
-5
logo-text.svg
web/app/signin/assets/logo-text.svg
+0
-14
page.module.css
web/app/signin/page.module.css
+0
-7
entrypoint.sh
web/docker/entrypoint.sh
+1
-0
logo-embeded-chat-avatar.png
web/public/logo/logo-embeded-chat-avatar.png
+0
-0
logo-embeded-chat-header.png
web/public/logo/logo-embeded-chat-header.png
+0
-0
logo-site.png
web/public/logo/logo-site.png
+0
-0
No files found.
web/app/components/app/chat/answer/index.tsx
View file @
61e816f2
'use client'
'use client'
import
type
{
FC
}
from
'react'
import
type
{
FC
,
ReactNode
}
from
'react'
import
React
,
{
useState
}
from
'react'
import
React
,
{
useState
}
from
'react'
import
{
useTranslation
}
from
'react-i18next'
import
{
useTranslation
}
from
'react-i18next'
import
{
useContext
}
from
'use-context-selector'
import
{
useContext
}
from
'use-context-selector'
...
@@ -44,7 +44,7 @@ export type IAnswerProps = {
...
@@ -44,7 +44,7 @@ export type IAnswerProps = {
onSubmitAnnotation
?:
SubmitAnnotationFunc
onSubmitAnnotation
?:
SubmitAnnotationFunc
displayScene
:
DisplayScene
displayScene
:
DisplayScene
isResponsing
?:
boolean
isResponsing
?:
boolean
answerIcon
ClassName
?:
string
answerIcon
?:
ReactNode
thoughts
?:
ThoughtItem
[]
thoughts
?:
ThoughtItem
[]
citation
?:
CitationItem
[]
citation
?:
CitationItem
[]
isThinking
?:
boolean
isThinking
?:
boolean
...
@@ -53,7 +53,7 @@ export type IAnswerProps = {
...
@@ -53,7 +53,7 @@ export type IAnswerProps = {
isShowCitationHitInfo
?:
boolean
isShowCitationHitInfo
?:
boolean
}
}
// The component needs to maintain its own state to control whether to display input component
// The component needs to maintain its own state to control whether to display input component
const
Answer
:
FC
<
IAnswerProps
>
=
({
item
,
feedbackDisabled
=
false
,
isHideFeedbackEdit
=
false
,
onFeedback
,
onSubmitAnnotation
,
displayScene
=
'web'
,
isResponsing
,
answerIcon
ClassName
,
thoughts
,
citation
,
isThinking
,
dataSets
,
isShowCitation
,
isShowCitationHitInfo
=
false
})
=>
{
const
Answer
:
FC
<
IAnswerProps
>
=
({
item
,
feedbackDisabled
=
false
,
isHideFeedbackEdit
=
false
,
onFeedback
,
onSubmitAnnotation
,
displayScene
=
'web'
,
isResponsing
,
answerIcon
,
thoughts
,
citation
,
isThinking
,
dataSets
,
isShowCitation
,
isShowCitationHitInfo
=
false
})
=>
{
const
{
id
,
content
,
more
,
feedback
,
adminFeedback
,
annotation
:
initAnnotation
}
=
item
const
{
id
,
content
,
more
,
feedback
,
adminFeedback
,
annotation
:
initAnnotation
}
=
item
const
[
showEdit
,
setShowEdit
]
=
useState
(
false
)
const
[
showEdit
,
setShowEdit
]
=
useState
(
false
)
const
[
loading
,
setLoading
]
=
useState
(
false
)
const
[
loading
,
setLoading
]
=
useState
(
false
)
...
@@ -168,13 +168,17 @@ const Answer: FC<IAnswerProps> = ({ item, feedbackDisabled = false, isHideFeedba
...
@@ -168,13 +168,17 @@ const Answer: FC<IAnswerProps> = ({ item, feedbackDisabled = false, isHideFeedba
return
(
return
(
<
div
key=
{
id
}
>
<
div
key=
{
id
}
>
<
div
className=
'flex items-start'
>
<
div
className=
'flex items-start'
>
<
div
className=
{
`${s.answerIcon} ${answerIconClassName} w-10 h-10 shrink-0`
}
>
{
{
isResponsing
answerIcon
||
(
&&
<
div
className=
{
s
.
typeingIcon
}
>
<
div
className=
{
`${s.answerIcon} w-10 h-10 shrink-0`
}
>
<
LoadingAnim
type=
'avatar'
/>
{
isResponsing
&&
<
div
className=
{
s
.
typeingIcon
}
>
<
LoadingAnim
type=
'avatar'
/>
</
div
>
}
</
div
>
</
div
>
}
)
</
div
>
}
<
div
className=
{
cn
(
s
.
answerWrapWrap
,
'chat-answer-container'
)
}
>
<
div
className=
{
cn
(
s
.
answerWrapWrap
,
'chat-answer-container'
)
}
>
<
div
className=
{
`${s.answerWrap} ${showEdit ? 'w-full' : ''}`
}
>
<
div
className=
{
`${s.answerWrap} ${showEdit ? 'w-full' : ''}`
}
>
<
div
className=
{
`${s.answer} relative text-sm text-gray-900`
}
>
<
div
className=
{
`${s.answer} relative text-sm text-gray-900`
}
>
...
...
web/app/components/app/chat/index.tsx
View file @
61e816f2
'use client'
'use client'
import
type
{
FC
}
from
'react'
import
type
{
FC
,
ReactNode
}
from
'react'
import
React
,
{
useEffect
,
useLayoutEffect
,
useRef
,
useState
}
from
'react'
import
React
,
{
useEffect
,
useLayoutEffect
,
useRef
,
useState
}
from
'react'
import
{
useContext
}
from
'use-context-selector'
import
{
useContext
}
from
'use-context-selector'
import
cn
from
'classnames'
import
cn
from
'classnames'
...
@@ -49,7 +49,7 @@ export type IChatProps = {
...
@@ -49,7 +49,7 @@ export type IChatProps = {
suggestionList
?:
string
[]
suggestionList
?:
string
[]
isShowSpeechToText
?:
boolean
isShowSpeechToText
?:
boolean
isShowCitation
?:
boolean
isShowCitation
?:
boolean
answerIcon
ClassName
?:
string
answerIcon
?:
ReactNode
isShowConfigElem
?:
boolean
isShowConfigElem
?:
boolean
dataSets
?:
DataSet
[]
dataSets
?:
DataSet
[]
isShowCitationHitInfo
?:
boolean
isShowCitationHitInfo
?:
boolean
...
@@ -78,7 +78,7 @@ const Chat: FC<IChatProps> = ({
...
@@ -78,7 +78,7 @@ const Chat: FC<IChatProps> = ({
suggestionList
,
suggestionList
,
isShowSpeechToText
,
isShowSpeechToText
,
isShowCitation
,
isShowCitation
,
answerIcon
ClassName
,
answerIcon
,
isShowConfigElem
,
isShowConfigElem
,
dataSets
,
dataSets
,
isShowCitationHitInfo
,
isShowCitationHitInfo
,
...
@@ -179,7 +179,7 @@ const Chat: FC<IChatProps> = ({
...
@@ -179,7 +179,7 @@ const Chat: FC<IChatProps> = ({
onSubmitAnnotation=
{
onSubmitAnnotation
}
onSubmitAnnotation=
{
onSubmitAnnotation
}
displayScene=
{
displayScene
??
'web'
}
displayScene=
{
displayScene
??
'web'
}
isResponsing=
{
isResponsing
&&
isLast
}
isResponsing=
{
isResponsing
&&
isLast
}
answerIcon
ClassName=
{
answerIconClassName
}
answerIcon
=
{
answerIcon
}
thoughts=
{
thoughts
}
thoughts=
{
thoughts
}
citation=
{
citation
}
citation=
{
citation
}
isThinking=
{
isThinking
}
isThinking=
{
isThinking
}
...
...
web/app/components/base/logo/logo-embeded-chat-avatar.tsx
0 → 100644
View file @
61e816f2
import
type
{
FC
}
from
'react'
type
LogoEmbededChatAvatarProps
=
{
className
?:
string
}
const
LogoEmbededChatAvatar
:
FC
<
LogoEmbededChatAvatarProps
>
=
({
className
,
})
=>
{
return
(
<
img
src=
'/logo/logo-embeded-chat-avatar.png'
className=
{
`block w-10 h-10 ${className}`
}
alt=
'logo'
/>
)
}
export
default
LogoEmbededChatAvatar
web/app/components/base/logo/logo-embeded-chat-header.tsx
0 → 100644
View file @
61e816f2
import
type
{
FC
}
from
'react'
type
LogoEmbededChatHeaderProps
=
{
className
?:
string
}
const
LogoEmbededChatHeader
:
FC
<
LogoEmbededChatHeaderProps
>
=
({
className
,
})
=>
{
return
(
<
img
src=
'/logo/logo-embeded-chat-header.png'
className=
{
`block w-auto h-6 ${className}`
}
alt=
'logo'
/>
)
}
export
default
LogoEmbededChatHeader
web/app/components/base/logo/logo-site.tsx
0 → 100644
View file @
61e816f2
import
type
{
FC
}
from
'react'
type
LogoSiteProps
=
{
className
?:
string
}
const
LogoSite
:
FC
<
LogoSiteProps
>
=
({
className
,
})
=>
{
return
(
<
img
src=
'/logo/logo-site.png'
className=
{
`block w-auto h-10 ${className}`
}
alt=
'logo'
/>
)
}
export
default
LogoSite
web/app/components/header/account-about/index.module.css
View file @
61e816f2
.logo-icon
{
background
:
url(../assets/logo-icon.png)
center
center
no-repeat
;
background-size
:
32px
;
box-shadow
:
0px
2px
4px
-2px
rgba
(
0
,
0
,
0
,
0.05
),
0px
4px
6px
-1px
rgba
(
0
,
0
,
0
,
0.05
);
}
.logo-text
{
width
:
74.09px
;
height
:
15.32px
;
background
:
url(../assets/logo-text.svg)
center
center
no-repeat
;
background-size
:
contain
;
}
.modal
{
.modal
{
max-width
:
480px
!important
;
max-width
:
480px
!important
;
width
:
480px
!important
;
width
:
480px
!important
;
...
...
web/app/components/header/account-about/index.tsx
View file @
61e816f2
...
@@ -6,10 +6,10 @@ import { useContext } from 'use-context-selector'
...
@@ -6,10 +6,10 @@ import { useContext } from 'use-context-selector'
import
s
from
'./index.module.css'
import
s
from
'./index.module.css'
import
Modal
from
'@/app/components/base/modal'
import
Modal
from
'@/app/components/base/modal'
import
{
XClose
}
from
'@/app/components/base/icons/src/vender/line/general'
import
{
XClose
}
from
'@/app/components/base/icons/src/vender/line/general'
import
{
Dify
}
from
'@/app/components/base/icons/src/public/common'
import
type
{
LangGeniusVersionResponse
}
from
'@/models/common'
import
type
{
LangGeniusVersionResponse
}
from
'@/models/common'
import
{
IS_CE_EDITION
}
from
'@/config'
import
{
IS_CE_EDITION
}
from
'@/config'
import
I18n
from
'@/context/i18n'
import
I18n
from
'@/context/i18n'
import
LogoSite
from
'@/app/components/base/logo/logo-site'
type
IAccountSettingProps
=
{
type
IAccountSettingProps
=
{
langeniusVersionInfo
:
LangGeniusVersionResponse
langeniusVersionInfo
:
LangGeniusVersionResponse
...
@@ -33,16 +33,12 @@ export default function AccountAbout({
...
@@ -33,16 +33,12 @@ export default function AccountAbout({
onClose=
{
()
=>
{
}
}
onClose=
{
()
=>
{
}
}
className=
{
s
.
modal
}
className=
{
s
.
modal
}
>
>
<
div
className=
'relative'
>
<
div
className=
'relative
pt-4
'
>
<
div
className=
'absolute -top-2 -right-4 flex justify-center items-center w-8 h-8 cursor-pointer'
onClick=
{
onCancel
}
>
<
div
className=
'absolute -top-2 -right-4 flex justify-center items-center w-8 h-8 cursor-pointer'
onClick=
{
onCancel
}
>
<
XClose
className=
'w-4 h-4 text-gray-500'
/>
<
XClose
className=
'w-4 h-4 text-gray-500'
/>
</
div
>
</
div
>
<
div
>
<
div
>
<
div
className=
{
classNames
(
<
LogoSite
className=
'mx-auto mb-2'
/>
s
[
'logo-icon'
],
'mx-auto mb-3 w-12 h-12 bg-white rounded-xl border-[0.5px] border-gray-200'
,
)
}
/>
<
Dify
className=
'mx-auto mb-2'
/>
<
div
className=
'mb-3 text-center text-xs font-normal text-gray-500'
>
Version
{
langeniusVersionInfo
?.
current_version
}
</
div
>
<
div
className=
'mb-3 text-center text-xs font-normal text-gray-500'
>
Version
{
langeniusVersionInfo
?.
current_version
}
</
div
>
<
div
className=
'mb-4 text-center text-xs font-normal text-gray-700'
>
<
div
className=
'mb-4 text-center text-xs font-normal text-gray-700'
>
<
div
>
© 2023 LangGenius, Inc., Contributors.
</
div
>
<
div
>
© 2023 LangGenius, Inc., Contributors.
</
div
>
...
...
web/app/components/header/account-dropdown/index.tsx
View file @
61e816f2
...
@@ -104,15 +104,19 @@ export default function AppSelector() {
...
@@ -104,15 +104,19 @@ export default function AppSelector() {
<
ArrowUpRight
className=
'hidden w-[14px] h-[14px] text-gray-500 group-hover:flex'
/>
<
ArrowUpRight
className=
'hidden w-[14px] h-[14px] text-gray-500 group-hover:flex'
/>
</
Link
>
</
Link
>
</
Menu
.
Item
>
</
Menu
.
Item
>
<
Menu
.
Item
>
{
<
div
className=
{
classNames
(
itemClassName
,
'justify-between'
)
}
onClick=
{
()
=>
setAboutVisible
(
true
)
}
>
document
?.
body
?.
getAttribute
(
'data-public-site-about'
)
!==
'hide'
&&
(
<
div
>
{
t
(
'common.userProfile.about'
)
}
</
div
>
<
Menu
.
Item
>
<
div
className=
'flex items-center'
>
<
div
className=
{
classNames
(
itemClassName
,
'justify-between'
)
}
onClick=
{
()
=>
setAboutVisible
(
true
)
}
>
<
div
className=
'mr-2 text-xs font-normal text-gray-500'
>
{
langeniusVersionInfo
.
current_version
}
</
div
>
<
div
>
{
t
(
'common.userProfile.about'
)
}
</
div
>
<
Indicator
color=
{
langeniusVersionInfo
.
current_version
===
langeniusVersionInfo
.
latest_version
?
'green'
:
'orange'
}
/>
<
div
className=
'flex items-center'
>
</
div
>
<
div
className=
'mr-2 text-xs font-normal text-gray-500'
>
{
langeniusVersionInfo
.
current_version
}
</
div
>
</
div
>
<
Indicator
color=
{
langeniusVersionInfo
.
current_version
===
langeniusVersionInfo
.
latest_version
?
'green'
:
'orange'
}
/>
</
Menu
.
Item
>
</
div
>
</
div
>
</
Menu
.
Item
>
)
}
</
div
>
</
div
>
<
Menu
.
Item
>
<
Menu
.
Item
>
<
div
className=
'p-1'
onClick=
{
()
=>
handleLogout
()
}
>
<
div
className=
'p-1'
onClick=
{
()
=>
handleLogout
()
}
>
...
...
web/app/components/header/account-setting/members-page/index.module.css
deleted
100644 → 0
View file @
2feb16d9
.logo-icon
{
width
:
40px
;
height
:
40px
;
background
:
#ffffff
url(../../assets/logo-icon.png)
center
center
no-repeat
;
background-size
:
contain
;
box-shadow
:
0px
1px
2px
rgba
(
16
,
24
,
40
,
0.05
);
border-radius
:
8px
;
border
:
0.5px
solid
rgba
(
0
,
0
,
0
,
0.05
);
}
\ No newline at end of file
web/app/components/header/account-setting/members-page/index.tsx
View file @
61e816f2
'use client'
'use client'
import
{
useState
}
from
'react'
import
{
useState
}
from
'react'
import
cn
from
'classnames'
import
useSWR
from
'swr'
import
useSWR
from
'swr'
import
dayjs
from
'dayjs'
import
dayjs
from
'dayjs'
import
'dayjs/locale/zh-cn'
import
'dayjs/locale/zh-cn'
...
@@ -8,7 +7,6 @@ import relativeTime from 'dayjs/plugin/relativeTime'
...
@@ -8,7 +7,6 @@ import relativeTime from 'dayjs/plugin/relativeTime'
import
{
useContext
}
from
'use-context-selector'
import
{
useContext
}
from
'use-context-selector'
import
{
UserPlusIcon
}
from
'@heroicons/react/24/outline'
import
{
UserPlusIcon
}
from
'@heroicons/react/24/outline'
import
{
useTranslation
}
from
'react-i18next'
import
{
useTranslation
}
from
'react-i18next'
import
s
from
'./index.module.css'
import
InviteModal
from
'./invite-modal'
import
InviteModal
from
'./invite-modal'
import
InvitedModal
from
'./invited-modal'
import
InvitedModal
from
'./invited-modal'
import
Operation
from
'./operation'
import
Operation
from
'./operation'
...
@@ -40,7 +38,6 @@ const MembersPage = () => {
...
@@ -40,7 +38,6 @@ const MembersPage = () => {
<>
<>
<
div
>
<
div
>
<
div
className=
'flex items-center mb-4 p-3 bg-gray-50 rounded-2xl'
>
<
div
className=
'flex items-center mb-4 p-3 bg-gray-50 rounded-2xl'
>
<
div
className=
{
cn
(
s
[
'logo-icon'
],
'shrink-0'
)
}
></
div
>
<
div
className=
'grow mx-2'
>
<
div
className=
'grow mx-2'
>
<
div
className=
'text-sm font-medium text-gray-900'
>
{
currentWorkspace
?.
name
}
</
div
>
<
div
className=
'text-sm font-medium text-gray-900'
>
{
currentWorkspace
?.
name
}
</
div
>
<
div
className=
'text-xs text-gray-500'
>
{
t
(
'common.userProfile.workspace'
)
}
</
div
>
<
div
className=
'text-xs text-gray-500'
>
{
t
(
'common.userProfile.workspace'
)
}
</
div
>
...
...
web/app/components/header/assets/logo-icon.png
deleted
100644 → 0
View file @
2feb16d9
5.82 KB
web/app/components/header/assets/logo-text.svg
deleted
100644 → 0
View file @
2feb16d9
<svg
width=
"50"
height=
"26"
viewBox=
"0 0 50 26"
fill=
"none"
xmlns=
"http://www.w3.org/2000/svg"
>
<path
d=
"M6.61796 2.064C8.37796 2.064 9.92196 2.408 11.25 3.096C12.594 3.784 13.626 4.768 14.346 6.048C15.082 7.312 15.45 8.784 15.45 10.464C15.45 12.144 15.082 13.616 14.346 14.88C13.626 16.128 12.594 17.096 11.25 17.784C9.92196 18.472 8.37796 18.816 6.61796 18.816H0.761963V2.064H6.61796ZM6.49796 15.96C8.25796 15.96 9.61796 15.48 10.578 14.52C11.538 13.56 12.018 12.208 12.018 10.464C12.018 8.72 11.538 7.36 10.578 6.384C9.61796 5.392 8.25796 4.896 6.49796 4.896H4.12196V15.96H6.49796Z"
fill=
"#1D2939"
/>
<path
d=
"M20.8691 3.936C20.2771 3.936 19.7811 3.752 19.3811 3.384C18.9971 3 18.8051 2.528 18.8051 1.968C18.8051 1.408 18.9971 0.944 19.3811 0.576C19.7811 0.192 20.2771 0 20.8691 0C21.4611 0 21.9491 0.192 22.3331 0.576C22.7331 0.944 22.9331 1.408 22.9331 1.968C22.9331 2.528 22.7331 3 22.3331 3.384C21.9491 3.752 21.4611 3.936 20.8691 3.936ZM22.5251 5.52V18.816H19.1651V5.52H22.5251Z"
fill=
"#1D2939"
/>
<path
d=
"M33.1408 8.28H30.8128V18.816H27.4048V8.28H25.8928V5.52H27.4048V4.848C27.4048 3.216 27.8688 2.016 28.7968 1.248C29.7248 0.48 31.1248 0.12 32.9968 0.168001V3C32.1808 2.984 31.6128 3.12 31.2928 3.408C30.9728 3.696 30.8128 4.216 30.8128 4.968V5.52H33.1408V8.28Z"
fill=
"#1D2939"
/>
<path
d=
"M49.2382 5.52L41.0062 25.104H37.4302L40.3102 18.48L34.9822 5.52H38.7502L42.1822 14.808L45.6622 5.52H49.2382Z"
fill=
"#1D2939"
/>
</svg>
web/app/components/header/assets/logo.png
deleted
100644 → 0
View file @
2feb16d9
8.92 KB
web/app/components/header/index.module.css
View file @
61e816f2
...
@@ -8,13 +8,6 @@
...
@@ -8,13 +8,6 @@
border-top
:
4px
solid
#06AED4
;
border-top
:
4px
solid
#06AED4
;
}
}
.logo
{
width
:
96px
;
height
:
40px
;
background
:
url(~@/app/components/share/chat/welcome/icons/logo.png)
center
center
no-repeat
;
background-size
:
contain
;
}
.alpha
{
.alpha
{
width
:
12px
;
width
:
12px
;
height
:
12px
;
height
:
12px
;
...
...
web/app/components/header/index.tsx
View file @
61e816f2
...
@@ -8,9 +8,9 @@ import EnvNav from './env-nav'
...
@@ -8,9 +8,9 @@ import EnvNav from './env-nav'
import
ExploreNav
from
'./explore-nav'
import
ExploreNav
from
'./explore-nav'
import
GithubStar
from
'./github-star'
import
GithubStar
from
'./github-star'
import
PluginNav
from
'./plugin-nav'
import
PluginNav
from
'./plugin-nav'
import
s
from
'./index.module.css'
import
{
WorkspaceProvider
}
from
'@/context/workspace-context'
import
{
WorkspaceProvider
}
from
'@/context/workspace-context'
import
{
useAppContext
}
from
'@/context/app-context'
import
{
useAppContext
}
from
'@/context/app-context'
import
LogoSite
from
'@/app/components/base/logo/logo-site'
const
navClassName
=
`
const
navClassName
=
`
flex items-center relative mr-3 px-3 h-8 rounded-xl
flex items-center relative mr-3 px-3 h-8 rounded-xl
...
@@ -24,9 +24,8 @@ const Header = () => {
...
@@ -24,9 +24,8 @@ const Header = () => {
<>
<>
<
div
className=
'flex items-center'
>
<
div
className=
'flex items-center'
>
<
Link
href=
"/apps"
className=
'flex items-center mr-4'
>
<
Link
href=
"/apps"
className=
'flex items-center mr-4'
>
<
div
className=
{
s
.
logo
}
/>
<
LogoSite
/>
</
Link
>
</
Link
>
{
/* @ts-expect-error Async Server Component */
}
<
GithubStar
/>
<
GithubStar
/>
</
div
>
</
div
>
<
div
className=
'flex items-center'
>
<
div
className=
'flex items-center'
>
...
...
web/app/components/share/chat/welcome/icons/logo.png
deleted
100644 → 0
View file @
2feb16d9
8.92 KB
web/app/components/share/chat/welcome/massive-component.tsx
View file @
61e816f2
...
@@ -9,6 +9,7 @@ import {
...
@@ -9,6 +9,7 @@ import {
import
s
from
'./style.module.css'
import
s
from
'./style.module.css'
import
type
{
SiteInfo
}
from
'@/models/share'
import
type
{
SiteInfo
}
from
'@/models/share'
import
Button
from
'@/app/components/base/button'
import
Button
from
'@/app/components/base/button'
import
LogoSite
from
'@/app/components/base/logo/logo-site'
export
const
AppInfo
:
FC
<
{
siteInfo
:
SiteInfo
}
>
=
({
siteInfo
})
=>
{
export
const
AppInfo
:
FC
<
{
siteInfo
:
SiteInfo
}
>
=
({
siteInfo
})
=>
{
return
(
return
(
...
@@ -69,5 +70,5 @@ export const EditBtn = ({ className, onClick }: { className?: string; onClick: (
...
@@ -69,5 +70,5 @@ export const EditBtn = ({ className, onClick }: { className?: string; onClick: (
}
}
export
const
FootLogo
=
()
=>
(
export
const
FootLogo
=
()
=>
(
<
div
className=
{
s
.
logo
}
/>
<
LogoSite
className=
'!h-5'
/>
)
)
web/app/components/share/chat/welcome/style.module.css
View file @
61e816f2
...
@@ -19,11 +19,4 @@
...
@@ -19,11 +19,4 @@
.customBtn
{
.customBtn
{
width
:
136px
;
width
:
136px
;
}
.logo
{
width
:
48px
;
height
:
20px
;
background
:
url(./icons/logo.png)
center
center
no-repeat
;
background-size
:
contain
;
}
}
\ No newline at end of file
web/app/components/share/chatbot/icons/dify-header.svg
deleted
100644 → 0
View file @
2feb16d9
This diff is collapsed.
Click to expand it.
web/app/components/share/chatbot/icons/dify.svg
deleted
100644 → 0
View file @
2feb16d9
This diff is collapsed.
Click to expand it.
web/app/components/share/chatbot/index.tsx
View file @
61e816f2
...
@@ -26,6 +26,8 @@ import { replaceStringWithValues } from '@/app/components/app/configuration/prom
...
@@ -26,6 +26,8 @@ import { replaceStringWithValues } from '@/app/components/app/configuration/prom
import
{
userInputsFormToPromptVariables
}
from
'@/utils/model-config'
import
{
userInputsFormToPromptVariables
}
from
'@/utils/model-config'
import
type
{
InstalledApp
}
from
'@/models/explore'
import
type
{
InstalledApp
}
from
'@/models/explore'
import
{
AlertTriangle
}
from
'@/app/components/base/icons/src/vender/solid/alertsAndFeedback'
import
{
AlertTriangle
}
from
'@/app/components/base/icons/src/vender/solid/alertsAndFeedback'
import
LogoHeader
from
'@/app/components/base/logo/logo-embeded-chat-header'
import
LogoAvatar
from
'@/app/components/base/logo/logo-embeded-chat-avatar'
export
type
IMainProps
=
{
export
type
IMainProps
=
{
isInstalledApp
?:
boolean
isInstalledApp
?:
boolean
...
@@ -488,7 +490,7 @@ const Main: FC<IMainProps> = ({
...
@@ -488,7 +490,7 @@ const Main: FC<IMainProps> = ({
}
}
const
difyIcon
=
(
const
difyIcon
=
(
<
div
className=
{
s
.
difyHeader
}
></
div
>
<
LogoHeader
/
>
)
)
if
(
appUnavailable
)
if
(
appUnavailable
)
...
@@ -567,7 +569,7 @@ const Main: FC<IMainProps> = ({
...
@@ -567,7 +569,7 @@ const Main: FC<IMainProps> = ({
suggestionList=
{
suggestQuestions
}
suggestionList=
{
suggestQuestions
}
displayScene=
'web'
displayScene=
'web'
isShowSpeechToText=
{
speechToTextConfig
?.
enabled
}
isShowSpeechToText=
{
speechToTextConfig
?.
enabled
}
answerIcon
ClassName=
{
s
.
difyIcon
}
answerIcon
=
{
<
LogoAvatar
className=
'relative shrink-0'
/>
}
/>
/>
</
div
>
</
div
>
</
div
>)
</
div
>)
...
...
web/app/components/share/chatbot/style.module.css
View file @
61e816f2
.installedApp
{
.installedApp
{
height
:
calc
(
100vh
-
74px
);
height
:
calc
(
100vh
-
74px
);
}
.difyIcon
{
background-image
:
url(./icons/dify.svg)
;
}
.difyHeader
{
width
:
24px
;
height
:
24px
;
background
:
url(./icons/dify-header.svg)
center
center
no-repeat
;
background-size
:
contain
;
}
}
\ No newline at end of file
web/app/components/share/chatbot/welcome/icons/logo.png
deleted
100644 → 0
View file @
2feb16d9
3.83 KB
web/app/components/share/chatbot/welcome/massive-component.tsx
View file @
61e816f2
...
@@ -9,6 +9,7 @@ import {
...
@@ -9,6 +9,7 @@ import {
import
s
from
'./style.module.css'
import
s
from
'./style.module.css'
import
type
{
SiteInfo
}
from
'@/models/share'
import
type
{
SiteInfo
}
from
'@/models/share'
import
Button
from
'@/app/components/base/button'
import
Button
from
'@/app/components/base/button'
import
LogoSite
from
'@/app/components/base/logo/logo-site'
export
const
AppInfo
:
FC
<
{
siteInfo
:
SiteInfo
}
>
=
({
siteInfo
})
=>
{
export
const
AppInfo
:
FC
<
{
siteInfo
:
SiteInfo
}
>
=
({
siteInfo
})
=>
{
const
{
t
}
=
useTranslation
()
const
{
t
}
=
useTranslation
()
...
@@ -70,5 +71,5 @@ export const EditBtn = ({ className, onClick }: { className?: string; onClick: (
...
@@ -70,5 +71,5 @@ export const EditBtn = ({ className, onClick }: { className?: string; onClick: (
}
}
export
const
FootLogo
=
()
=>
(
export
const
FootLogo
=
()
=>
(
<
div
className=
{
s
.
logo
}
/>
<
LogoSite
className=
'!h-5'
/>
)
)
web/app/components/share/chatbot/welcome/style.module.css
View file @
61e816f2
...
@@ -19,11 +19,4 @@
...
@@ -19,11 +19,4 @@
.customBtn
{
.customBtn
{
width
:
136px
;
width
:
136px
;
}
.logo
{
width
:
48px
;
height
:
20px
;
background
:
url(./icons/logo.png)
center
center
no-repeat
;
background-size
:
contain
;
}
}
\ No newline at end of file
web/app/layout.tsx
View file @
61e816f2
...
@@ -26,6 +26,7 @@ const LocaleLayout = ({
...
@@ -26,6 +26,7 @@ const LocaleLayout = ({
data
-
public
-
edition=
{
process
.
env
.
NEXT_PUBLIC_EDITION
}
data
-
public
-
edition=
{
process
.
env
.
NEXT_PUBLIC_EDITION
}
data
-
public
-
sentry
-
dsn=
{
process
.
env
.
NEXT_PUBLIC_SENTRY_DSN
}
data
-
public
-
sentry
-
dsn=
{
process
.
env
.
NEXT_PUBLIC_SENTRY_DSN
}
data
-
public
-
maintenance
-
notice=
{
process
.
env
.
NEXT_PUBLIC_MAINTENANCE_NOTICE
}
data
-
public
-
maintenance
-
notice=
{
process
.
env
.
NEXT_PUBLIC_MAINTENANCE_NOTICE
}
data
-
public
-
site
-
about=
{
process
.
env
.
NEXT_PUBLIC_SITE_ABOUT
}
>
>
<
BrowerInitor
>
<
BrowerInitor
>
<
SentryInitor
>
<
SentryInitor
>
...
...
web/app/signin/_header.tsx
View file @
61e816f2
'use client'
'use client'
import
React
from
'react'
import
React
from
'react'
import
{
useContext
}
from
'use-context-selector'
import
{
useContext
}
from
'use-context-selector'
import
style
from
'./page.module.css'
import
Select
,
{
LOCALES
}
from
'@/app/components/base/select/locale'
import
Select
,
{
LOCALES
}
from
'@/app/components/base/select/locale'
import
{
type
Locale
}
from
'@/i18n'
import
{
type
Locale
}
from
'@/i18n'
import
I18n
from
'@/context/i18n'
import
I18n
from
'@/context/i18n'
import
LogoSite
from
'@/app/components/base/logo/logo-site'
const
Header
=
()
=>
{
const
Header
=
()
=>
{
const
{
locale
,
setLocaleOnClient
}
=
useContext
(
I18n
)
const
{
locale
,
setLocaleOnClient
}
=
useContext
(
I18n
)
...
@@ -13,7 +13,7 @@ const Header = () => {
...
@@ -13,7 +13,7 @@ const Header = () => {
localStorage
.
removeItem
(
'console_token'
)
localStorage
.
removeItem
(
'console_token'
)
return
<
div
className=
'flex items-center justify-between p-6 w-full'
>
return
<
div
className=
'flex items-center justify-between p-6 w-full'
>
<
div
className=
{
style
.
logo
}
></
div
>
<
LogoSite
/
>
<
Select
<
Select
value=
{
locale
}
value=
{
locale
}
items=
{
LOCALES
}
items=
{
LOCALES
}
...
...
web/app/signin/assets/logo-icon.svg
deleted
100644 → 0
View file @
2feb16d9
<svg
width=
"29"
height=
"28"
viewBox=
"0 0 29 28"
fill=
"none"
xmlns=
"http://www.w3.org/2000/svg"
>
<path
d=
"M29 14C29 21.732 22.5081 28 14.5 28C12.5713 28 10.7305 27.6364 9.04718 26.9763C8.72501 26.85 8.56393 26.7869 8.43371 26.7587C8.30634 26.7311 8.21208 26.721 8.08155 26.721C7.9481 26.721 7.80275 26.7444 7.51205 26.7912L1.77989 27.7136C1.17963 27.8102 0.879495 27.8585 0.662464 27.7686C0.472511 27.6899 0.321142 27.5438 0.23967 27.3604C0.146582 27.1508 0.196605 26.861 0.296649 26.2815L1.25201 20.747C1.30046 20.4663 1.32468 20.326 1.32467 20.1971C1.32465 20.0711 1.31421 19.9801 1.28566 19.8571C1.25647 19.7314 1.19105 19.5759 1.06021 19.2648C0.376575 17.6395 0 15.8622 0 14C0 6.26801 6.49187 0 14.5 0C22.5081 0 29 6.26801 29 14Z"
fill=
"#155EEF"
/>
<path
opacity=
"0.72"
fill-rule=
"evenodd"
clip-rule=
"evenodd"
d=
"M24.8346 23.8202L13.2186 23.8202C12.8708 23.8202 12.548 23.6395 12.3662 23.3431L7.06478 14.702C7.01652 14.6234 6.99097 14.5329 6.99097 14.4406V11.7363L13.3252 21.9651C13.4619 22.1858 13.7031 22.3202 13.9628 22.3202H26.1627C25.7565 22.8501 25.3125 23.3513 24.8346 23.8202Z"
fill=
"white"
/>
<path
d=
"M27.9351 19.2764C28.6217 17.6481 29 15.867 29 14.0005C29 13.7095 28.9908 13.4206 28.9727 13.1341H18.7973C18.6231 13.1341 18.4615 13.0435 18.3707 12.8949L14.2258 6.11473C14.1986 6.07015 14.1501 6.04297 14.0979 6.04297H7.43681C7.24156 6.04297 7.12167 6.25678 7.22351 6.42336L14.7884 18.798C14.9701 19.0952 15.2933 19.2764 15.6416 19.2764L27.9351 19.2764Z"
fill=
"white"
/>
</svg>
web/app/signin/assets/logo-text.svg
deleted
100644 → 0
View file @
2feb16d9
<svg
width=
"76"
height=
"16"
viewBox=
"0 0 76 16"
fill=
"none"
xmlns=
"http://www.w3.org/2000/svg"
>
<rect
x=
"0.956787"
y=
"13.8203"
width=
"20.9866"
height=
"1.5"
fill=
"#1C64F2"
/>
<rect
x=
"32.1108"
y=
"13.8203"
width=
"42.8303"
height=
"1.5"
fill=
"#1C64F2"
/>
<path
d=
"M3.47679 9.522H6.23079V11.646H0.956787V0H3.47679V9.522Z"
fill=
"#1C64F2"
/>
<path
d=
"M11.7995 2.862H13.8335V11.646H11.7995V10.998C11.4275 11.55 10.8095 11.826 9.94554 11.826H9.56754C8.07954 11.826 7.33554 11.034 7.33554 9.45V5.058C7.33554 3.474 8.07954 2.682 9.56754 2.682H9.94554C10.8095 2.682 11.4275 2.958 11.7995 3.51V2.862ZM11.4215 9.738V4.77C11.4215 4.674 11.3855 4.59 11.3135 4.518C11.2535 4.446 11.1755 4.41 11.0795 4.41H10.0895C9.99354 4.41 9.90954 4.446 9.83754 4.518C9.77754 4.59 9.74754 4.674 9.74754 4.77V9.738C9.74754 9.834 9.77754 9.918 9.83754 9.99C9.90954 10.062 9.99354 10.098 10.0895 10.098H11.0795C11.1755 10.098 11.2535 10.062 11.3135 9.99C11.3855 9.918 11.4215 9.834 11.4215 9.738Z"
fill=
"#1C64F2"
/>
<path
d=
"M17.8862 11.646H15.4742V2.862H17.6702V3.312C18.0422 2.892 18.6062 2.682 19.3622 2.682H19.7402C21.2282 2.682 21.9722 3.474 21.9722 5.058V11.646H19.5602V4.77C19.5602 4.674 19.5242 4.59 19.4522 4.518C19.3922 4.446 19.3142 4.41 19.2182 4.41H18.2282C18.1322 4.41 18.0482 4.446 17.9762 4.518C17.9162 4.59 17.8862 4.674 17.8862 4.77V11.646Z"
fill=
"#1C64F2"
/>
<path
d=
"M30.1109 2.862V12.312C30.1109 13.896 29.3669 14.688 27.8789 14.688H26.0789C24.5909 14.688 23.8469 13.896 23.8469 12.312V12.024H26.0249V12.6C26.0249 12.696 26.0549 12.78 26.1149 12.852C26.1869 12.924 26.2709 12.96 26.3669 12.96H27.3569C27.4529 12.96 27.5309 12.924 27.5909 12.852C27.6629 12.78 27.6989 12.696 27.6989 12.6V10.8C27.3269 11.088 26.8349 11.232 26.2229 11.232H25.8449C24.3569 11.232 23.6129 10.44 23.6129 8.856V5.058C23.6129 3.474 24.3569 2.682 25.8449 2.682H26.2229C27.0869 2.682 27.7049 2.958 28.0769 3.51V2.862H30.1109ZM27.6989 9.144V4.77C27.6989 4.674 27.6629 4.59 27.5909 4.518C27.5309 4.446 27.4529 4.41 27.3569 4.41H26.3669C26.2709 4.41 26.1869 4.446 26.1149 4.518C26.0549 4.59 26.0249 4.674 26.0249 4.77V9.144C26.0249 9.24 26.0549 9.324 26.1149 9.396C26.1869 9.468 26.2709 9.504 26.3669 9.504H27.3569C27.4529 9.504 27.5309 9.468 27.5909 9.396C27.6629 9.324 27.6989 9.24 27.6989 9.144Z"
fill=
"#1C64F2"
/>
<path
d=
"M35.5128 7.524V5.67H38.8428V9.954C38.8428 11.538 38.0988 12.33 36.6108 12.33H34.3428C32.8548 12.33 32.1108 11.538 32.1108 9.954V2.7C32.1108 1.116 32.8548 0.324 34.3428 0.324H36.6108C38.0988 0.324 38.8428 1.116 38.8428 2.7V3.798H36.4488V2.394C36.4488 2.298 36.4128 2.214 36.3408 2.142C36.2808 2.07 36.2028 2.034 36.1068 2.034H34.9728C34.8768 2.034 34.7928 2.07 34.7208 2.142C34.6608 2.214 34.6308 2.298 34.6308 2.394V10.242C34.6308 10.338 34.6608 10.422 34.7208 10.494C34.7928 10.566 34.8768 10.602 34.9728 10.602H36.1068C36.2028 10.602 36.2808 10.566 36.3408 10.494C36.4128 10.422 36.4488 10.338 36.4488 10.242V7.524H35.5128Z"
fill=
"#111928"
/>
<path
d=
"M44.4079 3.186C45.8959 3.186 46.6399 3.978 46.6399 5.562V8.406H42.5539V10.242C42.5539 10.338 42.5839 10.422 42.6439 10.494C42.7159 10.566 42.7999 10.602 42.8959 10.602H43.8859C43.9819 10.602 44.0599 10.566 44.1199 10.494C44.1919 10.422 44.2279 10.338 44.2279 10.242V9.27H46.6399V9.954C46.6399 11.538 45.8959 12.33 44.4079 12.33H42.3739C40.8859 12.33 40.1419 11.538 40.1419 9.954V5.562C40.1419 3.978 40.8859 3.186 42.3739 3.186H44.4079ZM42.5539 6.822H44.2279V5.202C44.2279 5.106 44.1919 5.022 44.1199 4.95C44.0599 4.878 43.9819 4.842 43.8859 4.842H42.8959C42.7999 4.842 42.7159 4.878 42.6439 4.95C42.5839 5.022 42.5539 5.106 42.5539 5.202V6.822Z"
fill=
"#111928"
/>
<path
d=
"M50.3762 12.15H47.9642V3.366H50.1602V3.816C50.5322 3.396 51.0962 3.186 51.8522 3.186H52.2302C53.7182 3.186 54.4622 3.978 54.4622 5.562V12.15H52.0502V5.274C52.0502 5.178 52.0142 5.094 51.9422 5.022C51.8822 4.95 51.8042 4.914 51.7082 4.914H50.7182C50.6222 4.914 50.5382 4.95 50.4662 5.022C50.4062 5.094 50.3762 5.178 50.3762 5.274V12.15Z"
fill=
"#111928"
/>
<path
d=
"M58.5509 2.268C58.2989 2.52 57.9929 2.646 57.6329 2.646C57.2729 2.646 56.9609 2.52 56.6969 2.268C56.4329 2.004 56.3009 1.692 56.3009 1.332C56.3009 0.96 56.4329 0.647999 56.6969 0.395999C56.9609 0.131999 57.2729 0 57.6329 0C57.9929 0 58.2989 0.131999 58.5509 0.395999C58.8149 0.647999 58.9469 0.96 58.9469 1.332C58.9469 1.704 58.8149 2.016 58.5509 2.268ZM56.4269 12.15V3.366H58.8389V12.15H56.4269Z"
fill=
"#111928"
/>
<path
d=
"M64.6186 3.366H67.0306V12.15H64.8346V11.7C64.4626 12.12 63.8986 12.33 63.1426 12.33H62.7646C61.2766 12.33 60.5326 11.538 60.5326 9.954V3.366H62.9446V10.242C62.9446 10.338 62.9746 10.422 63.0346 10.494C63.1066 10.566 63.1906 10.602 63.2866 10.602H64.2766C64.3726 10.602 64.4506 10.566 64.5106 10.494C64.5826 10.422 64.6186 10.338 64.6186 10.242V3.366Z"
fill=
"#111928"
/>
<path
d=
"M72.8112 6.642C74.2992 6.642 75.0432 7.434 75.0432 9.018V9.954C75.0432 11.538 74.2992 12.33 72.8112 12.33H70.8132C69.3252 12.33 68.5812 11.538 68.5812 9.954V9.396H70.8132V10.188C70.8132 10.284 70.8432 10.368 70.9032 10.44C70.9752 10.512 71.0592 10.548 71.1552 10.548H72.6312C72.7272 10.548 72.8052 10.512 72.8652 10.44C72.9372 10.368 72.9732 10.284 72.9732 10.188V9.108C72.9732 9.012 72.9372 8.928 72.8652 8.856C72.8052 8.784 72.7272 8.748 72.6312 8.748H70.7772C69.2892 8.748 68.5452 7.956 68.5452 6.372V5.562C68.5452 3.978 69.2892 3.186 70.7772 3.186H72.6672C74.1552 3.186 74.8992 3.978 74.8992 5.562V5.886H72.6672V5.328C72.6672 5.232 72.6312 5.148 72.5592 5.076C72.4992 5.004 72.4212 4.968 72.3252 4.968H70.9572C70.8612 4.968 70.7772 5.004 70.7052 5.076C70.6452 5.148 70.6152 5.232 70.6152 5.328V6.282C70.6152 6.378 70.6452 6.462 70.7052 6.534C70.7772 6.606 70.8612 6.642 70.9572 6.642H72.8112Z"
fill=
"#111928"
/>
</svg>
web/app/signin/page.module.css
View file @
61e816f2
...
@@ -6,13 +6,6 @@
...
@@ -6,13 +6,6 @@
background
:
center
/
contain
url('./assets/google.svg')
;
background
:
center
/
contain
url('./assets/google.svg')
;
}
}
.logo
{
width
:
96px
;
height
:
40px
;
background
:
url(~@/app/components/share/chat/welcome/icons/logo.png)
center
center
no-repeat
;
background-size
:
contain
;
}
.background
{
.background
{
background-image
:
url('./assets/background.png')
;
background-image
:
url('./assets/background.png')
;
background-size
:
cover
;
background-size
:
cover
;
...
...
web/docker/entrypoint.sh
View file @
61e816f2
...
@@ -18,5 +18,6 @@ else
...
@@ -18,5 +18,6 @@ else
fi
fi
export
NEXT_PUBLIC_SENTRY_DSN
=
${
SENTRY_DSN
}
export
NEXT_PUBLIC_SENTRY_DSN
=
${
SENTRY_DSN
}
export
NEXT_PUBLIC_SITE_ABOUT
=
${
SITE_ABOUT
}
node ./server.js
node ./server.js
\ No newline at end of file
web/public/logo/logo-embeded-chat-avatar.png
0 → 100644
View file @
61e816f2
3.74 KB
web/public/logo/logo-embeded-chat-header.png
0 → 100644
View file @
61e816f2
2.66 KB
web/public/logo/logo-site.png
0 → 100644
View file @
61e816f2
5.67 KB
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment