Refactor code
This commit is contained in:
Vendored
+9
-9
@@ -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;
|
||||||
|
|||||||
@@ -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";
|
||||||
|
|||||||
@@ -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`
|
||||||
|
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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,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;
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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";
|
||||||
|
|||||||
@@ -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`
|
||||||
|
|||||||
@@ -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
@@ -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
@@ -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();
|
||||||
|
|||||||
@@ -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,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,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";
|
||||||
|
|
||||||
@@ -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);
|
||||||
Reference in New Issue
Block a user