Header kısmındaki ikonları Fc olarak değiştirdim

This commit is contained in:
Sedat Öztürk 2025-08-17 13:58:33 +03:00
parent f17d95c1d2
commit 08b3cb43c8
8 changed files with 171 additions and 158 deletions

View file

@ -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"), {

View file

@ -24,9 +24,9 @@ const HeaderActionsEnd = () => {
<> <>
<Search /> <Search />
<AiAssistant /> <AiAssistant />
<LanguageSelector />
<Notification /> <Notification />
<SidePanel /> <SidePanel />
<LanguageSelector />
<UserDropdown hoverable={false} /> <UserDropdown hoverable={false} />
</> </>
) )

View file

@ -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>
</>
) )
} }

View file

@ -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>
) )
} }

View file

@ -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>
) )
} }

View file

@ -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>

View file

@ -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}

View file

@ -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>
) )
} }