Refactor code

This commit is contained in:
2024-07-27 11:52:38 +02:00
parent d560078172
commit 6aebac4578
21 changed files with 59 additions and 57 deletions
+9 -9
View File
@@ -30541,7 +30541,7 @@
} }
}); });
// src/utils.ts // src/lib/utils.ts
var import_lodash = __toESM(require_lodash()); var import_lodash = __toESM(require_lodash());
var CHUNK_SIZE = 512; var CHUNK_SIZE = 512;
function pushUnique(items, item) { function pushUnique(items, item) {
@@ -30838,7 +30838,7 @@
} }
} }
async function fetchTile(x2, y2) { async function fetchTile(x2, y2) {
const url = `https://pixelcanvas.io/tile/${toChunkX(x2)}/${toChunkX(y2)}.png`; const url = `/tile/${toChunkX(x2)}/${toChunkX(y2)}.png`;
const result = await fetch(url); const result = await fetch(url);
const blob = await result.blob(); const blob = await result.blob();
const src = URL.createObjectURL(blob); const src = URL.createObjectURL(blob);
@@ -30856,7 +30856,7 @@
}); });
} }
// src/EventEmitter.ts // src/lib/eventEmitter.ts
var BasicEventEmitter = class { var BasicEventEmitter = class {
listeners = /* @__PURE__ */ new Map(); listeners = /* @__PURE__ */ new Map();
on(type, listener3) { on(type, listener3) {
@@ -30898,7 +30898,7 @@
} }
}; };
// src/coordinates.ts // src/lib/coordinates.ts
var Coordinates = class { var Coordinates = class {
cords; cords;
emitter = new BasicEventEmitter(); emitter = new BasicEventEmitter();
@@ -31058,7 +31058,7 @@
} }
}; };
// src/palette.ts // src/lib/palette.ts
var Palette = class { var Palette = class {
buttons = []; buttons = [];
palette = []; palette = [];
@@ -31103,7 +31103,7 @@
} }
}; };
// src/UI/Fileinput.ts // src/lib/fileinput.ts
var FileInput = class { var FileInput = class {
input = document.createElement("input"); input = document.createElement("input");
constructor() { constructor() {
@@ -31152,7 +31152,7 @@
// src/UI/components/main.tsx // src/UI/components/main.tsx
var import_react15 = __toESM(require_react()); var import_react15 = __toESM(require_react());
// src/store.ts // src/lib/store.ts
var Store = class { var Store = class {
constructor(storage, palette) { constructor(storage, palette) {
this.storage = storage; this.storage = storage;
@@ -36341,7 +36341,7 @@
} }
}; };
// src/canvashot.tsx // src/lib/canvashot.tsx
var import_file_saver2 = __toESM(require_FileSaver_min()); var import_file_saver2 = __toESM(require_FileSaver_min());
var import_react9 = __toESM(require_react()); var import_react9 = __toESM(require_react());
function getSelectionArea() { function getSelectionArea() {
@@ -37212,7 +37212,7 @@
}; };
} }
// src/storage.ts // src/lib/storage.ts
var Storage = class { var Storage = class {
constructor(chrome2) { constructor(chrome2) {
this.chrome = chrome2; this.chrome = chrome2;
+4 -4
View File
@@ -1,8 +1,8 @@
import React from "react"; import React from "react";
import { OverlayReturn, Store, StoreEvents } from "../../store"; import { OverlayReturn, Store, StoreEvents } from "../../lib/store";
import { Storage } from "../../storage"; import { Storage } from "../../lib/storage";
import { Coordinates } from "../../coordinates"; import { Coordinates } from "../../lib/coordinates";
import { Palette } from "../../palette"; import { Palette } from "../../lib/palette";
import { Menu } from "./menu"; import { Menu } from "./menu";
import { MovableWindow } from "./movableWindow"; import { MovableWindow } from "./movableWindow";
import { SelectedMural } from "../../interfaces"; import { SelectedMural } from "../../interfaces";
+5 -5
View File
@@ -3,14 +3,14 @@ import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
import React from "react"; import React from "react";
import styled from "styled-components"; import styled from "styled-components";
import { Btn, Flex } from "../styles"; import { Btn, Flex } from "../styles";
import { Store } from "../../store"; import { Store } from "../../lib/store";
import { MuralList } from "./muralList"; import { MuralList } from "./muralList";
import { Coordinates, CordType } from "../../coordinates"; import { Coordinates, CordType } from "../../lib/coordinates";
import { Palette } from "../../palette"; import { Palette } from "../../lib/palette";
import { importArtWork } from "../importMural"; import { importArtWork } from "../importMural";
import { Popup } from "./Popup"; import { Popup } from "./Popup";
import { Storage } from "../../storage"; import { Storage } from "../../lib/storage";
import { takeCanvasShot } from "../../canvashot"; import { takeCanvasShot } from "../../lib/canvashot";
const Container = styled.div` const Container = styled.div`
+5 -5
View File
@@ -1,15 +1,15 @@
import { Coordinates, CordType } from "../../coordinates"; import { Coordinates, CordType } from "../../lib/coordinates";
import { SelectedMural } from "../../interfaces"; import { SelectedMural } from "../../interfaces";
import React from "react"; import React from "react";
import { Btn, SELECTED_COLOR } from "../styles"; import { Btn, SELECTED_COLOR } from "../styles";
import { faCrosshairs, faMagnifyingGlassMinus, faMagnifyingGlassPlus } from "@fortawesome/free-solid-svg-icons"; import { faCrosshairs, faMagnifyingGlassMinus, faMagnifyingGlassPlus } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
import styled from "styled-components"; import styled from "styled-components";
import { createCanvas, drawPixelsOntoCanvas } from "../../utils"; import { createCanvas, drawPixelsOntoCanvas } from "../../lib/utils";
import { Palette } from "../../palette"; import { Palette } from "../../lib/palette";
import { clamp} from "lodash"; import { clamp} from "lodash";
import { Store } from "../../store"; import { Store } from "../../lib/store";
import { Storage } from "../../storage"; import { Storage } from "../../lib/storage";
const Flex = styled.div` const Flex = styled.div`
display: flex; display: flex;
+1 -1
View File
@@ -2,7 +2,7 @@ import React, { createRef } from "react";
import styled from "styled-components"; import styled from "styled-components";
import { Point } from "../../interfaces"; import { Point } from "../../interfaces";
import { clamp, debounce } from "lodash"; import { clamp, debounce } from "lodash";
import { Storage } from "../../storage"; import { Storage } from "../../lib/storage";
const Movable = styled.div` const Movable = styled.div`
position: fixed; position: fixed;
+1 -1
View File
@@ -1,6 +1,6 @@
import React from "react"; import React from "react";
import { Border, Btn, Flex, Input } from "../styles"; import { Border, Btn, Flex, Input } from "../styles";
import { processNumberEvent } from "../../utils"; import { processNumberEvent } from "../../lib/utils";
interface Props { interface Props {
name: string; name: string;
+2 -2
View File
@@ -1,9 +1,9 @@
import React from "react"; import React from "react";
import { MuralEx, SelectedMural } from "../../interfaces"; import { MuralEx, SelectedMural } from "../../interfaces";
import { Store, StoreEvents } from "../../store"; import { Store, StoreEvents } from "../../lib/store";
import { MuralView } from "./muralView"; import { MuralView } from "./muralView";
import styled from "styled-components"; import styled from "styled-components";
import { Coordinates } from "../../coordinates"; import { Coordinates } from "../../lib/coordinates";
const ScrollContainer = styled.div` const ScrollContainer = styled.div`
overflow: auto; overflow: auto;
+3 -3
View File
@@ -1,13 +1,13 @@
import React from "react"; import React from "react";
import { Store } from "../../store"; import { Store } from "../../lib/store";
import { Mural, MuralEx } from "../../interfaces"; import { Mural, MuralEx } from "../../interfaces";
import styled from "styled-components"; import styled from "styled-components";
import { Border, Btn, Flex, SELECTED_COLOR } from "../styles"; import { Border, Btn, Flex, SELECTED_COLOR } from "../styles";
import { CanvasToCanvasJSX } from "./canvasToCanvasJSX"; import { CanvasToCanvasJSX } from "./canvasToCanvasJSX";
import { formatNumber, getMuralHeight, getMuralWidth } from "../../utils"; import { formatNumber, getMuralHeight, getMuralWidth } from "../../lib/utils";
import { IconDefinition, faDownload, faLayerGroup, faLocation, faPenToSquare, faTrash } from "@fortawesome/free-solid-svg-icons"; import { IconDefinition, faDownload, faLayerGroup, faLocation, faPenToSquare, faTrash } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
import { Coordinates } from "../../coordinates"; import { Coordinates } from "../../lib/coordinates";
import { TEXT_FORMATS } from "../importMural"; import { TEXT_FORMATS } from "../importMural";
import saveAs from "file-saver"; import saveAs from "file-saver";
import { Popup } from "./Popup"; import { Popup } from "./Popup";
+4 -4
View File
@@ -1,11 +1,11 @@
import React from "react"; import React from "react";
import styled from "styled-components"; import styled from "styled-components";
import { Mural, MuralEx } from "../../interfaces"; import { Mural, MuralEx } from "../../interfaces";
import { canvasFromMural, get2DArrHeight, get2DArrWidth } from "../../utils"; import { canvasFromMural, get2DArrHeight, get2DArrWidth } from "../../lib/utils";
import { Coordinates, CordType } from "../../coordinates"; import { Coordinates, CordType } from "../../lib/coordinates";
import { Palette } from "../../palette"; import { Palette } from "../../lib/palette";
import { MovableWindow } from "./movableWindow"; import { MovableWindow } from "./movableWindow";
import { Storage } from "../../storage"; import { Storage } from "../../lib/storage";
import { MuralEditor } from "./muralEditor"; import { MuralEditor } from "./muralEditor";
const Canvas = styled.canvas` const Canvas = styled.canvas`
+7 -5
View File
@@ -1,16 +1,18 @@
import React from "react"; import React from "react";
import { Mural, RGB } from "../interfaces"; import { Mural, RGB } from "../interfaces";
import { canvasToImageData, get2DArrHeight, get2DArrWidth, getColorScore, getExtension, imageDataToPaletteIndices, imageToCanvas, loadImageSource, processNumberEvent, readAsDataUrl, readAsString, resize, rgb, validateMural } from "../utils"; import { canvasToImageData, get2DArrHeight, get2DArrWidth, getColorScore, getExtension,
imageDataToPaletteIndices, imageToCanvas, loadImageSource, processNumberEvent,
readAsDataUrl, readAsString, resize, rgb, validateMural } from "../lib/utils";
import styled from "styled-components"; import styled from "styled-components";
import { Popup } from "./components/Popup"; import { Popup } from "./components/Popup";
import RgbQuant, { DitheringKernel, RGBQuantOptions } from "rgbquant"; import RgbQuant, { DitheringKernel, RGBQuantOptions } from "rgbquant";
import { Border, Btn, Input } from "./styles"; import { Border, Btn, Input } from "./styles";
import { CanvasToCanvasJSX } from "./components/canvasToCanvasJSX"; import { CanvasToCanvasJSX } from "./components/canvasToCanvasJSX";
import { Palette } from "../palette"; import { Palette } from "../lib/palette";
import { FileInput } from "./Fileinput"; import { FileInput } from "../lib/fileinput";
import { Store } from "../store"; import { Store } from "../lib/store";
import { Coordinates } from "../coordinates"; import { Coordinates } from "../lib/coordinates";
export const TEXT_FORMATS = ["muraljson", "json"]; export const TEXT_FORMATS = ["muraljson", "json"];
+6 -6
View File
@@ -1,13 +1,13 @@
import { Mural } from "../interfaces"; import { Mural } from "../interfaces";
import { canvasToImageData, createCanvas, flatQuantizeImageData, import { canvasToImageData, createCanvas, flatQuantizeImageData,
getExtension, getMuralHeight, getMuralWidth, imageDataToPaletteIndices, getExtension, getMuralHeight, getMuralWidth, imageDataToPaletteIndices,
imageToCanvas, loadImageSource, readAsDataUrl, readAsString, resize, validateMural } from "../utils"; imageToCanvas, loadImageSource, readAsDataUrl, readAsString, resize, validateMural } from "../lib/utils";
import { FileInput } from "./Fileinput"; import { FileInput } from "../lib/fileinput";
import { Palette } from "../palette"; import { Palette } from "../lib/palette";
import { Store } from "../store"; import { Store } from "../lib/store";
import React from "react"; import React from "react";
import { Coordinates } from "../coordinates"; import { Coordinates } from "../lib/coordinates";
import { Storage } from "../storage"; import { Storage } from "../lib/storage";
import { Main } from "./components/main"; import { Main } from "./components/main";
import { createRoot } from "react-dom/client"; import { createRoot } from "react-dom/client";
+5 -5
View File
@@ -1,10 +1,10 @@
/// <reference path="patch.d.ts" /> /// <reference path="patch.d.ts" />
import { Coordinates } from "./coordinates"; import { Coordinates } from "./lib/coordinates";
import { Palette } from "./palette"; import { Palette } from "./lib/palette";
import { createUI } from "./UI/ui"; import { createUI } from "./UI/ui";
import { waitForDraw } from "./utils"; import { waitForDraw } from "./lib/utils";
import { Storage } from "./storage"; import { Storage } from "./lib/storage";
import { Store } from "./store"; import { Store } from "./lib/store";
async function main() { async function main() {
const palette = new Palette(); const palette = new Palette();
+2 -2
View File
@@ -1,8 +1,8 @@
import saveAs from "file-saver"; import saveAs from "file-saver";
import { createCanvas, CHUNK_SIZE, fetchTile } from "./utils"; import { createCanvas, CHUNK_SIZE, fetchTile } from "./utils";
import { Coordinates } from "./coordinates"; import { Coordinates } from "./coordinates";
import { Rect } from "./interfaces"; import { Rect } from "../interfaces";
import { Popup } from "./UI/components/Popup"; import { Popup } from "../UI/components/Popup";
import React from "react"; import React from "react";
export function getSelectionArea() { export function getSelectionArea() {
@@ -1,4 +1,4 @@
import { Listener, BasicEventEmitter } from "./EventEmitter"; import { Listener, BasicEventEmitter } from "./eventEmitter";
import { CHUNK_SIZE, waitForDraw } from "./utils"; import { CHUNK_SIZE, waitForDraw } from "./utils";
export enum CordType { export enum CordType {
+1 -1
View File
@@ -1,4 +1,4 @@
import { RGB } from "./interfaces"; import { RGB } from "../interfaces";
import { rgbToHex } from "./utils"; import { rgbToHex } from "./utils";
export class Palette { export class Palette {
+1 -1
View File
@@ -1,4 +1,4 @@
import { BasicEventEmitter, Listener } from "./EventEmitter"; import { BasicEventEmitter, Listener } from "./eventEmitter";
import { LoadUnload, Mural, MuralEx, SelectedMural } from "./interfaces"; import { LoadUnload, Mural, MuralEx, SelectedMural } from "./interfaces";
import { Palette } from "./palette"; import { Palette } from "./palette";
+2 -2
View File
@@ -1,5 +1,5 @@
import { clone, isInteger } from "lodash"; import { clone, isInteger } from "lodash";
import { Mural, RGB } from "./interfaces"; import { Mural, RGB } from "../interfaces";
export const CHUNK_SIZE = 512; export const CHUNK_SIZE = 512;
@@ -356,7 +356,7 @@ export function processNumberEvent(ev: React.ChangeEvent<HTMLInputElement>, cb:
} }
export async function fetchTile(x: number, y: number) { export async function fetchTile(x: number, y: number) {
const url = `https://pixelcanvas.io/tile/${toChunkX(x)}/${toChunkX(y)}.png`; const url = `/tile/${toChunkX(x)}/${toChunkX(y)}.png`;
const result = await fetch(url); const result = await fetch(url);
const blob = await result.blob(); const blob = await result.blob();
const src = URL.createObjectURL(blob); const src = URL.createObjectURL(blob);