Introduce MarkdownEditor built on @mdxeditor/editor with headings, lists, links, quotes, image upload with drag-and-drop, and themed CSS integration. Add asset image upload API (routes, service, storage) and wire image upload into InlineEditor multiline mode, NewIssueDialog, NewProjectDialog, GoalDetail, IssueDetail, and ProjectDetail description fields. Tighten prompt template editor styling. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
48 lines
1.5 KiB
TypeScript
48 lines
1.5 KiB
TypeScript
import { StrictMode } from "react";
|
|
import { createRoot } from "react-dom/client";
|
|
import { BrowserRouter } from "react-router-dom";
|
|
import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
|
|
import { App } from "./App";
|
|
import { CompanyProvider } from "./context/CompanyContext";
|
|
import { LiveUpdatesProvider } from "./context/LiveUpdatesProvider";
|
|
import { BreadcrumbProvider } from "./context/BreadcrumbContext";
|
|
import { PanelProvider } from "./context/PanelContext";
|
|
import { SidebarProvider } from "./context/SidebarContext";
|
|
import { DialogProvider } from "./context/DialogContext";
|
|
import { TooltipProvider } from "@/components/ui/tooltip";
|
|
import "@mdxeditor/editor/style.css";
|
|
import "./index.css";
|
|
|
|
const queryClient = new QueryClient({
|
|
defaultOptions: {
|
|
queries: {
|
|
staleTime: 30_000,
|
|
refetchOnWindowFocus: true,
|
|
},
|
|
},
|
|
});
|
|
|
|
createRoot(document.getElementById("root")!).render(
|
|
<StrictMode>
|
|
<QueryClientProvider client={queryClient}>
|
|
<CompanyProvider>
|
|
<LiveUpdatesProvider>
|
|
<BrowserRouter>
|
|
<TooltipProvider>
|
|
<BreadcrumbProvider>
|
|
<SidebarProvider>
|
|
<PanelProvider>
|
|
<DialogProvider>
|
|
<App />
|
|
</DialogProvider>
|
|
</PanelProvider>
|
|
</SidebarProvider>
|
|
</BreadcrumbProvider>
|
|
</TooltipProvider>
|
|
</BrowserRouter>
|
|
</LiveUpdatesProvider>
|
|
</CompanyProvider>
|
|
</QueryClientProvider>
|
|
</StrictMode>
|
|
);
|