From 019514b699cf90c7f5af0d25620e32ed90dca7fe Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Tr=C3=A8sAbhi?= <43380238+tresabhi@users.noreply.github.com>
Date: Mon, 22 Jan 2024 15:50:41 -0600
Subject: [PATCH] feat: loading number
---
src/app/tools/components/Loader.tsx | 21 ++++++++++++++++---
.../[id]/components/Model/TankSandbox.tsx | 15 ++-----------
.../Model/components/ModelLoader.tsx | 17 +++++++++++++++
3 files changed, 37 insertions(+), 16 deletions(-)
create mode 100644 src/app/tools/tankopedia/[id]/components/Model/components/ModelLoader.tsx
diff --git a/src/app/tools/components/Loader.tsx b/src/app/tools/components/Loader.tsx
index fd293d61f..f56e9088d 100644
--- a/src/app/tools/components/Loader.tsx
+++ b/src/app/tools/components/Loader.tsx
@@ -1,5 +1,5 @@
import { blackA } from '@radix-ui/colors';
-import { Flex } from '@radix-ui/themes';
+import { Flex, Text } from '@radix-ui/themes';
import { PuffLoader } from 'react-spinners';
import { theme } from '../../../stitches.config';
@@ -8,11 +8,26 @@ const NAV_HEIGHT = 52.65;
interface LoaderProps {
naked?: boolean;
color?: string;
+ progress?: number;
}
-export function Loader({ naked, color }: LoaderProps) {
+export function Loader({ naked, color, progress }: LoaderProps) {
const animation = (
-
+
+ {progress !== undefined && (
+
+ {Math.round(progress * 100)}%
+
+ )}
+
+
);
if (naked) return animation;
diff --git a/src/app/tools/tankopedia/[id]/components/Model/TankSandbox.tsx b/src/app/tools/tankopedia/[id]/components/Model/TankSandbox.tsx
index 6f8b5fd7c..fd90ffa34 100644
--- a/src/app/tools/tankopedia/[id]/components/Model/TankSandbox.tsx
+++ b/src/app/tools/tankopedia/[id]/components/Model/TankSandbox.tsx
@@ -1,24 +1,22 @@
import { Card, Flex, Tabs, Theme } from '@radix-ui/themes';
-import { Html } from '@react-three/drei';
import { Canvas } from '@react-three/fiber';
import { Suspense, use, useEffect, useRef, useState } from 'react';
import { applyPitchYawLimits } from '../../../../../../core/blitz/applyPitchYawLimits';
import { modelDefinitions } from '../../../../../../core/blitzkrieg/modelDefinitions';
import { modelTransformEvent } from '../../../../../../core/blitzkrieg/modelTransform';
import { Pose, poseEvent } from '../../../../../../core/blitzkrieg/pose';
-import { theme } from '../../../../../../stitches.config';
import {
TankopediaMode,
mutateTankopediaTemporary,
useTankopediaTemporary,
} from '../../../../../../stores/tankopedia';
-import { Loader } from '../../../../components/Loader';
import { Duel } from '../../page';
import { Controls } from '../Control';
import { Lighting } from '../Lighting';
import { QuickEquipments } from '../QuickEquipments';
import { RotationInputs } from '../RotationInputs';
import { SceneProps } from '../SceneProps';
+import { ModelLoader } from './components/ModelLoader';
import { Options } from './components/Options';
import { TankArmor } from './components/TankArmor';
import { TankModel } from './components/TankModel';
@@ -164,16 +162,7 @@ export function TankSandbox({ duel }: TankSandboxProps) {
-
-
-