housekeeping
This commit is contained in:
@@ -1,8 +1,6 @@
|
|||||||
import { createResource } from "solid-js";
|
|
||||||
import { type Api } from "../../server/src/api";
|
|
||||||
import { treaty } from "@elysiajs/eden";
|
import { treaty } from "@elysiajs/eden";
|
||||||
import { EdenWS } from "@elysiajs/eden/treaty";
|
|
||||||
import { fromEvents } from "kefir";
|
import { fromEvents } from "kefir";
|
||||||
|
import { type Api } from "@games/server/src/api";
|
||||||
|
|
||||||
const { api } = treaty<Api>(
|
const { api } = treaty<Api>(
|
||||||
import.meta.env.DEV ? "http://localhost:5001" : window.location.origin,
|
import.meta.env.DEV ? "http://localhost:5001" : window.location.origin,
|
||||||
|
|||||||
@@ -2,10 +2,9 @@ import { Route, Router } from "@solidjs/router";
|
|||||||
import { createResource, lazy, Suspense } from "solid-js";
|
import { createResource, lazy, Suspense } from "solid-js";
|
||||||
import { render } from "solid-js/web";
|
import { render } from "solid-js/web";
|
||||||
import "virtual:uno.css";
|
import "virtual:uno.css";
|
||||||
import pkg from "../package.json";
|
import pkg from "^/package.json";
|
||||||
import "./style.css";
|
import "./style.css";
|
||||||
import api from "./api";
|
import api from "./api";
|
||||||
import Cookies from "js-cookie";
|
|
||||||
import { mePromise } from "./profile";
|
import { mePromise } from "./profile";
|
||||||
|
|
||||||
const Profile = () => {
|
const Profile = () => {
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import { Component, createResource, JSX, Suspense } from "solid-js";
|
import { Component, Suspense } from "solid-js";
|
||||||
|
|
||||||
|
import type { Card } from "@games/shared/cards";
|
||||||
import { Clickable, Stylable } from "./toolbox";
|
import { Clickable, Stylable } from "./toolbox";
|
||||||
import { Card } from "../../../shared/cards";
|
|
||||||
|
|
||||||
const cardToSvgFilename = (card: Card) => {
|
const cardToSvgFilename = (card: Card) => {
|
||||||
if (card.kind == "joker") {
|
if (card.kind == "joker") {
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
import { Accessor, createContext, useContext } from "solid-js";
|
import { Accessor, createContext, useContext } from "solid-js";
|
||||||
import {
|
import type {
|
||||||
SimpleAction,
|
SimpleAction,
|
||||||
SimplePlayerView,
|
SimplePlayerView,
|
||||||
} from "../../../server/src/games/simple";
|
} from "@games/server/src/games/simple";
|
||||||
import { me, profile } from "../profile";
|
import { me, profile } from "~/profile";
|
||||||
import Hand from "./Hand";
|
import Hand from "./Hand";
|
||||||
import Pile from "./Pile";
|
import Pile from "./Pile";
|
||||||
import { TableContext } from "./Table";
|
import { TableContext } from "./Table";
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { Component, For } from "solid-js";
|
import { Component, For } from "solid-js";
|
||||||
import type { Card as TCard, Hand as THand } from "../../../shared/cards";
|
import type { Card as TCard, Hand as THand } from "@games/shared/cards";
|
||||||
import Card from "./Card";
|
import Card from "./Card";
|
||||||
import { Stylable } from "./toolbox";
|
import { Stylable } from "./toolbox";
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
import { createSignal, useContext } from "solid-js";
|
import { createSignal, useContext } from "solid-js";
|
||||||
import { playerColor, profile } from "../profile";
|
import { playerColor, profile } from "~/profile";
|
||||||
import { TableContext } from "./Table";
|
import { TableContext } from "./Table";
|
||||||
import { Stylable } from "./toolbox";
|
import { Stylable } from "./toolbox";
|
||||||
import { createObservable, createObservableWithInit } from "../fn";
|
import { createObservable, createObservableWithInit } from "~/fn";
|
||||||
|
|
||||||
export default (props: { playerKey: string } & Stylable) => {
|
export default (props: { playerKey: string } & Stylable) => {
|
||||||
const table = useContext(TableContext);
|
const table = useContext(TableContext);
|
||||||
|
|||||||
@@ -1,20 +1,19 @@
|
|||||||
|
import type { TWsIn, TWsOut } from "@games/server/src/table";
|
||||||
|
import { fromPromise, Stream } from "kefir";
|
||||||
import {
|
import {
|
||||||
Accessor,
|
Accessor,
|
||||||
createContext,
|
createContext,
|
||||||
createEffect,
|
createEffect,
|
||||||
createResource,
|
|
||||||
createSignal,
|
createSignal,
|
||||||
For,
|
For,
|
||||||
onCleanup,
|
onCleanup,
|
||||||
Show,
|
Show,
|
||||||
} from "solid-js";
|
} from "solid-js";
|
||||||
import { TWsIn, TWsOut } from "../../../server/src/table";
|
import api, { fromWebsocket } from "~/api";
|
||||||
import api, { fromWebsocket } from "../api";
|
import { createObservable, createObservableWithInit, cx } from "~/fn";
|
||||||
import { createObservable, createObservableWithInit, cx } from "../fn";
|
import { me } from "~/profile";
|
||||||
import { me } from "../profile";
|
|
||||||
import Game from "./Game";
|
import Game from "./Game";
|
||||||
import Player from "./Player";
|
import Player from "./Player";
|
||||||
import { fromPromise, Stream } from "kefir";
|
|
||||||
|
|
||||||
export const TableContext = createContext<{
|
export const TableContext = createContext<{
|
||||||
view: Accessor<any>;
|
view: Accessor<any>;
|
||||||
|
|||||||
@@ -1,16 +0,0 @@
|
|||||||
import { A, useParams } from "@solidjs/router";
|
|
||||||
|
|
||||||
import Game from "../../components/Game";
|
|
||||||
|
|
||||||
export default () => {
|
|
||||||
const params = useParams<{ game: string; instance: string }>();
|
|
||||||
|
|
||||||
return (
|
|
||||||
<>
|
|
||||||
<Game instanceId={params.instance} />
|
|
||||||
<A href={`/${params.game}`} class="fixed tl m-4 px-2 py-1.5 button">
|
|
||||||
Back
|
|
||||||
</A>
|
|
||||||
</>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
@@ -1,33 +0,0 @@
|
|||||||
import { A, useParams } from "@solidjs/router";
|
|
||||||
|
|
||||||
import { createEffect, createResource, For, Suspense } from "solid-js";
|
|
||||||
import api from "../../api";
|
|
||||||
|
|
||||||
export default () => {
|
|
||||||
const param = useParams<{ game: string }>();
|
|
||||||
|
|
||||||
const [instances, { refetch }] = createResource(
|
|
||||||
() => param.game,
|
|
||||||
async () => api.instances.get({ query: param }).then((res) => res.data)
|
|
||||||
);
|
|
||||||
|
|
||||||
return (
|
|
||||||
<Suspense>
|
|
||||||
<div style={{ padding: "20px" }}>
|
|
||||||
<p class="text-[40px]">{param.game}</p>
|
|
||||||
<button class="px-2 py-1.5 m-4 button">New Game</button>
|
|
||||||
<ul>
|
|
||||||
<For each={instances() ?? []}>
|
|
||||||
{(instance) => (
|
|
||||||
<li>
|
|
||||||
<A href={`/${param.game}/${instance.id}`}>
|
|
||||||
{instance.id}
|
|
||||||
</A>
|
|
||||||
</li>
|
|
||||||
)}
|
|
||||||
</For>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</Suspense>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
import { A, useParams } from "@solidjs/router";
|
import { A, useParams } from "@solidjs/router";
|
||||||
|
|
||||||
import Table from "../components/Table";
|
import Table from "~/components/Table";
|
||||||
import { Show } from "solid-js";
|
import { Show } from "solid-js";
|
||||||
import { me } from "../profile";
|
import { me } from "~/profile";
|
||||||
|
|
||||||
export default () => {
|
export default () => {
|
||||||
const { tableKey } = useParams();
|
const { tableKey } = useParams();
|
||||||
@@ -10,9 +10,6 @@ export default () => {
|
|||||||
return (
|
return (
|
||||||
<Show when={me() != null}>
|
<Show when={me() != null}>
|
||||||
<Table tableKey={tableKey} />
|
<Table tableKey={tableKey} />
|
||||||
<A href={"/"} class="fixed tl m-4 px-2 py-1.5 button">
|
|
||||||
Back
|
|
||||||
</A>
|
|
||||||
</Show>
|
</Show>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import { A } from "@solidjs/router";
|
import { A } from "@solidjs/router";
|
||||||
import { createEffect, createResource, For } from "solid-js";
|
import { createEffect, createResource, For } from "solid-js";
|
||||||
import api from "../api";
|
import api from "~/api";
|
||||||
|
|
||||||
export default () => {
|
export default () => {
|
||||||
const [games] = createResource(async () =>
|
const [games] = createResource(async () =>
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
{
|
{
|
||||||
|
"extends": "../../tsconfig.json",
|
||||||
"compilerOptions": {
|
"compilerOptions": {
|
||||||
"target": "ESNext",
|
"target": "ESNext",
|
||||||
"module": "ESNext",
|
"module": "ESNext",
|
||||||
@@ -12,9 +13,10 @@
|
|||||||
"noEmit": true,
|
"noEmit": true,
|
||||||
"isolatedModules": true,
|
"isolatedModules": true,
|
||||||
"paths": {
|
"paths": {
|
||||||
"~/*": ["./src/*"],
|
"^/*": ["./*"],
|
||||||
"$/*": ["./"],
|
"@games/*": ["./packages/*"],
|
||||||
"@/*": ["./public/*"]
|
"$/*": ["./packages/client/*"],
|
||||||
|
"~/*": ["./packages/client/src/*"]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
import { defineConfig } from "vite";
|
import { defineConfig } from "vite";
|
||||||
import solidPlugin from "vite-plugin-solid";
|
import solidPlugin from "vite-plugin-solid";
|
||||||
import UnoCSS from "unocss/vite";
|
import UnoCSS from "unocss/vite";
|
||||||
|
import path from "path";
|
||||||
|
|
||||||
export default defineConfig({
|
export default defineConfig({
|
||||||
plugins: [solidPlugin(), UnoCSS()],
|
plugins: [solidPlugin(), UnoCSS()],
|
||||||
@@ -8,4 +9,12 @@ export default defineConfig({
|
|||||||
outDir: "../server/public",
|
outDir: "../server/public",
|
||||||
emptyOutDir: true,
|
emptyOutDir: true,
|
||||||
},
|
},
|
||||||
|
resolve: {
|
||||||
|
alias: {
|
||||||
|
"^": path.resolve(__dirname, "../../"),
|
||||||
|
"@games": path.resolve(__dirname, "../"),
|
||||||
|
$: path.resolve(__dirname, "./"),
|
||||||
|
"~": path.resolve(__dirname, "./src"),
|
||||||
|
},
|
||||||
|
},
|
||||||
});
|
});
|
||||||
|
|||||||
0
packages/server/src/logging.ts
Normal file
0
packages/server/src/logging.ts
Normal file
Reference in New Issue
Block a user