simplify tools imports

This commit is contained in:
Gavin McDonald
2025-07-04 14:18:38 -04:00
parent c6e316a1f8
commit b4b0c853f1
14 changed files with 29 additions and 26 deletions

View File

@@ -6,8 +6,7 @@ import TiltCard from '@/components/TiltCard';
import ToolTip from '@/components/ToolTip'; import ToolTip from '@/components/ToolTip';
import StackTheDeck from '@/components/StackTheDeck'; import StackTheDeck from '@/components/StackTheDeck';
import Sheen from '@/components/Sheen'; import Sheen from '@/components/Sheen';
import getCardInfo from '@/tools/getCardInfo'; import { getCardInfo, getURL } from '@/tools';
import getURL from '@/tools/getURL';
import tarokkaCards from '@/constants/tarokkaCards'; import tarokkaCards from '@/constants/tarokkaCards';
import { layout } from '@/constants/tarokka'; import { layout } from '@/constants/tarokka';

View File

@@ -3,7 +3,7 @@
import { CircleX } from 'lucide-react'; import { CircleX } from 'lucide-react';
import { useAppContext } from '@/app/AppContext'; import { useAppContext } from '@/app/AppContext';
import TarokkaDeck from '@/lib/TarokkaDeck'; import TarokkaDeck from '@/lib/TarokkaDeck';
import getURL from '@/tools/getURL'; import { getURL } from '@/tools';
import { Deck } from '@/types'; import { Deck } from '@/types';

View File

@@ -6,7 +6,7 @@ import { CircleX, ScrollText } from 'lucide-react';
import { useAppContext } from '@/app/AppContext'; import { useAppContext } from '@/app/AppContext';
import CopyButton from '@/components/CopyButton'; import CopyButton from '@/components/CopyButton';
import Scrim from '@/components/Scrim'; import Scrim from '@/components/Scrim';
import getCardInfo from '@/tools/getCardInfo'; import { getCardInfo } from '@/tools';
import { cardMap, layout } from '@/constants/tarokka'; import { cardMap, layout } from '@/constants/tarokka';
export default function Notes() { export default function Notes() {

View File

@@ -1,6 +1,5 @@
import Deck from '@/lib/TarokkaDeck'; import Deck from '@/lib/TarokkaDeck';
import generateID from '@/tools/simpleID'; import { generateID, parseMilliseconds } from '@/tools';
import parseMilliseconds from '@/tools/parseMilliseconds';
import { HOUR, DAY, SETTINGS } from '@/constants'; import { HOUR, DAY, SETTINGS } from '@/constants';
import { GameState, GameUpdate, Settings, Tilt } from '@/types'; import { GameState, GameUpdate, Settings, Tilt } from '@/types';

View File

@@ -1,4 +1,4 @@
import getRandomItems from '@/tools/getRandomItems'; import { getRandomItems } from '@/tools';
import cards from '@/constants/standardCards'; import cards from '@/constants/standardCards';
import type { StandardCard } from '@/types'; import type { StandardCard } from '@/types';

View File

@@ -1,4 +1,4 @@
import getRandomItems from '@/tools/getRandomItems'; import { getRandomItems } from '@/tools';
import cards from '@/constants/tarokkaCards'; import cards from '@/constants/tarokkaCards';
import type { TarokkaCard, TarokkaGameCard } from '@/types'; import type { TarokkaCard, TarokkaGameCard } from '@/types';

View File

@@ -3,7 +3,7 @@ import { createServer } from 'http';
import { Server as SocketIOServer, type Socket } from 'socket.io'; import { Server as SocketIOServer, type Socket } from 'socket.io';
import GameStore from '@/lib/GameStore'; import GameStore from '@/lib/GameStore';
import omit from '@/tools/omit'; import { omit } from '@/tools';
import { thirtyFPS } from '@/constants/time'; import { thirtyFPS } from '@/constants/time';
import type { ClientUpdate, GameUpdate, Tilt } from '@/types'; import type { ClientUpdate, GameUpdate, Tilt } from '@/types';

View File

@@ -1,12 +1,12 @@
import { isHighCard, isLowCard } from '@/tools/cardTypes'; import { isHighCard, isLowCard } from '@/tools';
import { Layout, Settings, TarokkaGameCard } from '@/types'; import { Layout, Settings, TarokkaGameCard } from '@/types';
export default function getTooltip( export const getCardInfo = (
card: TarokkaGameCard, card: TarokkaGameCard,
position: Layout, position: Layout,
dm: boolean, dm: boolean,
settings: Settings, settings: Settings,
) { ) => {
const { card: cardName, description, flipped } = card; const { card: cardName, description, flipped } = card;
let text: string[] = []; let text: string[] = [];
@@ -39,4 +39,4 @@ export default function getTooltip(
} }
return text; return text;
} };

View File

@@ -1,4 +1,4 @@
export default function getRandomItems<T>(items: T[], count: number): T[] { export const getRandomItems = <T>(items: T[], count: number): T[] => {
const shuffled = [...items]; const shuffled = [...items];
// Fisher-Yates shuffle // Fisher-Yates shuffle
@@ -8,4 +8,4 @@ export default function getRandomItems<T>(items: T[], count: number): T[] {
} }
return count > shuffled.length ? shuffled : shuffled.slice(0, count); return count > shuffled.length ? shuffled : shuffled.slice(0, count);
} };

View File

@@ -1,8 +1,8 @@
import { cardStyles, standardMap } from '@/constants/tarokka'; import { cardStyles, standardMap } from '@/constants/tarokka';
import { Settings, TarokkaCard, TarokkaGameCard } from '@/types'; import { Settings, TarokkaCard, TarokkaGameCard } from '@/types';
export default function getURL(card: TarokkaCard | TarokkaGameCard, settings: Settings) { export const getURL = (card: TarokkaCard | TarokkaGameCard, settings: Settings) => {
const styleConfig = cardStyles[settings.cardStyle]; const styleConfig = cardStyles[settings.cardStyle];
const fileBase = settings.cardStyle === 'standard' ? standardMap[card.id] : card.id; const fileBase = settings.cardStyle === 'standard' ? standardMap[card.id] : card.id;
return `${styleConfig.baseURL}${fileBase}${card.extension || styleConfig.extension}`; return `${styleConfig.baseURL}${fileBase}${card.extension || styleConfig.extension}`;
} };

View File

@@ -1,4 +1,11 @@
export * from '@/tools/cardTypes';
export * from '@/tools/getCardInfo';
export * from '@/tools/getRandomItems';
export * from '@/tools/getURL';
export * from '@/tools/log'; export * from '@/tools/log';
export * from '@/tools/omit';
export * from '@/tools/parseMilliseconds';
export * from '@/tools/reduceTilts'; export * from '@/tools/reduceTilts';
export * from '@/tools/simpleID';
export * from '@/tools/throttle'; export * from '@/tools/throttle';
export * from '@/tools/validTilt'; export * from '@/tools/validTilt';

View File

@@ -1,7 +1,7 @@
export default function omit<T extends Record<string, any>>( export const omit = <T extends Record<string, any>>(
obj: T, obj: T,
propToRemove: keyof T, propToRemove: keyof T,
): Omit<T, typeof propToRemove> { ): Omit<T, typeof propToRemove> => {
const { [propToRemove]: _, ...rest } = obj; const { [propToRemove]: _, ...rest } = obj;
return rest; return rest;
} };

View File

@@ -7,7 +7,7 @@ export interface ParsedMilliseconds {
seconds: number; seconds: number;
} }
export default function parseMilliseconds(timestamp: number): ParsedMilliseconds { export const parseMilliseconds = (timestamp: number): ParsedMilliseconds => {
const days = Math.floor(timestamp / DAY); const days = Math.floor(timestamp / DAY);
timestamp %= DAY; timestamp %= DAY;
@@ -21,4 +21,4 @@ export default function parseMilliseconds(timestamp: number): ParsedMilliseconds
timestamp %= SECOND; timestamp %= SECOND;
return { days, hours, minutes, seconds }; return { days, hours, minutes, seconds };
} };

View File

@@ -1,9 +1,7 @@
import getRandomItems from '@/tools/getRandomItems'; import { getRandomItems } from '@/tools';
const alphabet = '0123456789abcdefghijklmnopqrstuvwxyz'; const alphabet = '0123456789abcdefghijklmnopqrstuvwxyz';
const generateID = (length: number = 6) => { export const generateID = (length: number = 6) => {
return getRandomItems(alphabet.split(''), length).join(''); return getRandomItems(alphabet.split(''), length).join('');
}; };
export default generateID;