diff --git a/src/pages/Messages/MessageBar.tsx b/src/pages/Messages/MessageBar.tsx
index e328a7da..90aaeeb5 100644
--- a/src/pages/Messages/MessageBar.tsx
+++ b/src/pages/Messages/MessageBar.tsx
@@ -1,4 +1,5 @@
-import React from 'react';
+import type React from 'react';
+import { useState } from 'react';
import { Input } from '@components/generic/form/Input';
import { connection } from '@core/connection';
@@ -14,9 +15,9 @@ export const MessageBar = ({ chatIndex }: MessageBarProps): JSX.Element => {
const dispatch = useAppDispatch();
const meshtasticState = useAppSelector((state) => state.meshtastic);
- const [isChannel, setIsChannel] = React.useState(false);
+ const [isChannel, setIsChannel] = useState(false);
- React.useState(() => {
+ useState(() => {
setIsChannel(
meshtasticState.radio.channels.findIndex(
(channel) => channel.index === chatIndex,
@@ -24,7 +25,7 @@ export const MessageBar = ({ chatIndex }: MessageBarProps): JSX.Element => {
);
});
- const [currentMessage, setCurrentMessage] = React.useState('');
+ const [currentMessage, setCurrentMessage] = useState('');
const sendMessage = (): void => {
if (meshtasticState.ready) {
void connection.sendText(
@@ -33,6 +34,13 @@ export const MessageBar = ({ chatIndex }: MessageBarProps): JSX.Element => {
true,
isChannel ? chatIndex-- : 0,
(id) => {
+ console.log(`Chat Index, ${chatIndex}`);
+ console.log(`Chat Index --, ${chatIndex--}`);
+
+ console.log(
+ `Chat Index computed, ${isChannel ? chatIndex-- : chatIndex}`,
+ );
+
dispatch(
ackMessage({
chatIndex: isChannel ? chatIndex-- : chatIndex,
diff --git a/src/pages/Messages/index.tsx b/src/pages/Messages/index.tsx
index 5d151ab7..7cb8d91b 100644
--- a/src/pages/Messages/index.tsx
+++ b/src/pages/Messages/index.tsx
@@ -1,4 +1,5 @@
-import React from 'react';
+import type React from 'react';
+import { useEffect, useRef, useState } from 'react';
import { FiHash, FiMessageCircle } from 'react-icons/fi';
@@ -12,9 +13,9 @@ import { Message } from '@pages/Messages/Message';
import { MessageBar } from '@pages/Messages/MessageBar';
export const Messages = (): JSX.Element => {
- const [selectedChatIndex, setSelectedChatIndex] = React.useState
(0);
+ const [selectedChatIndex, setSelectedChatIndex] = useState(0);
- const chatRef = React.useRef(null);
+ const chatRef = useRef(null);
const myNodeNum = useAppSelector(
(state) => state.meshtastic.radio.hardware,
@@ -25,7 +26,7 @@ export const Messages = (): JSX.Element => {
(state) => state.meshtastic.radio.channels,
).filter((ch) => ch.role !== Protobuf.Channel_Role.DISABLED);
- React.useEffect(() => {
+ useEffect(() => {
if (chatRef.current) {
chatRef.current.scrollTop = chatRef.current.scrollHeight;
}
@@ -66,7 +67,7 @@ export const Messages = (): JSX.Element => {
-
} />
+
} />
{channels.findIndex((ch) => ch.index === selectedChatIndex) !==
-1 ? (
diff --git a/src/pages/Nodes/NodeCard.tsx b/src/pages/Nodes/NodeCard.tsx
index eb7218a9..d5993456 100644
--- a/src/pages/Nodes/NodeCard.tsx
+++ b/src/pages/Nodes/NodeCard.tsx
@@ -1,7 +1,8 @@
-import React from 'react';
+import type React from 'react';
+import { useEffect, useState } from 'react';
import { m } from 'framer-motion';
-import mapbox from 'mapbox-gl';
+import { LngLat } from 'mapbox-gl';
import { BiCrown } from 'react-icons/bi';
import {
FiAlignLeft,
@@ -40,11 +41,11 @@ export const NodeCard = ({
setSelected,
}: NodeCardProps): JSX.Element => {
const { map } = useMapbox();
- const [infoOpen, setInfoOpen] = React.useState(false);
+ const [infoOpen, setInfoOpen] = useState(false);
const [PositionConfidence, setPositionConfidence] =
- React.useState
('none');
+ useState('none');
- React.useEffect(() => {
+ useEffect(() => {
setPositionConfidence(
node.currentPosition
? new Date(node.currentPosition.posTimestamp * 1000) >
@@ -62,6 +63,7 @@ export const NodeCard = ({
actions={
<>
{
@@ -69,7 +71,7 @@ export const NodeCard = ({
setSelected();
if (PositionConfidence !== 'none' && node.currentPosition) {
map?.flyTo({
- center: new mapbox.LngLat(
+ center: new LngLat(
node.currentPosition.longitudeI / 1e7,
node.currentPosition.latitudeI / 1e7,
),
@@ -88,6 +90,7 @@ export const NodeCard = ({
}
/>
{
e.stopPropagation();
diff --git a/src/pages/Nodes/index.tsx b/src/pages/Nodes/index.tsx
index 52471be2..997af6ff 100644
--- a/src/pages/Nodes/index.tsx
+++ b/src/pages/Nodes/index.tsx
@@ -1,4 +1,5 @@
-import React from 'react';
+import type React from 'react';
+import { useEffect, useState } from 'react';
import { m } from 'framer-motion';
import type { Edge, Node } from 'react-flow-renderer';
@@ -15,15 +16,15 @@ import { Hashicon } from '@emeraldpay/hashicon-react';
import { useAppSelector } from '@hooks/useAppSelector';
export const Nodes = (): JSX.Element => {
- const [graphNodes, setGraphNodes] = React.useState([]);
- const [graphEdges, setGraphEdges] = React.useState([]);
- const [selected, setSelected] = React.useState(0);
+ const [graphNodes, setGraphNodes] = useState([]);
+ const [graphEdges, setGraphEdges] = useState([]);
+ const [selected, setSelected] = useState(0);
const nodes = useAppSelector((state) => state.meshtastic.nodes);
const myNodeNum = useAppSelector(
(state) => state.meshtastic.radio.hardware.myNodeNum,
);
- React.useEffect(() => {
+ useEffect(() => {
const tmpNodes: Node[] = [];
// User Terminal
tmpNodes.push({
@@ -45,7 +46,7 @@ export const Nodes = (): JSX.Element => {
setGraphNodes(tmpNodes);
}, [nodes, myNodeNum]);
- React.useEffect(() => {
+ useEffect(() => {
const tmpEdges: Edge[] = [];
nodes.map((node, index) => {
@@ -91,6 +92,7 @@ export const Nodes = (): JSX.Element => {
}}
actions={
{
e.stopPropagation();
setSelected(node.number);
diff --git a/tailwind.config.cjs b/tailwind.config.cjs
index 5e922d40..b91eec88 100644
--- a/tailwind.config.cjs
+++ b/tailwind.config.cjs
@@ -11,9 +11,7 @@ module.exports = {
extend: {
colors: {
primary: '#67ea94',
- // primaryDark: '#1E293B',
primaryDark: '#25262C',
- // secondaryDark: '#0F172A',
secondaryDark: '#1C1D23',
accentDark: '25262C',
},
diff --git a/vite.config.ts b/vite.config.ts
index a3079cff..a08e1f16 100644
--- a/vite.config.ts
+++ b/vite.config.ts
@@ -1,5 +1,5 @@
import { execSync } from 'child_process';
-import path from 'path';
+import { resolve } from 'path';
import { visualizer } from 'rollup-plugin-visualizer';
import { defineConfig } from 'vite';
import importToCDN from 'vite-plugin-cdn-import';
@@ -79,11 +79,11 @@ export default defineConfig({
},
resolve: {
alias: {
- '@app': path.resolve(__dirname, './src'),
- '@pages': path.resolve(__dirname, './src/pages'),
- '@components': path.resolve(__dirname, './src/components'),
- '@hooks': path.resolve(__dirname, './src/hooks'),
- '@core': path.resolve(__dirname, './src/core'),
+ '@app': resolve(__dirname, './src'),
+ '@pages': resolve(__dirname, './src/pages'),
+ '@components': resolve(__dirname, './src/components'),
+ '@hooks': resolve(__dirname, './src/hooks'),
+ '@core': resolve(__dirname, './src/core'),
'@skypack/': 'https://cdn.skypack.dev/',
},
},