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
51038990
Unverified
Commit
51038990
authored
Jul 16, 2023
by
Joel
Committed by
GitHub
Jul 16, 2023
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix: change chatbot avart to dify icon (#571)
parent
2c6e0017
Changes
7
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
61 additions
and
5 deletions
+61
-5
index.tsx
web/app/components/app/chat/index.tsx
+6
-2
dify-header.svg
web/app/components/share/chatbot/icons/dify-header.svg
+22
-0
dify.svg
web/app/components/share/chatbot/icons/dify.svg
+11
-0
index.tsx
web/app/components/share/chatbot/index.tsx
+7
-1
style.module.css
web/app/components/share/chatbot/style.module.css
+11
-0
index.tsx
web/app/components/share/chatbot/welcome/index.tsx
+1
-1
header.tsx
web/app/components/share/header.tsx
+3
-1
No files found.
web/app/components/app/chat/index.tsx
View file @
51038990
...
@@ -65,6 +65,7 @@ export type IChatProps = {
...
@@ -65,6 +65,7 @@ export type IChatProps = {
isShowSuggestion
?:
boolean
isShowSuggestion
?:
boolean
suggestionList
?:
string
[]
suggestionList
?:
string
[]
isShowSpeechToText
?:
boolean
isShowSpeechToText
?:
boolean
answerIconClassName
?:
string
}
}
export
type
MessageMore
=
{
export
type
MessageMore
=
{
...
@@ -174,10 +175,11 @@ type IAnswerProps = {
...
@@ -174,10 +175,11 @@ type IAnswerProps = {
onSubmitAnnotation
?:
SubmitAnnotationFunc
onSubmitAnnotation
?:
SubmitAnnotationFunc
displayScene
:
DisplayScene
displayScene
:
DisplayScene
isResponsing
?:
boolean
isResponsing
?:
boolean
answerIconClassName
?:
string
}
}
// 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
})
=>
{
const
Answer
:
FC
<
IAnswerProps
>
=
({
item
,
feedbackDisabled
=
false
,
isHideFeedbackEdit
=
false
,
onFeedback
,
onSubmitAnnotation
,
displayScene
=
'web'
,
isResponsing
,
answerIconClassName
})
=>
{
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
)
...
@@ -292,7 +294,7 @@ const Answer: FC<IAnswerProps> = ({ item, feedbackDisabled = false, isHideFeedba
...
@@ -292,7 +294,7 @@ 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} w-10 h-10 shrink-0`
}
>
<
div
className=
{
`${s.answerIcon}
${answerIconClassName}
w-10 h-10 shrink-0`
}
>
{
isResponsing
{
isResponsing
&&
<
div
className=
{
s
.
typeingIcon
}
>
&&
<
div
className=
{
s
.
typeingIcon
}
>
<
LoadingAnim
type=
'avatar'
/>
<
LoadingAnim
type=
'avatar'
/>
...
@@ -428,6 +430,7 @@ const Chat: FC<IChatProps> = ({
...
@@ -428,6 +430,7 @@ const Chat: FC<IChatProps> = ({
isShowSuggestion
,
isShowSuggestion
,
suggestionList
,
suggestionList
,
isShowSpeechToText
,
isShowSpeechToText
,
answerIconClassName
,
})
=>
{
})
=>
{
const
{
t
}
=
useTranslation
()
const
{
t
}
=
useTranslation
()
const
{
notify
}
=
useContext
(
ToastContext
)
const
{
notify
}
=
useContext
(
ToastContext
)
...
@@ -520,6 +523,7 @@ const Chat: FC<IChatProps> = ({
...
@@ -520,6 +523,7 @@ const Chat: FC<IChatProps> = ({
onSubmitAnnotation=
{
onSubmitAnnotation
}
onSubmitAnnotation=
{
onSubmitAnnotation
}
displayScene=
{
displayScene
??
'web'
}
displayScene=
{
displayScene
??
'web'
}
isResponsing=
{
isResponsing
&&
isLast
}
isResponsing=
{
isResponsing
&&
isLast
}
answerIconClassName=
{
answerIconClassName
}
/>
/>
}
}
return
<
Question
key=
{
item
.
id
}
id=
{
item
.
id
}
content=
{
item
.
content
}
more=
{
item
.
more
}
useCurrentUserAvatar=
{
useCurrentUserAvatar
}
/>
return
<
Question
key=
{
item
.
id
}
id=
{
item
.
id
}
content=
{
item
.
content
}
more=
{
item
.
more
}
useCurrentUserAvatar=
{
useCurrentUserAvatar
}
/>
...
...
web/app/components/share/chatbot/icons/dify-header.svg
0 → 100644
View file @
51038990
This diff is collapsed.
Click to expand it.
web/app/components/share/chatbot/icons/dify.svg
0 → 100644
View file @
51038990
This diff is collapsed.
Click to expand it.
web/app/components/share/chatbot/index.tsx
View file @
51038990
...
@@ -552,6 +552,10 @@ const Main: FC<IMainProps> = ({
...
@@ -552,6 +552,10 @@ const Main: FC<IMainProps> = ({
)
)
}
}
const
difyIcon
=
(
<
div
className=
{
s
.
difyHeader
}
></
div
>
)
if
(
appUnavailable
)
if
(
appUnavailable
)
return
<
AppUnavailable
isUnknwonReason=
{
isUnknwonReason
}
/>
return
<
AppUnavailable
isUnknwonReason=
{
isUnknwonReason
}
/>
...
@@ -562,7 +566,8 @@ const Main: FC<IMainProps> = ({
...
@@ -562,7 +566,8 @@ const Main: FC<IMainProps> = ({
<
div
>
<
div
>
<
Header
<
Header
title=
{
siteInfo
.
title
}
title=
{
siteInfo
.
title
}
icon=
{
siteInfo
.
icon
||
''
}
icon=
''
customerIcon=
{
difyIcon
}
icon_background=
{
siteInfo
.
icon_background
}
icon_background=
{
siteInfo
.
icon_background
}
isEmbedScene=
{
true
}
isEmbedScene=
{
true
}
isMobile=
{
isMobile
}
isMobile=
{
isMobile
}
...
@@ -624,6 +629,7 @@ const Main: FC<IMainProps> = ({
...
@@ -624,6 +629,7 @@ const Main: FC<IMainProps> = ({
suggestionList=
{
suggestQuestions
}
suggestionList=
{
suggestQuestions
}
displayScene=
'web'
displayScene=
'web'
isShowSpeechToText=
{
speechToTextConfig
?.
enabled
}
isShowSpeechToText=
{
speechToTextConfig
?.
enabled
}
answerIconClassName=
{
s
.
difyIcon
}
/>
/>
</
div
>
</
div
>
</
div
>)
</
div
>)
...
...
web/app/components/share/chatbot/style.module.css
View file @
51038990
.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/index.tsx
View file @
51038990
...
@@ -307,7 +307,7 @@ const Welcome: FC<IWelcomeProps> = ({
...
@@ -307,7 +307,7 @@ const Welcome: FC<IWelcomeProps> = ({
}
}
return (
return (
<
div
className=
'relative
mobile:min-h-[48px]
tablet:min-h-[64px]'
>
<
div
className=
'relative tablet:min-h-[64px]'
>
{
/* {hasSetInputs && renderHeader()} */
}
{
/* {hasSetInputs && renderHeader()} */
}
<
div
className=
'mx-auto pc:w-[794px] max-w-full mobile:w-full px-3.5'
>
<
div
className=
'mx-auto pc:w-[794px] max-w-full mobile:w-full px-3.5'
>
{
/* Has't set inputs */
}
{
/* Has't set inputs */
}
...
...
web/app/components/share/header.tsx
View file @
51038990
...
@@ -3,6 +3,7 @@ import React from 'react'
...
@@ -3,6 +3,7 @@ import React from 'react'
import
AppIcon
from
'@/app/components/base/app-icon'
import
AppIcon
from
'@/app/components/base/app-icon'
export
type
IHeaderProps
=
{
export
type
IHeaderProps
=
{
title
:
string
title
:
string
customerIcon
?:
React
.
ReactNode
icon
:
string
icon
:
string
icon_background
:
string
icon_background
:
string
isMobile
?:
boolean
isMobile
?:
boolean
...
@@ -11,6 +12,7 @@ export type IHeaderProps = {
...
@@ -11,6 +12,7 @@ export type IHeaderProps = {
const
Header
:
FC
<
IHeaderProps
>
=
({
const
Header
:
FC
<
IHeaderProps
>
=
({
title
,
title
,
isMobile
,
isMobile
,
customerIcon
,
icon
,
icon
,
icon_background
,
icon_background
,
isEmbedScene
=
false
,
isEmbedScene
=
false
,
...
@@ -25,7 +27,7 @@ const Header: FC<IHeaderProps> = ({
...
@@ -25,7 +27,7 @@ const Header: FC<IHeaderProps> = ({
>
>
<
div
></
div
>
<
div
></
div
>
<
div
className=
"flex items-center space-x-2"
>
<
div
className=
"flex items-center space-x-2"
>
<
AppIcon
size=
"small"
icon=
{
icon
}
background=
{
icon_background
}
/>
{
customerIcon
||
<
AppIcon
size=
"small"
icon=
{
icon
}
background=
{
icon_background
}
/>
}
<
div
<
div
className=
{
`text-sm text-gray-800 font-bold ${
className=
{
`text-sm text-gray-800 font-bold ${
isEmbedScene ? 'text-white' : ''
isEmbedScene ? 'text-white' : ''
...
...
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