app-tutor-ai-consumer 1.18.1 → 1.18.2
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/CHANGELOG.md +2 -0
- package/package.json +1 -1
- package/src/lib/components/icons/gallery.svg +3 -0
- package/src/lib/components/icons/icon-names.d.ts +1 -1
- package/src/lib/components/icons/interrogation.svg +2 -8
- package/src/modules/widget/components/greetings-card/greetings-card.tsx +18 -14
- package/src/modules/widget/components/information-page/constants.ts +6 -2
- package/src/modules/widget/components/information-page/information-card/information-card.tsx +22 -5
- package/src/modules/widget/components/information-page/information-page.tsx +16 -3
- package/src/modules/widget/components/starter-page/starter-page.tsx +0 -1
- package/src/modules/widget/components/greetings-card/styles.module.css +0 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
## [1.18.2](https://github.com/Hotmart-Org/app-tutor-ai-consumer/compare/v1.18.1...v1.18.2) (2025-07-28)
|
|
2
|
+
|
|
1
3
|
## [1.18.1](https://github.com/Hotmart-Org/app-tutor-ai-consumer/compare/v1.18.0...v1.18.1) (2025-07-24)
|
|
2
4
|
|
|
3
5
|
# [1.18.0](https://github.com/Hotmart-Org/app-tutor-ai-consumer/compare/v1.17.0...v1.18.0) (2025-07-24)
|
package/package.json
CHANGED
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
<svg width="13" height="14" viewBox="0 0 13 14" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M6.7166 0.880408C6.88983 0.963668 7 1.13886 7 1.33106V3.83106H9.23488C9.93358 3.83106 10.5944 4.14867 11.0309 4.69426L12.8904 7.01871C13.0105 7.1688 13.0339 7.37442 12.9507 7.54765C12.8674 7.72089 12.6922 7.83106 12.5 7.83106H10V10.0659C10 10.7646 9.6824 11.4255 9.1368 11.8619L6.81235 13.7215C6.66227 13.8416 6.45664 13.865 6.28341 13.7817C6.11018 13.6985 6 13.5233 6 13.3311V10.8311H3.76513C3.06643 10.8311 2.40561 10.5135 1.96913 9.96786L0.10957 7.64341C-0.0104977 7.49332 -0.0339069 7.2877 0.0493531 7.11447C0.132613 6.94123 0.307802 6.83106 0.500005 6.83106H3V4.59618C3 3.89748 3.31761 3.23666 3.86321 2.80019L6.18766 0.940625C6.33774 0.820557 6.54337 0.797148 6.7166 0.880408ZM1.54032 7.83106L2.75 9.34316C2.9967 9.65154 3.37021 9.83106 3.76513 9.83106H6V7.83106H1.54032ZM6 6.83106H4V4.59618C4 4.20127 4.17952 3.82776 4.4879 3.58105L6 2.37137V6.83106ZM7 7.83106V12.2907L8.51211 11.0811C8.82049 10.8344 9 10.4609 9 10.0659V7.83106H7ZM7 6.83106V4.83106H9.23488C9.6298 4.83106 10.0033 5.01058 10.25 5.31896L11.4597 6.83106H7Z" fill="currentColor"/>
|
|
3
|
+
</svg>
|
|
@@ -1,9 +1,3 @@
|
|
|
1
|
-
<svg width="
|
|
2
|
-
<path d="
|
|
3
|
-
<defs>
|
|
4
|
-
<linearGradient id="paint0_linear_21475_7939" x1="0" y1="8.73584" x2="16" y2="8.73584" gradientUnits="userSpaceOnUse">
|
|
5
|
-
<stop stop-color="#44D0FF"/>
|
|
6
|
-
<stop offset="1" stop-color="#B48EFF"/>
|
|
7
|
-
</linearGradient>
|
|
8
|
-
</defs>
|
|
1
|
+
<svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M6 1.83105C3.23858 1.83105 1 4.06963 1 6.83105C1 9.59248 3.23858 11.8311 6 11.8311C8.76142 11.8311 11 9.59248 11 6.83105C11 4.06963 8.76142 1.83105 6 1.83105ZM6 12.8311C2.68629 12.8311 0 10.1448 0 6.83105C0 3.51735 2.68629 0.831055 6 0.831055C9.31371 0.831055 12 3.51735 12 6.83105C12 10.1448 9.31371 12.8311 6 12.8311ZM6 8.83105C6.41421 8.83105 6.75 9.16684 6.75 9.58105C6.75 9.99527 6.41421 10.3311 6 10.3311C5.58579 10.3311 5.25 9.99527 5.25 9.58105C5.25 9.16684 5.58579 8.83105 6 8.83105ZM5 5.33105C5 4.77877 5.44772 4.33105 6 4.33105H6.5C7.05228 4.33105 7.5 4.77877 7.5 5.33105V5.49772C7.5 5.95796 7.1269 6.33105 6.66667 6.33105C6.02233 6.33105 5.5 6.85339 5.5 7.49772V7.83105H6.5V7.49772C6.5 7.40567 6.57462 7.33105 6.66667 7.33105C7.67919 7.33105 8.5 6.51024 8.5 5.49772V5.33105C8.5 4.22649 7.60457 3.33105 6.5 3.33105H6C4.89543 3.33105 4 4.22649 4 5.33105H5Z" fill="currentColor"/>
|
|
9
3
|
</svg>
|
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
import clsx from 'clsx'
|
|
2
2
|
import { useTranslation } from 'react-i18next'
|
|
3
3
|
|
|
4
|
-
import { AIAvatar } from '../ai-avatar'
|
|
5
|
-
|
|
6
|
-
import styles from './styles.module.css'
|
|
7
|
-
|
|
8
4
|
export type GreetingsCardProps = {
|
|
9
5
|
tutorName: string
|
|
10
6
|
author: string
|
|
@@ -15,23 +11,31 @@ function GreetingsCard({ author, tutorName, isDarkTheme = false }: GreetingsCard
|
|
|
15
11
|
const { t } = useTranslation()
|
|
16
12
|
|
|
17
13
|
return (
|
|
18
|
-
<div className='flex flex-col items-center justify-center
|
|
14
|
+
<div className='flex flex-col items-center justify-center'>
|
|
19
15
|
<div className='flex flex-col items-center justify-center gap-4 text-center'>
|
|
20
|
-
<AIAvatar
|
|
21
|
-
className={clsx('rounded-full border-4 border-neutral-100', {
|
|
22
|
-
'bg-[#E7EDF2]/80': !isDarkTheme,
|
|
23
|
-
'bg-neutral-200': isDarkTheme
|
|
24
|
-
})}
|
|
25
|
-
/>
|
|
26
16
|
<div className='flex flex-col gap-2'>
|
|
27
|
-
<span
|
|
17
|
+
<span
|
|
18
|
+
className={clsx('text-base font-light', {
|
|
19
|
+
'text-white': isDarkTheme,
|
|
20
|
+
'text-gray-900': !isDarkTheme
|
|
21
|
+
})}>
|
|
28
22
|
{t('general.greetings.hello', { name: author })}
|
|
29
23
|
</span>
|
|
30
|
-
<h3
|
|
24
|
+
<h3
|
|
25
|
+
className={clsx('text-xl font-bold', {
|
|
26
|
+
'text-white': isDarkTheme,
|
|
27
|
+
'text-gray-900': !isDarkTheme
|
|
28
|
+
})}>
|
|
31
29
|
{t('general.greetings.firstMessage', { tutorName })}
|
|
32
30
|
</h3>
|
|
33
31
|
</div>
|
|
34
|
-
<p
|
|
32
|
+
<p
|
|
33
|
+
className={clsx('text-sm font-normal', {
|
|
34
|
+
'text-gray-400': isDarkTheme,
|
|
35
|
+
'text-neutral-600': !isDarkTheme
|
|
36
|
+
})}>
|
|
37
|
+
{t('general.greetings.description')}
|
|
38
|
+
</p>
|
|
35
39
|
</div>
|
|
36
40
|
</div>
|
|
37
41
|
)
|
|
@@ -12,6 +12,10 @@ export const infoItems: InfoItem[] = [
|
|
|
12
12
|
titleKey: 'info.what_it_does_question',
|
|
13
13
|
descKey: 'info.what_it_does_answer'
|
|
14
14
|
},
|
|
15
|
-
{
|
|
16
|
-
|
|
15
|
+
{
|
|
16
|
+
icon: 'gallery',
|
|
17
|
+
titleKey: 'info.how_it_learns_question',
|
|
18
|
+
descKey: 'info.how_it_learns_answer'
|
|
19
|
+
},
|
|
20
|
+
{ icon: 'info', titleKey: 'info.limitations_question', descKey: 'info.limitations_answer' }
|
|
17
21
|
]
|
package/src/modules/widget/components/information-page/information-card/information-card.tsx
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import clsx from 'clsx'
|
|
2
|
+
|
|
1
3
|
import { Icon } from '@/src/lib/components'
|
|
2
4
|
import type { ValidIconNames } from '@/src/lib/components/icons/icon-names'
|
|
3
5
|
|
|
@@ -5,18 +7,33 @@ export type InformationCardProps = {
|
|
|
5
7
|
icon: ValidIconNames
|
|
6
8
|
title: string
|
|
7
9
|
description: string
|
|
10
|
+
isDarkMode: boolean
|
|
8
11
|
}
|
|
9
12
|
|
|
10
|
-
function InformationCard({ icon, title, description }: InformationCardProps) {
|
|
13
|
+
function InformationCard({ icon, title, description, isDarkMode }: InformationCardProps) {
|
|
11
14
|
return (
|
|
12
|
-
<div
|
|
13
|
-
|
|
15
|
+
<div
|
|
16
|
+
className={clsx('flex justify-center gap-3 border-b pb-5 last:border-none', {
|
|
17
|
+
'border-white/10': isDarkMode,
|
|
18
|
+
'border-black/10': !isDarkMode
|
|
19
|
+
})}>
|
|
20
|
+
<div
|
|
21
|
+
className={clsx('flex h-5 w-5 items-start justify-center', {
|
|
22
|
+
'text-white': isDarkMode,
|
|
23
|
+
'text-neutral-900': !isDarkMode
|
|
24
|
+
})}>
|
|
14
25
|
<Icon name={icon} width={16} height={16} />
|
|
15
26
|
</div>
|
|
16
27
|
|
|
17
28
|
<div className='flex flex-col gap-1'>
|
|
18
|
-
<p className='text-sm font-bold'>{title}</p>
|
|
19
|
-
<p
|
|
29
|
+
<p className='text-sm font-bold text-neutral-900'>{title}</p>
|
|
30
|
+
<p
|
|
31
|
+
className={clsx('text-xs', {
|
|
32
|
+
'text-gray-300': isDarkMode,
|
|
33
|
+
'text-gray-500': !isDarkMode
|
|
34
|
+
})}>
|
|
35
|
+
{description}
|
|
36
|
+
</p>
|
|
20
37
|
</div>
|
|
21
38
|
</div>
|
|
22
39
|
)
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import clsx from 'clsx'
|
|
1
2
|
import { useTranslation } from 'react-i18next'
|
|
2
3
|
|
|
3
4
|
import { Icon } from '@/src/lib/components'
|
|
@@ -12,10 +13,15 @@ function WidgetInformationPage() {
|
|
|
12
13
|
const { t } = useTranslation()
|
|
13
14
|
const [, setWidgetTabs] = useWidgetTabsAtom()
|
|
14
15
|
const [settings] = useWidgetSettingsAtom()
|
|
16
|
+
const isDarkMode = settings?.config?.theme === 'dark'
|
|
15
17
|
|
|
16
18
|
return (
|
|
17
19
|
<PageLayout className='p-5 text-white'>
|
|
18
|
-
<div
|
|
20
|
+
<div
|
|
21
|
+
className={clsx('relative mb-8 flex h-12 items-center justify-center', {
|
|
22
|
+
'text-white': isDarkMode,
|
|
23
|
+
'text-neutral-700': !isDarkMode
|
|
24
|
+
})}>
|
|
19
25
|
<button
|
|
20
26
|
className='absolute left-0'
|
|
21
27
|
aria-label='Return Button'
|
|
@@ -25,11 +31,17 @@ function WidgetInformationPage() {
|
|
|
25
31
|
<h1 className='mx-auto font-bold'>{t('info.title')}</h1>
|
|
26
32
|
</div>
|
|
27
33
|
|
|
28
|
-
<div className='mb-
|
|
34
|
+
<div className='mb-10 flex justify-center'>
|
|
29
35
|
<div className='flex flex-col items-center gap-2'>
|
|
30
36
|
<AIAvatar />
|
|
31
37
|
|
|
32
|
-
<h3
|
|
38
|
+
<h3
|
|
39
|
+
className={clsx('font-bold', {
|
|
40
|
+
'text-white': isDarkMode,
|
|
41
|
+
'text-neutral-700': !isDarkMode
|
|
42
|
+
})}>
|
|
43
|
+
{settings?.tutorName ?? t('general.name')}
|
|
44
|
+
</h3>
|
|
33
45
|
</div>
|
|
34
46
|
</div>
|
|
35
47
|
|
|
@@ -40,6 +52,7 @@ function WidgetInformationPage() {
|
|
|
40
52
|
icon={item.icon}
|
|
41
53
|
title={t(item.titleKey)}
|
|
42
54
|
description={t(item.descKey)}
|
|
55
|
+
isDarkMode={isDarkMode}
|
|
43
56
|
/>
|
|
44
57
|
))}
|
|
45
58
|
</div>
|