Header kısmındaki ikonları Fc olarak değiştirdim
This commit is contained in:
parent
f17d95c1d2
commit
08b3cb43c8
8 changed files with 171 additions and 158 deletions
|
|
@ -82,7 +82,7 @@ define(['./workbox-54d0af47'], (function (workbox) { 'use strict';
|
||||||
"revision": "3ca0b8505b4bec776b69afdba2768812"
|
"revision": "3ca0b8505b4bec776b69afdba2768812"
|
||||||
}, {
|
}, {
|
||||||
"url": "index.html",
|
"url": "index.html",
|
||||||
"revision": "0.271iot081v"
|
"revision": "0.tihrrtufp5o"
|
||||||
}], {});
|
}], {});
|
||||||
workbox.cleanupOutdatedCaches();
|
workbox.cleanupOutdatedCaches();
|
||||||
workbox.registerRoute(new workbox.NavigationRoute(workbox.createHandlerBoundToURL("index.html"), {
|
workbox.registerRoute(new workbox.NavigationRoute(workbox.createHandlerBoundToURL("index.html"), {
|
||||||
|
|
|
||||||
|
|
@ -24,9 +24,9 @@ const HeaderActionsEnd = () => {
|
||||||
<>
|
<>
|
||||||
<Search />
|
<Search />
|
||||||
<AiAssistant />
|
<AiAssistant />
|
||||||
<LanguageSelector />
|
|
||||||
<Notification />
|
<Notification />
|
||||||
<SidePanel />
|
<SidePanel />
|
||||||
|
<LanguageSelector />
|
||||||
<UserDropdown hoverable={false} />
|
<UserDropdown hoverable={false} />
|
||||||
</>
|
</>
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ import Tooltip from '@/components/ui/Tooltip'
|
||||||
import { ROUTES_ENUM } from '@/routes/route.constant'
|
import { ROUTES_ENUM } from '@/routes/route.constant'
|
||||||
import { useLocalization } from '@/utils/hooks/useLocalization'
|
import { useLocalization } from '@/utils/hooks/useLocalization'
|
||||||
import { usePermission } from '@/utils/hooks/usePermission'
|
import { usePermission } from '@/utils/hooks/usePermission'
|
||||||
import { FaHeadset } from 'react-icons/fa';
|
import { FcAssistant, FcHeadset } from 'react-icons/fc'
|
||||||
import { useNavigate } from 'react-router-dom'
|
import { useNavigate } from 'react-router-dom'
|
||||||
|
|
||||||
const AiAssistant = () => {
|
const AiAssistant = () => {
|
||||||
|
|
@ -17,16 +17,14 @@ const AiAssistant = () => {
|
||||||
}
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
|
||||||
<Tooltip title={translate('::Abp.Identity.Ai')}>
|
<Tooltip title={translate('::Abp.Identity.Ai')}>
|
||||||
<div
|
<div
|
||||||
onClick={() => navigate(ROUTES_ENUM.protected.admin.ai)}
|
onClick={() => navigate(ROUTES_ENUM.protected.admin.ai)}
|
||||||
className="flex items-center justify-center w-9 h-9 m-2 rounded-full hover:bg-gray-100 dark:hover:bg-gray-700 cursor-pointer transition-colors duration-200"
|
className="flex items-center justify-center w-9 h-9 m-2 rounded-full hover:bg-gray-100 dark:hover:bg-gray-700 cursor-pointer transition-colors duration-200"
|
||||||
>
|
>
|
||||||
<FaHeadset size={28} />
|
<FcHeadset size={24} />
|
||||||
</div>
|
</div>
|
||||||
</Tooltip>
|
</Tooltip>
|
||||||
</>
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,8 @@ import { FaCheck } from 'react-icons/fa'
|
||||||
import type { CommonProps } from '@/@types/common'
|
import type { CommonProps } from '@/@types/common'
|
||||||
import appConfig from '@/configs/app.config'
|
import appConfig from '@/configs/app.config'
|
||||||
import { dateLocales } from '@/constants/dateLocales.constant'
|
import { dateLocales } from '@/constants/dateLocales.constant'
|
||||||
|
import { Tooltip } from '../ui'
|
||||||
|
import { useLocalization } from '@/utils/hooks/useLocalization'
|
||||||
|
|
||||||
const _LanguageSelector = ({ className }: CommonProps) => {
|
const _LanguageSelector = ({ className }: CommonProps) => {
|
||||||
const [loading, setLoading] = useState(false)
|
const [loading, setLoading] = useState(false)
|
||||||
|
|
@ -23,6 +25,8 @@ const _LanguageSelector = ({ className }: CommonProps) => {
|
||||||
return languageList?.find((lang) => lang.cultureName === currentLang)?.cultureName
|
return languageList?.find((lang) => lang.cultureName === currentLang)?.cultureName
|
||||||
}, [currentLang, languageList])
|
}, [currentLang, languageList])
|
||||||
|
|
||||||
|
const { translate } = useLocalization()
|
||||||
|
|
||||||
const selectedLanguage = (
|
const selectedLanguage = (
|
||||||
<div className={classNames(className, 'flex items-center')}>
|
<div className={classNames(className, 'flex items-center')}>
|
||||||
{loading ? (
|
{loading ? (
|
||||||
|
|
@ -58,6 +62,7 @@ const _LanguageSelector = ({ className }: CommonProps) => {
|
||||||
}
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
<Tooltip title={translate('::App.Languages.Language')}>
|
||||||
<Dropdown renderTitle={selectedLanguage} placement="bottom-end">
|
<Dropdown renderTitle={selectedLanguage} placement="bottom-end">
|
||||||
{languageList?.map((lang) => (
|
{languageList?.map((lang) => (
|
||||||
<Dropdown.Item
|
<Dropdown.Item
|
||||||
|
|
@ -78,6 +83,7 @@ const _LanguageSelector = ({ className }: CommonProps) => {
|
||||||
</Dropdown.Item>
|
</Dropdown.Item>
|
||||||
))}
|
))}
|
||||||
</Dropdown>
|
</Dropdown>
|
||||||
|
</Tooltip>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -19,9 +19,10 @@ import classNames from 'classnames'
|
||||||
import dayjs from 'dayjs'
|
import dayjs from 'dayjs'
|
||||||
import relativeTime from 'dayjs/plugin/relativeTime'
|
import relativeTime from 'dayjs/plugin/relativeTime'
|
||||||
import { useCallback, useEffect, useRef, useState } from 'react'
|
import { useCallback, useEffect, useRef, useState } from 'react'
|
||||||
import { FaBell, FaEnvelopeOpen } from 'react-icons/fa';
|
import { FaEnvelopeOpen } from 'react-icons/fa'
|
||||||
import { Link } from 'react-router-dom'
|
import { Link } from 'react-router-dom'
|
||||||
import { Notification as Notify, toast } from '../ui'
|
import { Notification as Notify, toast } from '../ui'
|
||||||
|
import { FcAdvertising } from 'react-icons/fc'
|
||||||
|
|
||||||
dayjs.extend(relativeTime)
|
dayjs.extend(relativeTime)
|
||||||
|
|
||||||
|
|
@ -57,10 +58,10 @@ const NotificationToggle = ({
|
||||||
content={unreadCount}
|
content={unreadCount}
|
||||||
innerClass="py-0 px-1"
|
innerClass="py-0 px-1"
|
||||||
>
|
>
|
||||||
<FaBell />
|
<FcAdvertising />
|
||||||
</Badge>
|
</Badge>
|
||||||
) : (
|
) : (
|
||||||
<FaBell />
|
<FcAdvertising />
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
)
|
)
|
||||||
|
|
@ -250,6 +251,7 @@ const _Notification = ({ className }: { className?: string }) => {
|
||||||
}, [desktopNotificationList])
|
}, [desktopNotificationList])
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
<Tooltip title={translate('::App.Notifications')}>
|
||||||
<Dropdown
|
<Dropdown
|
||||||
renderTitle={
|
renderTitle={
|
||||||
<NotificationToggle unreadCount={unreadNotificationCount} className={className} />
|
<NotificationToggle unreadCount={unreadNotificationCount} className={className} />
|
||||||
|
|
@ -332,6 +334,7 @@ const _Notification = ({ className }: { className?: string }) => {
|
||||||
</div>
|
</div>
|
||||||
</Dropdown.Item>
|
</Dropdown.Item>
|
||||||
</Dropdown>
|
</Dropdown>
|
||||||
|
</Tooltip>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,12 +6,13 @@ import useThemeClass from '@/utils/hooks/useThemeClass'
|
||||||
import classNames from 'classnames'
|
import classNames from 'classnames'
|
||||||
import { useEffect, useRef, useState } from 'react'
|
import { useEffect, useRef, useState } from 'react'
|
||||||
import Highlighter from 'react-highlight-words'
|
import Highlighter from 'react-highlight-words'
|
||||||
import { FaChevronRight, FaSearch } from 'react-icons/fa';
|
import { FaChevronRight, FaSearch } from 'react-icons/fa'
|
||||||
import { Link } from 'react-router-dom'
|
import { Link } from 'react-router-dom'
|
||||||
import { PermissionCheck } from '../shared'
|
import { PermissionCheck } from '../shared'
|
||||||
import { Badge, Checkbox, Pagination } from '../ui'
|
import { Badge, Checkbox, Pagination, Tooltip } from '../ui'
|
||||||
import { useLocalization } from '@/utils/hooks/useLocalization'
|
import { useLocalization } from '@/utils/hooks/useLocalization'
|
||||||
import { getSearch, getSystems } from '@/services/global-search.service'
|
import { getSearch, getSystems } from '@/services/global-search.service'
|
||||||
|
import { FcSearch } from 'react-icons/fc'
|
||||||
|
|
||||||
type SearchData = {
|
type SearchData = {
|
||||||
title: string
|
title: string
|
||||||
|
|
@ -173,9 +174,12 @@ const _Search = ({ className }: { className?: string }) => {
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<PermissionCheck permissions={[GLOBAL_SEARCH]}>
|
<PermissionCheck permissions={[GLOBAL_SEARCH]}>
|
||||||
|
<Tooltip title={translate('::App.Search')}>
|
||||||
<div className={classNames(className, 'text-2xl')} onClick={handleSearchOpen}>
|
<div className={classNames(className, 'text-2xl')} onClick={handleSearchOpen}>
|
||||||
<FaSearch />
|
<FcSearch />
|
||||||
</div>
|
</div>
|
||||||
|
</Tooltip>
|
||||||
|
|
||||||
<Dialog
|
<Dialog
|
||||||
contentClassName="p-0"
|
contentClassName="p-0"
|
||||||
isOpen={searchDialogOpen}
|
isOpen={searchDialogOpen}
|
||||||
|
|
@ -193,7 +197,7 @@ const _Search = ({ className }: { className?: string }) => {
|
||||||
onKeyDown={(e) => e.key === 'Enter' && handleSearch()}
|
onKeyDown={(e) => e.key === 'Enter' && handleSearch()}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<Button size="xs" onClick={handleSearch}>
|
<Button size="sm" onClick={handleSearch}>
|
||||||
<FaSearch />
|
<FaSearch />
|
||||||
</Button>
|
</Button>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,12 @@
|
||||||
import classNames from 'classnames'
|
import classNames from 'classnames'
|
||||||
import Drawer from '@/components/ui/Drawer'
|
import Drawer from '@/components/ui/Drawer'
|
||||||
import { FaCog } from 'react-icons/fa';
|
|
||||||
import SidePanelContent, { SidePanelContentProps } from './SidePanelContent'
|
import SidePanelContent, { SidePanelContentProps } from './SidePanelContent'
|
||||||
import withHeaderItem from '@/utils/hoc/withHeaderItem'
|
import withHeaderItem from '@/utils/hoc/withHeaderItem'
|
||||||
import { useStoreState, useStoreActions } from '@/store'
|
import { useStoreState, useStoreActions } from '@/store'
|
||||||
import type { CommonProps } from '@/@types/common'
|
import type { CommonProps } from '@/@types/common'
|
||||||
import { useLocalization } from '@/utils/hooks/useLocalization'
|
import { useLocalization } from '@/utils/hooks/useLocalization'
|
||||||
|
import { FcEngineering } from 'react-icons/fc'
|
||||||
|
import { Tooltip } from '@/components/ui'
|
||||||
|
|
||||||
type SidePanelProps = SidePanelContentProps & CommonProps
|
type SidePanelProps = SidePanelContentProps & CommonProps
|
||||||
|
|
||||||
|
|
@ -34,9 +35,11 @@ const _SidePanel = (props: SidePanelProps) => {
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
|
<Tooltip title={translate('::SidePanel.Title')}>
|
||||||
<div className={classNames('text-2xl', className)} onClick={openPanel} {...rest}>
|
<div className={classNames('text-2xl', className)} onClick={openPanel} {...rest}>
|
||||||
<FaCog />
|
<FcEngineering />
|
||||||
</div>
|
</div>
|
||||||
|
</Tooltip>
|
||||||
<Drawer
|
<Drawer
|
||||||
title={translate('::SidePanel.Title')}
|
title={translate('::SidePanel.Title')}
|
||||||
isOpen={panelExpand}
|
isOpen={panelExpand}
|
||||||
|
|
|
||||||
|
|
@ -6,10 +6,11 @@ import withHeaderItem from '@/utils/hoc/withHeaderItem'
|
||||||
import useAuth from '@/utils/hooks/useAuth'
|
import useAuth from '@/utils/hooks/useAuth'
|
||||||
import { useLocalization } from '@/utils/hooks/useLocalization'
|
import { useLocalization } from '@/utils/hooks/useLocalization'
|
||||||
import classNames from 'classnames'
|
import classNames from 'classnames'
|
||||||
import { FaChartLine } from 'react-icons/fa';
|
import { FaChartLine } from 'react-icons/fa'
|
||||||
import { FaSignOutAlt, FaUser } from 'react-icons/fa';
|
import { FaSignOutAlt, FaUser } from 'react-icons/fa'
|
||||||
import { Link } from 'react-router-dom'
|
import { Link } from 'react-router-dom'
|
||||||
import { Avatar } from '../ui'
|
import { Avatar } from '../ui'
|
||||||
|
import { FcNext, FcNfcSign, FcPodiumWithSpeaker, FcVoicePresentation } from 'react-icons/fc'
|
||||||
|
|
||||||
type DropdownList = {
|
type DropdownList = {
|
||||||
label: string
|
label: string
|
||||||
|
|
@ -27,12 +28,12 @@ const _UserDropdown = ({ className }: CommonProps) => {
|
||||||
{
|
{
|
||||||
label: translate('::Abp.Identity.Profile'),
|
label: translate('::Abp.Identity.Profile'),
|
||||||
path: ROUTES_ENUM.protected.admin.profile.general,
|
path: ROUTES_ENUM.protected.admin.profile.general,
|
||||||
icon: <FaUser />,
|
icon: <FcVoicePresentation />,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: translate('::Abp.Identity.ActivityLogs'),
|
label: translate('::Abp.Identity.ActivityLogs'),
|
||||||
path: ROUTES_ENUM.protected.admin.activityLog,
|
path: ROUTES_ENUM.protected.admin.activityLog,
|
||||||
icon: <FaChartLine />,
|
icon: <FcNfcSign />,
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
@ -48,7 +49,6 @@ const _UserDropdown = ({ className }: CommonProps) => {
|
||||||
)
|
)
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div>
|
|
||||||
<Dropdown menuStyle={{ minWidth: 240 }} renderTitle={UserAvatar} placement="bottom-end">
|
<Dropdown menuStyle={{ minWidth: 240 }} renderTitle={UserAvatar} placement="bottom-end">
|
||||||
<Dropdown.Item variant="header">
|
<Dropdown.Item variant="header">
|
||||||
<div className="py-2 px-3 flex items-center gap-2">
|
<div className="py-2 px-3 flex items-center gap-2">
|
||||||
|
|
@ -71,14 +71,13 @@ const _UserDropdown = ({ className }: CommonProps) => {
|
||||||
</Dropdown.Item>
|
</Dropdown.Item>
|
||||||
))}
|
))}
|
||||||
{/* <Dropdown.Item variant="divider" /> */}
|
{/* <Dropdown.Item variant="divider" /> */}
|
||||||
<Dropdown.Item eventKey="Sign Out" className="gap-2" onClick={signOut}>
|
<Dropdown.Item eventKey="Sign Out" className="mb-1 px-2" onClick={signOut}>
|
||||||
<span className="text-xl opacity-50">
|
<span className="text-xl opacity-50">
|
||||||
<FaSignOutAlt />
|
<FcNext />
|
||||||
</span>
|
</span>
|
||||||
<span>{translate('::Abp.Identity.SignOut')} </span>
|
<span>{translate('::Abp.Identity.SignOut')} </span>
|
||||||
</Dropdown.Item>
|
</Dropdown.Item>
|
||||||
</Dropdown>
|
</Dropdown>
|
||||||
</div>
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue