@locusai/cli 0.1.7 → 0.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +0 -53
- package/bin/.gitkeep +0 -0
- package/bin/locus.js +31000 -1103
- package/package.json +16 -7
- package/bin/mcp.js +0 -19744
- package/bin/server.js +0 -36398
- package/index.ts +0 -260
- package/public/dashboard/404.html +0 -1
- package/public/dashboard/_next/static/D0NXe04ZCLNDckV_quc8g/_buildManifest.js +0 -1
- package/public/dashboard/_next/static/D0NXe04ZCLNDckV_quc8g/_ssgManifest.js +0 -1
- package/public/dashboard/_next/static/chunks/138.b98511c56423f8bb.js +0 -1
- package/public/dashboard/_next/static/chunks/146-34259952c594a3b0.js +0 -1
- package/public/dashboard/_next/static/chunks/337-d3bb75304d130513.js +0 -1
- package/public/dashboard/_next/static/chunks/477.1a6ecfe53375bd9c.js +0 -1
- package/public/dashboard/_next/static/chunks/487-1808785ba665f784.js +0 -1
- package/public/dashboard/_next/static/chunks/544.a9569941cc886e9d.js +0 -1
- package/public/dashboard/_next/static/chunks/87c73c54-1f4741035a95c140.js +0 -1
- package/public/dashboard/_next/static/chunks/902-d6926825a9fe8784.js +0 -1
- package/public/dashboard/_next/static/chunks/955-c8f8f6235ae8f8c6.js +0 -1
- package/public/dashboard/_next/static/chunks/996.e0a334e6ae90900e.js +0 -1
- package/public/dashboard/_next/static/chunks/app/_not-found/page-44b1804abb44a34d.js +0 -1
- package/public/dashboard/_next/static/chunks/app/backlog/page-dce1450769bfae8f.js +0 -1
- package/public/dashboard/_next/static/chunks/app/docs/page-1efee819f25492cb.js +0 -1
- package/public/dashboard/_next/static/chunks/app/layout-05f504c042b9f7ee.js +0 -1
- package/public/dashboard/_next/static/chunks/app/page-3fd91aaaa4776ced.js +0 -1
- package/public/dashboard/_next/static/chunks/app/settings/page-84e16c9638d657e4.js +0 -1
- package/public/dashboard/_next/static/chunks/framework-152a1bc8c81c7458.js +0 -1
- package/public/dashboard/_next/static/chunks/main-843ab130fc1be309.js +0 -1
- package/public/dashboard/_next/static/chunks/main-app-123e879c5a937a00.js +0 -1
- package/public/dashboard/_next/static/chunks/pages/_app-a050a8e6e4fb04cf.js +0 -1
- package/public/dashboard/_next/static/chunks/pages/_error-3e422ffd891594de.js +0 -1
- package/public/dashboard/_next/static/chunks/polyfills-42372ed130431b0a.js +0 -1
- package/public/dashboard/_next/static/chunks/webpack-99a10a055b5bb9c4.js +0 -1
- package/public/dashboard/_next/static/css/13e8617b72f9d3aa.css +0 -1
- package/public/dashboard/_next/static/css/8aea088cdc4338f0.css +0 -1
- package/public/dashboard/_next/static/css/b301ab0424111664.css +0 -1
- package/public/dashboard/_next/static/media/24c15609eaa28576-s.woff2 +0 -0
- package/public/dashboard/_next/static/media/2c07349e02a7b712-s.woff2 +0 -0
- package/public/dashboard/_next/static/media/456105d6ea6d39e0-s.woff2 +0 -0
- package/public/dashboard/_next/static/media/47cbc4e2adbc5db9-s.p.woff2 +0 -0
- package/public/dashboard/_next/static/media/4f77bef990aad698-s.woff2 +0 -0
- package/public/dashboard/_next/static/media/627d916fd739a539-s.woff2 +0 -0
- package/public/dashboard/_next/static/media/63b255f18bea0ca9-s.woff2 +0 -0
- package/public/dashboard/_next/static/media/70bd82ac89b4fa42-s.woff2 +0 -0
- package/public/dashboard/_next/static/media/84602850c8fd81c3-s.woff2 +0 -0
- package/public/dashboard/backlog.html +0 -1
- package/public/dashboard/backlog.txt +0 -25
- package/public/dashboard/docs.html +0 -1
- package/public/dashboard/docs.txt +0 -26
- package/public/dashboard/favicon.ico +0 -0
- package/public/dashboard/index.html +0 -1
- package/public/dashboard/index.txt +0 -25
- package/public/dashboard/logo.png +0 -0
- package/public/dashboard/settings.html +0 -1
- package/public/dashboard/settings.txt +0 -25
- package/src/constants.ts +0 -28
- package/src/generators/locus.ts +0 -134
- package/src/generators/root.ts +0 -244
- package/src/generators/server.ts +0 -135
- package/src/generators/shared.ts +0 -35
- package/src/generators/web.ts +0 -513
- package/src/types.ts +0 -6
- package/src/utils.ts +0 -13
package/index.ts
DELETED
|
@@ -1,260 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env bun
|
|
2
|
-
import { existsSync } from "node:fs";
|
|
3
|
-
import { homedir } from "node:os";
|
|
4
|
-
import { isAbsolute, join, resolve } from "node:path";
|
|
5
|
-
import { parseArgs } from "node:util";
|
|
6
|
-
|
|
7
|
-
import { initializeLocus, logMcpConfig } from "./src/generators/locus.js";
|
|
8
|
-
import { generateRootConfigs, setupStructure } from "./src/generators/root.js";
|
|
9
|
-
import { generateAppServer } from "./src/generators/server.js";
|
|
10
|
-
import { generatePackageShared } from "./src/generators/shared.js";
|
|
11
|
-
import { generateAppWeb } from "./src/generators/web.js";
|
|
12
|
-
import type { ProjectConfig } from "./src/types.js";
|
|
13
|
-
|
|
14
|
-
async function init(args: string[]) {
|
|
15
|
-
const { values, positionals } = parseArgs({
|
|
16
|
-
args,
|
|
17
|
-
options: {
|
|
18
|
-
name: { type: "string" },
|
|
19
|
-
path: { type: "string" },
|
|
20
|
-
},
|
|
21
|
-
strict: true,
|
|
22
|
-
allowPositionals: true,
|
|
23
|
-
});
|
|
24
|
-
|
|
25
|
-
const projectNameInput = values.name;
|
|
26
|
-
let projectPath: string;
|
|
27
|
-
let projectName: string;
|
|
28
|
-
const isNewProject = !!projectNameInput;
|
|
29
|
-
|
|
30
|
-
if (isNewProject) {
|
|
31
|
-
projectName = projectNameInput as string;
|
|
32
|
-
const userPathInput = values.path || positionals[0];
|
|
33
|
-
let basePath = process.cwd();
|
|
34
|
-
|
|
35
|
-
if (userPathInput) {
|
|
36
|
-
const userPath = userPathInput.startsWith("~")
|
|
37
|
-
? join(homedir(), userPathInput.slice(1))
|
|
38
|
-
: userPathInput;
|
|
39
|
-
basePath = isAbsolute(userPath)
|
|
40
|
-
? userPath
|
|
41
|
-
: resolve(process.cwd(), userPath);
|
|
42
|
-
}
|
|
43
|
-
projectPath = join(basePath, projectName);
|
|
44
|
-
} else {
|
|
45
|
-
projectPath = process.cwd();
|
|
46
|
-
projectName = projectPath.split("/").pop() || "locus-project";
|
|
47
|
-
console.log(`Initializing Locus in current directory: ${projectName}`);
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
const scopedName = `@${projectName}`;
|
|
51
|
-
const locusDir = join(projectPath, ".locus");
|
|
52
|
-
|
|
53
|
-
const config: ProjectConfig = {
|
|
54
|
-
projectName,
|
|
55
|
-
scopedName,
|
|
56
|
-
projectPath,
|
|
57
|
-
locusDir,
|
|
58
|
-
};
|
|
59
|
-
|
|
60
|
-
try {
|
|
61
|
-
if (isNewProject) {
|
|
62
|
-
await setupStructure(config);
|
|
63
|
-
await generateRootConfigs(config);
|
|
64
|
-
await generatePackageShared(config);
|
|
65
|
-
await generateAppWeb(config);
|
|
66
|
-
await generateAppServer(config);
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
await initializeLocus(config);
|
|
70
|
-
await logMcpConfig(config);
|
|
71
|
-
} catch (error) {
|
|
72
|
-
console.error("Error creating project:", error);
|
|
73
|
-
process.exit(1);
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
async function dev(args: string[]) {
|
|
78
|
-
const { values } = parseArgs({
|
|
79
|
-
args,
|
|
80
|
-
options: {
|
|
81
|
-
project: { type: "string" },
|
|
82
|
-
},
|
|
83
|
-
strict: false,
|
|
84
|
-
});
|
|
85
|
-
|
|
86
|
-
const projectPath = (values.project as string) || process.cwd();
|
|
87
|
-
const locusDir = isAbsolute(projectPath)
|
|
88
|
-
? join(projectPath, ".locus")
|
|
89
|
-
: resolve(process.cwd(), projectPath, ".locus");
|
|
90
|
-
|
|
91
|
-
if (!existsSync(locusDir)) {
|
|
92
|
-
console.error(`Error: .locus directory not found at ${locusDir}`);
|
|
93
|
-
console.log("Are you in a Locus project?");
|
|
94
|
-
process.exit(1);
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
const cliDir = import.meta.dir;
|
|
98
|
-
const isBundled = cliDir.endsWith("/bin") || cliDir.endsWith("\\bin");
|
|
99
|
-
const locusRoot = isBundled
|
|
100
|
-
? resolve(cliDir, "../")
|
|
101
|
-
: resolve(cliDir, "../../");
|
|
102
|
-
|
|
103
|
-
// Detection for bundled vs source mode
|
|
104
|
-
const serverSourcePath = join(locusRoot, "apps/server/src/index.ts");
|
|
105
|
-
const serverBundledPath = isBundled
|
|
106
|
-
? join(cliDir, "server.js")
|
|
107
|
-
: join(locusRoot, "packages/cli/bin/server.js");
|
|
108
|
-
|
|
109
|
-
const serverExecPath = existsSync(serverSourcePath)
|
|
110
|
-
? serverSourcePath
|
|
111
|
-
: serverBundledPath;
|
|
112
|
-
|
|
113
|
-
if (!existsSync(serverExecPath)) {
|
|
114
|
-
console.error("Error: Locus engine not found. Please reinstall the CLI.");
|
|
115
|
-
process.exit(1);
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
console.log("🚀 Starting Locus for project:", projectPath);
|
|
119
|
-
|
|
120
|
-
const serverProcess = Bun.spawn(
|
|
121
|
-
["bun", "run", serverExecPath, "--project", locusDir],
|
|
122
|
-
{
|
|
123
|
-
stdout: "inherit",
|
|
124
|
-
stderr: "inherit",
|
|
125
|
-
}
|
|
126
|
-
);
|
|
127
|
-
|
|
128
|
-
// Handle Dashboard
|
|
129
|
-
let webProcess: ReturnType<typeof Bun.spawn> | undefined;
|
|
130
|
-
const webSourceDir = join(locusRoot, "apps/web");
|
|
131
|
-
|
|
132
|
-
if (existsSync(webSourceDir)) {
|
|
133
|
-
// In dev mode, run Next.js dev server
|
|
134
|
-
webProcess = Bun.spawn(["bun", "run", "dev"], {
|
|
135
|
-
cwd: webSourceDir,
|
|
136
|
-
stdout: "inherit",
|
|
137
|
-
stderr: "inherit",
|
|
138
|
-
});
|
|
139
|
-
} else {
|
|
140
|
-
// In production, the dashboard is served BY the server (coming soon)
|
|
141
|
-
// or we tell the user to open the URL
|
|
142
|
-
console.log("Dashboard UI: http://localhost:3081");
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
// Auto-open browser (macOS only for now)
|
|
146
|
-
setTimeout(() => {
|
|
147
|
-
try {
|
|
148
|
-
if (process.platform === "darwin") {
|
|
149
|
-
Bun.spawn(["open", "http://localhost:3080"], { stdout: "ignore" });
|
|
150
|
-
}
|
|
151
|
-
} catch {
|
|
152
|
-
// Ignore open errors
|
|
153
|
-
}
|
|
154
|
-
}, 2000);
|
|
155
|
-
|
|
156
|
-
// Handle shutdown
|
|
157
|
-
process.on("SIGINT", () => {
|
|
158
|
-
console.log("\n🛑 Shutting down Locus...");
|
|
159
|
-
serverProcess.kill();
|
|
160
|
-
if (webProcess) webProcess.kill();
|
|
161
|
-
process.exit();
|
|
162
|
-
});
|
|
163
|
-
|
|
164
|
-
await Promise.all([
|
|
165
|
-
serverProcess.exited,
|
|
166
|
-
webProcess ? webProcess.exited : Promise.resolve(),
|
|
167
|
-
]);
|
|
168
|
-
}
|
|
169
|
-
|
|
170
|
-
async function mcp(args: string[]) {
|
|
171
|
-
const { values } = parseArgs({
|
|
172
|
-
args,
|
|
173
|
-
options: {
|
|
174
|
-
project: { type: "string" },
|
|
175
|
-
},
|
|
176
|
-
strict: false,
|
|
177
|
-
});
|
|
178
|
-
|
|
179
|
-
const projectPath = (values.project as string) || process.cwd();
|
|
180
|
-
const locusDir = isAbsolute(projectPath)
|
|
181
|
-
? projectPath.endsWith(".locus")
|
|
182
|
-
? projectPath
|
|
183
|
-
: join(projectPath, ".locus")
|
|
184
|
-
: resolve(process.cwd(), projectPath, ".locus");
|
|
185
|
-
|
|
186
|
-
if (!existsSync(locusDir)) {
|
|
187
|
-
console.error(`Error: .locus directory not found at ${locusDir}`);
|
|
188
|
-
process.exit(1);
|
|
189
|
-
}
|
|
190
|
-
|
|
191
|
-
// Set environment variable for the MCP server to use
|
|
192
|
-
process.env.LOCUS_PROJECT_PATH = locusDir;
|
|
193
|
-
|
|
194
|
-
const cliDir = import.meta.dir;
|
|
195
|
-
const isBundled = cliDir.endsWith("/bin") || cliDir.endsWith("\\bin");
|
|
196
|
-
const locusRoot = isBundled
|
|
197
|
-
? resolve(cliDir, "../")
|
|
198
|
-
: resolve(cliDir, "../../");
|
|
199
|
-
|
|
200
|
-
// Detection for bundled vs source mode
|
|
201
|
-
const mcpSourcePath = join(locusRoot, "apps/mcp/src/index.ts");
|
|
202
|
-
const mcpBundledPath = isBundled
|
|
203
|
-
? join(cliDir, "mcp.js")
|
|
204
|
-
: join(locusRoot, "packages/cli/bin/mcp.js");
|
|
205
|
-
|
|
206
|
-
const mcpExecPath = existsSync(mcpSourcePath)
|
|
207
|
-
? mcpSourcePath
|
|
208
|
-
: mcpBundledPath;
|
|
209
|
-
|
|
210
|
-
if (!existsSync(mcpExecPath)) {
|
|
211
|
-
console.error(
|
|
212
|
-
"Error: Locus MCP server not found. Please reinstall the CLI."
|
|
213
|
-
);
|
|
214
|
-
process.exit(1);
|
|
215
|
-
}
|
|
216
|
-
|
|
217
|
-
// Spawn the MCP server with stdio passthrough for MCP protocol
|
|
218
|
-
const mcpProcess = Bun.spawn(["bun", "run", mcpExecPath], {
|
|
219
|
-
env: { ...process.env, LOCUS_PROJECT_PATH: locusDir },
|
|
220
|
-
stdin: "inherit",
|
|
221
|
-
stdout: "inherit",
|
|
222
|
-
stderr: "inherit",
|
|
223
|
-
});
|
|
224
|
-
|
|
225
|
-
await mcpProcess.exited;
|
|
226
|
-
}
|
|
227
|
-
|
|
228
|
-
async function main() {
|
|
229
|
-
const command = process.argv[2];
|
|
230
|
-
const args = process.argv.slice(3);
|
|
231
|
-
|
|
232
|
-
switch (command) {
|
|
233
|
-
case "init":
|
|
234
|
-
await init(args);
|
|
235
|
-
break;
|
|
236
|
-
case "dev":
|
|
237
|
-
await dev(args);
|
|
238
|
-
break;
|
|
239
|
-
case "mcp":
|
|
240
|
-
await mcp(args);
|
|
241
|
-
break;
|
|
242
|
-
case "help":
|
|
243
|
-
case undefined:
|
|
244
|
-
console.log(`
|
|
245
|
-
Locus CLI - Agentic Engineering Workspace
|
|
246
|
-
|
|
247
|
-
Usage:
|
|
248
|
-
locus init [--name <name>] Create a new project or initialize in current dir
|
|
249
|
-
locus dev Start Locus for the current project
|
|
250
|
-
locus mcp [--project <path>] Start MCP server for AI agent integration
|
|
251
|
-
locus help Show this help
|
|
252
|
-
`);
|
|
253
|
-
break;
|
|
254
|
-
default:
|
|
255
|
-
console.error(`Unknown command: ${command}`);
|
|
256
|
-
process.exit(1);
|
|
257
|
-
}
|
|
258
|
-
}
|
|
259
|
-
|
|
260
|
-
main();
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html><!--D0NXe04ZCLNDckV_quc8g--><html lang="en" class="dark"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/47cbc4e2adbc5db9-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/8aea088cdc4338f0.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/13e8617b72f9d3aa.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-99a10a055b5bb9c4.js"/><script src="/_next/static/chunks/87c73c54-1f4741035a95c140.js" async=""></script><script src="/_next/static/chunks/902-d6926825a9fe8784.js" async=""></script><script src="/_next/static/chunks/main-app-123e879c5a937a00.js" async=""></script><script src="/_next/static/chunks/337-d3bb75304d130513.js" async=""></script><script src="/_next/static/chunks/146-34259952c594a3b0.js" async=""></script><script src="/_next/static/chunks/app/layout-05f504c042b9f7ee.js" async=""></script><meta name="robots" content="noindex"/><meta name="next-size-adjust" content=""/><title>404: This page could not be found.</title><title>Locus Dashboard</title><meta name="description" content="Local-first task management and documentation for agentic engineering."/><link rel="icon" href="/favicon.ico" type="image/x-icon" sizes="200x209"/><link rel="icon" href="/favicon.ico"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="__className_6a21cc antialiased"><div hidden=""><!--$--><!--/$--></div><div class="flex h-screen overflow-hidden bg-background"><aside class="w-[260px] flex flex-col border-r border-border/50 bg-card/50 backdrop-blur-sm h-full"><div class="flex items-center gap-3 p-5 border-b border-border/50"><img alt="Locus" loading="lazy" width="97.81" height="32" decoding="async" data-nimg="1" class="rounded-xl shadow-lg" style="color:transparent" src="/logo.png"/></div><div class="flex-1 p-4"><div class="text-[10px] uppercase font-bold tracking-widest text-muted-foreground/70 mb-3 px-3">Navigation</div><nav class="space-y-1"><a class="group flex items-center gap-3 px-3 py-2.5 text-sm font-medium rounded-xl transition-all text-muted-foreground hover:bg-secondary hover:text-foreground" href="/"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-layout-dashboard group-hover:scale-110 transition-transform"><rect width="7" height="9" x="3" y="3" rx="1"></rect><rect width="7" height="5" x="14" y="3" rx="1"></rect><rect width="7" height="9" x="14" y="12" rx="1"></rect><rect width="7" height="5" x="3" y="16" rx="1"></rect></svg><div class="flex-1"><span class="block">Board</span></div></a><a class="group flex items-center gap-3 px-3 py-2.5 text-sm font-medium rounded-xl transition-all text-muted-foreground hover:bg-secondary hover:text-foreground" href="/backlog"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-list group-hover:scale-110 transition-transform"><path d="M3 12h.01"></path><path d="M3 18h.01"></path><path d="M3 6h.01"></path><path d="M8 12h13"></path><path d="M8 18h13"></path><path d="M8 6h13"></path></svg><div class="flex-1"><span class="block">Backlog</span></div></a><a class="group flex items-center gap-3 px-3 py-2.5 text-sm font-medium rounded-xl transition-all text-muted-foreground hover:bg-secondary hover:text-foreground" href="/docs"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-file-text group-hover:scale-110 transition-transform"><path d="M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"></path><path d="M14 2v4a2 2 0 0 0 2 2h4"></path><path d="M10 9H8"></path><path d="M16 13H8"></path><path d="M16 17H8"></path></svg><div class="flex-1"><span class="block">Library</span></div></a></nav></div><div class="p-4 border-t border-border/50"><a class="flex items-center gap-3 w-full px-3 py-2.5 text-sm font-medium rounded-xl transition-all text-muted-foreground hover:bg-secondary/60 hover:text-foreground" href="/settings"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-settings"><path d="M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"></path><circle cx="12" cy="12" r="3"></circle></svg><span>Settings</span></a></div></aside><main class="flex-1 overflow-auto bg-background p-8"><div class="max-w-[1440px] mx-auto"><header class="flex items-center mb-6 py-3"><div class="relative flex-1 max-w-md group"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-search absolute left-3.5 top-1/2 -translate-y-1/2 text-muted-foreground group-focus-within:text-primary transition-colors"><circle cx="11" cy="11" r="8"></circle><path d="m21 21-4.3-4.3"></path></svg><input type="text" placeholder="Search tasks, docs... (⌘K)" class="w-full bg-secondary/40 border border-border/50 rounded-lg pl-10 pr-4 py-2.5 text-sm text-foreground placeholder:text-muted-foreground/70 outline-none transition-all focus:border-primary/50 focus:ring-2 focus:ring-primary/20 focus:bg-background hover:bg-secondary/60"/></div></header><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--></div></main></div><script src="/_next/static/chunks/webpack-99a10a055b5bb9c4.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[6096,[\"337\",\"static/chunks/337-d3bb75304d130513.js\",\"146\",\"static/chunks/146-34259952c594a3b0.js\",\"177\",\"static/chunks/app/layout-05f504c042b9f7ee.js\"],\"Providers\"]\n3:I[9798,[\"337\",\"static/chunks/337-d3bb75304d130513.js\",\"146\",\"static/chunks/146-34259952c594a3b0.js\",\"177\",\"static/chunks/app/layout-05f504c042b9f7ee.js\"],\"Sidebar\"]\n4:I[493,[\"337\",\"static/chunks/337-d3bb75304d130513.js\",\"146\",\"static/chunks/146-34259952c594a3b0.js\",\"177\",\"static/chunks/app/layout-05f504c042b9f7ee.js\"],\"Header\"]\n5:I[7132,[],\"\"]\n6:I[5082,[],\"\"]\n7:I[700,[],\"OutletBoundary\"]\n9:I[7748,[],\"AsyncMetadataOutlet\"]\nb:I[700,[],\"ViewportBoundary\"]\nd:I[700,[],\"MetadataBoundary\"]\ne:\"$Sreact.suspense\"\n10:I[1256,[],\"\"]\n:HL[\"/_next/static/media/47cbc4e2adbc5db9-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/css/8aea088cdc4338f0.css\",\"style\"]\n:HL[\"/_next/static/css/13e8617b72f9d3aa.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"D0NXe04ZCLNDckV_quc8g\",\"p\":\"\",\"c\":[\"\",\"_not-found\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/8aea088cdc4338f0.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/13e8617b72f9d3aa.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"dark\",\"children\":[\"$\",\"body\",null,{\"className\":\"__className_6a21cc antialiased\",\"children\":[\"$\",\"$L2\",null,{\"children\":[\"$\",\"div\",null,{\"className\":\"flex h-screen overflow-hidden bg-background\",\"children\":[[\"$\",\"$L3\",null,{}],[\"$\",\"main\",null,{\"className\":\"flex-1 overflow-auto bg-background p-8\",\"children\":[\"$\",\"div\",null,{\"className\":\"max-w-[1440px] mx-auto\",\"children\":[[\"$\",\"$L4\",null,{}],[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L6\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]}]]}]}]}]}]]}],{\"children\":[\"/_not-found\",[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L6\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[\"__PAGE__\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L7\",null,{\"children\":[\"$L8\",[\"$\",\"$L9\",null,{\"promise\":\"$@a\"}]]}]]}],{},null,false]},null,false]},null,false],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[[\"$\",\"$Lb\",null,{\"children\":\"$Lc\"}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]],[\"$\",\"$Ld\",null,{\"children\":[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$e\",null,{\"fallback\":null,\"children\":\"$Lf\"}]}]}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$10\",[]],\"s\":false,\"S\":true}\n"])</script><script>self.__next_f.push([1,"c:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n8:null\n"])</script><script>self.__next_f.push([1,"11:I[4780,[],\"IconMark\"]\na:{\"metadata\":[[\"$\",\"title\",\"0\",{\"children\":\"Locus Dashboard\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Local-first task management and documentation for agentic engineering.\"}],[\"$\",\"link\",\"2\",{\"rel\":\"icon\",\"href\":\"/favicon.ico\",\"type\":\"image/x-icon\",\"sizes\":\"200x209\"}],[\"$\",\"link\",\"3\",{\"rel\":\"icon\",\"href\":\"/favicon.ico\"}],[\"$\",\"$L11\",\"4\",{}]],\"error\":null,\"digest\":\"$undefined\"}\n"])</script><script>self.__next_f.push([1,"f:\"$a:metadata\"\n"])</script></body></html>
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
self.__BUILD_MANIFEST=function(e,r,t){return{__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},__routerFilterStatic:{numItems:6,errorRate:1e-4,numBits:116,numHashes:14,bitArray:[1,0,0,1,e,r,e,r,r,r,e,e,e,e,e,e,r,e,e,e,r,r,r,e,r,r,r,r,e,r,e,r,e,r,r,e,e,r,e,e,e,r,e,e,e,r,r,e,r,r,r,r,e,r,e,r,r,e,e,e,r,e,r,e,r,r,e,e,r,e,r,e,e,e,r,e,e,r,r,e,e,r,r,e,e,r,r,e,e,e,r,e,r,r,r,r,r,r,e,e,e,r,e,e,r,e,e,e,r,r,e,e,r,e,e,r]},__routerFilterDynamic:{numItems:r,errorRate:1e-4,numBits:r,numHashes:null,bitArray:[]},"/_error":["static/chunks/pages/_error-3e422ffd891594de.js"],sortedPages:["/_app","/_error"]}}(1,0,1e-4),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB();
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
self.__SSG_MANIFEST=new Set([]);self.__SSG_MANIFEST_CB&&self.__SSG_MANIFEST_CB()
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[138],{3138:(e,s,t)=>{t.r(s),t.d(s,{Backlog:()=>P});var a=t(4568),r=t(3096),i=t(7606),n=t(3297),d=t(6258),l=t(9241),o=t(1355),c=t(5256),x=t(8889);let m=(0,x.A)("Layers",[["path",{d:"m12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83Z",key:"8b97xw"}],["path",{d:"m22 17.65-9.17 4.16a2 2 0 0 1-1.66 0L2 17.65",key:"dd6zsq"}],["path",{d:"m22 12.65-9.17 4.16a2 2 0 0 1-1.66 0L2 12.65",key:"ep9fru"}]]),u=(0,x.A)("Target",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"12",r:"6",key:"1vlfrh"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}]]);var p=t(4529),h=t(5191);let g=(0,x.A)("Play",[["polygon",{points:"6 3 20 12 6 21 6 3",key:"1oa8hb"}]]);var y=t(7911);let v=(0,x.A)("Sparkles",[["path",{d:"M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z",key:"4pj2yx"}],["path",{d:"M20 3v4",key:"1olli1"}],["path",{d:"M22 5h-4",key:"1gvqau"}],["path",{d:"M4 17v2",key:"vumght"}],["path",{d:"M5 18H3",key:"zchphs"}]]);var j=t(8864);let f=(0,x.A)("Archive",[["rect",{width:"20",height:"5",x:"2",y:"3",rx:"1",key:"1wp1u1"}],["path",{d:"M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8",key:"1s80jp"}],["path",{d:"M10 12h4",key:"a56b0p"}]]);var b=t(8262);let N=(0,x.A)("GripVertical",[["circle",{cx:"9",cy:"12",r:"1",key:"1vctgf"}],["circle",{cx:"9",cy:"5",r:"1",key:"hp0tcf"}],["circle",{cx:"9",cy:"19",r:"1",key:"fkjjf6"}],["circle",{cx:"15",cy:"12",r:"1",key:"1tmaij"}],["circle",{cx:"15",cy:"5",r:"1",key:"19l28e"}],["circle",{cx:"15",cy:"19",r:"1",key:"f4zoj3"}]]);var k=t(7620),w=t(4532),C=t(3544),A=t(5322),S=t(3928),z=t(1077),M=t(8688);function P(){let e=(0,i.jE)(),[s,t]=(0,k.useState)(null),[x,N]=(0,k.useState)(!1),[S,P]=(0,k.useState)(""),[T,q]=(0,k.useState)(!1),[I,K]=(0,k.useState)(!1),[L,J]=(0,k.useState)(new Set),[Q,$]=(0,k.useState)(!0),{data:F=[]}=(0,n.I)({queryKey:["sprints"],queryFn:z.K.getAll}),{data:O=[]}=(0,n.I)({queryKey:["tasks"],queryFn:M.p.getAll}),B=(0,d.n)({mutationFn:z.K.create,onSuccess:()=>{e.invalidateQueries({queryKey:["sprints"]}),N(!1),P("")}}),V=(0,d.n)({mutationFn:e=>{let{id:s,updates:t}=e;return M.p.update(s,t)},onSuccess:()=>e.invalidateQueries({queryKey:["tasks"]})}),W=(0,d.n)({mutationFn:e=>{let{id:s,updates:t}=e;return z.K.update(s,t)},onSuccess:()=>e.invalidateQueries({queryKey:["sprints"]})}),_=(0,d.n)({mutationFn:e=>z.K.delete(e),onSuccess:()=>{e.invalidateQueries({queryKey:["sprints"]}),e.invalidateQueries({queryKey:["tasks"]})}}),G=()=>{S.trim()&&B.mutate({name:S})},H=e=>{J(s=>{let t=new Set(s);return t.has(e)?t.delete(e):t.add(e),t})},R=O.filter(e=>!e.sprintId),Z=F.filter(e=>e.status===r.J3.ACTIVE),U=F.filter(e=>e.status===r.J3.PLANNED),Y=F.filter(e=>e.status===r.J3.COMPLETED),X=e=>O.filter(s=>s.sprintId===e);return(0,a.jsxs)("div",{className:"h-full flex flex-col bg-linear-to-br from-background via-background to-secondary/5",children:[(0,a.jsxs)("header",{className:"px-8 py-6 border-b border-border/30 bg-background/80 backdrop-blur-xl sticky top-0 z-20",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsxs)("div",{className:"flex items-center gap-4",children:[(0,a.jsx)("div",{className:"p-2.5 rounded-xl bg-linear-to-br from-primary/20 to-primary/5 border border-primary/20",children:(0,a.jsx)(m,{className:"w-5 h-5 text-primary"})}),(0,a.jsxs)("div",{children:[(0,a.jsx)("h1",{className:"text-xl font-bold text-foreground",children:"Product Backlog"}),(0,a.jsxs)("p",{className:"text-sm text-muted-foreground",children:[O.length," items \xb7 ",F.length," sprints"]})]})]}),(0,a.jsxs)("div",{className:"flex items-center gap-3",children:[(0,a.jsxs)(A.$n,{variant:"secondary",onClick:()=>N(!0),disabled:x,className:"gap-2",children:[(0,a.jsx)(u,{size:16}),"New Sprint"]}),(0,a.jsxs)(A.$n,{onClick:()=>q(!0),className:"gap-2 shadow-lg shadow-primary/20",children:[(0,a.jsx)(p.A,{size:16}),"Create Issue"]})]})]}),(0,a.jsx)(o.N,{children:x&&(0,a.jsx)(c.P.div,{initial:{height:0,opacity:0},animate:{height:"auto",opacity:1},exit:{height:0,opacity:0},className:"overflow-hidden",children:(0,a.jsxs)("div",{className:"flex gap-3 mt-4 pt-4 border-t border-border/30 max-w-lg",children:[(0,a.jsx)(A.pd,{value:S,onChange:e=>P(e.target.value),placeholder:"Sprint name (e.g. Sprint 24)",autoFocus:!0,onKeyDown:e=>"Enter"===e.key&&G(),className:"flex-1"}),(0,a.jsx)(A.$n,{onClick:G,disabled:!S.trim(),size:"sm",children:"Create"}),(0,a.jsx)(A.$n,{variant:"ghost",size:"sm",onClick:()=>{N(!1),P("")},children:"Cancel"})]})})})]}),(0,a.jsx)("div",{className:"flex-1 overflow-y-auto",children:(0,a.jsxs)("div",{className:"max-w-5xl mx-auto px-8 py-6 space-y-4",children:[Z.map(e=>(0,a.jsx)(D,{sprint:e,tasks:X(e.id),isExpanded:L.has(e.id),onToggle:()=>H(e.id),onTaskClick:t,onMoveTask:(e,s)=>V.mutate({id:e,updates:{sprintId:s}}),availableSprints:F,variant:"active",onAction:()=>{W.mutate({id:e.id,updates:{status:r.J3.COMPLETED,endDate:Date.now()}})},actionLabel:"Complete",actionIcon:(0,a.jsx)(h.A,{size:14})},e.id)),U.map(e=>(0,a.jsx)(D,{sprint:e,tasks:X(e.id),isExpanded:L.has(e.id),onToggle:()=>H(e.id),onTaskClick:t,onMoveTask:(e,s)=>V.mutate({id:e,updates:{sprintId:s}}),availableSprints:F,variant:"planned",onAction:()=>{W.mutate({id:e.id,updates:{status:r.J3.ACTIVE,startDate:Date.now()}})},actionLabel:"Start Sprint",actionIcon:(0,a.jsx)(g,{size:14})},e.id)),(0,a.jsxs)(c.P.div,{layout:!0,className:"rounded-2xl border border-border/40 bg-card/30 backdrop-blur-sm overflow-hidden",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between p-4 hover:bg-secondary/30 transition-colors",children:[(0,a.jsxs)("div",{className:"flex items-center gap-3 flex-1 cursor-pointer",onClick:()=>$(!Q),children:[(0,a.jsx)(c.P.div,{animate:{rotate:90*!!Q},transition:{duration:.2},children:(0,a.jsx)(y.A,{size:18,className:"text-muted-foreground"})}),(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(v,{size:16,className:"text-amber-500"}),(0,a.jsx)("span",{className:"font-semibold text-foreground",children:"Backlog"})]}),(0,a.jsx)("span",{className:"px-2 py-0.5 rounded-full bg-secondary text-[11px] font-bold text-muted-foreground",children:R.length})]}),(0,a.jsxs)(A.$n,{variant:"ghost",size:"sm",className:"text-xs gap-1.5 text-muted-foreground hover:text-primary",onClick:()=>q(!0),children:[(0,a.jsx)(p.A,{size:14}),"Add"]})]}),(0,a.jsx)(o.N,{children:Q&&(0,a.jsx)(c.P.div,{initial:{height:0},animate:{height:"auto"},exit:{height:0},className:"overflow-hidden",children:(0,a.jsx)("div",{className:"border-t border-border/30",children:0===R.length?(0,a.jsxs)("div",{className:"py-12 text-center",children:[(0,a.jsx)("div",{className:"inline-flex items-center justify-center w-12 h-12 rounded-full bg-secondary/50 mb-3",children:(0,a.jsx)(j.A,{className:"w-5 h-5 text-muted-foreground/50"})}),(0,a.jsx)("p",{className:"text-sm text-muted-foreground",children:"No items in backlog"}),(0,a.jsx)(A.$n,{variant:"ghost",size:"sm",className:"mt-2 text-primary",onClick:()=>q(!0),children:"Create your first issue"})]}):(0,a.jsx)("div",{className:"divide-y divide-border/20",children:R.map(e=>(0,a.jsx)(E,{task:e,onClick:()=>t(e.id),onMoveTask:s=>V.mutate({id:e.id,updates:{sprintId:s}}),availableSprints:F.filter(e=>e.status!==r.J3.COMPLETED),currentSprintId:null},e.id))})})})})]}),Y.length>0&&(0,a.jsxs)(c.P.div,{layout:!0,className:"rounded-2xl border border-border/30 bg-background/50 overflow-hidden",children:[(0,a.jsx)("button",{onClick:()=>K(!I),className:"w-full flex items-center justify-between p-4 hover:bg-secondary/20 transition-colors",children:(0,a.jsxs)("div",{className:"flex items-center gap-3",children:[(0,a.jsx)(c.P.div,{animate:{rotate:90*!!I},transition:{duration:.2},children:(0,a.jsx)(y.A,{size:18,className:"text-muted-foreground/50"})}),(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(f,{size:16,className:"text-muted-foreground/50"}),(0,a.jsx)("span",{className:"font-medium text-muted-foreground",children:"Completed Sprints"})]}),(0,a.jsx)("span",{className:"px-2 py-0.5 rounded-full bg-secondary/50 text-[11px] font-bold text-muted-foreground/60",children:Y.length})]})}),(0,a.jsx)(o.N,{children:I&&(0,a.jsx)(c.P.div,{initial:{height:0},animate:{height:"auto"},exit:{height:0},className:"overflow-hidden",children:(0,a.jsx)("div",{className:"border-t border-border/30 divide-y divide-border/20",children:Y.map(e=>(0,a.jsxs)("div",{className:"flex items-center justify-between px-4 py-3 hover:bg-secondary/10 transition-colors",children:[(0,a.jsxs)("div",{className:"flex items-center gap-3",children:[(0,a.jsx)(h.A,{size:14,className:"text-emerald-500/60"}),(0,a.jsx)("span",{className:"text-sm font-medium text-muted-foreground",children:e.name}),(0,a.jsxs)("span",{className:"text-xs text-muted-foreground/50 font-mono",children:[X(e.id).length," tasks"]}),e.endDate&&(0,a.jsxs)("span",{className:"text-xs text-muted-foreground/40",suppressHydrationWarning:!0,children:["Completed"," ",(0,l.GP)(e.endDate,"MMM d, yyyy")]})]}),(0,a.jsxs)(A.$n,{variant:"ghost",size:"sm",className:"text-xs text-muted-foreground hover:text-destructive hover:bg-destructive/10",onClick:()=>{confirm('Delete "'.concat(e.name,'" and all its tasks? This cannot be undone.'))&&_.mutate(e.id)},children:[(0,a.jsx)(b.A,{size:14,className:"mr-1"}),"Delete"]})]},e.id))})})})]})]})}),(0,a.jsx)(w.l,{isOpen:T,onClose:()=>q(!1),onCreated:()=>{e.invalidateQueries({queryKey:["tasks"]}),q(!1)}}),(0,a.jsx)(o.N,{children:s&&(0,a.jsx)(C.W,{taskId:s,onClose:()=>t(null),onDeleted:()=>{t(null),e.invalidateQueries({queryKey:["tasks"]})},onUpdated:()=>e.invalidateQueries({queryKey:["tasks"]})})})]})}function D(e){let{sprint:s,tasks:t,isExpanded:i,onToggle:n,onTaskClick:d,onMoveTask:x,availableSprints:m,variant:u,onAction:p,actionLabel:h,actionIcon:g}=e,v="active"===u;return(0,a.jsxs)(c.P.div,{layout:!0,className:(0,S.cn)("rounded-2xl border overflow-hidden transition-all",v?"border-primary/30 bg-primary/2 shadow-lg shadow-primary/5":"border-border/40 bg-card/30"),children:[(0,a.jsxs)("div",{onClick:n,className:(0,S.cn)("w-full flex items-center justify-between p-4 transition-colors",v?"hover:bg-primary/5":"hover:bg-secondary/30"),children:[(0,a.jsxs)("div",{className:"flex items-center gap-3",children:[(0,a.jsx)(c.P.div,{animate:{rotate:90*!!i},transition:{duration:.2},children:(0,a.jsx)(y.A,{size:18,className:v?"text-primary":"text-muted-foreground"})}),(0,a.jsxs)("div",{className:"flex items-center gap-3",children:[v&&(0,a.jsxs)("div",{className:"relative",children:[(0,a.jsx)("div",{className:"w-2 h-2 rounded-full bg-primary animate-pulse"}),(0,a.jsx)("div",{className:"absolute inset-0 w-2 h-2 rounded-full bg-primary animate-ping"})]}),(0,a.jsx)("span",{className:(0,S.cn)("font-semibold",v?"text-primary":"text-foreground"),children:s.name}),(0,a.jsxs)("span",{className:"px-2 py-0.5 rounded-full bg-secondary text-[11px] font-bold text-muted-foreground",children:[t.length," issues"]}),s.startDate&&v&&(0,a.jsxs)("span",{className:"text-xs text-muted-foreground font-mono",suppressHydrationWarning:!0,children:["Started ",(0,l.GP)(s.startDate,"MMM d")]})]})]}),(0,a.jsxs)(A.$n,{variant:v?"secondary":"ghost",size:"sm",className:(0,S.cn)("gap-1.5 text-xs",v?"hover:bg-emerald-500/10 hover:text-emerald-600":"hover:bg-primary/10 hover:text-primary"),onClick:e=>{e.stopPropagation(),p()},children:[g,h]})]}),(0,a.jsx)(o.N,{children:i&&(0,a.jsx)(c.P.div,{initial:{height:0},animate:{height:"auto"},exit:{height:0},className:"overflow-hidden",children:(0,a.jsx)("div",{className:"border-t border-border/30",children:0===t.length?(0,a.jsx)("div",{className:"py-8 text-center text-sm text-muted-foreground/60",children:"Drag issues here or move from backlog"}):(0,a.jsx)("div",{className:"divide-y divide-border/20",children:t.map(e=>(0,a.jsx)(E,{task:e,onClick:()=>d(e.id),onMoveTask:s=>x(e.id,s),availableSprints:m.filter(e=>e.id!==s.id&&e.status!==r.J3.COMPLETED),currentSprintId:s.id},e.id))})})})})]})}function E(e){let{task:s,onClick:t,onMoveTask:r,availableSprints:i,currentSprintId:n}=e;return(0,a.jsxs)(c.P.div,{layout:!0,className:"group flex items-center gap-3 px-4 py-3 hover:bg-secondary/20 transition-all cursor-pointer",onClick:t,children:[(0,a.jsx)("div",{className:"opacity-0 group-hover:opacity-40 transition-opacity cursor-grab",children:(0,a.jsx)(N,{size:14})}),(0,a.jsx)(A.YJ,{priority:s.priority}),(0,a.jsx)("div",{className:"flex-1 min-w-0",children:(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsxs)("span",{className:"text-xs font-mono text-muted-foreground/60 group-hover:text-primary transition-colors",children:["LCS-",s.id]}),(0,a.jsx)("span",{className:"text-sm font-medium text-foreground/90 truncate group-hover:text-foreground transition-colors",children:s.title})]})}),(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(A.Wh,{status:s.status}),s.assigneeRole&&(0,a.jsx)("span",{className:"px-1.5 py-0.5 rounded text-[10px] font-bold bg-secondary border border-border/50 text-muted-foreground",children:s.assigneeRole})]}),(0,a.jsx)("div",{className:"opacity-0 group-hover:opacity-100 transition-opacity",onClick:e=>e.stopPropagation(),children:(0,a.jsxs)("select",{className:"appearance-none bg-secondary/50 hover:bg-secondary text-xs font-medium text-muted-foreground px-2 py-1 rounded-md border border-border/50 cursor-pointer focus:outline-none focus:ring-2 focus:ring-primary/20",value:"",onChange:e=>{let s=e.target.value;"backlog"===s?r(null):s&&r(Number(s))},children:[(0,a.jsx)("option",{value:"",disabled:!0,children:"Move →"}),null!==n&&(0,a.jsx)("option",{value:"backlog",children:"→ Backlog"}),i.map(e=>(0,a.jsxs)("option",{value:e.id,children:["→ ",e.name]},e.id))]})})]})}},8864:(e,s,t)=>{t.d(s,{A:()=>a});let a=(0,t(8889).A)("Zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]])}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[146],{124:(e,t,r)=>{r.d(t,{Zq:()=>s,zs:()=>i});var n={setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e),setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e)},i=new class{#e=n;#t=!1;setTimeoutProvider(e){this.#e=e}setTimeout(e,t){return this.#e.setTimeout(e,t)}clearTimeout(e){this.#e.clearTimeout(e)}setInterval(e,t){return this.#e.setInterval(e,t)}clearInterval(e){this.#e.clearInterval(e)}};function s(e){setTimeout(e,0)}},170:(e,t)=>{function r(e){var t;let{config:r,src:n,width:i,quality:s}=e,o=s||(null==(t=r.qualities)?void 0:t.reduce((e,t)=>Math.abs(t-75)<Math.abs(e-75)?t:e))||75;return r.path+"?url="+encodeURIComponent(n)+"&w="+i+"&q="+o+(n.startsWith("/_next/static/media/"),"")}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return n}}),r.__next_img_default=!0;let n=r},327:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{VALID_LOADERS:function(){return r},imageConfigDefault:function(){return n}});let r=["default","imgix","cloudinary","akamai","custom"],n={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/_next/image",loader:"default",loaderFile:"",domains:[],disableStaticImages:!1,minimumCacheTTL:60,formats:["image/webp"],dangerouslyAllowSVG:!1,contentSecurityPolicy:"script-src 'none'; frame-src 'none'; sandbox;",contentDispositionType:"attachment",localPatterns:void 0,remotePatterns:[],qualities:void 0,unoptimized:!1}},444:(e,t)=>{function r(e){let t={};for(let[r,n]of e.entries()){let e=t[r];void 0===e?t[r]=n:Array.isArray(e)?e.push(n):t[r]=[e,n]}return t}function n(e){return"string"==typeof e?e:("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function i(e){let t=new URLSearchParams;for(let[r,i]of Object.entries(e))if(Array.isArray(i))for(let e of i)t.append(r,n(e));else t.set(r,n(i));return t}function s(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];for(let t of r){for(let r of t.keys())e.delete(r);for(let[r,n]of t.entries())e.append(r,n)}return e}Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{assign:function(){return s},searchParamsToUrlQuery:function(){return r},urlQueryToSearchParams:function(){return i}})},494:(e,t,r)=>{r.d(t,{jG:()=>i});var n=r(124).Zq,i=function(){let e=[],t=0,r=e=>{e()},i=e=>{e()},s=n,o=n=>{t?e.push(n):s(()=>{r(n)})};return{batch:n=>{let o;t++;try{o=n()}finally{--t||(()=>{let t=e;e=[],t.length&&s(()=>{i(()=>{t.forEach(e=>{r(e)})})})})()}return o},batchCalls:e=>(...t)=>{o(()=>{e(...t)})},schedule:o,setNotifyFunction:e=>{r=e},setBatchNotifyFunction:e=>{i=e},setScheduler:e=>{s=e}}}()},589:(e,t,r)=>{r.d(t,{$:()=>a,s:()=>o});var n=r(494),i=r(6759),s=r(1279),o=class extends i.k{#r;#n;#i;#s;constructor(e){super(),this.#r=e.client,this.mutationId=e.mutationId,this.#i=e.mutationCache,this.#n=[],this.state=e.state||a(),this.setOptions(e.options),this.scheduleGc()}setOptions(e){this.options=e,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(e){this.#n.includes(e)||(this.#n.push(e),this.clearGcTimeout(),this.#i.notify({type:"observerAdded",mutation:this,observer:e}))}removeObserver(e){this.#n=this.#n.filter(t=>t!==e),this.scheduleGc(),this.#i.notify({type:"observerRemoved",mutation:this,observer:e})}optionalRemove(){this.#n.length||("pending"===this.state.status?this.scheduleGc():this.#i.remove(this))}continue(){return this.#s?.continue()??this.execute(this.state.variables)}async execute(e){let t=()=>{this.#o({type:"continue"})},r={client:this.#r,meta:this.options.meta,mutationKey:this.options.mutationKey};this.#s=(0,s.II)({fn:()=>this.options.mutationFn?this.options.mutationFn(e,r):Promise.reject(Error("No mutationFn found")),onFail:(e,t)=>{this.#o({type:"failed",failureCount:e,error:t})},onPause:()=>{this.#o({type:"pause"})},onContinue:t,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>this.#i.canRun(this)});let n="pending"===this.state.status,i=!this.#s.canStart();try{if(n)t();else{this.#o({type:"pending",variables:e,isPaused:i}),await this.#i.config.onMutate?.(e,this,r);let t=await this.options.onMutate?.(e,r);t!==this.state.context&&this.#o({type:"pending",context:t,variables:e,isPaused:i})}let s=await this.#s.start();return await this.#i.config.onSuccess?.(s,e,this.state.context,this,r),await this.options.onSuccess?.(s,e,this.state.context,r),await this.#i.config.onSettled?.(s,null,this.state.variables,this.state.context,this,r),await this.options.onSettled?.(s,null,e,this.state.context,r),this.#o({type:"success",data:s}),s}catch(t){try{await this.#i.config.onError?.(t,e,this.state.context,this,r)}catch(e){Promise.reject(e)}try{await this.options.onError?.(t,e,this.state.context,r)}catch(e){Promise.reject(e)}try{await this.#i.config.onSettled?.(void 0,t,this.state.variables,this.state.context,this,r)}catch(e){Promise.reject(e)}try{await this.options.onSettled?.(void 0,t,e,this.state.context,r)}catch(e){Promise.reject(e)}throw this.#o({type:"error",error:t}),t}finally{this.#i.runNext(this)}}#o(e){this.state=(t=>{switch(e.type){case"failed":return{...t,failureCount:e.failureCount,failureReason:e.error};case"pause":return{...t,isPaused:!0};case"continue":return{...t,isPaused:!1};case"pending":return{...t,context:e.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:e.isPaused,status:"pending",variables:e.variables,submittedAt:Date.now()};case"success":return{...t,data:e.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...t,data:void 0,error:e.error,failureCount:t.failureCount+1,failureReason:e.error,isPaused:!1,status:"error"}}})(this.state),n.jG.batch(()=>{this.#n.forEach(t=>{t.onMutationUpdate(e)}),this.#i.notify({mutation:this,type:"updated",action:e})})}};function a(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}},1116:(e,t,r)=>{r.d(t,{t:()=>s});var n=r(2327),i=r(7703),s=new class extends n.Q{#a=!0;#u;#l;constructor(){super(),this.#l=e=>{if(!i.S$&&window.addEventListener){let t=()=>e(!0),r=()=>e(!1);return window.addEventListener("online",t,!1),window.addEventListener("offline",r,!1),()=>{window.removeEventListener("online",t),window.removeEventListener("offline",r)}}}}onSubscribe(){this.#u||this.setEventListener(this.#l)}onUnsubscribe(){this.hasListeners()||(this.#u?.(),this.#u=void 0)}setEventListener(e){this.#l=e,this.#u?.(),this.#u=e(this.setOnline.bind(this))}setOnline(e){this.#a!==e&&(this.#a=e,this.listeners.forEach(t=>{t(e)}))}isOnline(){return this.#a}}},1229:(e,t,r)=>{r.d(t,{m:()=>s});var n=r(2327),i=r(7703),s=new class extends n.Q{#c;#u;#l;constructor(){super(),this.#l=e=>{if(!i.S$&&window.addEventListener){let t=()=>e();return window.addEventListener("visibilitychange",t,!1),()=>{window.removeEventListener("visibilitychange",t)}}}}onSubscribe(){this.#u||this.setEventListener(this.#l)}onUnsubscribe(){this.hasListeners()||(this.#u?.(),this.#u=void 0)}setEventListener(e){this.#l=e,this.#u?.(),this.#u=e(e=>{"boolean"==typeof e?this.setFocused(e):this.onFocus()})}setFocused(e){this.#c!==e&&(this.#c=e,this.onFocus())}onFocus(){let e=this.isFocused();this.listeners.forEach(t=>{t(e)})}isFocused(){return"boolean"==typeof this.#c?this.#c:globalThis.document?.visibilityState!=="hidden"}}},1279:(e,t,r)=>{r.d(t,{II:()=>c,cc:()=>l,v_:()=>u});var n=r(1229),i=r(1116),s=r(2153),o=r(7703);function a(e){return Math.min(1e3*2**e,3e4)}function u(e){return(e??"online")!=="online"||i.t.isOnline()}var l=class extends Error{constructor(e){super("CancelledError"),this.revert=e?.revert,this.silent=e?.silent}};function c(e){let t,r=!1,c=0,d=(0,s.T)(),h=()=>n.m.isFocused()&&("always"===e.networkMode||i.t.isOnline())&&e.canRun(),f=()=>u(e.networkMode)&&e.canRun(),p=e=>{"pending"===d.status&&(t?.(),d.resolve(e))},y=e=>{"pending"===d.status&&(t?.(),d.reject(e))},m=()=>new Promise(r=>{t=e=>{("pending"!==d.status||h())&&r(e)},e.onPause?.()}).then(()=>{t=void 0,"pending"===d.status&&e.onContinue?.()}),g=()=>{let t;if("pending"!==d.status)return;let n=0===c?e.initialPromise:void 0;try{t=n??e.fn()}catch(e){t=Promise.reject(e)}Promise.resolve(t).then(p).catch(t=>{if("pending"!==d.status)return;let n=e.retry??3*!o.S$,i=e.retryDelay??a,s="function"==typeof i?i(c,t):i,u=!0===n||"number"==typeof n&&c<n||"function"==typeof n&&n(c,t);if(r||!u)return void y(t);c++,e.onFail?.(c,t),(0,o.yy)(s).then(()=>h()?void 0:m()).then(()=>{r?y(t):g()})})};return{promise:d,status:()=>d.status,cancel:t=>{if("pending"===d.status){let r=new l(t);y(r),e.onCancel?.(r)}},continue:()=>(t?.(),d),cancelRetry:()=>{r=!0},continueRetry:()=>{r=!1},canStart:f,start:()=>(f()?g():m().then(g),d)}}},1352:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"AmpStateContext",{enumerable:!0,get:function(){return n}});let n=r(1510)._(r(7620)).default.createContext({})},1773:(e,t,r)=>{r.d(t,{default:()=>i.a});var n=r(4930),i=r.n(n)},2153:(e,t,r)=>{r.d(t,{T:()=>n});function n(){let e,t,r=new Promise((r,n)=>{e=r,t=n});function n(e){Object.assign(r,e),delete r.resolve,delete r.reject}return r.status="pending",r.catch(()=>{}),r.resolve=t=>{n({status:"fulfilled",value:t}),e(t)},r.reject=e=>{n({status:"rejected",reason:e}),t(e)},r}},2210:(e,t,r)=>{r.d(t,{X:()=>a,k:()=>u});var n=r(7703),i=r(494),s=r(1279),o=r(6759),a=class extends o.k{#d;#h;#f;#r;#s;#p;#y;constructor(e){super(),this.#y=!1,this.#p=e.defaultOptions,this.setOptions(e.options),this.observers=[],this.#r=e.client,this.#f=this.#r.getQueryCache(),this.queryKey=e.queryKey,this.queryHash=e.queryHash,this.#d=c(this.options),this.state=e.state??this.#d,this.scheduleGc()}get meta(){return this.options.meta}get promise(){return this.#s?.promise}setOptions(e){if(this.options={...this.#p,...e},this.updateGcTime(this.options.gcTime),this.state&&void 0===this.state.data){let e=c(this.options);void 0!==e.data&&(this.setState(l(e.data,e.dataUpdatedAt)),this.#d=e)}}optionalRemove(){this.observers.length||"idle"!==this.state.fetchStatus||this.#f.remove(this)}setData(e,t){let r=(0,n.pl)(this.state.data,e,this.options);return this.#o({data:r,type:"success",dataUpdatedAt:t?.updatedAt,manual:t?.manual}),r}setState(e,t){this.#o({type:"setState",state:e,setStateOptions:t})}cancel(e){let t=this.#s?.promise;return this.#s?.cancel(e),t?t.then(n.lQ).catch(n.lQ):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}reset(){this.destroy(),this.setState(this.#d)}isActive(){return this.observers.some(e=>!1!==(0,n.Eh)(e.options.enabled,this))}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===n.hT||this.state.dataUpdateCount+this.state.errorUpdateCount===0}isStatic(){return this.getObserversCount()>0&&this.observers.some(e=>"static"===(0,n.d2)(e.options.staleTime,this))}isStale(){return this.getObserversCount()>0?this.observers.some(e=>e.getCurrentResult().isStale):void 0===this.state.data||this.state.isInvalidated}isStaleByTime(e=0){return void 0===this.state.data||"static"!==e&&(!!this.state.isInvalidated||!(0,n.j3)(this.state.dataUpdatedAt,e))}onFocus(){let e=this.observers.find(e=>e.shouldFetchOnWindowFocus());e?.refetch({cancelRefetch:!1}),this.#s?.continue()}onOnline(){let e=this.observers.find(e=>e.shouldFetchOnReconnect());e?.refetch({cancelRefetch:!1}),this.#s?.continue()}addObserver(e){this.observers.includes(e)||(this.observers.push(e),this.clearGcTimeout(),this.#f.notify({type:"observerAdded",query:this,observer:e}))}removeObserver(e){this.observers.includes(e)&&(this.observers=this.observers.filter(t=>t!==e),this.observers.length||(this.#s&&(this.#y?this.#s.cancel({revert:!0}):this.#s.cancelRetry()),this.scheduleGc()),this.#f.notify({type:"observerRemoved",query:this,observer:e}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||this.#o({type:"invalidate"})}async fetch(e,t){if("idle"!==this.state.fetchStatus&&this.#s?.status()!=="rejected"){if(void 0!==this.state.data&&t?.cancelRefetch)this.cancel({silent:!0});else if(this.#s)return this.#s.continueRetry(),this.#s.promise}if(e&&this.setOptions(e),!this.options.queryFn){let e=this.observers.find(e=>e.options.queryFn);e&&this.setOptions(e.options)}let r=new AbortController,i=e=>{Object.defineProperty(e,"signal",{enumerable:!0,get:()=>(this.#y=!0,r.signal)})},o=()=>{let e=(0,n.ZM)(this.options,t),r=(()=>{let e={client:this.#r,queryKey:this.queryKey,meta:this.meta};return i(e),e})();return(this.#y=!1,this.options.persister)?this.options.persister(e,r,this):e(r)},a=(()=>{let e={fetchOptions:t,options:this.options,queryKey:this.queryKey,client:this.#r,state:this.state,fetchFn:o};return i(e),e})();this.options.behavior?.onFetch(a,this),this.#h=this.state,("idle"===this.state.fetchStatus||this.state.fetchMeta!==a.fetchOptions?.meta)&&this.#o({type:"fetch",meta:a.fetchOptions?.meta}),this.#s=(0,s.II)({initialPromise:t?.initialPromise,fn:a.fetchFn,onCancel:e=>{e instanceof s.cc&&e.revert&&this.setState({...this.#h,fetchStatus:"idle"}),r.abort()},onFail:(e,t)=>{this.#o({type:"failed",failureCount:e,error:t})},onPause:()=>{this.#o({type:"pause"})},onContinue:()=>{this.#o({type:"continue"})},retry:a.options.retry,retryDelay:a.options.retryDelay,networkMode:a.options.networkMode,canRun:()=>!0});try{let e=await this.#s.start();if(void 0===e)throw Error(`${this.queryHash} data is undefined`);return this.setData(e),this.#f.config.onSuccess?.(e,this),this.#f.config.onSettled?.(e,this.state.error,this),e}catch(e){if(e instanceof s.cc){if(e.silent)return this.#s.promise;else if(e.revert){if(void 0===this.state.data)throw e;return this.state.data}}throw this.#o({type:"error",error:e}),this.#f.config.onError?.(e,this),this.#f.config.onSettled?.(this.state.data,e,this),e}finally{this.scheduleGc()}}#o(e){let t=t=>{switch(e.type){case"failed":return{...t,fetchFailureCount:e.failureCount,fetchFailureReason:e.error};case"pause":return{...t,fetchStatus:"paused"};case"continue":return{...t,fetchStatus:"fetching"};case"fetch":return{...t,...u(t.data,this.options),fetchMeta:e.meta??null};case"success":let r={...t,...l(e.data,e.dataUpdatedAt),dataUpdateCount:t.dataUpdateCount+1,...!e.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};return this.#h=e.manual?r:void 0,r;case"error":let n=e.error;return{...t,error:n,errorUpdateCount:t.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:t.fetchFailureCount+1,fetchFailureReason:n,fetchStatus:"idle",status:"error",isInvalidated:!0};case"invalidate":return{...t,isInvalidated:!0};case"setState":return{...t,...e.state}}};this.state=t(this.state),i.jG.batch(()=>{this.observers.forEach(e=>{e.onQueryUpdate()}),this.#f.notify({query:this,type:"updated",action:e})})}};function u(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:(0,s.v_)(t.networkMode)?"fetching":"paused",...void 0===e&&{error:null,status:"pending"}}}function l(e,t){return{data:e,dataUpdatedAt:t??Date.now(),error:null,isInvalidated:!1,status:"success"}}function c(e){let t="function"==typeof e.initialData?e.initialData():e.initialData,r=void 0!==t,n=r?"function"==typeof e.initialDataUpdatedAt?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:r?n??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:r?"success":"pending",fetchStatus:"idle"}}},2327:(e,t,r)=>{r.d(t,{Q:()=>n});var n=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(e){return this.listeners.add(e),this.onSubscribe(),()=>{this.listeners.delete(e),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}}},2371:(e,t)=>{function r(e){let{ampFirst:t=!1,hybrid:r=!1,hasQuery:n=!1}=void 0===e?{}:e;return t||r&&n}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isInAmpMode",{enumerable:!0,get:function(){return r}})},2942:(e,t,r)=>{var n=r(2418);r.o(n,"usePathname")&&r.d(t,{usePathname:function(){return n.usePathname}}),r.o(n,"useRouter")&&r.d(t,{useRouter:function(){return n.useRouter}})},3970:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"Image",{enumerable:!0,get:function(){return w}});let n=r(1510),i=r(5999),s=r(4568),o=i._(r(7620)),a=n._(r(7509)),u=n._(r(8667)),l=r(7258),c=r(327),d=r(4117);r(1611);let h=r(9208),f=n._(r(170)),p=r(7849),y={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!0};function m(e,t,r,n,i,s,o){let a=null==e?void 0:e.src;e&&e["data-loaded-src"]!==a&&(e["data-loaded-src"]=a,("decode"in e?e.decode():Promise.resolve()).catch(()=>{}).then(()=>{if(e.parentElement&&e.isConnected){if("empty"!==t&&i(!0),null==r?void 0:r.current){let t=new Event("load");Object.defineProperty(t,"target",{writable:!1,value:e});let n=!1,i=!1;r.current({...t,nativeEvent:t,currentTarget:e,target:e,isDefaultPrevented:()=>n,isPropagationStopped:()=>i,persist:()=>{},preventDefault:()=>{n=!0,t.preventDefault()},stopPropagation:()=>{i=!0,t.stopPropagation()}})}(null==n?void 0:n.current)&&n.current(e)}}))}function g(e){return o.use?{fetchPriority:e}:{fetchpriority:e}}let v=(0,o.forwardRef)((e,t)=>{let{src:r,srcSet:n,sizes:i,height:a,width:u,decoding:l,className:c,style:d,fetchPriority:h,placeholder:f,loading:y,unoptimized:v,fill:b,onLoadRef:w,onLoadingCompleteRef:S,setBlurComplete:C,setShowAltText:O,sizesInput:j,onLoad:P,onError:_,...x}=e,E=(0,o.useCallback)(e=>{e&&(_&&(e.src=e.src),e.complete&&m(e,f,w,S,C,v,j))},[r,f,w,S,C,_,v,j]),R=(0,p.useMergedRef)(t,E);return(0,s.jsx)("img",{...x,...g(h),loading:y,width:u,height:a,decoding:l,"data-nimg":b?"fill":"1",className:c,style:d,sizes:i,srcSet:n,src:r,ref:R,onLoad:e=>{m(e.currentTarget,f,w,S,C,v,j)},onError:e=>{O(!0),"empty"!==f&&C(!0),_&&_(e)}})});function b(e){let{isAppRouter:t,imgAttributes:r}=e,n={as:"image",imageSrcSet:r.srcSet,imageSizes:r.sizes,crossOrigin:r.crossOrigin,referrerPolicy:r.referrerPolicy,...g(r.fetchPriority)};return t&&a.default.preload?(a.default.preload(r.src,n),null):(0,s.jsx)(u.default,{children:(0,s.jsx)("link",{rel:"preload",href:r.srcSet?void 0:r.src,...n},"__nimg-"+r.src+r.srcSet+r.sizes)})}let w=(0,o.forwardRef)((e,t)=>{let r=(0,o.useContext)(h.RouterContext),n=(0,o.useContext)(d.ImageConfigContext),i=(0,o.useMemo)(()=>{var e;let t=y||n||c.imageConfigDefault,r=[...t.deviceSizes,...t.imageSizes].sort((e,t)=>e-t),i=t.deviceSizes.sort((e,t)=>e-t),s=null==(e=t.qualities)?void 0:e.sort((e,t)=>e-t);return{...t,allSizes:r,deviceSizes:i,qualities:s}},[n]),{onLoad:a,onLoadingComplete:u}=e,p=(0,o.useRef)(a);(0,o.useEffect)(()=>{p.current=a},[a]);let m=(0,o.useRef)(u);(0,o.useEffect)(()=>{m.current=u},[u]);let[g,w]=(0,o.useState)(!1),[S,C]=(0,o.useState)(!1),{props:O,meta:j}=(0,l.getImgProps)(e,{defaultLoader:f.default,imgConf:i,blurComplete:g,showAltText:S});return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(v,{...O,unoptimized:j.unoptimized,placeholder:j.placeholder,fill:j.fill,onLoadRef:p,onLoadingCompleteRef:m,setBlurComplete:w,setShowAltText:C,sizesInput:e.sizes,ref:t}),j.priority?(0,s.jsx)(b,{isAppRouter:!r,imgAttributes:O}):null]})});("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4117:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"ImageConfigContext",{enumerable:!0,get:function(){return s}});let n=r(1510)._(r(7620)),i=r(327),s=n.default.createContext(i.imageConfigDefault)},4508:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(8889).A)("Settings",[["path",{d:"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z",key:"1qme2f"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]])},4637:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isLocalURL",{enumerable:!0,get:function(){return s}});let n=r(8490),i=r(1075);function s(e){if(!(0,n.isAbsoluteUrl)(e))return!0;try{let t=(0,n.getLocationOrigin)(),r=new URL(e,t);return r.origin===t&&(0,i.hasBasePath)(r.pathname)}catch(e){return!1}}},4930:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{default:function(){return u},getImageProps:function(){return a}});let n=r(1510),i=r(7258),s=r(3970),o=n._(r(170));function a(e){let{props:t}=(0,i.getImgProps)(e,{defaultLoader:o.default,imgConf:{deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!0}});for(let[e,r]of Object.entries(t))void 0===r&&delete t[e];return{props:t}}let u=s.Image},4986:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(8889).A)("LayoutDashboard",[["rect",{width:"7",height:"9",x:"3",y:"3",rx:"1",key:"10lvy0"}],["rect",{width:"7",height:"5",x:"14",y:"3",rx:"1",key:"16une8"}],["rect",{width:"7",height:"9",x:"14",y:"12",rx:"1",key:"1hutg5"}],["rect",{width:"7",height:"5",x:"3",y:"16",rx:"1",key:"ldoo1y"}]])},5908:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{formatUrl:function(){return s},formatWithValidation:function(){return a},urlObjectKeys:function(){return o}});let n=r(5999)._(r(444)),i=/https?|ftp|gopher|file/;function s(e){let{auth:t,hostname:r}=e,s=e.protocol||"",o=e.pathname||"",a=e.hash||"",u=e.query||"",l=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?l=t+e.host:r&&(l=t+(~r.indexOf(":")?"["+r+"]":r),e.port&&(l+=":"+e.port)),u&&"object"==typeof u&&(u=String(n.urlQueryToSearchParams(u)));let c=e.search||u&&"?"+u||"";return s&&!s.endsWith(":")&&(s+=":"),e.slashes||(!s||i.test(s))&&!1!==l?(l="//"+(l||""),o&&"/"!==o[0]&&(o="/"+o)):l||(l=""),a&&"#"!==a[0]&&(a="#"+a),c&&"?"!==c[0]&&(c="?"+c),""+s+l+(o=o.replace(/[?#]/g,encodeURIComponent))+(c=c.replace("#","%23"))+a}let o=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function a(e){return s(e)}},6285:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(8889).A)("List",[["path",{d:"M3 12h.01",key:"nlz23k"}],["path",{d:"M3 18h.01",key:"1tta3j"}],["path",{d:"M3 6h.01",key:"1rqtza"}],["path",{d:"M8 12h13",key:"1za7za"}],["path",{d:"M8 18h13",key:"1lx6n3"}],["path",{d:"M8 6h13",key:"ik3vkj"}]])},6355:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"errorOnce",{enumerable:!0,get:function(){return r}});let r=e=>{}},6676:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return o}});let n=r(7620),i=n.useLayoutEffect,s=n.useEffect;function o(e){let{headManager:t,reduceComponentsToState:r}=e;function o(){if(t&&t.mountedInstances){let i=n.Children.toArray(Array.from(t.mountedInstances).filter(Boolean));t.updateHead(r(i,e))}}return i(()=>{var r;return null==t||null==(r=t.mountedInstances)||r.add(e.children),()=>{var r;null==t||null==(r=t.mountedInstances)||r.delete(e.children)}}),i(()=>(t&&(t._pendingUpdate=o),()=>{t&&(t._pendingUpdate=o)})),s(()=>(t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null),()=>{t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null)})),null}},6739:(e,t)=>{function r(e){let{widthInt:t,heightInt:r,blurWidth:n,blurHeight:i,blurDataURL:s,objectFit:o}=e,a=n?40*n:t,u=i?40*i:r,l=a&&u?"viewBox='0 0 "+a+" "+u+"'":"";return"%3Csvg xmlns='http://www.w3.org/2000/svg' "+l+"%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='"+(l?"none":"contain"===o?"xMidYMid":"cover"===o?"xMidYMid slice":"none")+"' style='filter: url(%23b);' href='"+s+"'/%3E%3C/svg%3E"}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getImageBlurSvg",{enumerable:!0,get:function(){return r}})},6759:(e,t,r)=>{r.d(t,{k:()=>s});var n=r(124),i=r(7703),s=class{#m;destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),(0,i.gn)(this.gcTime)&&(this.#m=n.zs.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(i.S$?1/0:3e5))}clearGcTimeout(){this.#m&&(n.zs.clearTimeout(this.#m),this.#m=void 0)}}},7258:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getImgProps",{enumerable:!0,get:function(){return u}}),r(1611);let n=r(6739),i=r(327),s=["-moz-initial","fill","none","scale-down",void 0];function o(e){return void 0!==e.default}function a(e){return void 0===e?e:"number"==typeof e?Number.isFinite(e)?e:NaN:"string"==typeof e&&/^[0-9]+$/.test(e)?parseInt(e,10):NaN}function u(e,t){var r,u;let l,c,d,{src:h,sizes:f,unoptimized:p=!1,priority:y=!1,loading:m,className:g,quality:v,width:b,height:w,fill:S=!1,style:C,overrideSrc:O,onLoad:j,onLoadingComplete:P,placeholder:_="empty",blurDataURL:x,fetchPriority:E,decoding:R="async",layout:M,objectFit:T,objectPosition:A,lazyBoundary:k,lazyRoot:I,...F}=e,{imgConf:U,showAltText:L,blurComplete:D,defaultLoader:z}=t,N=U||i.imageConfigDefault;if("allSizes"in N)l=N;else{let e=[...N.deviceSizes,...N.imageSizes].sort((e,t)=>e-t),t=N.deviceSizes.sort((e,t)=>e-t),n=null==(r=N.qualities)?void 0:r.sort((e,t)=>e-t);l={...N,allSizes:e,deviceSizes:t,qualities:n}}if(void 0===z)throw Object.defineProperty(Error("images.loaderFile detected but the file is missing default export.\nRead more: https://nextjs.org/docs/messages/invalid-images-config"),"__NEXT_ERROR_CODE",{value:"E163",enumerable:!1,configurable:!0});let q=F.loader||z;delete F.loader,delete F.srcSet;let G="__next_img_default"in q;if(G){if("custom"===l.loader)throw Object.defineProperty(Error('Image with src "'+h+'" is missing "loader" prop.\nRead more: https://nextjs.org/docs/messages/next-image-missing-loader'),"__NEXT_ERROR_CODE",{value:"E252",enumerable:!1,configurable:!0})}else{let e=q;q=t=>{let{config:r,...n}=t;return e(n)}}if(M){"fill"===M&&(S=!0);let e={intrinsic:{maxWidth:"100%",height:"auto"},responsive:{width:"100%",height:"auto"}}[M];e&&(C={...C,...e});let t={responsive:"100vw",fill:"100vw"}[M];t&&!f&&(f=t)}let K="",B=a(b),Q=a(w);if((u=h)&&"object"==typeof u&&(o(u)||void 0!==u.src)){let e=o(h)?h.default:h;if(!e.src)throw Object.defineProperty(Error("An object should only be passed to the image component src parameter if it comes from a static image import. It must include src. Received "+JSON.stringify(e)),"__NEXT_ERROR_CODE",{value:"E460",enumerable:!1,configurable:!0});if(!e.height||!e.width)throw Object.defineProperty(Error("An object should only be passed to the image component src parameter if it comes from a static image import. It must include height and width. Received "+JSON.stringify(e)),"__NEXT_ERROR_CODE",{value:"E48",enumerable:!1,configurable:!0});if(c=e.blurWidth,d=e.blurHeight,x=x||e.blurDataURL,K=e.src,!S)if(B||Q){if(B&&!Q){let t=B/e.width;Q=Math.round(e.height*t)}else if(!B&&Q){let t=Q/e.height;B=Math.round(e.width*t)}}else B=e.width,Q=e.height}let $=!y&&("lazy"===m||void 0===m);(!(h="string"==typeof h?h:K)||h.startsWith("data:")||h.startsWith("blob:"))&&(p=!0,$=!1),l.unoptimized&&(p=!0),G&&!l.dangerouslyAllowSVG&&h.split("?",1)[0].endsWith(".svg")&&(p=!0);let H=a(v),W=Object.assign(S?{position:"absolute",height:"100%",width:"100%",left:0,top:0,right:0,bottom:0,objectFit:T,objectPosition:A}:{},L?{}:{color:"transparent"},C),V=D||"empty"===_?null:"blur"===_?'url("data:image/svg+xml;charset=utf-8,'+(0,n.getImageBlurSvg)({widthInt:B,heightInt:Q,blurWidth:c,blurHeight:d,blurDataURL:x||"",objectFit:W.objectFit})+'")':'url("'+_+'")',Z=s.includes(W.objectFit)?"fill"===W.objectFit?"100% 100%":"cover":W.objectFit,X=V?{backgroundSize:Z,backgroundPosition:W.objectPosition||"50% 50%",backgroundRepeat:"no-repeat",backgroundImage:V}:{},J=function(e){let{config:t,src:r,unoptimized:n,width:i,quality:s,sizes:o,loader:a}=e;if(n)return{src:r,srcSet:void 0,sizes:void 0};let{widths:u,kind:l}=function(e,t,r){let{deviceSizes:n,allSizes:i}=e;if(r){let e=/(^|\s)(1?\d?\d)vw/g,t=[];for(let n;n=e.exec(r);)t.push(parseInt(n[2]));if(t.length){let e=.01*Math.min(...t);return{widths:i.filter(t=>t>=n[0]*e),kind:"w"}}return{widths:i,kind:"w"}}return"number"!=typeof t?{widths:n,kind:"w"}:{widths:[...new Set([t,2*t].map(e=>i.find(t=>t>=e)||i[i.length-1]))],kind:"x"}}(t,i,o),c=u.length-1;return{sizes:o||"w"!==l?o:"100vw",srcSet:u.map((e,n)=>a({config:t,src:r,quality:s,width:e})+" "+("w"===l?e:n+1)+l).join(", "),src:a({config:t,src:r,quality:s,width:u[c]})}}({config:l,src:h,unoptimized:p,width:B,quality:H,sizes:f,loader:q});return{props:{...F,loading:$?"lazy":m,fetchPriority:E,width:B,height:Q,decoding:R,className:g,style:{...W,...X},sizes:J.sizes,srcSet:J.srcSet,src:O||J.src},meta:{unoptimized:p,priority:y,placeholder:_,fill:S}}}},7261:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{default:function(){return m},useLinkStatus:function(){return v}});let n=r(5999),i=r(4568),s=n._(r(7620)),o=r(5908),a=r(9330),u=r(7533),l=r(7849),c=r(8490),d=r(7720);r(1611);let h=r(3781),f=r(4637),p=r(529);function y(e){return"string"==typeof e?e:(0,o.formatUrl)(e)}function m(e){let t,r,n,[o,m]=(0,s.useOptimistic)(h.IDLE_LINK_STATUS),v=(0,s.useRef)(null),{href:b,as:w,children:S,prefetch:C=null,passHref:O,replace:j,shallow:P,scroll:_,onClick:x,onMouseEnter:E,onTouchStart:R,legacyBehavior:M=!1,onNavigate:T,ref:A,unstable_dynamicOnHover:k,...I}=e;t=S,M&&("string"==typeof t||"number"==typeof t)&&(t=(0,i.jsx)("a",{children:t}));let F=s.default.useContext(a.AppRouterContext),U=!1!==C,L=null===C||"auto"===C?u.PrefetchKind.AUTO:u.PrefetchKind.FULL,{href:D,as:z}=s.default.useMemo(()=>{let e=y(b);return{href:e,as:w?y(w):e}},[b,w]);M&&(r=s.default.Children.only(t));let N=M?r&&"object"==typeof r&&r.ref:A,q=s.default.useCallback(e=>(null!==F&&(v.current=(0,h.mountLinkInstance)(e,D,F,L,U,m)),()=>{v.current&&((0,h.unmountLinkForCurrentNavigation)(v.current),v.current=null),(0,h.unmountPrefetchableInstance)(e)}),[U,D,F,L,m]),G={ref:(0,l.useMergedRef)(q,N),onClick(e){M||"function"!=typeof x||x(e),M&&r.props&&"function"==typeof r.props.onClick&&r.props.onClick(e),F&&(e.defaultPrevented||function(e,t,r,n,i,o,a){let{nodeName:u}=e.currentTarget;if(!("A"===u.toUpperCase()&&function(e){let t=e.currentTarget.getAttribute("target");return t&&"_self"!==t||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey||e.nativeEvent&&2===e.nativeEvent.which}(e)||e.currentTarget.hasAttribute("download"))){if(!(0,f.isLocalURL)(t)){i&&(e.preventDefault(),location.replace(t));return}if(e.preventDefault(),a){let e=!1;if(a({preventDefault:()=>{e=!0}}),e)return}s.default.startTransition(()=>{(0,p.dispatchNavigateAction)(r||t,i?"replace":"push",null==o||o,n.current)})}}(e,D,z,v,j,_,T))},onMouseEnter(e){M||"function"!=typeof E||E(e),M&&r.props&&"function"==typeof r.props.onMouseEnter&&r.props.onMouseEnter(e),F&&U&&(0,h.onNavigationIntent)(e.currentTarget,!0===k)},onTouchStart:function(e){M||"function"!=typeof R||R(e),M&&r.props&&"function"==typeof r.props.onTouchStart&&r.props.onTouchStart(e),F&&U&&(0,h.onNavigationIntent)(e.currentTarget,!0===k)}};return(0,c.isAbsoluteUrl)(z)?G.href=z:M&&!O&&("a"!==r.type||"href"in r.props)||(G.href=(0,d.addBasePath)(z)),n=M?s.default.cloneElement(r,G):(0,i.jsx)("a",{...I,...G,children:t}),(0,i.jsx)(g.Provider,{value:o,children:n})}r(6355);let g=(0,s.createContext)(h.IDLE_LINK_STATUS),v=()=>(0,s.useContext)(g);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},7606:(e,t,r)=>{r.d(t,{Ht:()=>a,jE:()=>o});var n=r(7620),i=r(4568),s=n.createContext(void 0),o=e=>{let t=n.useContext(s);if(e)return e;if(!t)throw Error("No QueryClient set, use QueryClientProvider to set one");return t},a=e=>{let{client:t,children:r}=e;return n.useEffect(()=>(t.mount(),()=>{t.unmount()}),[t]),(0,i.jsx)(s.Provider,{value:t,children:r})}},7703:(e,t,r)=>{r.d(t,{Cp:()=>y,EN:()=>p,Eh:()=>c,F$:()=>f,GU:()=>x,MK:()=>d,S$:()=>i,ZM:()=>_,ZZ:()=>j,Zw:()=>o,d2:()=>l,f8:()=>g,gn:()=>a,hT:()=>P,j3:()=>u,lQ:()=>s,nJ:()=>h,ox:()=>E,pl:()=>C,y9:()=>O,yy:()=>S});var n=r(124),i="undefined"==typeof window||"Deno"in globalThis;function s(){}function o(e,t){return"function"==typeof e?e(t):e}function a(e){return"number"==typeof e&&e>=0&&e!==1/0}function u(e,t){return Math.max(e+(t||0)-Date.now(),0)}function l(e,t){return"function"==typeof e?e(t):e}function c(e,t){return"function"==typeof e?e(t):e}function d(e,t){let{type:r="all",exact:n,fetchStatus:i,predicate:s,queryKey:o,stale:a}=e;if(o){if(n){if(t.queryHash!==f(o,t.options))return!1}else if(!y(t.queryKey,o))return!1}if("all"!==r){let e=t.isActive();if("active"===r&&!e||"inactive"===r&&e)return!1}return("boolean"!=typeof a||t.isStale()===a)&&(!i||i===t.state.fetchStatus)&&(!s||!!s(t))}function h(e,t){let{exact:r,status:n,predicate:i,mutationKey:s}=e;if(s){if(!t.options.mutationKey)return!1;if(r){if(p(t.options.mutationKey)!==p(s))return!1}else if(!y(t.options.mutationKey,s))return!1}return(!n||t.state.status===n)&&(!i||!!i(t))}function f(e,t){return(t?.queryKeyHashFn||p)(e)}function p(e){return JSON.stringify(e,(e,t)=>b(t)?Object.keys(t).sort().reduce((e,r)=>(e[r]=t[r],e),{}):t)}function y(e,t){return e===t||typeof e==typeof t&&!!e&&!!t&&"object"==typeof e&&"object"==typeof t&&Object.keys(t).every(r=>y(e[r],t[r]))}var m=Object.prototype.hasOwnProperty;function g(e,t){if(!t||Object.keys(e).length!==Object.keys(t).length)return!1;for(let r in e)if(e[r]!==t[r])return!1;return!0}function v(e){return Array.isArray(e)&&e.length===Object.keys(e).length}function b(e){if(!w(e))return!1;let t=e.constructor;if(void 0===t)return!0;let r=t.prototype;return!!w(r)&&!!r.hasOwnProperty("isPrototypeOf")&&Object.getPrototypeOf(e)===Object.prototype}function w(e){return"[object Object]"===Object.prototype.toString.call(e)}function S(e){return new Promise(t=>{n.zs.setTimeout(t,e)})}function C(e,t,r){return"function"==typeof r.structuralSharing?r.structuralSharing(e,t):!1!==r.structuralSharing?function e(t,r,n=0){if(t===r)return t;if(n>500)return r;let i=v(t)&&v(r);if(!i&&!(b(t)&&b(r)))return r;let s=(i?t:Object.keys(t)).length,o=i?r:Object.keys(r),a=o.length,u=i?Array(a):{},l=0;for(let c=0;c<a;c++){let a=i?c:o[c],d=t[a],h=r[a];if(d===h){u[a]=d,(i?c<s:m.call(t,a))&&l++;continue}if(null===d||null===h||"object"!=typeof d||"object"!=typeof h){u[a]=h;continue}let f=e(d,h,n+1);u[a]=f,f===d&&l++}return s===a&&l===s?t:u}(e,t):t}function O(e,t,r=0){let n=[...e,t];return r&&n.length>r?n.slice(1):n}function j(e,t,r=0){let n=[t,...e];return r&&n.length>r?n.slice(0,-1):n}var P=Symbol();function _(e,t){return!e.queryFn&&t?.initialPromise?()=>t.initialPromise:e.queryFn&&e.queryFn!==P?e.queryFn:()=>Promise.reject(Error(`Missing queryFn: '${e.queryHash}'`))}function x(e,t){return"function"==typeof e?e(...t):!!e}function E(e,t,r){let n,i=!1;return Object.defineProperty(e,"signal",{enumerable:!0,get:()=>(n??=t(),i||(i=!0,n.aborted?r():n.addEventListener("abort",r,{once:!0})),n)}),e}},7849:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"useMergedRef",{enumerable:!0,get:function(){return i}});let n=r(7620);function i(e,t){let r=(0,n.useRef)(null),i=(0,n.useRef)(null);return(0,n.useCallback)(n=>{if(null===n){let e=r.current;e&&(r.current=null,e());let t=i.current;t&&(i.current=null,t())}else e&&(r.current=s(e,n)),t&&(i.current=s(t,n))},[e,t])}function s(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let r=e(t);return"function"==typeof r?r:()=>e(null)}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},7911:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(8889).A)("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]])},8490:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{DecodeError:function(){return p},MiddlewareNotFoundError:function(){return v},MissingStaticPage:function(){return g},NormalizeError:function(){return y},PageNotFoundError:function(){return m},SP:function(){return h},ST:function(){return f},WEB_VITALS:function(){return r},execOnce:function(){return n},getDisplayName:function(){return u},getLocationOrigin:function(){return o},getURL:function(){return a},isAbsoluteUrl:function(){return s},isResSent:function(){return l},loadGetInitialProps:function(){return d},normalizeRepeatedSlashes:function(){return c},stringifyError:function(){return b}});let r=["CLS","FCP","FID","INP","LCP","TTFB"];function n(e){let t,r=!1;return function(){for(var n=arguments.length,i=Array(n),s=0;s<n;s++)i[s]=arguments[s];return r||(r=!0,t=e(...i)),t}}let i=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,s=e=>i.test(e);function o(){let{protocol:e,hostname:t,port:r}=window.location;return e+"//"+t+(r?":"+r:"")}function a(){let{href:e}=window.location,t=o();return e.substring(t.length)}function u(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function l(e){return e.finished||e.headersSent}function c(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?"?"+t.slice(1).join("?"):"")}async function d(e,t){let r=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await d(t.Component,t.ctx)}:{};let n=await e.getInitialProps(t);if(r&&l(r))return n;if(!n)throw Object.defineProperty(Error('"'+u(e)+'.getInitialProps()" should resolve to an object. But found "'+n+'" instead.'),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return n}let h="undefined"!=typeof performance,f=h&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class p extends Error{}class y extends Error{}class m extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message="Cannot find module for page: "+e}}class g extends Error{constructor(e,t){super(),this.message="Failed to load static file for page: "+e+" "+t}}class v extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function b(e){return JSON.stringify({message:e.message,stack:e.stack})}},8667:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{default:function(){return y},defaultHead:function(){return d}});let n=r(1510),i=r(5999),s=r(4568),o=i._(r(7620)),a=n._(r(6676)),u=r(1352),l=r(5227),c=r(2371);function d(e){void 0===e&&(e=!1);let t=[(0,s.jsx)("meta",{charSet:"utf-8"},"charset")];return e||t.push((0,s.jsx)("meta",{name:"viewport",content:"width=device-width"},"viewport")),t}function h(e,t){return"string"==typeof t||"number"==typeof t?e:t.type===o.default.Fragment?e.concat(o.default.Children.toArray(t.props.children).reduce((e,t)=>"string"==typeof t||"number"==typeof t?e:e.concat(t),[])):e.concat(t)}r(1611);let f=["name","httpEquiv","charSet","itemProp"];function p(e,t){let{inAmpMode:r}=t;return e.reduce(h,[]).reverse().concat(d(r).reverse()).filter(function(){let e=new Set,t=new Set,r=new Set,n={};return i=>{let s=!0,o=!1;if(i.key&&"number"!=typeof i.key&&i.key.indexOf("$")>0){o=!0;let t=i.key.slice(i.key.indexOf("$")+1);e.has(t)?s=!1:e.add(t)}switch(i.type){case"title":case"base":t.has(i.type)?s=!1:t.add(i.type);break;case"meta":for(let e=0,t=f.length;e<t;e++){let t=f[e];if(i.props.hasOwnProperty(t))if("charSet"===t)r.has(t)?s=!1:r.add(t);else{let e=i.props[t],r=n[t]||new Set;("name"!==t||!o)&&r.has(e)?s=!1:(r.add(e),n[t]=r)}}}return s}}()).reverse().map((e,t)=>{let r=e.key||t;return o.default.cloneElement(e,{key:r})})}let y=function(e){let{children:t}=e,r=(0,o.useContext)(u.AmpStateContext),n=(0,o.useContext)(l.HeadManagerContext);return(0,s.jsx)(a.default,{reduceComponentsToState:p,headManager:n,inAmpMode:(0,c.isInAmpMode)(r),children:t})};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},9208:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"RouterContext",{enumerable:!0,get:function(){return n}});let n=r(1510)._(r(7620)).default.createContext(null)}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[337],{607:(e,r,o)=>{o.d(r,{QP:()=>ei});let t=(e=new Map,r=null,o)=>({nextPart:e,validators:r,classGroupId:o}),l=[],a=(e,r,o)=>{if(0==e.length-r)return o.classGroupId;let t=e[r],l=o.nextPart.get(t);if(l){let o=a(e,r+1,l);if(o)return o}let n=o.validators;if(null===n)return;let s=0===r?e.join("-"):e.slice(r).join("-"),i=n.length;for(let e=0;e<i;e++){let r=n[e];if(r.validator(s))return r.classGroupId}},n=(e,r)=>{let o=t();for(let t in e)s(e[t],o,t,r);return o},s=(e,r,o,t)=>{let l=e.length;for(let a=0;a<l;a++)i(e[a],r,o,t)},i=(e,r,o,t)=>"string"==typeof e?void d(e,r,o):"function"==typeof e?void c(e,r,o,t):void m(e,r,o,t),d=(e,r,o)=>{(""===e?r:p(r,e)).classGroupId=o},c=(e,r,o,t)=>{if(u(e))return void s(e(t),r,o,t);null===r.validators&&(r.validators=[]),r.validators.push({classGroupId:o,validator:e})},m=(e,r,o,t)=>{let l=Object.entries(e),a=l.length;for(let e=0;e<a;e++){let[a,n]=l[e];s(n,p(r,a),o,t)}},p=(e,r)=>{let o=e,l=r.split("-"),a=l.length;for(let e=0;e<a;e++){let r=l[e],a=o.nextPart.get(r);a||(a=t(),o.nextPart.set(r,a)),o=a}return o},u=e=>"isThemeGetter"in e&&!0===e.isThemeGetter,b=[],f=(e,r,o,t,l)=>({modifiers:e,hasImportantModifier:r,baseClassName:o,maybePostfixModifierPosition:t,isExternal:l}),g=/\s+/,h=e=>{let r;if("string"==typeof e)return e;let o="";for(let t=0;t<e.length;t++)e[t]&&(r=h(e[t]))&&(o&&(o+=" "),o+=r);return o},k=[],w=e=>{let r=r=>r[e]||k;return r.isThemeGetter=!0,r},x=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,y=/^\((?:(\w[\w-]*):)?(.+)\)$/i,v=/^\d+\/\d+$/,z=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,j=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,N=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,C=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,G=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,$=e=>v.test(e),A=e=>!!e&&!Number.isNaN(Number(e)),O=e=>!!e&&Number.isInteger(Number(e)),W=e=>e.endsWith("%")&&A(e.slice(0,-1)),I=e=>z.test(e),E=()=>!0,M=e=>j.test(e)&&!N.test(e),S=()=>!1,_=e=>C.test(e),P=e=>G.test(e),T=e=>!q(e)&&!F(e),L=e=>Y(e,et,S),q=e=>x.test(e),R=e=>Y(e,el,M),B=e=>Y(e,ea,A),Q=e=>Y(e,er,S),Z=e=>Y(e,eo,P),D=e=>Y(e,es,_),F=e=>y.test(e),H=e=>ee(e,el),J=e=>ee(e,en),K=e=>ee(e,er),U=e=>ee(e,et),V=e=>ee(e,eo),X=e=>ee(e,es,!0),Y=(e,r,o)=>{let t=x.exec(e);return!!t&&(t[1]?r(t[1]):o(t[2]))},ee=(e,r,o=!1)=>{let t=y.exec(e);return!!t&&(t[1]?r(t[1]):o)},er=e=>"position"===e||"percentage"===e,eo=e=>"image"===e||"url"===e,et=e=>"length"===e||"size"===e||"bg-size"===e,el=e=>"length"===e,ea=e=>"number"===e,en=e=>"family-name"===e,es=e=>"shadow"===e;Symbol.toStringTag;let ei=((e,...r)=>{let o,t,s,i,d=e=>{let r=t(e);if(r)return r;let l=((e,r)=>{let{parseClassName:o,getClassGroupId:t,getConflictingClassGroupIds:l,sortModifiers:a}=r,n=[],s=e.trim().split(g),i="";for(let e=s.length-1;e>=0;e-=1){let r=s[e],{isExternal:d,modifiers:c,hasImportantModifier:m,baseClassName:p,maybePostfixModifierPosition:u}=o(r);if(d){i=r+(i.length>0?" "+i:i);continue}let b=!!u,f=t(b?p.substring(0,u):p);if(!f){if(!b||!(f=t(p))){i=r+(i.length>0?" "+i:i);continue}b=!1}let g=0===c.length?"":1===c.length?c[0]:a(c).join(":"),h=m?g+"!":g,k=h+f;if(n.indexOf(k)>-1)continue;n.push(k);let w=l(f,b);for(let e=0;e<w.length;++e){let r=w[e];n.push(h+r)}i=r+(i.length>0?" "+i:i)}return i})(e,o);return s(e,l),l};return i=c=>(t=(o=(e=>({cache:(e=>{if(e<1)return{get:()=>void 0,set:()=>{}};let r=0,o=Object.create(null),t=Object.create(null),l=(l,a)=>{o[l]=a,++r>e&&(r=0,t=o,o=Object.create(null))};return{get(e){let r=o[e];return void 0!==r?r:void 0!==(r=t[e])?(l(e,r),r):void 0},set(e,r){e in o?o[e]=r:l(e,r)}}})(e.cacheSize),parseClassName:(e=>{let{prefix:r,experimentalParseClassName:o}=e,t=e=>{let r,o=[],t=0,l=0,a=0,n=e.length;for(let s=0;s<n;s++){let n=e[s];if(0===t&&0===l){if(":"===n){o.push(e.slice(a,s)),a=s+1;continue}if("/"===n){r=s;continue}}"["===n?t++:"]"===n?t--:"("===n?l++:")"===n&&l--}let s=0===o.length?e:e.slice(a),i=s,d=!1;return s.endsWith("!")?(i=s.slice(0,-1),d=!0):s.startsWith("!")&&(i=s.slice(1),d=!0),f(o,d,i,r&&r>a?r-a:void 0)};if(r){let e=r+":",o=t;t=r=>r.startsWith(e)?o(r.slice(e.length)):f(b,!1,r,void 0,!0)}if(o){let e=t;t=r=>o({className:r,parseClassName:e})}return t})(e),sortModifiers:(e=>{let r=new Map;return e.orderSensitiveModifiers.forEach((e,o)=>{r.set(e,1e6+o)}),e=>{let o=[],t=[];for(let l=0;l<e.length;l++){let a=e[l],n="["===a[0],s=r.has(a);n||s?(t.length>0&&(t.sort(),o.push(...t),t=[]),o.push(a)):t.push(a)}return t.length>0&&(t.sort(),o.push(...t)),o}})(e),...(e=>{let r=(e=>{let{theme:r,classGroups:o}=e;return n(o,r)})(e),{conflictingClassGroups:o,conflictingClassGroupModifiers:t}=e;return{getClassGroupId:e=>{if(e.startsWith("[")&&e.endsWith("]"))return(e=>-1===e.slice(1,-1).indexOf(":")?void 0:(()=>{let r=e.slice(1,-1),o=r.indexOf(":"),t=r.slice(0,o);return t?"arbitrary.."+t:void 0})())(e);let o=e.split("-"),t=+(""===o[0]&&o.length>1);return a(o,t,r)},getConflictingClassGroupIds:(e,r)=>{if(r){let r=t[e],a=o[e];return r?a?((e,r)=>{let o=Array(e.length+r.length);for(let r=0;r<e.length;r++)o[r]=e[r];for(let t=0;t<r.length;t++)o[e.length+t]=r[t];return o})(a,r):r:a||l}return o[e]||l}}})(e)}))(r.reduce((e,r)=>r(e),e()))).cache.get,s=o.cache.set,i=d,d(c)),(...e)=>i(((...e)=>{let r,o,t=0,l="";for(;t<e.length;)(r=e[t++])&&(o=h(r))&&(l&&(l+=" "),l+=o);return l})(...e))})(()=>{let e=w("color"),r=w("font"),o=w("text"),t=w("font-weight"),l=w("tracking"),a=w("leading"),n=w("breakpoint"),s=w("container"),i=w("spacing"),d=w("radius"),c=w("shadow"),m=w("inset-shadow"),p=w("text-shadow"),u=w("drop-shadow"),b=w("blur"),f=w("perspective"),g=w("aspect"),h=w("ease"),k=w("animate"),x=()=>["auto","avoid","all","avoid-page","page","left","right","column"],y=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],v=()=>[...y(),F,q],z=()=>["auto","hidden","clip","visible","scroll"],j=()=>["auto","contain","none"],N=()=>[F,q,i],C=()=>[$,"full","auto",...N()],G=()=>[O,"none","subgrid",F,q],M=()=>["auto",{span:["full",O,F,q]},O,F,q],S=()=>[O,"auto",F,q],_=()=>["auto","min","max","fr",F,q],P=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],Y=()=>["start","end","center","stretch","center-safe","end-safe"],ee=()=>["auto",...N()],er=()=>[$,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...N()],eo=()=>[e,F,q],et=()=>[...y(),K,Q,{position:[F,q]}],el=()=>["no-repeat",{repeat:["","x","y","space","round"]}],ea=()=>["auto","cover","contain",U,L,{size:[F,q]}],en=()=>[W,H,R],es=()=>["","none","full",d,F,q],ei=()=>["",A,H,R],ed=()=>["solid","dashed","dotted","double"],ec=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],em=()=>[A,W,K,Q],ep=()=>["","none",b,F,q],eu=()=>["none",A,F,q],eb=()=>["none",A,F,q],ef=()=>[A,F,q],eg=()=>[$,"full",...N()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[I],breakpoint:[I],color:[E],container:[I],"drop-shadow":[I],ease:["in","out","in-out"],font:[T],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[I],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[I],shadow:[I],spacing:["px",A],text:[I],"text-shadow":[I],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",$,q,F,g]}],container:["container"],columns:[{columns:[A,q,F,s]}],"break-after":[{"break-after":x()}],"break-before":[{"break-before":x()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:v()}],overflow:[{overflow:z()}],"overflow-x":[{"overflow-x":z()}],"overflow-y":[{"overflow-y":z()}],overscroll:[{overscroll:j()}],"overscroll-x":[{"overscroll-x":j()}],"overscroll-y":[{"overscroll-y":j()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:C()}],"inset-x":[{"inset-x":C()}],"inset-y":[{"inset-y":C()}],start:[{start:C()}],end:[{end:C()}],top:[{top:C()}],right:[{right:C()}],bottom:[{bottom:C()}],left:[{left:C()}],visibility:["visible","invisible","collapse"],z:[{z:[O,"auto",F,q]}],basis:[{basis:[$,"full","auto",s,...N()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[A,$,"auto","initial","none",q]}],grow:[{grow:["",A,F,q]}],shrink:[{shrink:["",A,F,q]}],order:[{order:[O,"first","last","none",F,q]}],"grid-cols":[{"grid-cols":G()}],"col-start-end":[{col:M()}],"col-start":[{"col-start":S()}],"col-end":[{"col-end":S()}],"grid-rows":[{"grid-rows":G()}],"row-start-end":[{row:M()}],"row-start":[{"row-start":S()}],"row-end":[{"row-end":S()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":_()}],"auto-rows":[{"auto-rows":_()}],gap:[{gap:N()}],"gap-x":[{"gap-x":N()}],"gap-y":[{"gap-y":N()}],"justify-content":[{justify:[...P(),"normal"]}],"justify-items":[{"justify-items":[...Y(),"normal"]}],"justify-self":[{"justify-self":["auto",...Y()]}],"align-content":[{content:["normal",...P()]}],"align-items":[{items:[...Y(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...Y(),{baseline:["","last"]}]}],"place-content":[{"place-content":P()}],"place-items":[{"place-items":[...Y(),"baseline"]}],"place-self":[{"place-self":["auto",...Y()]}],p:[{p:N()}],px:[{px:N()}],py:[{py:N()}],ps:[{ps:N()}],pe:[{pe:N()}],pt:[{pt:N()}],pr:[{pr:N()}],pb:[{pb:N()}],pl:[{pl:N()}],m:[{m:ee()}],mx:[{mx:ee()}],my:[{my:ee()}],ms:[{ms:ee()}],me:[{me:ee()}],mt:[{mt:ee()}],mr:[{mr:ee()}],mb:[{mb:ee()}],ml:[{ml:ee()}],"space-x":[{"space-x":N()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":N()}],"space-y-reverse":["space-y-reverse"],size:[{size:er()}],w:[{w:[s,"screen",...er()]}],"min-w":[{"min-w":[s,"screen","none",...er()]}],"max-w":[{"max-w":[s,"screen","none","prose",{screen:[n]},...er()]}],h:[{h:["screen","lh",...er()]}],"min-h":[{"min-h":["screen","lh","none",...er()]}],"max-h":[{"max-h":["screen","lh",...er()]}],"font-size":[{text:["base",o,H,R]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[t,F,B]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",W,q]}],"font-family":[{font:[J,q,r]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[l,F,q]}],"line-clamp":[{"line-clamp":[A,"none",F,B]}],leading:[{leading:[a,...N()]}],"list-image":[{"list-image":["none",F,q]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",F,q]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:eo()}],"text-color":[{text:eo()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...ed(),"wavy"]}],"text-decoration-thickness":[{decoration:[A,"from-font","auto",F,R]}],"text-decoration-color":[{decoration:eo()}],"underline-offset":[{"underline-offset":[A,"auto",F,q]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:N()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",F,q]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",F,q]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:et()}],"bg-repeat":[{bg:el()}],"bg-size":[{bg:ea()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},O,F,q],radial:["",F,q],conic:[O,F,q]},V,Z]}],"bg-color":[{bg:eo()}],"gradient-from-pos":[{from:en()}],"gradient-via-pos":[{via:en()}],"gradient-to-pos":[{to:en()}],"gradient-from":[{from:eo()}],"gradient-via":[{via:eo()}],"gradient-to":[{to:eo()}],rounded:[{rounded:es()}],"rounded-s":[{"rounded-s":es()}],"rounded-e":[{"rounded-e":es()}],"rounded-t":[{"rounded-t":es()}],"rounded-r":[{"rounded-r":es()}],"rounded-b":[{"rounded-b":es()}],"rounded-l":[{"rounded-l":es()}],"rounded-ss":[{"rounded-ss":es()}],"rounded-se":[{"rounded-se":es()}],"rounded-ee":[{"rounded-ee":es()}],"rounded-es":[{"rounded-es":es()}],"rounded-tl":[{"rounded-tl":es()}],"rounded-tr":[{"rounded-tr":es()}],"rounded-br":[{"rounded-br":es()}],"rounded-bl":[{"rounded-bl":es()}],"border-w":[{border:ei()}],"border-w-x":[{"border-x":ei()}],"border-w-y":[{"border-y":ei()}],"border-w-s":[{"border-s":ei()}],"border-w-e":[{"border-e":ei()}],"border-w-t":[{"border-t":ei()}],"border-w-r":[{"border-r":ei()}],"border-w-b":[{"border-b":ei()}],"border-w-l":[{"border-l":ei()}],"divide-x":[{"divide-x":ei()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":ei()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...ed(),"hidden","none"]}],"divide-style":[{divide:[...ed(),"hidden","none"]}],"border-color":[{border:eo()}],"border-color-x":[{"border-x":eo()}],"border-color-y":[{"border-y":eo()}],"border-color-s":[{"border-s":eo()}],"border-color-e":[{"border-e":eo()}],"border-color-t":[{"border-t":eo()}],"border-color-r":[{"border-r":eo()}],"border-color-b":[{"border-b":eo()}],"border-color-l":[{"border-l":eo()}],"divide-color":[{divide:eo()}],"outline-style":[{outline:[...ed(),"none","hidden"]}],"outline-offset":[{"outline-offset":[A,F,q]}],"outline-w":[{outline:["",A,H,R]}],"outline-color":[{outline:eo()}],shadow:[{shadow:["","none",c,X,D]}],"shadow-color":[{shadow:eo()}],"inset-shadow":[{"inset-shadow":["none",m,X,D]}],"inset-shadow-color":[{"inset-shadow":eo()}],"ring-w":[{ring:ei()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:eo()}],"ring-offset-w":[{"ring-offset":[A,R]}],"ring-offset-color":[{"ring-offset":eo()}],"inset-ring-w":[{"inset-ring":ei()}],"inset-ring-color":[{"inset-ring":eo()}],"text-shadow":[{"text-shadow":["none",p,X,D]}],"text-shadow-color":[{"text-shadow":eo()}],opacity:[{opacity:[A,F,q]}],"mix-blend":[{"mix-blend":[...ec(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":ec()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[A]}],"mask-image-linear-from-pos":[{"mask-linear-from":em()}],"mask-image-linear-to-pos":[{"mask-linear-to":em()}],"mask-image-linear-from-color":[{"mask-linear-from":eo()}],"mask-image-linear-to-color":[{"mask-linear-to":eo()}],"mask-image-t-from-pos":[{"mask-t-from":em()}],"mask-image-t-to-pos":[{"mask-t-to":em()}],"mask-image-t-from-color":[{"mask-t-from":eo()}],"mask-image-t-to-color":[{"mask-t-to":eo()}],"mask-image-r-from-pos":[{"mask-r-from":em()}],"mask-image-r-to-pos":[{"mask-r-to":em()}],"mask-image-r-from-color":[{"mask-r-from":eo()}],"mask-image-r-to-color":[{"mask-r-to":eo()}],"mask-image-b-from-pos":[{"mask-b-from":em()}],"mask-image-b-to-pos":[{"mask-b-to":em()}],"mask-image-b-from-color":[{"mask-b-from":eo()}],"mask-image-b-to-color":[{"mask-b-to":eo()}],"mask-image-l-from-pos":[{"mask-l-from":em()}],"mask-image-l-to-pos":[{"mask-l-to":em()}],"mask-image-l-from-color":[{"mask-l-from":eo()}],"mask-image-l-to-color":[{"mask-l-to":eo()}],"mask-image-x-from-pos":[{"mask-x-from":em()}],"mask-image-x-to-pos":[{"mask-x-to":em()}],"mask-image-x-from-color":[{"mask-x-from":eo()}],"mask-image-x-to-color":[{"mask-x-to":eo()}],"mask-image-y-from-pos":[{"mask-y-from":em()}],"mask-image-y-to-pos":[{"mask-y-to":em()}],"mask-image-y-from-color":[{"mask-y-from":eo()}],"mask-image-y-to-color":[{"mask-y-to":eo()}],"mask-image-radial":[{"mask-radial":[F,q]}],"mask-image-radial-from-pos":[{"mask-radial-from":em()}],"mask-image-radial-to-pos":[{"mask-radial-to":em()}],"mask-image-radial-from-color":[{"mask-radial-from":eo()}],"mask-image-radial-to-color":[{"mask-radial-to":eo()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":y()}],"mask-image-conic-pos":[{"mask-conic":[A]}],"mask-image-conic-from-pos":[{"mask-conic-from":em()}],"mask-image-conic-to-pos":[{"mask-conic-to":em()}],"mask-image-conic-from-color":[{"mask-conic-from":eo()}],"mask-image-conic-to-color":[{"mask-conic-to":eo()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:et()}],"mask-repeat":[{mask:el()}],"mask-size":[{mask:ea()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",F,q]}],filter:[{filter:["","none",F,q]}],blur:[{blur:ep()}],brightness:[{brightness:[A,F,q]}],contrast:[{contrast:[A,F,q]}],"drop-shadow":[{"drop-shadow":["","none",u,X,D]}],"drop-shadow-color":[{"drop-shadow":eo()}],grayscale:[{grayscale:["",A,F,q]}],"hue-rotate":[{"hue-rotate":[A,F,q]}],invert:[{invert:["",A,F,q]}],saturate:[{saturate:[A,F,q]}],sepia:[{sepia:["",A,F,q]}],"backdrop-filter":[{"backdrop-filter":["","none",F,q]}],"backdrop-blur":[{"backdrop-blur":ep()}],"backdrop-brightness":[{"backdrop-brightness":[A,F,q]}],"backdrop-contrast":[{"backdrop-contrast":[A,F,q]}],"backdrop-grayscale":[{"backdrop-grayscale":["",A,F,q]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[A,F,q]}],"backdrop-invert":[{"backdrop-invert":["",A,F,q]}],"backdrop-opacity":[{"backdrop-opacity":[A,F,q]}],"backdrop-saturate":[{"backdrop-saturate":[A,F,q]}],"backdrop-sepia":[{"backdrop-sepia":["",A,F,q]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":N()}],"border-spacing-x":[{"border-spacing-x":N()}],"border-spacing-y":[{"border-spacing-y":N()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",F,q]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[A,"initial",F,q]}],ease:[{ease:["linear","initial",h,F,q]}],delay:[{delay:[A,F,q]}],animate:[{animate:["none",k,F,q]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[f,F,q]}],"perspective-origin":[{"perspective-origin":v()}],rotate:[{rotate:eu()}],"rotate-x":[{"rotate-x":eu()}],"rotate-y":[{"rotate-y":eu()}],"rotate-z":[{"rotate-z":eu()}],scale:[{scale:eb()}],"scale-x":[{"scale-x":eb()}],"scale-y":[{"scale-y":eb()}],"scale-z":[{"scale-z":eb()}],"scale-3d":["scale-3d"],skew:[{skew:ef()}],"skew-x":[{"skew-x":ef()}],"skew-y":[{"skew-y":ef()}],transform:[{transform:[F,q,"","none","gpu","cpu"]}],"transform-origin":[{origin:v()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:eg()}],"translate-x":[{"translate-x":eg()}],"translate-y":[{"translate-y":eg()}],"translate-z":[{"translate-z":eg()}],"translate-none":["translate-none"],accent:[{accent:eo()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:eo()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",F,q]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":N()}],"scroll-mx":[{"scroll-mx":N()}],"scroll-my":[{"scroll-my":N()}],"scroll-ms":[{"scroll-ms":N()}],"scroll-me":[{"scroll-me":N()}],"scroll-mt":[{"scroll-mt":N()}],"scroll-mr":[{"scroll-mr":N()}],"scroll-mb":[{"scroll-mb":N()}],"scroll-ml":[{"scroll-ml":N()}],"scroll-p":[{"scroll-p":N()}],"scroll-px":[{"scroll-px":N()}],"scroll-py":[{"scroll-py":N()}],"scroll-ps":[{"scroll-ps":N()}],"scroll-pe":[{"scroll-pe":N()}],"scroll-pt":[{"scroll-pt":N()}],"scroll-pr":[{"scroll-pr":N()}],"scroll-pb":[{"scroll-pb":N()}],"scroll-pl":[{"scroll-pl":N()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",F,q]}],fill:[{fill:["none",...eo()]}],"stroke-w":[{stroke:[A,H,R,B]}],stroke:[{stroke:["none",...eo()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}})},2987:(e,r,o)=>{o.d(r,{$:()=>t});function t(){for(var e,r,o=0,t="",l=arguments.length;o<l;o++)(e=arguments[o])&&(r=function e(r){var o,t,l="";if("string"==typeof r||"number"==typeof r)l+=r;else if("object"==typeof r)if(Array.isArray(r)){var a=r.length;for(o=0;o<a;o++)r[o]&&(t=e(r[o]))&&(l&&(l+=" "),l+=t)}else for(t in r)r[t]&&(l&&(l+=" "),l+=t);return l}(e))&&(t&&(t+=" "),t+=r);return t}},8889:(e,r,o)=>{o.d(r,{A:()=>s});var t=o(7620);let l=function(){for(var e=arguments.length,r=Array(e),o=0;o<e;o++)r[o]=arguments[o];return r.filter((e,r,o)=>!!e&&o.indexOf(e)===r).join(" ")};var a={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let n=(0,t.forwardRef)((e,r)=>{let{color:o="currentColor",size:n=24,strokeWidth:s=2,absoluteStrokeWidth:i,className:d="",children:c,iconNode:m,...p}=e;return(0,t.createElement)("svg",{ref:r,...a,width:n,height:n,stroke:o,strokeWidth:i?24*Number(s)/Number(n):s,className:l("lucide",d),...p},[...m.map(e=>{let[r,o]=e;return(0,t.createElement)(r,o)}),...Array.isArray(c)?c:[c]])}),s=(e,r)=>{let o=(0,t.forwardRef)((o,a)=>{let{className:s,...i}=o;return(0,t.createElement)(n,{ref:a,iconNode:r,className:l("lucide-".concat(e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()),s),...i})});return o.displayName="".concat(e),o}}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[477],{3477:(e,t,r)=>{r.r(t),r.d(t,{Board:()=>j});var s=r(4568),a=r(3096),n=r(3297),l=r(1355),o=r(4529),i=r(1690),d=r(2942),c=r(7620),u=r(1368),x=r(4147),m=r(4532),p=r(3544),f=r(9080),g=r(7606),h=r(6258),b=r(9321),v=r(3928);let y=[a.e1.BACKLOG,a.e1.IN_PROGRESS,a.e1.REVIEW,a.e1.VERIFICATION,a.e1.DONE,a.e1.BLOCKED],k={[a.e1.BACKLOG]:{label:"Backlog",color:"var(--status-backlog)",indicator:"bg-slate-500"},[a.e1.IN_PROGRESS]:{label:"In Progress",color:"var(--status-progress)",indicator:"bg-amber-500"},[a.e1.REVIEW]:{label:"Review",color:"var(--status-review)",indicator:"bg-purple-500"},[a.e1.VERIFICATION]:{label:"Verification",color:"var(--accent)",indicator:"bg-cyan-500"},[a.e1.DONE]:{label:"Done",color:"var(--status-done)",indicator:"bg-emerald-500"},[a.e1.BLOCKED]:{label:"Blocked",color:"var(--status-blocked)",indicator:"bg-rose-500"}};function j(){let e=(0,d.useRouter)(),{searchQuery:t,setSearchQuery:r,priorityFilter:j,setPriorityFilter:N,assigneeFilter:L,setAssigneeFilter:C,hasActiveFilters:A,clearFilters:w,getTasksByStatus:E,updateTaskStatus:I,deleteTask:S,refreshTasks:D}=function(){let e=(0,g.jE)(),{data:t=[],isLoading:r,error:s,refetch:a}=(0,n.I)({queryKey:["tasks"],queryFn:()=>b.pv.getAll(),refetchInterval:15e3}),l=s?s.message:null,[o,i]=(0,c.useState)(""),[d,u]=(0,c.useState)("ALL"),[x,m]=(0,c.useState)("ALL"),p=(0,c.useMemo)(()=>""!==o||"ALL"!==d||"ALL"!==x,[o,d,x]),f=(0,h.n)({mutationFn:e=>{let{taskId:t,status:r}=e;return b.pv.update(t,{status:r})},onSuccess:()=>{e.invalidateQueries({queryKey:["tasks"]})}}),v=(0,h.n)({mutationFn:e=>b.pv.delete(e),onSuccess:()=>{e.invalidateQueries({queryKey:["tasks"]})}}),y=(0,c.useCallback)(()=>{i(""),u("ALL"),m("ALL")},[]),k=(0,c.useMemo)(()=>t.filter(e=>{if(o){let t=o.toLowerCase();if(!e.title.toLowerCase().includes(t))return!1}return("ALL"===d||e.priority===d)&&("ALL"===x||e.assigneeRole===x)}),[t,o,d,x]),j=(0,c.useCallback)(e=>k.filter(t=>t.status===e),[k]);return{tasks:t,loading:r,error:l,searchQuery:o,setSearchQuery:i,priorityFilter:d,setPriorityFilter:u,assigneeFilter:x,setAssigneeFilter:m,hasActiveFilters:p,clearFilters:y,getTasksByStatus:j,updateTaskStatus:(0,c.useCallback)(async(e,t)=>{await f.mutateAsync({taskId:e,status:t})},[f]),deleteTask:(0,c.useCallback)(async e=>{await v.mutateAsync(e)},[v]),refreshTasks:a}}(),{data:O=[]}=(0,n.I)({queryKey:["sprints"],queryFn:b.KS.getAll}),K=O.find(e=>e.status===a.J3.ACTIVE),[B,T]=(0,c.useState)(!1),[R,F]=(0,c.useState)(a.e1.BACKLOG),[V,G]=(0,c.useState)(null),[q,M]=(0,c.useState)(null),_=(0,c.useCallback)(e=>{F(e),T(!0)},[]);(0,c.useEffect)(()=>{let e=e=>{if(!(e.target instanceof HTMLInputElement||e.target instanceof HTMLTextAreaElement)){if(("n"===e.key||"N"===e.key)&&(e.preventDefault(),_(a.e1.BACKLOG)),"/"===e.key&&!e.metaKey&&!e.ctrlKey){e.preventDefault();let t=document.querySelector(".search-input");null==t||t.focus()}"Escape"===e.key&&V&&G(null)}};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[V,_]);let H=async(e,t)=>{t.preventDefault(),M(null);let r=t.dataTransfer.getData("taskId");r&&await I(Number(r),e)},P=()=>{M(null)};return K?(0,s.jsxs)("div",{className:"flex-1 overflow-auto bg-background",children:[(0,s.jsx)("div",{className:"mb-6",children:(0,s.jsxs)("div",{className:"flex justify-between items-center",children:[(0,s.jsxs)("div",{children:[(0,s.jsxs)("div",{className:"flex items-center gap-3",children:[(0,s.jsx)("h1",{className:"text-2xl font-bold tracking-tight text-foreground",children:K.name}),(0,s.jsx)("span",{className:"px-2 py-0.5 rounded-full bg-primary/10 text-primary text-[10px] font-black uppercase tracking-wider",children:"Active"})]}),(0,s.jsxs)("p",{className:"text-muted-foreground text-sm mt-1 flex items-center gap-3",children:["Track and manage engineering tasks",(0,s.jsxs)("span",{className:"hidden md:inline-flex items-center gap-1.5 px-2 py-0.5 rounded-md bg-secondary/60 text-[10px] font-semibold text-muted-foreground",children:[(0,s.jsx)("kbd",{className:"bg-background/80 px-1.5 py-0.5 rounded text-[9px] font-bold border",children:"N"}),"New task"]})]})]}),(0,s.jsxs)(f.$,{onClick:()=>_(a.e1.BACKLOG),className:"shadow-lg shadow-primary/20",children:[(0,s.jsx)(o.A,{size:16,className:"mr-1.5"}),"New Task"]})]})}),(0,s.jsx)(u.J,{searchQuery:t,onSearchChange:r,priorityFilter:j,onPriorityChange:N,assigneeFilter:L,onAssigneeChange:C,onClearFilters:w,hasActiveFilters:A}),(0,s.jsx)("div",{className:"flex gap-4 min-h-[600px] pb-4",children:y.map(e=>{let t=E(e).filter(e=>e.sprintId===K.id),r=q===e;return(0,s.jsxs)("div",{className:(0,v.cn)("flex flex-col w-[280px] shrink-0 rounded-xl transition-all border",r?"bg-primary/5 border-primary/40 ring-1 ring-primary/20":"bg-card/50 border-border/50"),onDrop:t=>H(e,t),onDragOver:t=>{t.preventDefault(),t.dataTransfer.dropEffect="move",M(e)},onDragLeave:P,children:[(0,s.jsxs)("div",{className:"flex items-center justify-between p-3 border-b border-border/50",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,s.jsx)("div",{className:(0,v.cn)("h-2.5 w-2.5 rounded-full",k[e].indicator)}),(0,s.jsx)("span",{className:"text-xs font-semibold text-foreground",children:k[e].label}),(0,s.jsx)("span",{className:"flex items-center justify-center h-5 min-w-[20px] px-1.5 bg-secondary/80 text-[10px] font-bold rounded-md text-muted-foreground",children:t.length})]}),(0,s.jsx)("button",{className:"p-1.5 rounded-lg hover:bg-secondary text-muted-foreground transition-colors",children:(0,s.jsx)(i.A,{size:14})})]}),(0,s.jsxs)("div",{className:"flex flex-col gap-2.5 p-2.5 flex-1 overflow-y-auto",children:[t.map(e=>(0,s.jsx)(x.y,{task:e,onClick:()=>G(e.id),onDelete:S},e.id)),(0,s.jsxs)(f.$,{variant:"ghost",className:"w-full justify-center text-xs font-medium text-muted-foreground/60 hover:text-foreground hover:bg-secondary/40 h-8 border border-dashed border-border/50 hover:border-border rounded-lg",onClick:()=>_(e),children:[(0,s.jsx)(o.A,{size:14,className:"mr-1.5"}),"Add"]})]})]},e)})}),(0,s.jsx)(m.l,{isOpen:B,onClose:()=>T(!1),onCreated:D,initialStatus:R,sprintId:null==K?void 0:K.id}),(0,s.jsx)(l.N,{children:V&&(0,s.jsx)(p.W,{taskId:V,onClose:()=>G(null),onDeleted:D,onUpdated:D},"task-panel")})]}):(0,s.jsxs)("div",{className:"flex-1 flex flex-col items-center justify-center p-8 text-center space-y-4",children:[(0,s.jsx)("div",{className:"bg-primary/5 p-4 rounded-full",children:(0,s.jsxs)("svg",{className:"w-12 h-12 text-primary/40",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:[(0,s.jsx)("title",{children:"Icon"}),(0,s.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 11H5m14 0a2 2 0 012 2v6a2 2 0 01-2 2H5a2 2 0 01-2-2v-6a2 2 0 012-2m14 0V9a2 2 0 00-2-2M5 11V9a2 2 0 012-2m0 0V5a2 2 0 012-2h6a2 2 0 012 2v2M7 7h10"})]})}),(0,s.jsxs)("div",{children:[(0,s.jsx)("h2",{className:"text-xl font-bold",children:"No Active Sprint"}),(0,s.jsx)("p",{className:"text-muted-foreground mt-2 max-w-sm mx-auto",children:"You need to start a sprint from the Backlog to see tasks on the board."})]}),(0,s.jsx)(f.$,{onClick:()=>e.push("/backlog"),variant:"secondary",children:"Go to Backlog"})]})}}}]);
|