Commit fe621580 authored by Ategon's avatar Ategon Committed by Grant
Browse files

Add Cursors of other Users & fix eslint checks

parent 01bf450c
Loading
Loading
Loading
Loading
Loading
+12 −4
Original line number Diff line number Diff line
<img src="./_readme/canvas.png" width="32" height="32" style="float: left; margin-right: 1rem;" />
<!-- markdownlint-disable-next-line MD033 MD041 -->
<img src="./_readme/canvas.png" width="32" height="32" style="float: left; margin-right: 1rem;" alt="Canvas Logo" />

# Canvas

<!-- markdownlint-disable-next-line MD033 -->
<div style="clear: both"></div>

[![Support](https://img.shields.io/badge/support-donate-healthiness)](https://tips.sc07.com)
@@ -24,8 +26,8 @@ Inspired by Reddit's r/Place event from 2017, Canvas is a collaborative pixel ca

## Screenshots

<img src="./_readme/canvas2025.full.png" width="500" title="Screenshot of Canvas 2025 zoomed out" />
<img src="./_readme/canvas2025.zoom.png" width="500" title="Screenshot of Canvas 2025 zoomed in to the sc07 logo" />
![Screenshot of Canvas 2025 zoomed out](./_readme/canvas2025.full.png){width=500}
![Screenshot of Canvas 2025 zoomed in to the sc07 logo](./_readme/canvas2025.zoom.png){width=500}

## Roadmap

@@ -68,8 +70,14 @@ Details on contributing can be found in the [CONTRIBUTING.md file](./CONTRIBUTIN

Canvas is licened under the MIT license see `LICENSE`

Artwork, images, emotes, logos, and other assets may be subject to separate licenses.

See the license files within their respective directories.

---

<!-- markdownlint-disable-next-line MD033 -->
<div style="text-align: center">
  <img src="./_readme/stu.png" width=16>
  <!-- markdownlint-disable-next-line MD033 -->
  <img src="./_readme/stu.png" width=16 alt="">
</div>
+17 −4
Original line number Diff line number Diff line
@@ -8,8 +8,8 @@ export default defineConfig(
  globalIgnores([
    "**/node_modules",
    "packages/**/dist",
    "packages/**/*",
    "!packages/server/**/*",
    "packages/admin",
    "packages/chat",
  ]),

  // -- global config --
@@ -28,8 +28,13 @@ export default defineConfig(

  // -- client --
  {
    files: ["packages/client/src"],
    files: ["packages/client/src/**/*.{ts,tsx,js,jsx}"],
    plugins: { react },
    settings: {
      react: {
        version: "detect",
      },
    },
    rules: {
      "no-unused-vars": "off",
      "@typescript-eslint/no-namespace": "off",
@@ -46,12 +51,20 @@ export default defineConfig(
          ignoreRestSiblings: true,
        },
      ],

      "react/function-component-definition": [
        "error",
        {
          namedComponents: "arrow-function",
          unnamedComponents: "arrow-function",
        },
      ],
    },
  },

  // -- server --
  {
    files: ["packages/server/src"],
    files: ["packages/server/src/**/*.{ts,js}"],
    rules: {
      "no-console": "error",
      "no-unused-vars": "off",
+1 −0
Original line number Diff line number Diff line
@@ -42,6 +42,7 @@
    "eslint": "^9.39.2",
    "eslint-config-react-app": "^7.0.1",
    "eslint-formatter-gitlab": "^7.0.1",
    "eslint-plugin-react": "^7.37.5",
    "eslint-plugin-react-hooks": "^7.0.1",
    "eslint-plugin-simple-import-sort": "^12.1.1",
    "jest-fetch-mock": "^3.0.3",
+2 −1
Original line number Diff line number Diff line
import { useCallback, useEffect, useState } from "react";
import { KeybindManager } from "../lib/keybinds";

import { CanvasCore } from "../lib/canvas";
import { KeybindManager } from "../lib/keybinds";
import { useModerator } from "./Moderator";

export const ModCanvasOverlay = () => {
+9 −8
Original line number Diff line number Diff line
import { Hammer } from "lucide-react";
import { SidebarBase } from "../components/SidebarBase";
import { useModerator } from "./Moderator";
import { Alert, Chip } from "@heroui/react";
import { KeybindManager } from "../lib/keybinds";
import { Keybind } from "../components/KeybindModal";
import { useCallback, useState } from "react";
import { handleError, oapi } from "../lib/utils";
import { EError, type RestAPI } from "@sc07-canvas/lib";
import { UserCard } from "../components/Profile/UserCard";
import { Hammer } from "lucide-react";
import { useCallback, useState } from "react";
import { toast } from "react-toastify";

import { Button } from "../components/core/Button";
import { Keybind } from "../components/KeybindModal";
import { UserCard } from "../components/Profile/UserCard";
import { SidebarBase } from "../components/SidebarBase";
import { KeybindManager } from "../lib/keybinds";
import { handleError, oapi } from "../lib/utils";
import { useModerator } from "./Moderator";

export const ModSidebar = () => {
  const { state, dispatch } = useModerator();
Loading