renamed to Sprint

This commit is contained in:
Oliver Bryan
2026-01-16 11:15:38 +00:00
parent b4601a7595
commit 385b85bdb4
95 changed files with 324 additions and 253 deletions

View File

@@ -1,4 +1,4 @@
import type { UserRecord } from "@issue/shared";
import type { UserRecord } from "@sprint/shared";
import { type FormEvent, useState } from "react";
import { toast } from "sonner";
import { Button } from "@/components/ui/button";

View File

@@ -3,7 +3,7 @@ import {
ISSUE_TITLE_MAX_LENGTH,
type SprintRecord,
type UserRecord,
} from "@issue/shared";
} from "@sprint/shared";
import { type FormEvent, useState } from "react";
import { toast } from "sonner";

View File

@@ -3,7 +3,7 @@ import {
ORG_NAME_MAX_LENGTH,
ORG_SLUG_MAX_LENGTH,
type OrganisationRecord,
} from "@issue/shared";
} from "@sprint/shared";
import { type FormEvent, useState } from "react";
import { useAuthenticatedSession } from "@/components/session-provider";
import { Button } from "@/components/ui/button";

View File

@@ -1,4 +1,4 @@
import { PROJECT_NAME_MAX_LENGTH, type ProjectRecord } from "@issue/shared";
import { PROJECT_NAME_MAX_LENGTH, type ProjectRecord } from "@sprint/shared";
import { type FormEvent, useState } from "react";
import { toast } from "sonner";
import { useAuthenticatedSession } from "@/components/session-provider";

View File

@@ -1,4 +1,4 @@
import { DEFAULT_SPRINT_COLOUR, type SprintRecord } from "@issue/shared";
import { DEFAULT_SPRINT_COLOUR, type SprintRecord } from "@sprint/shared";
import { type FormEvent, useMemo, useState } from "react";
import { toast } from "sonner";
import { useAuthenticatedSession } from "@/components/session-provider";

View File

@@ -1,4 +1,4 @@
import type { IssueResponse, ProjectResponse, SprintRecord, UserRecord } from "@issue/shared";
import type { IssueResponse, ProjectResponse, SprintRecord, UserRecord } from "@sprint/shared";
import { Check, Link, Trash, X } from "lucide-react";
import { useEffect, useRef, useState } from "react";
import { toast } from "sonner";

View File

@@ -1,4 +1,4 @@
import type { TimerState } from "@issue/shared";
import type { TimerState } from "@sprint/shared";
import { useEffect, useState } from "react";
import { Button } from "@/components/ui/button";
import { parseError, timer } from "@/lib/server";

View File

@@ -1,4 +1,4 @@
import type { IssueResponse } from "@issue/shared";
import type { IssueResponse } from "@sprint/shared";
import Avatar from "@/components/avatar";
import StatusTag from "@/components/status-tag";
import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from "@/components/ui/table";

View File

@@ -1,6 +1,6 @@
/** biome-ignore-all lint/correctness/useExhaustiveDependencies: <> */
import { USER_NAME_MAX_LENGTH, USER_USERNAME_MAX_LENGTH } from "@issue/shared";
import { USER_NAME_MAX_LENGTH, USER_USERNAME_MAX_LENGTH } from "@sprint/shared";
import { AlertTriangle, X } from "lucide-react";
import { useEffect, useState } from "react";
import { useNavigate, useSearchParams } from "react-router-dom";

View File

@@ -1,4 +1,4 @@
import type { OrganisationRecord, OrganisationResponse } from "@issue/shared";
import type { OrganisationRecord, OrganisationResponse } from "@sprint/shared";
import { useState } from "react";
import { toast } from "sonner";
import { CreateOrganisation } from "@/components/create-organisation";

View File

@@ -6,7 +6,7 @@ import {
type ProjectRecord,
type ProjectResponse,
type SprintRecord,
} from "@issue/shared";
} from "@sprint/shared";
import { ChevronDown, ChevronUp, EllipsisVertical, Plus, X } from "lucide-react";
import { type ReactNode, useCallback, useEffect, useState } from "react";
import { toast } from "sonner";

View File

@@ -1,4 +1,4 @@
import type { ProjectRecord, ProjectResponse } from "@issue/shared";
import type { ProjectRecord, ProjectResponse } from "@sprint/shared";
import { useState } from "react";
import { CreateProject } from "@/components/create-project";
import { Button } from "@/components/ui/button";

View File

@@ -1,4 +1,4 @@
import type { UserRecord } from "@issue/shared";
import type { UserRecord } from "@sprint/shared";
import { createContext, useCallback, useContext, useEffect, useRef, useState } from "react";
import { Navigate, useLocation } from "react-router-dom";
import Loading from "@/components/loading";

View File

@@ -1,4 +1,4 @@
import { DEFAULT_SPRINT_COLOUR, type SprintRecord } from "@issue/shared";
import { DEFAULT_SPRINT_COLOUR, type SprintRecord } from "@sprint/shared";
import { cn, DARK_TEXT_COLOUR, isLight } from "@/lib/utils";
export default function SmallSprintDisplay({

View File

@@ -1,4 +1,4 @@
import type { UserRecord } from "@issue/shared";
import type { UserRecord } from "@sprint/shared";
import Avatar from "@/components/avatar";
import { cn } from "@/lib/utils";

View File

@@ -1,4 +1,4 @@
import type { SprintRecord, UserRecord } from "@issue/shared";
import type { SprintRecord, UserRecord } from "@sprint/shared";
import { useState } from "react";
import SmallSprintDisplay from "@/components/small-sprint-display";
import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select";

View File

@@ -1,4 +1,4 @@
import { DEFAULT_STATUS_COLOUR } from "@issue/shared";
import { DEFAULT_STATUS_COLOUR } from "@sprint/shared";
import { cn, DARK_TEXT_COLOUR, isLight } from "@/lib/utils";
export default function StatusTag({

View File

@@ -1,4 +1,4 @@
import type { TimerState } from "@issue/shared";
import type { TimerState } from "@sprint/shared";
import { useEffect, useState } from "react";
import { toast } from "sonner";
import { parseError, timer } from "@/lib/server";

View File

@@ -1,4 +1,4 @@
import type { UserRecord } from "@issue/shared";
import type { UserRecord } from "@sprint/shared";
import { useState } from "react";
import SmallUserDisplay from "@/components/small-user-display";
import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select";

View File

@@ -1,4 +1,4 @@
import type { ApiError } from "@issue/shared";
import type { ApiError } from "@sprint/shared";
export * as issue from "@/lib/server/issue";
export * as organisation from "@/lib/server/organisation";

View File

@@ -1,4 +1,4 @@
import type { IssueCreateRequest, IssueRecord } from "@issue/shared";
import type { IssueCreateRequest, IssueRecord } from "@sprint/shared";
import { toast } from "sonner";
import { getCsrfToken, getServerURL } from "@/lib/utils";
import type { ServerQueryInput } from "..";

View File

@@ -1,4 +1,4 @@
import type { SuccessResponse } from "@issue/shared";
import type { SuccessResponse } from "@sprint/shared";
import { toast } from "sonner";
import { getCsrfToken, getServerURL } from "@/lib/utils";
import type { ServerQueryInput } from "..";

View File

@@ -1,4 +1,4 @@
import type { IssuesReplaceStatusRequest, ReplaceStatusResponse } from "@issue/shared";
import type { IssuesReplaceStatusRequest, ReplaceStatusResponse } from "@sprint/shared";
import { toast } from "sonner";
import { getCsrfToken, getServerURL } from "@/lib/utils";
import type { ServerQueryInput } from "..";

View File

@@ -1,4 +1,4 @@
import type { IssueRecord } from "@issue/shared";
import type { IssueRecord } from "@sprint/shared";
import { toast } from "sonner";
import { getCsrfToken, getServerURL } from "@/lib/utils";
import type { ServerQueryInput } from "..";

View File

@@ -1,4 +1,4 @@
import type { OrgAddMemberRequest, OrganisationMemberRecord } from "@issue/shared";
import type { OrgAddMemberRequest, OrganisationMemberRecord } from "@sprint/shared";
import { toast } from "sonner";
import { getCsrfToken, getServerURL } from "@/lib/utils";
import type { ServerQueryInput } from "..";

View File

@@ -1,4 +1,4 @@
import type { OrganisationResponse } from "@issue/shared";
import type { OrganisationResponse } from "@sprint/shared";
import { getServerURL } from "@/lib/utils";
import type { ServerQueryInput } from "..";

View File

@@ -1,4 +1,4 @@
import type { OrganisationRecord, OrgCreateRequest } from "@issue/shared";
import type { OrganisationRecord, OrgCreateRequest } from "@sprint/shared";
import { toast } from "sonner";
import { getCsrfToken, getServerURL } from "@/lib/utils";
import type { ServerQueryInput } from "..";

View File

@@ -1,4 +1,4 @@
import type { OrganisationMemberResponse } from "@issue/shared";
import type { OrganisationMemberResponse } from "@sprint/shared";
import { getServerURL } from "@/lib/utils";
import type { ServerQueryInput } from "..";

View File

@@ -1,4 +1,4 @@
import type { OrgRemoveMemberRequest, SuccessResponse } from "@issue/shared";
import type { OrgRemoveMemberRequest, SuccessResponse } from "@sprint/shared";
import { toast } from "sonner";
import { getCsrfToken, getServerURL } from "@/lib/utils";
import type { ServerQueryInput } from "..";

View File

@@ -1,4 +1,4 @@
import type { OrganisationRecord } from "@issue/shared";
import type { OrganisationRecord } from "@sprint/shared";
import { toast } from "sonner";
import { getCsrfToken, getServerURL } from "@/lib/utils";
import type { ServerQueryInput } from "..";

View File

@@ -1,4 +1,4 @@
import type { OrganisationMemberRecord, OrgUpdateMemberRoleRequest } from "@issue/shared";
import type { OrganisationMemberRecord, OrgUpdateMemberRoleRequest } from "@sprint/shared";
import { toast } from "sonner";
import { getCsrfToken, getServerURL } from "@/lib/utils";
import type { ServerQueryInput } from "..";

View File

@@ -1,4 +1,4 @@
import type { ProjectCreateRequest, ProjectRecord } from "@issue/shared";
import type { ProjectCreateRequest, ProjectRecord } from "@sprint/shared";
import { toast } from "sonner";
import { getCsrfToken, getServerURL } from "@/lib/utils";
import type { ServerQueryInput } from "..";

View File

@@ -1,4 +1,4 @@
import type { SprintRecord } from "@issue/shared";
import type { SprintRecord } from "@sprint/shared";
import { getServerURL } from "@/lib/utils";
import type { ServerQueryInput } from "..";

View File

@@ -1,4 +1,4 @@
import type { SprintRecord } from "@issue/shared";
import type { SprintRecord } from "@sprint/shared";
import { toast } from "sonner";
import { getCsrfToken, getServerURL } from "@/lib/utils";
import type { ServerQueryInput } from "..";

View File

@@ -1,4 +1,4 @@
import type { TimerEndRequest, TimerState } from "@issue/shared";
import type { TimerEndRequest, TimerState } from "@sprint/shared";
import { toast } from "sonner";
import { getCsrfToken, getServerURL } from "@/lib/utils";
import type { ServerQueryInput } from "..";

View File

@@ -1,4 +1,4 @@
import type { TimerState } from "@issue/shared";
import type { TimerState } from "@sprint/shared";
import { getServerURL } from "@/lib/utils";
import type { ServerQueryInput } from "..";

View File

@@ -1,4 +1,4 @@
import type { TimerState } from "@issue/shared";
import type { TimerState } from "@sprint/shared";
import { getServerURL } from "@/lib/utils";
import type { ServerQueryInput } from "..";

View File

@@ -1,4 +1,4 @@
import type { TimerState, TimerToggleRequest } from "@issue/shared";
import type { TimerState, TimerToggleRequest } from "@sprint/shared";
import { toast } from "sonner";
import { getCsrfToken, getServerURL } from "@/lib/utils";
import type { ServerQueryInput } from "..";

View File

@@ -1,4 +1,4 @@
import type { UserRecord } from "@issue/shared";
import type { UserRecord } from "@sprint/shared";
import { getServerURL } from "@/lib/utils";
import type { ServerQueryInput } from "..";

View File

@@ -1,4 +1,4 @@
import type { UserRecord, UserUpdateRequest } from "@issue/shared";
import type { UserRecord, UserUpdateRequest } from "@sprint/shared";
import { toast } from "sonner";
import { getCsrfToken, getServerURL } from "@/lib/utils";
import type { ServerQueryInput } from "..";

View File

@@ -7,7 +7,7 @@ import type {
ProjectResponse,
SprintRecord,
UserRecord,
} from "@issue/shared";
} from "@sprint/shared";
import { useEffect, useMemo, useRef, useState } from "react";
import { toast } from "sonner";
import AccountDialog from "@/components/account-dialog";

View File

@@ -10,7 +10,7 @@ export default function Landing() {
return (
<div className="min-h-screen flex flex-col">
<header className="relative flex items-center justify-center p-2 border-b">
<div className="text-3xl font-basteleur font-700">Issue</div>
<div className="text-3xl font-basteleur font-700">Sprint</div>
<nav className="absolute right-2 flex items-center gap-4">
<ThemeToggle />
{!isLoading && user ? (
@@ -38,7 +38,7 @@ export default function Landing() {
Need a snappy project management tool?
</h1>
<p className="text-[24px] font-goudy text-muted-foreground">
Build your next project with <span className="font-goudy font-700">Issue.</span>
Build your next project with <span className="font-goudy font-700">Sprint.</span>
</p>
<p className="text-[18px] font-goudy text-muted-foreground font-700">
Sick of Jira? Say hello to your new favorite project management tool.