refactor: pick out magic numbers to constants

This commit is contained in:
2026-02-05 00:49:47 +05:00
parent dafc1bbfd2
commit a19d94a744
9 changed files with 148 additions and 60 deletions
+18 -17
View File
@@ -1,15 +1,16 @@
import { writable, type Writable } from "svelte/store";
import { v4 as uuidv4 } from "uuid";
import { PANEL_SETTINGS, TYPOGRAPHY } from "../lib/constants";
import { type Panel, type TextItem } from "../lib/types/panel";
export const panelStore: Writable<Panel | undefined> = writable(undefined);
export const textSettingsStore = writable<Partial<TextItem>>({
fontSize: 18,
fontFamily: "Arial",
color: "#ffffff",
textAlign: "left",
paddingX: 10,
fontSize: TYPOGRAPHY.FONT_SIZE_DEFAULT,
fontFamily: TYPOGRAPHY.FONT_FAMILY_DEFAULT,
color: TYPOGRAPHY.TEXT_COLOR_DEFAULT,
textAlign: TYPOGRAPHY.TEXT_ALIGN_LEFT,
paddingX: TYPOGRAPHY.PADDING_X_DEFAULT,
verticalOffset: 0,
});
@@ -17,15 +18,15 @@ export const updateAllTextSettings = (settings: Partial<TextItem>) => {
textSettingsStore.update((current) => ({ ...current, ...settings }));
};
export const createEmptyPanel = (height: number = 100): Panel => {
export const createEmptyPanel = (height: number = PANEL_SETTINGS.PANEL_HEIGHT_DEFAULT): Panel => {
const defaultText: TextItem = {
id: uuidv4(),
text: "",
fontSize: 18,
fontFamily: "Arial",
color: "#ffffff",
textAlign: "center",
paddingX: 10,
fontSize: TYPOGRAPHY.FONT_SIZE_DEFAULT,
fontFamily: TYPOGRAPHY.FONT_FAMILY_DEFAULT,
color: TYPOGRAPHY.TEXT_COLOR_DEFAULT,
textAlign: TYPOGRAPHY.TEXT_ALIGN_CENTER,
paddingX: TYPOGRAPHY.PADDING_X_DEFAULT,
verticalOffset: 0,
};
@@ -62,17 +63,17 @@ export const updateTextProperties = (panel: Panel, updates: Partial<TextItem>):
export const createPanelFromText = (
backgroundImage: string,
text: string,
height: number = 100,
height: number = PANEL_SETTINGS.PANEL_HEIGHT_DEFAULT,
textSettings?: Partial<TextItem>,
): Panel => {
const newText: TextItem = {
id: uuidv4(),
text,
fontSize: textSettings?.fontSize ?? 18,
fontFamily: textSettings?.fontFamily ?? "Arial",
color: textSettings?.color ?? "#ffffff",
textAlign: textSettings?.textAlign ?? "center",
paddingX: textSettings?.paddingX ?? 10,
fontSize: textSettings?.fontSize ?? TYPOGRAPHY.FONT_SIZE_DEFAULT,
fontFamily: textSettings?.fontFamily ?? TYPOGRAPHY.FONT_FAMILY_DEFAULT,
color: textSettings?.color ?? TYPOGRAPHY.TEXT_COLOR_DEFAULT,
textAlign: textSettings?.textAlign ?? TYPOGRAPHY.TEXT_ALIGN_CENTER,
paddingX: textSettings?.paddingX ?? TYPOGRAPHY.PADDING_X_DEFAULT,
verticalOffset: textSettings?.verticalOffset ?? 0,
};