Compare commits

...
6 Commits
Author SHA1 Message Date
TrèsAbhi bbe53deb98 feat: logs 2025-08-04 21:06:24 -05:00
TrèsAbhi 1f07c2be74 feat: better logs 2025-08-04 21:00:40 -05:00
TrèsAbhi ea744b673a feat: add progress bar to hero section 2025-08-04 20:30:39 -05:00
TrèsAbhi d8a6cac52f fix: align footer second row 2025-08-04 20:15:16 -05:00
TrèsAbhi 1524b9a35d fix: disallow robots on non-master domains 2025-08-04 20:11:51 -05:00
TrèsAbhi 36738f57a9 fix: add mediump default 2025-08-04 20:09:50 -05:00
17 changed files with 88 additions and 18 deletions

No files matched your search

+1 -1
View File
@@ -19,7 +19,7 @@ concurrency:
env:
PUBLIC_WARGAMING_APPLICATION_ID: ${{ secrets.PUBLIC_WARGAMING_APPLICATION_ID }}
PUBLIC_PROMOTE_OPENTEST: ${{ secrets.PUBLIC_PROMOTE_OPENTEST }}
ALLOW_ROBOTS: 'true'
ALLOW_ROBOTS: ${{ secrets.ALLOW_ROBOTS }}
WOTB_GLOSSARY: ${{ secrets.WOTB_GLOSSARY }}
PUBLIC_GOOGLE_TAG_MANAGER_ID: ${{ secrets.PUBLIC_GOOGLE_TAG_MANAGER_ID }}
PUBLIC_GOOGLE_ANALYTICS_PROPERTY_ID: ${{ secrets.PUBLIC_GOOGLE_ANALYTICS_PROPERTY_ID }}
+1
View File
@@ -109,6 +109,7 @@
"Maddoxkkm",
"malum",
"mantlets",
"mediump",
"metallicness",
"metalness",
"minitelrose",
+19
View File
@@ -0,0 +1,19 @@
# BlitzKit 1.27.13
This update adds a feature for a future version of WoTB 👁️👃👁️
## Features
- Added compatibility for the new mechanic for the upcoming Polish Tank Destroyers
- This code will remain dormant until the update for WoTB is released
- Added a progress bar to the hero section of the Tankopedia to show that the model is loading
- Reordered some Tankopedia statistics to bring important statistics like Damage to the very top
## Fixes
- The second column in the footer is now aligned on mobile devices
- Fixed an issue that stopped the armor highlighting from working on the Kiwi browser and on older devices
## Technical Changes
- Removed permissions for robots to crawl non-blitzkit.app domains
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "blitzkit",
"private": true,
"version": "1.27.12",
"version": "1.27.13",
"description": "🎉 Tools for everything World of Tanks Blitz",
"type": "module",
"types": "./types.d.ts",
@@ -1,3 +1,5 @@
precision mediump float;
#define USE_FOG
#include <fog_pars_fragment>
@@ -1,3 +1,5 @@
precision mediump float;
#define USE_FOG
#include <fog_pars_vertex>
@@ -1,3 +1,5 @@
precision mediump float;
uniform float thickness;
uniform float penetration;
@@ -1,3 +1,5 @@
precision mediump float;
#include <clipping_planes_pars_vertex>
void main() {
@@ -1,3 +1,5 @@
precision mediump float;
varying vec3 vNormal;
varying vec3 vViewPosition;
@@ -1,3 +1,5 @@
precision mediump float;
varying vec3 vNormal;
varying vec3 vViewPosition;
+3 -3
View File
@@ -127,8 +127,8 @@ const strings = getStrings(locale);
</Flex>
</Flex>
<Flex gap="5" display={{ initial: 'flex', sm: 'none' }}>
<Flex direction="column" justify="between" align="end">
<Flex gap="5" display={{ initial: 'flex', sm: 'none' }} width="100%">
<Flex direction="column" gap="1" flexGrow="1" flexBasis="0" align="end">
<Text size="2" color="gray">BlitzKit</Text>
{
PUBLIC_ASSET_BRANCH !== 'preview' && (
@@ -140,7 +140,7 @@ const strings = getStrings(locale);
<Text size="2" color="gray">CDN</Text>
</Flex>
<Flex direction="column" justify="between" align="start">
<Flex direction="column" gap="1" flexGrow="1" flexBasis="0" align="start">
<Code size="2" color="gray">
{packageJson.version}
</Code>
@@ -0,0 +1,25 @@
import { Box, Progress } from '@radix-ui/themes';
import { useProgress } from '@react-three/drei';
interface Props {
fontSize?: string;
}
export function Tracker({ fontSize }: Props) {
const { loaded, total } = useProgress();
const progress = total === 0 ? 0 : (loaded / total) * 100;
return (
<Box
position="absolute"
left="50%"
bottom="0"
width="min(100%, 16rem)"
style={{
transform: `translate(-50%, calc(${fontSize} / 2))`,
}}
>
<Progress color="gray" value={progress} />
</Box>
);
}
@@ -1,10 +1,11 @@
import { TankType } from '@blitzkit/core';
import { Box, Heading } from '@radix-ui/themes';
import { Var } from '../../../../../core/radix/var';
import { useLocale } from '../../../../../hooks/useLocale';
import { Duel } from '../../../../../stores/duel';
import type { RadixColor } from '../../../../../stores/embedState';
import { TankopediaEphemeral } from '../../../../../stores/tankopediaEphemeral';
import { Var } from '../../../../../../core/radix/var';
import { useLocale } from '../../../../../../hooks/useLocale';
import { Duel } from '../../../../../../stores/duel';
import type { RadixColor } from '../../../../../../stores/embedState';
import { TankopediaEphemeral } from '../../../../../../stores/tankopediaEphemeral';
import { Tracker } from './components/Tracker';
interface TitleProps {
foreground?: boolean;
@@ -81,6 +82,11 @@ export function Title({ foreground }: TitleProps) {
: `${nationColors.text}-12`,
);
const name = unwrap(protagonist.name);
const fontSize = revealed
? disturbed
? '2rem'
: `min(65vh, ${125 / name.length}vw)`
: `min(48vh, ${75 / name.length}vw)`;
return (
<Box
@@ -97,11 +103,7 @@ export function Title({ foreground }: TitleProps) {
fontWeight: 900,
userSelect: 'none',
pointerEvents: 'none',
fontSize: revealed
? disturbed
? '2rem'
: `min(65vh, ${125 / name.length}vw)`
: `min(48vh, ${75 / name.length}vw)`,
fontSize,
whiteSpace: 'nowrap',
color: foreground ? Var('gray-a10') : color,
opacity: foreground && disturbed ? 0 : 1,
@@ -117,6 +119,8 @@ export function Title({ foreground }: TitleProps) {
>
{name}
</Heading>
{!revealed && <Tracker fontSize={fontSize} />}
</Box>
);
}
@@ -1,3 +1,5 @@
precision mediump float;
#define USE_FOG
#include <fog_pars_fragment>
@@ -1,3 +1,5 @@
precision mediump float;
#define USE_FOG
#include <fog_pars_vertex>
@@ -1,7 +1,9 @@
const GAMMA = 1.2;
export function fakeLog(x: number, a = 1) {
return (2 / Math.PI) * Math.atan((Math.PI * a * x) / 2);
return Math.sin((Math.PI / 2) * x) ** (1 / GAMMA);
}
export function fakeLogInverse(y: number, a = 1) {
return (2 / (Math.PI * a)) * Math.tan((Math.PI * y) / 2);
return (2 / Math.PI) * Math.asin(y ** GAMMA);
}
+4 -1
View File
@@ -1,9 +1,12 @@
import type { APIContext } from 'astro';
const ALLOW_ROBOTS = import.meta.env.ALLOW_ROBOTS === 'true';
export async function GET({ request }: APIContext) {
const flags: Record<string, string | null> = {
'User-agent': '*',
Allow: '/',
Allow: ALLOW_ROBOTS ? '/' : null,
Disallow: ALLOW_ROBOTS ? null : '/',
space: null,
Sitemap: `${new URL(request.url).origin}/sitemap-index.xml`,