mirror of
https://github.com/blitzkit/blitzkit.git
synced 2026-10-24 12:09:51 +02:00
feat: promote aeson
This commit is contained in:
1 parent
166c26b65a
commit
fa72e8efab
5 files changed
+62
-9
No files matched your search
@@ -0,0 +1,32 @@
|
|||||||
|
import { imgur } from '@blitzkit/core';
|
||||||
|
import { Flex, Heading, Link, Text } from '@radix-ui/themes';
|
||||||
|
import { Var } from '../core/radix/var';
|
||||||
|
|
||||||
|
export function AesonPlug() {
|
||||||
|
return (
|
||||||
|
<Link
|
||||||
|
color="gray"
|
||||||
|
highContrast
|
||||||
|
href="https://discord.gg/WHdER7ZPAD"
|
||||||
|
underline="hover"
|
||||||
|
>
|
||||||
|
<Flex
|
||||||
|
style={{
|
||||||
|
backgroundColor: Var('green-3'),
|
||||||
|
borderRadius: Var('radius-3'),
|
||||||
|
overflow: 'hidden',
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<img
|
||||||
|
src={imgur('akrxfFC')}
|
||||||
|
style={{ width: '6rem', height: '6rem', objectFit: 'cover' }}
|
||||||
|
/>
|
||||||
|
|
||||||
|
<Flex py="3" px="5" direction="column" justify="center">
|
||||||
|
<Heading size="5">Preview brought to you by WoT Blitz News</Heading>
|
||||||
|
<Text color="gray">What the hell do I put here haha</Text>
|
||||||
|
</Flex>
|
||||||
|
</Flex>
|
||||||
|
</Link>
|
||||||
|
);
|
||||||
|
}
|
||||||
@@ -1,15 +1,19 @@
|
|||||||
|
import { assertSecret } from '@blitzkit/core';
|
||||||
import { MinusCircledIcon } from '@radix-ui/react-icons';
|
import { MinusCircledIcon } from '@radix-ui/react-icons';
|
||||||
import { Callout, Flex } from '@radix-ui/themes';
|
import { Callout, Flex } from '@radix-ui/themes';
|
||||||
import { uniq } from 'lodash-es';
|
import { uniq } from 'lodash-es';
|
||||||
import { useEffect } from 'react';
|
import { useEffect } from 'react';
|
||||||
import { Duel } from '../../stores/duel';
|
import { Duel } from '../../stores/duel';
|
||||||
import { TankopediaPersistent } from '../../stores/tankopediaPersistent';
|
import { TankopediaPersistent } from '../../stores/tankopediaPersistent';
|
||||||
|
import { AesonPlug } from '../AesonPlug';
|
||||||
import { ExperimentIcon } from '../ExperimentIcon';
|
import { ExperimentIcon } from '../ExperimentIcon';
|
||||||
import { MAX_RECENTLY_VIEWED } from '../TankSearch/constants';
|
import { MAX_RECENTLY_VIEWED } from '../TankSearch/constants';
|
||||||
|
|
||||||
export function CalloutsSection() {
|
export function CalloutsSection() {
|
||||||
const tank = Duel.use((state) => state.protagonist.tank);
|
const tank = Duel.use((state) => state.protagonist.tank);
|
||||||
const mutateTankopediaPersistent = TankopediaPersistent.useMutation();
|
const mutateTankopediaPersistent = TankopediaPersistent.useMutation();
|
||||||
|
const promoteAeson =
|
||||||
|
assertSecret(import.meta.env.PUBLIC_ASSET_BRANCH) === 'preview';
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
mutateTankopediaPersistent((draft) => {
|
mutateTankopediaPersistent((draft) => {
|
||||||
@@ -20,10 +24,12 @@ export function CalloutsSection() {
|
|||||||
});
|
});
|
||||||
}, [tank]);
|
}, [tank]);
|
||||||
|
|
||||||
if (!tank.testing && !tank.deprecated) return null;
|
if (!tank.testing && !tank.deprecated && !promoteAeson) return null;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Flex direction="column" align="center" gap="2" mb="4">
|
<Flex direction="column" align="center" gap="2" mb="4">
|
||||||
|
<AesonPlug />
|
||||||
|
|
||||||
{tank.deprecated && (
|
{tank.deprecated && (
|
||||||
<Callout.Root color="red">
|
<Callout.Root color="red">
|
||||||
<Callout.Icon>
|
<Callout.Icon>
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ export const tankopediaTool: Tool = {
|
|||||||
color: 'purple',
|
color: 'purple',
|
||||||
},
|
},
|
||||||
significant: true,
|
significant: true,
|
||||||
branches: ['main', 'dev', 'opentest'],
|
branches: ['main', 'dev', 'opentest', 'preview'],
|
||||||
};
|
};
|
||||||
|
|
||||||
// export const ratingTool: Tool = {
|
// export const ratingTool: Tool = {
|
||||||
@@ -58,7 +58,7 @@ export const compareTool: Tool = {
|
|||||||
text: 'Compare tanks',
|
text: 'Compare tanks',
|
||||||
color: 'crimson',
|
color: 'crimson',
|
||||||
},
|
},
|
||||||
branches: ['main', 'dev', 'opentest'],
|
branches: ['main', 'dev', 'opentest', 'preview'],
|
||||||
};
|
};
|
||||||
|
|
||||||
export const sessionTool: Tool = {
|
export const sessionTool: Tool = {
|
||||||
@@ -138,7 +138,7 @@ export const embedTool: Tool = {
|
|||||||
color: 'red',
|
color: 'red',
|
||||||
},
|
},
|
||||||
image: 'Q0faRYg',
|
image: 'Q0faRYg',
|
||||||
branches: ['main', 'dev', 'opentest'],
|
branches: ['main', 'dev'],
|
||||||
};
|
};
|
||||||
|
|
||||||
export const homeTool: Tool = {
|
export const homeTool: Tool = {
|
||||||
@@ -173,7 +173,7 @@ export const tierListTool: Tool = {
|
|||||||
color: 'orange',
|
color: 'orange',
|
||||||
},
|
},
|
||||||
image: 'oKKc8Xv',
|
image: 'oKKc8Xv',
|
||||||
branches: ['main', 'dev'],
|
branches: ['main', 'dev', 'opentest', 'preview'],
|
||||||
};
|
};
|
||||||
|
|
||||||
export const TOOLS: Tool[] = [
|
export const TOOLS: Tool[] = [
|
||||||
|
|||||||
@@ -3,14 +3,17 @@ import { assertSecret } from '@blitzkit/core';
|
|||||||
const BRANCH_NAMES: Record<string, string> = {
|
const BRANCH_NAMES: Record<string, string> = {
|
||||||
dev: 'beta',
|
dev: 'beta',
|
||||||
opentest: 'opentest',
|
opentest: 'opentest',
|
||||||
|
preview: 'preview',
|
||||||
};
|
};
|
||||||
|
|
||||||
export function resolveBranchName() {
|
export function resolveBranchName() {
|
||||||
if (assertSecret(import.meta.env.MODE) === 'development') {
|
const secret = assertSecret(import.meta.env.PUBLIC_ASSET_BRANCH);
|
||||||
|
if (
|
||||||
|
assertSecret(import.meta.env.MODE) === 'development' &&
|
||||||
|
secret === 'dev'
|
||||||
|
) {
|
||||||
return 'dev';
|
return 'dev';
|
||||||
} else {
|
} else {
|
||||||
return BRANCH_NAMES[assertSecret(import.meta.env.PUBLIC_ASSET_BRANCH)] as
|
return BRANCH_NAMES[secret] as string | undefined;
|
||||||
| string
|
|
||||||
| undefined;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,5 +1,7 @@
|
|||||||
---
|
---
|
||||||
|
import { assertSecret } from '@blitzkit/core';
|
||||||
import { Flex, Heading } from '@radix-ui/themes';
|
import { Flex, Heading } from '@radix-ui/themes';
|
||||||
|
import { AesonPlug } from '../components/AesonPlug';
|
||||||
import HomeHero from '../components/HomeHero.astro';
|
import HomeHero from '../components/HomeHero.astro';
|
||||||
import { HomePageHotTanks } from '../components/HomePageHotTanks';
|
import { HomePageHotTanks } from '../components/HomePageHotTanks';
|
||||||
import { Plugs } from '../components/Plugs.tsx';
|
import { Plugs } from '../components/Plugs.tsx';
|
||||||
@@ -16,6 +18,8 @@ import {
|
|||||||
tierListTool,
|
tierListTool,
|
||||||
} from '../constants/tools';
|
} from '../constants/tools';
|
||||||
import BaseLayout from '../layouts/BaseLayout.astro';
|
import BaseLayout from '../layouts/BaseLayout.astro';
|
||||||
|
|
||||||
|
const branch = assertSecret(import.meta.env.PUBLIC_ASSET_BRANCH);
|
||||||
---
|
---
|
||||||
|
|
||||||
<BaseLayout>
|
<BaseLayout>
|
||||||
@@ -23,6 +27,14 @@ import BaseLayout from '../layouts/BaseLayout.astro';
|
|||||||
|
|
||||||
<Plugs client:idle />
|
<Plugs client:idle />
|
||||||
|
|
||||||
|
{
|
||||||
|
branch === 'preview' && (
|
||||||
|
<Flex justify="center" my="8" px="4">
|
||||||
|
<AesonPlug />
|
||||||
|
</Flex>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
<Flex p="4" justify="center" gap="4" mt="3">
|
<Flex p="4" justify="center" gap="4" mt="3">
|
||||||
<Flex maxWidth="64rem" flexGrow="1" gap="4" direction="column">
|
<Flex maxWidth="64rem" flexGrow="1" gap="4" direction="column">
|
||||||
<ToolCard tool={tankopediaTool} />
|
<ToolCard tool={tankopediaTool} />
|
||||||
|
|||||||
Reference in new issue
Block a user