@tulip-systems/create-app 0.12.4 → 0.13.0

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.
Files changed (143) hide show
  1. package/dist/index.mjs +2866 -2949
  2. package/dist/index.mjs.map +1 -1
  3. package/dist/templates/basic/package.json +37 -38
  4. package/dist/templates/basic/src/app/layout.tsx +20 -10
  5. package/dist/templates/code/package.json +80 -72
  6. package/dist/templates/code/public/sw.js +35 -0
  7. package/dist/templates/code/src/app/admin/contacts/_components/grid.tsx +1 -1
  8. package/dist/templates/code/src/app/admin/customers/_config/columns-data.tsx +1 -1
  9. package/dist/templates/code/src/app/admin/employees/_config/columns-data.tsx +1 -1
  10. package/dist/templates/code/src/app/admin/history/[id]/layout.tsx +33 -0
  11. package/dist/templates/code/src/app/admin/history/[id]/loading.tsx +11 -0
  12. package/dist/templates/code/src/app/admin/history/[id]/page.tsx +30 -0
  13. package/dist/templates/code/src/app/admin/history/_components/diff.client.tsx +377 -0
  14. package/dist/templates/code/src/app/admin/history/_components/field-comparison.tsx +153 -0
  15. package/dist/templates/code/src/app/admin/history/_components/tables.tsx +47 -0
  16. package/dist/templates/code/src/app/admin/history/_components/toolbars.tsx +54 -0
  17. package/dist/templates/code/src/app/admin/history/_config/columns-data.tsx +61 -0
  18. package/dist/templates/code/src/app/admin/history/_config/filters.ts +46 -0
  19. package/dist/templates/code/src/app/admin/history/_config/sorting.ts +30 -0
  20. package/dist/templates/code/src/app/admin/history/_lib/helpers.ts +98 -0
  21. package/dist/templates/code/src/app/admin/history/_lib/router.ts +100 -0
  22. package/dist/templates/code/src/app/admin/history/_lib/schema.ts +45 -0
  23. package/dist/templates/code/src/app/admin/history/_lib/service.server.ts +30 -0
  24. package/dist/templates/code/src/app/admin/history/_lib/validators.ts +118 -0
  25. package/dist/templates/code/src/app/admin/initiatives/_config/columns-data.tsx +1 -1
  26. package/dist/templates/code/src/app/admin/notifications/_components/command-toggle-push.tsx +115 -0
  27. package/dist/templates/code/src/app/admin/notifications/_components/tables.tsx +37 -0
  28. package/dist/templates/code/src/app/admin/notifications/_components/toolbars.tsx +21 -0
  29. package/dist/templates/code/src/app/admin/notifications/_config/columns-data.tsx +64 -0
  30. package/dist/templates/code/src/app/admin/notifications/_config/commands.tsx +40 -0
  31. package/dist/templates/code/src/app/admin/notifications/_lib/listeners.server.ts +69 -0
  32. package/dist/templates/code/src/app/admin/notifications/_lib/push.server.ts +80 -0
  33. package/dist/templates/code/src/app/admin/notifications/_lib/router.ts +82 -0
  34. package/dist/templates/code/src/app/admin/notifications/_lib/schema.ts +49 -0
  35. package/dist/templates/code/src/app/admin/notifications/_lib/validators.ts +19 -0
  36. package/dist/templates/code/src/app/admin/notifications/layout.tsx +17 -0
  37. package/dist/templates/code/src/app/admin/notifications/loading.tsx +9 -0
  38. package/dist/templates/code/src/app/admin/notifications/page.tsx +28 -0
  39. package/dist/templates/code/src/app/admin/projects/[id]/(default)/page.tsx +1 -1
  40. package/dist/templates/code/src/app/admin/projects/[id]/timeline/page.tsx +1 -1
  41. package/dist/templates/code/src/app/admin/projects/_config/columns-data.tsx +1 -1
  42. package/dist/templates/code/src/app/admin/projects/_lib/events.ts +64 -0
  43. package/dist/templates/code/src/app/admin/projects/_lib/listeners.server.ts +82 -0
  44. package/dist/templates/code/src/app/admin/projects/_lib/router.ts +145 -20
  45. package/dist/templates/code/src/app/admin/projects/timeline/page.tsx +1 -1
  46. package/dist/templates/code/src/app/admin/prospects/_config/columns-data.tsx +1 -1
  47. package/dist/templates/code/src/app/admin/queue/_components/create-command.tsx +97 -0
  48. package/dist/templates/code/src/app/admin/queue/_components/tables.tsx +37 -0
  49. package/dist/templates/code/src/app/admin/queue/_components/toolbars.tsx +16 -0
  50. package/dist/templates/code/src/app/admin/queue/_config/columns-data.tsx +44 -0
  51. package/dist/templates/code/src/app/admin/queue/_config/commands.tsx +39 -0
  52. package/dist/templates/code/src/app/admin/queue/_lib/queue.ts +27 -0
  53. package/dist/templates/code/src/app/admin/queue/_lib/router.ts +33 -0
  54. package/dist/templates/code/src/app/admin/queue/_lib/schema.ts +12 -0
  55. package/dist/templates/code/src/app/admin/queue/_lib/validators.ts +15 -0
  56. package/dist/templates/code/src/app/admin/quotations/_config/columns-data.tsx +1 -1
  57. package/dist/templates/code/src/app/admin/quotations/_config/commands.tsx +1 -1
  58. package/dist/templates/code/src/app/admin/settings/history/layout.tsx +6 -0
  59. package/dist/templates/code/src/app/admin/settings/history/loading.tsx +5 -0
  60. package/dist/templates/code/src/app/admin/settings/history/page.tsx +13 -0
  61. package/dist/templates/code/src/app/admin/settings/layout.tsx +11 -0
  62. package/dist/templates/code/src/app/admin/settings/queue/loading.tsx +9 -0
  63. package/dist/templates/code/src/app/admin/settings/queue/page.tsx +21 -0
  64. package/dist/templates/code/src/app/admin/tasks/_components/domains-tabs-grid.tsx +1 -1
  65. package/dist/templates/code/src/app/admin/tasks/_config/columns-data.tsx +1 -1
  66. package/dist/templates/code/src/app/admin/tasks/_config/columns-inline.tsx +1 -1
  67. package/dist/templates/code/src/app/admin/tasks/_lib/events.ts +40 -0
  68. package/dist/templates/code/src/app/admin/tasks/_lib/listeners.server.ts +46 -0
  69. package/dist/templates/code/src/app/admin/tasks/_lib/router.ts +222 -90
  70. package/dist/templates/code/src/app/admin/time/_config/columns-data.tsx +1 -1
  71. package/dist/templates/code/src/app/admin/time/_config/columns-inline.tsx +1 -1
  72. package/dist/templates/code/src/app/api/[transport]/route.ts +31 -21
  73. package/dist/templates/code/src/app/api/queue/dispatch/route.ts +4 -0
  74. package/dist/templates/code/src/app/auth/forget-password/page.tsx +1 -1
  75. package/dist/templates/code/src/app/auth/layout.tsx +1 -1
  76. package/dist/templates/code/src/app/auth/reset-password/page.tsx +1 -1
  77. package/dist/templates/code/src/app/layout.tsx +25 -13
  78. package/dist/templates/code/src/env.ts +12 -0
  79. package/dist/templates/code/src/lib/config/paths.tsx +8 -0
  80. package/dist/templates/code/src/server/auth/constants.ts +1 -1
  81. package/dist/templates/code/src/server/auth/init.ts +12 -5
  82. package/dist/templates/code/src/server/auth/permissions.ts +3 -0
  83. package/dist/templates/code/src/server/auth/schema.ts +100 -1
  84. package/dist/templates/code/src/server/db/schema.ts +3 -0
  85. package/dist/templates/code/src/server/events/handlers.ts +17 -0
  86. package/dist/templates/code/src/server/events/init.ts +18 -0
  87. package/dist/templates/code/src/server/events/listeners.ts +17 -0
  88. package/dist/templates/code/src/server/queue/handlers.ts +5 -0
  89. package/dist/templates/code/src/server/queue/init.ts +16 -0
  90. package/dist/templates/code/src/server/router/router.ts +13 -0
  91. package/dist/templates/spark/package.json +64 -65
  92. package/dist/templates/spark/src/app/admin/assignments/[id]/(default)/@dashboard/page.tsx +1 -1
  93. package/dist/templates/spark/src/app/admin/assignments/_config/columns-data.tsx +1 -1
  94. package/dist/templates/spark/src/app/admin/companies/_config/columns-data.tsx +1 -1
  95. package/dist/templates/spark/src/app/admin/contacts/_components/grid.tsx +1 -1
  96. package/dist/templates/spark/src/app/admin/customers/_config/columns-data.tsx +1 -1
  97. package/dist/templates/spark/src/app/admin/drive/_config/columns-data.tsx +1 -1
  98. package/dist/templates/spark/src/app/admin/emails/_components/send-email.tsx +1 -1
  99. package/dist/templates/spark/src/app/admin/emails/_config/columns-data.tsx +1 -1
  100. package/dist/templates/spark/src/app/admin/employees/_config/columns-data.tsx +1 -1
  101. package/dist/templates/spark/src/app/admin/executions/[id]/@dashboard/page.tsx +1 -1
  102. package/dist/templates/spark/src/app/admin/executions/_config/columns-data.tsx +1 -1
  103. package/dist/templates/spark/src/app/admin/products/[id]/(preview)/page.tsx +1 -1
  104. package/dist/templates/spark/src/app/admin/products/_config/columns-data.tsx +1 -1
  105. package/dist/templates/spark/src/app/admin/projects/[id]/(dashboard)/page.tsx +1 -1
  106. package/dist/templates/spark/src/app/admin/projects/[id]/messages/page.tsx +1 -1
  107. package/dist/templates/spark/src/app/admin/projects/[id]/statistics/page.tsx +1 -1
  108. package/dist/templates/spark/src/app/admin/projects/_config/columns-data.tsx +1 -1
  109. package/dist/templates/spark/src/app/admin/purchase-order-items/_config/columns-data.tsx +1 -1
  110. package/dist/templates/spark/src/app/admin/purchase-order-items/_config/columns-inline.tsx +1 -1
  111. package/dist/templates/spark/src/app/admin/purchase-order-items/_config/commands.tsx +1 -1
  112. package/dist/templates/spark/src/app/admin/purchase-orders/[id]/(default)/@dashboard/page.tsx +1 -1
  113. package/dist/templates/spark/src/app/admin/purchase-orders/_config/columns-data.tsx +1 -1
  114. package/dist/templates/spark/src/app/admin/quotation-items/_config/commands.tsx +1 -1
  115. package/dist/templates/spark/src/app/admin/quotations/[id]/(default)/@dashboard/page.tsx +1 -1
  116. package/dist/templates/spark/src/app/admin/quotations/_config/columns-data.tsx +1 -1
  117. package/dist/templates/spark/src/app/admin/run-tasks/_config/columns-data.tsx +1 -1
  118. package/dist/templates/spark/src/app/admin/runs/[id]/@dashboard/page.tsx +1 -1
  119. package/dist/templates/spark/src/app/admin/runs/_config/columns-data.tsx +1 -1
  120. package/dist/templates/spark/src/app/admin/sales-invoices/[id]/@dashboard/page.tsx +1 -1
  121. package/dist/templates/spark/src/app/admin/sales-invoices/_config/columns-data.tsx +1 -1
  122. package/dist/templates/spark/src/app/admin/sales-order-executions/_config/columns-data.tsx +1 -1
  123. package/dist/templates/spark/src/app/admin/sales-order-executions/_config/columns-inline.tsx +1 -1
  124. package/dist/templates/spark/src/app/admin/sales-order-executions/_config/commands.tsx +1 -1
  125. package/dist/templates/spark/src/app/admin/sales-order-items/_config/commands.tsx +1 -1
  126. package/dist/templates/spark/src/app/admin/sales-orders/[id]/(default)/@dashboard/page.tsx +1 -1
  127. package/dist/templates/spark/src/app/admin/sales-orders/[id]/(default)/layout.tsx +1 -1
  128. package/dist/templates/spark/src/app/admin/sales-orders/_config/columns-data.tsx +1 -1
  129. package/dist/templates/spark/src/app/admin/schedule/_components/schedule-card.tsx +1 -1
  130. package/dist/templates/spark/src/app/admin/schedule/_components/schedule-month-view.tsx +1 -1
  131. package/dist/templates/spark/src/app/admin/suppliers/_config/columns-data.tsx +1 -1
  132. package/dist/templates/spark/src/app/admin/tasks/_components/subproject-selector.tsx +1 -1
  133. package/dist/templates/spark/src/app/admin/tasks/_config/columns-data.tsx +1 -1
  134. package/dist/templates/spark/src/app/admin/tasks/_config/columns-inline.tsx +1 -1
  135. package/dist/templates/spark/src/app/admin/tasks/_config/commands.tsx +1 -1
  136. package/dist/templates/spark/src/app/admin/technical-sheets/[id]/page.tsx +1 -1
  137. package/dist/templates/spark/src/app/admin/technical-sheets/_config/columns-data.tsx +1 -1
  138. package/dist/templates/spark/src/app/admin/technical-sheets/_config/commands.tsx +1 -1
  139. package/dist/templates/spark/src/app/admin/templates/_config/columns-data.tsx +1 -1
  140. package/dist/templates/spark/src/app/auth/layout.tsx +1 -1
  141. package/dist/templates/spark/src/app/layout.tsx +25 -10
  142. package/dist/templates/spark/src/server/auth/init.ts +1 -0
  143. package/package.json +6 -6
@@ -7,9 +7,9 @@ import {
7
7
  CommandLabel,
8
8
  DeleteCommand,
9
9
  } from "@tulip-systems/commands/client";
10
+ import { Link } from "@tulip-systems/core/navigation";
10
11
  import { toast } from "@tulip-systems/ui/sonner";
11
12
  import { ImportIcon, RefreshCcwIcon } from "lucide-react";
12
- import Link from "next/link";
13
13
  import { orpc } from "@/server/router/client";
14
14
 
15
15
  type SalesOrderExecutionCommandItem = { id: string };
@@ -7,10 +7,10 @@ import {
7
7
  CommandLabel,
8
8
  DeleteCommand,
9
9
  } from "@tulip-systems/commands/client";
10
+ import { Link } from "@tulip-systems/core/navigation";
10
11
  import { convertHTMLToEditorContent } from "@tulip-systems/editor";
11
12
  import { toast } from "@tulip-systems/ui/sonner";
12
13
  import { TagsIcon } from "lucide-react";
13
- import Link from "next/link";
14
14
  import { Icons } from "@/components/icons";
15
15
  import { orpc } from "@/server/router/client";
16
16
 
@@ -2,6 +2,7 @@
2
2
 
3
3
  import { useSuspenseQueries, useSuspenseQuery } from "@tanstack/react-query";
4
4
  import { formatDate } from "@tulip-systems/core";
5
+ import { Link } from "@tulip-systems/core/navigation";
5
6
  import { EditorContent, EditorMenuBubble } from "@tulip-systems/editor/client";
6
7
  import {
7
8
  InlineComboboxDropdown,
@@ -14,7 +15,6 @@ import {
14
15
  import { buttonVariants } from "@tulip-systems/ui/button";
15
16
  import { DataList, DataListItem, DataListTitle, DataListValue } from "@tulip-systems/ui/data-list";
16
17
  import { DataStackLayout, DataStackRow } from "@tulip-systems/ui/data-stack";
17
- import Link from "next/link";
18
18
  import { notFound } from "next/navigation";
19
19
  import { use } from "react";
20
20
  import { z } from "zod";
@@ -5,10 +5,10 @@ import { TabLayout } from "@tulip-systems/app/components";
5
5
  import { Header, Topbar, TopbarTitle, TopbarTools } from "@tulip-systems/app/components/client";
6
6
  import { ResponsiveCommandMenu } from "@tulip-systems/commands/client";
7
7
  import { formatCurrency } from "@tulip-systems/core";
8
+ import { Link } from "@tulip-systems/core/navigation";
8
9
  import { Button, buttonVariants } from "@tulip-systems/ui/button";
9
10
  import { Tooltip, TooltipContent, TooltipTrigger } from "@tulip-systems/ui/tooltip";
10
11
  import { ChevronLeftIcon, ChevronRightIcon } from "lucide-react";
11
- import Link from "next/link";
12
12
  import { notFound } from "next/navigation";
13
13
  import { use } from "react";
14
14
  import {
@@ -1,9 +1,9 @@
1
1
  "use client";
2
2
 
3
3
  import { formatCurrency, formatDate, formatDateTime } from "@tulip-systems/core";
4
+ import { Link } from "@tulip-systems/core/navigation";
4
5
  import { TableCell, type TableColumnDef, TableColumnHeader } from "@tulip-systems/data-tables";
5
6
  import { createTableSelectCell } from "@tulip-systems/data-tables/client";
6
- import Link from "next/link";
7
7
  import { Fragment } from "react";
8
8
  import { calculateNetAmount } from "@/lib/helpers/calculate";
9
9
  import { EmailStatusField } from "../../emails/_config/status";
@@ -1,13 +1,13 @@
1
1
  "use client";
2
2
 
3
3
  import { Allowed } from "@tulip-systems/auth/permissions/client";
4
+ import { Link } from "@tulip-systems/core/navigation";
4
5
  import { Badge } from "@tulip-systems/ui/badge";
5
6
  import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@tulip-systems/ui/card";
6
7
  import { cn } from "@tulip-systems/ui/cn";
7
8
  import { differenceInHours, format } from "date-fns";
8
9
  import { GitCompareArrowsIcon, Repeat2Icon } from "lucide-react";
9
10
  import type { Route } from "next";
10
- import Link from "next/link";
11
11
  import { Suspense } from "react";
12
12
  import { EmployeeAvatars, EmployeeAvatarsLoading } from "@/app/admin/employees/_components/avatars";
13
13
  import type { ScheduleItemSchema } from "@/app/admin/schedule/_lib/validators";
@@ -1,5 +1,6 @@
1
1
  "use client";
2
2
 
3
+ import { Link } from "@tulip-systems/core/navigation";
3
4
  import { Button, buttonVariants } from "@tulip-systems/ui/button";
4
5
  import { Card, CardHeader, CardTitle } from "@tulip-systems/ui/card";
5
6
  import { cn } from "@tulip-systems/ui/cn";
@@ -8,7 +9,6 @@ import { addDays, addMonths, format, isSameDay, startOfWeek } from "date-fns";
8
9
  import { nlBE } from "date-fns/locale";
9
10
  import { CalendarIcon, ChevronLeft, ChevronRight } from "lucide-react";
10
11
  import type { Route } from "next";
11
- import Link from "next/link";
12
12
  import { usePathname, useRouter, useSearchParams } from "next/navigation";
13
13
  import MonthPicker from "./month-picker";
14
14
  import type { ScheduleItem } from "./schedule-card";
@@ -1,9 +1,9 @@
1
1
  "use client";
2
2
 
3
3
  import { formatPhone } from "@tulip-systems/core";
4
+ import { Link } from "@tulip-systems/core/navigation";
4
5
  import { TableCell, type TableColumnDef, TableColumnHeader } from "@tulip-systems/data-tables";
5
6
  import { createTableSelectCell } from "@tulip-systems/data-tables/client";
6
- import Link from "next/link";
7
7
  import { formatAddress } from "../../addresses/_lib/helpers";
8
8
  import type { SupplierTableData } from "../_components/tables";
9
9
 
@@ -2,11 +2,11 @@
2
2
 
3
3
  import { useSuspenseQuery } from "@tanstack/react-query";
4
4
  import type { Tab } from "@tulip-systems/app/components";
5
+ import { Link } from "@tulip-systems/core/navigation";
5
6
  import { buttonVariants } from "@tulip-systems/ui/button";
6
7
  import { cn } from "@tulip-systems/ui/cn";
7
8
  import { Skeleton } from "@tulip-systems/ui/skeleton";
8
9
  import type { Route } from "next";
9
- import Link from "next/link";
10
10
  import { useSelectedLayoutSegment } from "next/navigation";
11
11
  import { orpc } from "@/server/router/client";
12
12
 
@@ -1,9 +1,9 @@
1
1
  "use client";
2
2
 
3
+ import { Link } from "@tulip-systems/core/navigation";
3
4
  import { TableCell, type TableColumnDef, TableColumnHeader } from "@tulip-systems/data-tables";
4
5
  import { createTableIndexCell, createTableSelectCell } from "@tulip-systems/data-tables/client";
5
6
  import { Editor, EditorContent } from "@tulip-systems/editor/client";
6
- import Link from "next/link";
7
7
  import { richTextEditorPreset } from "@/lib/config/editor";
8
8
  import type { TaskTableData } from "../_components/tables";
9
9
  import { TaskStatusField } from "./status";
@@ -2,6 +2,7 @@
2
2
 
3
3
  import { useSuspenseQuery } from "@tanstack/react-query";
4
4
  import type { CellContext } from "@tanstack/react-table";
5
+ import { Link } from "@tulip-systems/core/navigation";
5
6
  import { type TableColumnDef, TableColumnHeader } from "@tulip-systems/data-tables";
6
7
  import {
7
8
  createTableDragHandleCell,
@@ -21,7 +22,6 @@ import {
21
22
  InlineTableCell,
22
23
  InlineTableCellError,
23
24
  } from "@tulip-systems/inline/client";
24
- import Link from "next/link";
25
25
  import { z } from "zod";
26
26
  import { richTextEditorPreset } from "@/lib/config/editor";
27
27
  import { orpc } from "@/server/router/client";
@@ -11,9 +11,9 @@ import {
11
11
  CommandLabel,
12
12
  DeleteCommand,
13
13
  } from "@tulip-systems/commands/client";
14
+ import { Link } from "@tulip-systems/core/navigation";
14
15
  import { toast } from "@tulip-systems/ui/sonner";
15
16
  import { Grid3X3Icon, ScrollTextIcon } from "lucide-react";
16
- import Link from "next/link";
17
17
  import { Icons } from "@/components/icons";
18
18
  import { orpc } from "@/server/router/client";
19
19
  import { TaskCommandCopy } from "../_components/command-copy";
@@ -1,6 +1,7 @@
1
1
  "use client";
2
2
 
3
3
  import { useSuspenseQuery } from "@tanstack/react-query";
4
+ import { Link } from "@tulip-systems/core/navigation";
4
5
  import { DriveNavigationProvider, DriveViewProvider } from "@tulip-systems/drive/client";
5
6
  import { getLocalDriveFileUrl } from "@tulip-systems/drive-local";
6
7
  import { LocalDriveViewLoading } from "@tulip-systems/drive-local/client";
@@ -15,7 +16,6 @@ import {
15
16
  } from "@tulip-systems/inline/client";
16
17
  import { buttonVariants } from "@tulip-systems/ui/button";
17
18
  import { DataStackLayout, DataStackRow } from "@tulip-systems/ui/data-stack";
18
- import Link from "next/link";
19
19
  import { notFound } from "next/navigation";
20
20
  import { Suspense, use } from "react";
21
21
  import { z } from "zod";
@@ -1,9 +1,9 @@
1
1
  "use client";
2
2
 
3
+ import { Link } from "@tulip-systems/core/navigation";
3
4
  import { TableCell, type TableColumnDef, TableColumnHeader } from "@tulip-systems/data-tables";
4
5
  import { createTableIndexCell, createTableSelectCell } from "@tulip-systems/data-tables/client";
5
6
  import { Editor, EditorContent } from "@tulip-systems/editor/client";
6
- import Link from "next/link";
7
7
  import { richTextEditorPreset } from "@/lib/config/editor";
8
8
  import type { TechnicalSheetTableData } from "../_components/tables";
9
9
  import { TechnicalSheetStatusField } from "./status";
@@ -11,9 +11,9 @@ import {
11
11
  CommandLabel,
12
12
  DeleteCommand,
13
13
  } from "@tulip-systems/commands/client";
14
+ import { Link } from "@tulip-systems/core/navigation";
14
15
  import { toast } from "@tulip-systems/ui/sonner";
15
16
  import { FolderOpenIcon, RefreshCcwIcon, ScrollTextIcon } from "lucide-react";
16
- import Link from "next/link";
17
17
  import type z from "zod";
18
18
  import { Icons } from "@/components/icons";
19
19
  import { orpc } from "@/server/router/client";
@@ -1,8 +1,8 @@
1
1
  "use client";
2
2
 
3
+ import { Link } from "@tulip-systems/core/navigation";
3
4
  import { TableCell, type TableColumnDef, TableColumnHeader } from "@tulip-systems/data-tables";
4
5
  import { createTableSelectCell } from "@tulip-systems/data-tables/client";
5
- import Link from "next/link";
6
6
  import type { TemplateTableData } from "../_components/tables";
7
7
 
8
8
  export const templateColumns: TableColumnDef<TemplateTableData>[] = [
@@ -6,7 +6,7 @@ import {
6
6
  AuthLayoutImageFooter,
7
7
  AuthLayoutImageHeader,
8
8
  } from "@tulip-systems/auth/components";
9
- import Link from "next/link";
9
+ import { Link } from "@tulip-systems/core/navigation";
10
10
  import type { PropsWithChildren } from "react";
11
11
  import { config } from "@/lib/config/base";
12
12
  import { authClient } from "@/server/auth/client";
@@ -4,25 +4,40 @@ import "../server/router/register";
4
4
  import { ColorThemeProvider, Providers } from "@tulip-systems/app/components/client";
5
5
  import {
6
6
  ColorThemeScript,
7
- generateRootLayoutMetadata,
8
- RootLayout,
7
+ registerFonts,
8
+ rootLayoutViewport,
9
9
  } from "@tulip-systems/app/components/server";
10
10
  import { DriveViewScript } from "@tulip-systems/drive/server";
11
+ import { cn } from "@tulip-systems/ui/cn";
12
+ import type { Metadata } from "next";
11
13
  import { config } from "@/lib/config/base";
12
14
 
13
- export const { metadata, viewport } = generateRootLayoutMetadata(config);
15
+ export const viewport = rootLayoutViewport;
16
+
17
+ export const metadata: Metadata = {
18
+ description: "Developed by NewCode",
19
+ appleWebApp: {
20
+ capable: true,
21
+ statusBarStyle: "black-translucent",
22
+ title: config.general.name,
23
+ },
24
+ };
14
25
 
15
26
  const defaultTheme = "iris";
16
27
 
17
28
  export default function Layout({ children }: LayoutProps<"/">) {
18
29
  return (
19
- <RootLayout>
20
- <ColorThemeScript defaultTheme={defaultTheme} />
21
- <DriveViewScript />
30
+ <html lang="nl" suppressHydrationWarning>
31
+ <title>{config.general.name}</title>
32
+
33
+ <body className={cn("bg-background font-sans antialiased", registerFonts())}>
34
+ <ColorThemeScript defaultTheme={defaultTheme} />
35
+ <DriveViewScript />
22
36
 
23
- <ColorThemeProvider defaultTheme={defaultTheme}>
24
- <Providers>{children}</Providers>
25
- </ColorThemeProvider>
26
- </RootLayout>
37
+ <ColorThemeProvider defaultTheme={defaultTheme}>
38
+ <Providers>{children}</Providers>
39
+ </ColorThemeProvider>
40
+ </body>
41
+ </html>
27
42
  );
28
43
  }
@@ -21,6 +21,7 @@ export const auth = betterAuth({
21
21
  "*.tulip.systems",
22
22
  "*.vercel.app",
23
23
  "*.localhost:*",
24
+ "*.localhost",
24
25
  "localhost:*",
25
26
  ],
26
27
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tulip-systems/create-app",
3
- "version": "0.12.4",
3
+ "version": "0.13.0",
4
4
  "type": "module",
5
5
  "sideEffects": false,
6
6
  "license": "AGPL-3.0",
@@ -8,14 +8,14 @@
8
8
  "create-tulip-app": "./dist/index.mjs"
9
9
  },
10
10
  "devDependencies": {
11
- "@types/node": "26.2.0",
12
- "commander": "^14.0.3",
13
- "publint": "^0.3.23",
11
+ "@tulip-systems/typescript-config": "0.0.0",
12
+ "@types/node": "^26.6.2",
13
+ "commander": "^15.0.0",
14
+ "publint": "^0.3.24",
14
15
  "tsdown": "^0.22.14",
15
16
  "typescript": "5.9.3",
16
17
  "unrun": "^0.3.1",
17
- "vitest": "^4.1.10",
18
- "@tulip-systems/typescript-config": "0.0.0"
18
+ "vitest": "^5.0.1"
19
19
  },
20
20
  "publishConfig": {
21
21
  "access": "public"