-
+
-
@@ -21,7 +29,9 @@
import { defineComponent } from 'vue'
/**
- * Split design with a sticky aside on the left and the main content on the right
+ * Split design with a sticky aside left and right and the main content on the right
+ *
+ * The right aside should only contain supplementary information as it will not be visible on md/lg/xl
*/
export default defineComponent({
})
diff --git a/web/components.d.ts b/web/components.d.ts
index ea5b1676..ae4bf7c7 100644
--- a/web/components.d.ts
+++ b/web/components.d.ts
@@ -8,11 +8,10 @@ export {}
declare module 'vue' {
export interface GlobalComponents {
AbsoluteTime: typeof import('./components/absolute-time.vue')['default']
- AccessoryTierList: typeof import('./components/accessory-tier-list.vue')['default']
+ AccessoryTierListPage: typeof import('./components/accessory-tier-list-page.vue')['default']
Ad: typeof import('./components/ad.vue')['default']
AdblockBait: typeof import('./components/adblock-bait.vue')['default']
AdCell: typeof import('./components/ad-cell.vue')['default']
- Adsense: typeof import('./components/adsense.vue')['default']
AiReport1: typeof import('./components/ai-report-1.vue')['default']
AiReport2: typeof import('./components/ai-report-2.vue')['default']
AppBottomNav: typeof import('./components/app-bottom-nav.vue')['default']
@@ -47,6 +46,7 @@ declare module 'vue' {
BrawlerVoicelines: typeof import('./components/brawler/brawler-voicelines.vue')['default']
BrawlerWeaknessesCard: typeof import('./components/brawler/brawler-weaknesses-card.vue')['default']
Breadcrumbs: typeof import('./components/breadcrumbs.vue')['default']
+ BTitle: typeof import('./components/b-title.vue')['default']
ClubActivityTable: typeof import('./components/club/club-activity-table.vue')['default']
ClubAside: typeof import('./components/club/club-aside.vue')['default']
ClubMemberTable: typeof import('./components/club/club-member-table.vue')['default']
@@ -110,7 +110,6 @@ declare module 'vue' {
PlayerTimeStatistics: typeof import('./components/player/player-time-statistics.vue')['default']
PlayerTrophyStatistics: typeof import('./components/player/player-trophy-statistics.vue')['default']
PlaywirePrivacy: typeof import('./components/playwire-privacy.vue')['default']
- PlaywireRamp: typeof import('./components/playwire-ramp.vue')['default']
ProdigyAd: typeof import('./components/prodigy-ad.vue')['default']
QuizCard: typeof import('./components/quiz/quiz-card.vue')['default']
QuizCtaCard: typeof import('./components/quiz/quiz-cta-card.vue')['default']
@@ -131,6 +130,7 @@ declare module 'vue' {
SModeMap: typeof import('./components/klicker/s-mode-map.vue')['default']
SPlayerName: typeof import('./components/klicker/s-player-name.vue')['default']
SPlayerTag: typeof import('./components/klicker/s-player-tag.vue')['default']
+ SplitPage: typeof import('./components/split-page.vue')['default']
SPower: typeof import('./components/klicker/s-power.vue')['default']
SPowerplay: typeof import('./components/klicker/s-powerplay.vue')['default']
SSeason: typeof import('./components/klicker/s-season.vue')['default']
diff --git a/web/components/accessory-tier-list.vue b/web/components/accessory-tier-list-page.vue
similarity index 98%
rename from web/components/accessory-tier-list.vue
rename to web/components/accessory-tier-list-page.vue
index ce5da7d7..44c84cbd 100644
--- a/web/components/accessory-tier-list.vue
+++ b/web/components/accessory-tier-list-page.vue
@@ -1,5 +1,5 @@
-
+
diff --git a/web/components/ad.vue b/web/components/ad.vue
index b50ff74d..a9b75383 100644
--- a/web/components/ad.vue
+++ b/web/components/ad.vue
@@ -1,9 +1,38 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -21,22 +50,28 @@
>
-
+
-
-
-
-
+
+
+
+
+
+
+
+
@@ -48,14 +83,20 @@
>
-
+
-
+
@@ -87,8 +128,8 @@
diff --git a/web/components/adsense.vue b/web/components/adsense.vue
deleted file mode 100644
index 23a960ff..00000000
--- a/web/components/adsense.vue
+++ /dev/null
@@ -1,41 +0,0 @@
-
-
-
-
diff --git a/web/components/ai-report-1.vue b/web/components/ai-report-1.vue
index 5d0738ca..41aafbf9 100644
--- a/web/components/ai-report-1.vue
+++ b/web/components/ai-report-1.vue
@@ -1,5 +1,5 @@
-
+
+ {{ title }}
+
+
+
diff --git a/web/components/map/map-views.vue b/web/components/map/map-views.vue
index 79ced579..f79ee7a5 100644
--- a/web/components/map/map-views.vue
+++ b/web/components/map/map-views.vue
@@ -74,8 +74,6 @@
@@ -187,8 +183,6 @@
@@ -235,8 +229,6 @@
@@ -283,8 +275,6 @@
diff --git a/web/components/split-page.vue b/web/components/split-page.vue
new file mode 100644
index 00000000..a4e6a4f7
--- /dev/null
+++ b/web/components/split-page.vue
@@ -0,0 +1,53 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/web/components/venatus-rich-media.vue b/web/components/venatus-rich-media.vue
index d3a9645f..bef8e39f 100644
--- a/web/components/venatus-rich-media.vue
+++ b/web/components/venatus-rich-media.vue
@@ -1,25 +1,49 @@
diff --git a/web/composables/adsense.ts b/web/composables/adsense.ts
deleted file mode 100644
index 572ad669..00000000
--- a/web/composables/adsense.ts
+++ /dev/null
@@ -1,22 +0,0 @@
-import { useMeta } from "./compat";
-
-declare global {
- interface Window {
- adsbygoogle: {
- push: (args: any) => void;
- pauseAdRequests: number;
- };
- }
-}
-export function useAdsense(publisherId: string) {
- useMeta(() => ({
- script: [
- {
- key: 'adsense',
- src: `https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=${publisherId}`,
- async: true,
- crossorigin: 'anonymous',
- },
- ],
- }))
-}
diff --git a/web/config.ts b/web/config.ts
index c5541503..e3aed7b2 100644
--- a/web/config.ts
+++ b/web/config.ts
@@ -4,7 +4,6 @@ export interface Config {
managerUrl: string
renderUrl: string
ga4Id: string
- adsensePubid: string
sentryDsn: string
venatusSiteId: string
quantcastChoiceId: string
@@ -21,7 +20,6 @@ export const config: Config = {
managerUrl: process.env.MANAGER_URL ?? '',
renderUrl: process.env.RENDER_URL ?? '',
ga4Id: process.env.GA4_ID ?? '',
- adsensePubid: process.env.ADSENSE_PUBID ?? '',
venatusSiteId: process.env.VENATUS_SITE_ID ?? '',
quantcastChoiceId: process.env.QUANTCAST_CHOICE_ID ?? '',
sentryDsn: process.env.SENTRY_DSN ?? '',
diff --git a/web/layouts/default.vue b/web/layouts/default.vue
index 45ea79e1..0a31b966 100644
--- a/web/layouts/default.vue
+++ b/web/layouts/default.vue
@@ -8,18 +8,18 @@
-
-
-
@@ -50,6 +50,7 @@ import { useI18n } from 'vue-i18n'
import { useConfig, useLocaleCookieRedirect, useLocalePath } from '~/composables/compat'
import { useQuantcast } from '~/composables/quantcast'
import { useVenatus } from '~/composables/venatus'
+import { useRoute } from 'vue-router'
export default defineComponent({
components: {
@@ -86,9 +87,13 @@ export default defineComponent({
useQuantcast(config.quantcastChoiceId)
+ const route = useRoute()
+ const topBannerType = computed(() => route.meta.topBannerType as string ?? 'takeover')
+
return {
links,
container,
+ topBannerType,
}
},
})
diff --git a/web/pages/about.vue b/web/pages/about.vue
index 1220cbf9..5e31de3c 100644
--- a/web/pages/about.vue
+++ b/web/pages/about.vue
@@ -86,3 +86,11 @@ export default defineComponent({
},
})
+
+
+{
+ meta: {
+ topBannerType: 'none',
+ },
+}
+
diff --git a/web/pages/club/_tag.vue b/web/pages/club/_tag.vue
index 44ed1e10..fee146ae 100644
--- a/web/pages/club/_tag.vue
+++ b/web/pages/club/_tag.vue
@@ -1,114 +1,114 @@
-
-
-
-
-
-
-
-
-
+
-
-
-
- {{ club.description }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ $t('state.no-data') }}
-
-
{{ $t('club.load-activity') }}
-
-
-
-
-
-
-
-
-
-
-
-
+ class="!h-auto max-w-sm"
+ >
+
+
+
+
+
+
+ {{ club.description }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ $t('state.no-data') }}
+
+
{{ $t('club.load-activity') }}
+
+
+
+
+
+
+
+
+
+
+
+
+