From 57fa29cc6e79fc161ad0e8bdd7540900a9b9ef42 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Tr=C3=A8sAbhi?= <43380238+tresabhi@users.noreply.github.com>
Date: Sat, 15 Jun 2024 13:24:53 -0500
Subject: [PATCH] feat: cleaner exempt
---
.../[id]/components/Characteristics/index.tsx | 22 +++---
.../Model/CharacteristicsSection.tsx | 72 ++++++++++---------
src/app/tools/tankopedia/[id]/page.tsx | 10 +--
src/app/tools/tankopedia/page.tsx | 14 ++--
src/components/Ad.tsx | 4 --
src/hooks/useAdExempt.ts | 2 +
6 files changed, 69 insertions(+), 55 deletions(-)
diff --git a/src/app/tools/tankopedia/[id]/components/Characteristics/index.tsx b/src/app/tools/tankopedia/[id]/components/Characteristics/index.tsx
index e0898aefe..be696b587 100644
--- a/src/app/tools/tankopedia/[id]/components/Characteristics/index.tsx
+++ b/src/app/tools/tankopedia/[id]/components/Characteristics/index.tsx
@@ -26,6 +26,7 @@ import {
CREW_MEMBER_NAMES,
GUN_TYPE_NAMES,
} from '../../../../../../core/blitzkit/tankDefinitions/constants';
+import { useAdExempt } from '../../../../../../hooks/useAdExempt';
import { useEquipment } from '../../../../../../hooks/useEquipment';
import { mutateDuel, useDuel } from '../../../../../../stores/duel';
import { useTankopediaTemporary } from '../../../../../../stores/tankopedia';
@@ -33,6 +34,7 @@ import { Info } from './components/Info';
import { InfoWithDelta } from './components/InfoWithDelta';
export function Characteristics() {
+ const exempt = useAdExempt();
const awaitedEquipmentDefinitions = use(equipmentDefinitions);
const awaitedModelDefinitions = use(modelDefinitions);
const awaitedProvisionDefinitions = use(provisionDefinitions);
@@ -485,15 +487,17 @@ export function Characteristics() {
-
-
-
+ {!exempt && (
+
+
+
+ )}
diff --git a/src/app/tools/tankopedia/[id]/components/Model/CharacteristicsSection.tsx b/src/app/tools/tankopedia/[id]/components/Model/CharacteristicsSection.tsx
index baa78d9bf..ac49fd42b 100644
--- a/src/app/tools/tankopedia/[id]/components/Model/CharacteristicsSection.tsx
+++ b/src/app/tools/tankopedia/[id]/components/Model/CharacteristicsSection.tsx
@@ -1,5 +1,6 @@
import { Flex, Heading } from '@radix-ui/themes';
import { Ad, AdType } from '../../../../../../components/Ad';
+import { useAdExempt } from '../../../../../../hooks/useAdExempt';
import { Characteristics } from '../Characteristics';
import { Consumables } from '../Characteristics/components/Consumables';
import { Equipment } from '../Characteristics/components/Equipment';
@@ -9,8 +10,11 @@ import { Provisions } from '../Characteristics/components/Provisions';
import { Skills } from '../Characteristics/components/Skills';
export function CharacteristicsSection() {
+ const exempt = useAdExempt();
+
return (
-
-
-
-
+ {!exempt && (
+
+
+
+
+ )}
-
-
-
-
+ {!exempt && (
+
+
+
+
+ )}
);
}
diff --git a/src/app/tools/tankopedia/[id]/page.tsx b/src/app/tools/tankopedia/[id]/page.tsx
index b2e50731e..d1b2a9191 100644
--- a/src/app/tools/tankopedia/[id]/page.tsx
+++ b/src/app/tools/tankopedia/[id]/page.tsx
@@ -2,9 +2,9 @@
import { useEffect } from 'react';
import { AdMidSectionResponsive } from '../../../../components/AdMidSectionResponsive';
-import { AdMidSectionWideOnly } from '../../../../components/AdMidSectionWideOnly';
import PageWrapper from '../../../../components/PageWrapper';
import { assignDuelMember } from '../../../../core/blitzkit/assignDuelMember';
+import { useAdExempt } from '../../../../hooks/useAdExempt';
import { mutateDuel, useDuel } from '../../../../stores/duel';
import { mutateTankopediaTemporary } from '../../../../stores/tankopedia';
import { HistorySection } from './components/HistorySection';
@@ -16,6 +16,7 @@ import { VideoSection } from './components/VideoSection';
export default function Page({ params }: { params: { id: string } }) {
const initialId = parseInt(params.id);
const assigned = useDuel((state) => state.assigned);
+ const exempt = useAdExempt();
useEffect(() => {
assignDuelMember('both', initialId);
@@ -76,14 +77,13 @@ export default function Page({ params }: { params: { id: string } }) {
{assigned && (
<>
-
+ {!exempt && }
-
+ {!exempt && }
-
+ {!exempt && }
- {/* */}
>
)}
diff --git a/src/app/tools/tankopedia/page.tsx b/src/app/tools/tankopedia/page.tsx
index 31d7bd068..99d25801b 100644
--- a/src/app/tools/tankopedia/page.tsx
+++ b/src/app/tools/tankopedia/page.tsx
@@ -5,10 +5,12 @@ import { times } from 'lodash';
import { useRouter } from 'next/navigation';
import { Ad, AdType } from '../../../components/Ad';
import PageWrapper from '../../../components/PageWrapper';
+import { useAdExempt } from '../../../hooks/useAdExempt';
import { TankSearch } from './components/TankSearch';
export default function Page() {
const router = useRouter();
+ const exempt = useAdExempt();
return (
@@ -18,11 +20,13 @@ export default function Page() {
}}
/>
-
- {times(2, (index) => (
-
- ))}
-
+ {!exempt && (
+
+ {times(2, (index) => (
+
+ ))}
+
+ )}
);
}
diff --git a/src/components/Ad.tsx b/src/components/Ad.tsx
index e6893d264..529fdbf64 100644
--- a/src/components/Ad.tsx
+++ b/src/components/Ad.tsx
@@ -5,7 +5,6 @@ import { uniqueId } from 'lodash';
import { useEffect, useRef } from 'react';
import { Vector2Tuple } from 'three';
import { imgur } from '../core/blitzkit/imgur';
-import { useAdExempt } from '../hooks/useAdExempt';
export enum AdType {
MediumRectangleHorizontalPurple = 738182777,
@@ -28,9 +27,6 @@ type AdProps = BoxProps & {
export function Ad({ type, style, ...props }: AdProps) {
const id = useRef(uniqueId());
const dimensions = AD_DIMENSIONS[type];
- const exempt = useAdExempt();
-
- if (exempt) return null;
useEffect(() => {
(window as any).msAdsQueue.push(function () {
diff --git a/src/hooks/useAdExempt.ts b/src/hooks/useAdExempt.ts
index 1aae3da9a..77617de48 100644
--- a/src/hooks/useAdExempt.ts
+++ b/src/hooks/useAdExempt.ts
@@ -2,6 +2,8 @@ import { use } from 'react';
import { useApp } from '../stores/app';
export function useAdExempt() {
+ return true;
+
const patreon = useApp((state) => state.logins.patreon);
if (!patreon) return false;