justbean/beango/js/variables.js
2025-04-19 06:41:38 -06:00

113 lines
No EOL
7.5 KiB
JavaScript

// --- localStorage Keys ---
export const LS_BOARD_SIZE = 'beango_boardSize';
export const LS_CELL_ITEMS = 'beango_cellItems'; // Original items from textarea/file
export const LS_DISPLAYED_ITEMS = 'beango_displayedItems'; // Items currently shown on the board
export const LS_MARKED_INDICES = 'beango_markedIndices';
export const LS_CONFIG_OPEN = 'beango_configOpen'; // Changed from minimized
export const LS_BACKGROUND_TYPE = 'beango_backgroundType'; // 'solid' or 'gradient'
export const LS_SOLID_COLOR = 'beango_solidColor';
export const LS_SOLID_COLOR_OPACITY = 'beango_solidColorOpacity';
export const LS_GRADIENT_COLOR_1 = 'beango_gradientColor1';
export const LS_GRADIENT_COLOR_1_OPACITY = 'beango_gradientColor1Opacity';
export const LS_GRADIENT_COLOR_2 = 'beango_gradientColor2';
export const LS_GRADIENT_COLOR_2_OPACITY = 'beango_gradientColor2Opacity';
export const LS_GRADIENT_DIRECTION = 'beango_gradientDirection';
export const LS_ORIGINAL_ITEMS = 'beango_originalItems'; // User's raw input
export const LS_HEADER_TEXT = 'beango_headerText';
export const LS_HEADER_IMAGE_URL = 'beango_headerImageUrl';
export const LS_HEADER_TEXT_COLOR = 'beango_headerTextColor';
export const LS_HEADER_TEXT_COLOR_OPACITY = 'beango_headerTextColorOpacity';
export const LS_HEADER_BG_COLOR = 'beango_headerBgColor';
export const LS_HEADER_BG_OPACITY = 'beango_headerBgOpacity';
export const LS_MARKED_COLOR = 'beango_markedColor';
export const LS_MARKED_COLOR_OPACITY = 'beango_markedColorOpacity'; // (replaces LS_MARKED_OPACITY)
export const LS_MARKED_IMAGE_URL = 'beango_markedImageUrl';
export const LS_MARKED_IMAGE_OPACITY = 'beango_markedImageOpacity';
export const LS_CELL_BORDER_COLOR = 'beango_cellBorderColor';
export const LS_CELL_BORDER_OPACITY = 'beango_cellBorderOpacity';
export const LS_CELL_BORDER_WIDTH = 'beango_cellBorderWidth';
export const LS_CELL_BG_COLOR = 'beango_cellBgColor';
export const LS_CELL_BG_OPACITY = 'beango_cellBgOpacity';
export const LS_CELL_BG_IMAGE_URL = 'beango_cellBgImageUrl';
export const LS_CELL_BG_IMAGE_OPACITY = 'beango_cellBgImageOpacity';
export const LS_CELL_TEXT_COLOR = 'beango_cellTextColor';
export const LS_CELL_TEXT_OPACITY = 'beango_cellTextOpacity';
export const LS_CELL_OUTLINE_COLOR = 'beango_cellOutlineColor';
export const LS_CELL_OUTLINE_OPACITY = 'beango_cellOutlineOpacity';
export const LS_CELL_OUTLINE_WIDTH = 'beango_cellOutlineWidth';
export const LS_MARKED_BORDER_COLOR = 'beango_markedBorderColor';
export const LS_MARKED_BORDER_OPACITY = 'beango_markedBorderOpacity';
export const LS_MARKED_BORDER_WIDTH = 'beango_markedBorderWidth';
export const LS_BOARD_BG_COLOR = 'beango_boardBgColor';
export const LS_BOARD_BG_COLOR_OPACITY = 'beango_boardBgColorOpacity'; // (replaces LS_BOARD_BG_OPACITY)
export const LS_BOARD_BG_IMAGE_URL = 'beango_boardBgImageUrl';
export const LS_BOARD_BG_IMAGE_OPACITY = 'beango_boardBgImageOpacity'; // NEW
export const LS_MARKED_CELL_TEXT_COLOR = 'beango_markedCellTextColor';
export const LS_MARKED_CELL_TEXT_OPACITY = 'beango_markedCellTextOpacity';
export const LS_MARKED_CELL_OUTLINE_COLOR = 'beango_markedCellOutlineColor';
export const LS_MARKED_CELL_OUTLINE_OPACITY = 'beango_markedCellOutlineOpacity';
export const LS_MARKED_CELL_OUTLINE_WIDTH = 'beango_markedCellOutlineWidth';
export const LS_HEADER_TEXT_OUTLINE_COLOR = 'beango_headerTextOutlineColor';
export const LS_HEADER_TEXT_OUTLINE_OPACITY = 'beango_headerTextOutlineOpacity';
export const LS_HEADER_TEXT_OUTLINE_WIDTH = 'beango_headerTextOutlineWidth';
export const LS_HEADER_TEXT_FONT_SIZE = 'beango_headerTextFontSize'; // New key
export const LS_HEADER_TEXT_FONT_FAMILY = 'beango_headerTextFontFamily'; // New key
export const LS_HEADER_TEXT_STYLE_ITALIC = 'beango_headerTextStyleItalic'; // New key for italic
export const LS_HEADER_TEXT_STYLE_BOLD = 'beango_headerTextStyleBold'; // New key for bold
// --- Default Values ---
export const DEFAULT_SAMPLE_ITEMS = [
"Sample Item 1", "Sample Item 2", "Sample Item 3", "Sample Item 4", "Sample Item 5",
"Sample Item 6", "Sample Item 7", "Free Space", "Sample Item 9", "Sample Item 10",
"Sample Item 11", "Sample Item 12", "Sample Item 13", "Sample Item 14", "Sample Item 15",
"Sample Item 16", "Sample Item 17", "Sample Item 18", "Sample Item 19", "Sample Item 20",
"Sample Item 21", "Sample Item 22", "Sample Item 23", "Sample Item 24", "Sample Item 25"
];
export const DEFAULT_SOLID_COLOR = '#ff7e5f'; // Default to first color of gradient
export const DEFAULT_SOLID_COLOR_OPACITY = 100; //
export const DEFAULT_GRADIENT_COLOR_1 = '#faaca8'; // Softer pink/orange
export const DEFAULT_GRADIENT_COLOR_1_OPACITY = 100; //
export const DEFAULT_GRADIENT_COLOR_2 = '#ddd6f3'; // Soft purple
export const DEFAULT_GRADIENT_COLOR_2_OPACITY = 100; //
export const DEFAULT_GRADIENT_DIRECTION = 'to right top'; // Changed direction
export const DEFAULT_HEADER_TEXT = 'Beango!'; // REVERTED default back to Beango!
export const DEFAULT_HEADER_IMAGE_URL = '/bean.svg'; // No default image
export const DEFAULT_HEADER_TEXT_COLOR = '#15803d'; // Tailwind green-700 (approx)
export const DEFAULT_HEADER_TEXT_COLOR_OPACITY = 100; //
export const DEFAULT_HEADER_BG_COLOR = '#ffffff';
export const DEFAULT_HEADER_BG_OPACITY = 100;
export const DEFAULT_MARKED_COLOR = '#e9ecef'; // Light grey for marked cells
export const DEFAULT_MARKED_COLOR_OPACITY = 40; // (replaces DEFAULT_MARKED_OPACITY) - Significantly lower
export const DEFAULT_MARKED_IMAGE_URL = 'https://www.svgrepo.com/download/286496/cross.svg'; // Default cross image
export const DEFAULT_MARKED_IMAGE_OPACITY = 70; //
export const DEFAULT_CELL_BORDER_COLOR = '#808080'; // Default dark grey
export const DEFAULT_CELL_BORDER_OPACITY = 80; // Slightly transparent
export const DEFAULT_CELL_BORDER_WIDTH = 1; //
export const DEFAULT_CELL_BG_COLOR = '#f8f9fa'; // Off-white
export const DEFAULT_CELL_BG_OPACITY = 95; // Slightly transparent
export const DEFAULT_CELL_BG_IMAGE_URL = ''; // Default no image
export const DEFAULT_CELL_BG_IMAGE_OPACITY = 100; //
export const DEFAULT_CELL_TEXT_COLOR = '#000000';
export const DEFAULT_CELL_TEXT_OPACITY = 100;
export const DEFAULT_CELL_OUTLINE_COLOR = '#ffffff';
export const DEFAULT_CELL_OUTLINE_OPACITY = 100;
export const DEFAULT_CELL_OUTLINE_WIDTH = 0; // Default 0px - Cleaner look
export const DEFAULT_MARKED_BORDER_COLOR = DEFAULT_CELL_BORDER_COLOR; // Match default border color
export const DEFAULT_MARKED_BORDER_OPACITY = 50; // Less opaque than default border
export const DEFAULT_MARKED_BORDER_WIDTH = 0; // No border for marked cells
export const DEFAULT_BOARD_BG_COLOR = '#ffffff'; // Default white
export const DEFAULT_BOARD_BG_COLOR_OPACITY = 100; // (replaces DEFAULT_BOARD_BG_OPACITY)
export const DEFAULT_BOARD_BG_IMAGE_URL = ''; // Default no image
export const DEFAULT_BOARD_BG_IMAGE_OPACITY = 100; // NEW
export const DEFAULT_MARKED_CELL_TEXT_COLOR = '#000000'; // Keep black for readability
export const DEFAULT_MARKED_CELL_TEXT_OPACITY = 50;
export const DEFAULT_MARKED_CELL_OUTLINE_COLOR = '#ffffff';
export const DEFAULT_MARKED_CELL_OUTLINE_OPACITY = 100;
export const DEFAULT_MARKED_CELL_OUTLINE_WIDTH = 0; // Default 0px - No outline for marked
export const DEFAULT_HEADER_TEXT_OUTLINE_COLOR = '#ffffff'; // Default outline white
export const DEFAULT_HEADER_TEXT_OUTLINE_OPACITY = 100;
export const DEFAULT_HEADER_TEXT_OUTLINE_WIDTH = 0; // Default no outline
export const DEFAULT_HEADER_TEXT_FONT_SIZE = 36; // New default (approx text-4xl)
export const DEFAULT_HEADER_TEXT_FONT_FAMILY = 'sans-serif'; // New default
export const DEFAULT_HEADER_TEXT_STYLE_ITALIC = false; // Default not italic
export const DEFAULT_HEADER_TEXT_STYLE_BOLD = true; // Default bold