simplify tools imports
This commit is contained in:
@@ -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';
|
||||||
|
|||||||
@@ -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';
|
||||||
|
|
||||||
|
|||||||
@@ -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() {
|
||||||
|
|||||||
@@ -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';
|
||||||
|
|||||||
@@ -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';
|
||||||
|
|
||||||
|
|||||||
@@ -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';
|
||||||
|
|
||||||
|
|||||||
@@ -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';
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
};
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
};
|
||||||
|
|||||||
@@ -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}`;
|
||||||
}
|
};
|
||||||
|
|||||||
@@ -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';
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
};
|
||||||
|
|||||||
@@ -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 };
|
||||||
}
|
};
|
||||||
|
|||||||
@@ -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;
|
|
||||||
|
|||||||
Reference in New Issue
Block a user