Fix sai changes integration blockers
This commit is contained in:
3
apps/web/.gitignore
vendored
3
apps/web/.gitignore
vendored
@@ -40,7 +40,8 @@ npm-debug.log*
|
|||||||
yarn-debug.log*
|
yarn-debug.log*
|
||||||
yarn-error.log*
|
yarn-error.log*
|
||||||
.pnpm-debug.log*
|
.pnpm-debug.log*
|
||||||
*.log*
|
*.log
|
||||||
|
*.log.*
|
||||||
|
|
||||||
# TypeScript
|
# TypeScript
|
||||||
*.tsbuildinfo
|
*.tsbuildinfo
|
||||||
|
|||||||
@@ -259,7 +259,7 @@ const IssueList = ({ issues, pendingAction, onStart }: IssueListProps) => {
|
|||||||
issue.status
|
issue.status
|
||||||
);
|
);
|
||||||
const busy = pendingAction === `issue:${issue._id}`;
|
const busy = pendingAction === `issue:${issue._id}`;
|
||||||
let actionLabel = issue.status;
|
let actionLabel: string = issue.status;
|
||||||
if (canStart) {
|
if (canStart) {
|
||||||
actionLabel = "Start agent";
|
actionLabel = "Start agent";
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
import { authClient } from "@code/auth/web";
|
||||||
import { api } from "@code/backend/convex/_generated/api";
|
import { api } from "@code/backend/convex/_generated/api";
|
||||||
import { Button } from "@code/ui/components/button";
|
import { Button } from "@code/ui/components/button";
|
||||||
import {
|
import {
|
||||||
@@ -12,15 +13,15 @@ import {
|
|||||||
import { useQuery } from "convex/react";
|
import { useQuery } from "convex/react";
|
||||||
import { useNavigate } from "react-router";
|
import { useNavigate } from "react-router";
|
||||||
|
|
||||||
import { authClient } from "@code/auth/web";
|
|
||||||
|
|
||||||
export default function UserMenu() {
|
export default function UserMenu() {
|
||||||
const navigate = useNavigate();
|
const navigate = useNavigate();
|
||||||
const user = useQuery(api.auth.getCurrentUser);
|
const user = useQuery(api.auth.getCurrentUser);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<DropdownMenu>
|
<DropdownMenu>
|
||||||
<DropdownMenuTrigger render={<Button variant="outline" />}>{user?.name}</DropdownMenuTrigger>
|
<DropdownMenuTrigger render={<Button variant="outline" />}>
|
||||||
|
{user?.name}
|
||||||
|
</DropdownMenuTrigger>
|
||||||
<DropdownMenuContent className="bg-card">
|
<DropdownMenuContent className="bg-card">
|
||||||
<DropdownMenuGroup>
|
<DropdownMenuGroup>
|
||||||
<DropdownMenuLabel>My Account</DropdownMenuLabel>
|
<DropdownMenuLabel>My Account</DropdownMenuLabel>
|
||||||
@@ -32,7 +33,7 @@ export default function UserMenu() {
|
|||||||
authClient.signOut({
|
authClient.signOut({
|
||||||
fetchOptions: {
|
fetchOptions: {
|
||||||
onSuccess: () => {
|
onSuccess: () => {
|
||||||
navigate("/dashboard");
|
navigate("/login", { replace: true });
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|||||||
15
apps/web/src/routes/_auth.login.tsx
Normal file
15
apps/web/src/routes/_auth.login.tsx
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
import { LoginForm } from "@code/auth/web";
|
||||||
|
import { useNavigate } from "react-router";
|
||||||
|
|
||||||
|
import type { Route } from "./+types/_auth.login";
|
||||||
|
|
||||||
|
export const meta = (_args: Route.MetaArgs) => [
|
||||||
|
{ title: "Sign in | Zopu" },
|
||||||
|
{ content: "Sign in to Zopu", name: "description" },
|
||||||
|
];
|
||||||
|
|
||||||
|
export default function LoginRoute() {
|
||||||
|
const navigate = useNavigate();
|
||||||
|
|
||||||
|
return <LoginForm onSuccess={() => navigate("/", { replace: true })} />;
|
||||||
|
}
|
||||||
10
packages/backend/.oxlintrc.json
Normal file
10
packages/backend/.oxlintrc.json
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
{
|
||||||
|
"overrides": [
|
||||||
|
{
|
||||||
|
"files": ["convex/**/*.ts"],
|
||||||
|
"rules": {
|
||||||
|
"unicorn/filename-case": "off"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user