added advertising
This commit is contained in:
@@ -9,7 +9,10 @@ import { useTheme } from "../context/ThemeContext";
|
||||
import { useUnread } from "../context/UnreadContext";
|
||||
import { useLanguageToggle } from "../hooks/useLanguageToggle";
|
||||
import { useTranslation } from 'react-i18next';
|
||||
import { useAuthContext } from "../context/AuthContext";
|
||||
import { useIsDesktop } from "../hooks/useIsDesktop";
|
||||
import SupportModal from "./SupportModal";
|
||||
import UploadAdModal from "./UploadAdModal";
|
||||
import ProfileAvatar from "./profile/ProfileAvatar";
|
||||
import NahodkaLogo from "./MainNahodkaLogo";
|
||||
|
||||
@@ -28,11 +31,16 @@ export default function Sidebar({
|
||||
profileData,
|
||||
}) {
|
||||
const navigate = useNavigate();
|
||||
const { isAdmin } = useAuthContext();
|
||||
// Админ-пункты (реклама) показываем только в десктоп-раскладке:
|
||||
// на мобильном их не должно быть вообще (ни в drawer-меню).
|
||||
const isDesktop = useIsDesktop();
|
||||
const { theme, toggle: toggleTheme } = useTheme();
|
||||
const { totalUnread } = useUnread();
|
||||
const { t } = useTranslation();
|
||||
const { language, toggleLanguage } = useLanguageToggle();
|
||||
const [supportOpen, setSupportOpen] = useState(false);
|
||||
const [uploadAdOpen, setUploadAdOpen] = useState(false);
|
||||
const HelpIcon = NavIcons.help;
|
||||
|
||||
const handleNavItem = (itemKey) => {
|
||||
@@ -100,6 +108,31 @@ export default function Sidebar({
|
||||
</button>
|
||||
);
|
||||
})}
|
||||
{isAdmin && isDesktop && (
|
||||
<>
|
||||
<div className="f-sb-divider" />
|
||||
<button
|
||||
type="button"
|
||||
className="f-sb-item"
|
||||
onClick={() => {
|
||||
setUploadAdOpen(true);
|
||||
onClose();
|
||||
}}
|
||||
>
|
||||
{NavIcons.megaphone()} {t('admin.uploadAd')}
|
||||
</button>
|
||||
<button
|
||||
type="button"
|
||||
className="f-sb-item"
|
||||
onClick={() => {
|
||||
navigate("/admin/ads");
|
||||
onClose();
|
||||
}}
|
||||
>
|
||||
{NavIcons.grid()} {t('adminPanel.campaignsNav')}
|
||||
</button>
|
||||
</>
|
||||
)}
|
||||
</nav>
|
||||
<div className="f-sb-bottom">
|
||||
{NAV_BOTTOM.map(({ icon, key: itemKey, labelKey }) => {
|
||||
@@ -164,6 +197,7 @@ export default function Sidebar({
|
||||
</div>
|
||||
</div>
|
||||
{supportOpen && <SupportModal onClose={() => setSupportOpen(false)} />}
|
||||
{uploadAdOpen && <UploadAdModal onClose={() => setUploadAdOpen(false)} />}
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user