diff --git a/app/Http/Controllers/TeamController.php b/app/Http/Controllers/TeamController.php index 4e37d9e..b713d88 100644 --- a/app/Http/Controllers/TeamController.php +++ b/app/Http/Controllers/TeamController.php @@ -4,6 +4,7 @@ namespace App\Http\Controllers; use App\Http\Requests\StoreTeamRequest; use App\Http\Requests\UpdateTeamRequest; +use App\Http\Resources\TeamResource; use App\Models\Team; use Illuminate\Http\Request; use Inertia\Inertia; @@ -16,7 +17,7 @@ class TeamController extends Controller public function index(Request $request) { return Inertia::render('team/Index', [ - 'teams' => Team::visibleTo($request->user()), + 'teams' => TeamResource::collection(Team::visibleTo($request->user())->get())->resolve($request), ]); } diff --git a/package.json b/package.json index e02f01f..b8115ba 100644 --- a/package.json +++ b/package.json @@ -14,12 +14,14 @@ "@inertiajs/vite": "^3.0.0", "@inertiajs/vue3": "^3.0.0", "@laravel/passkeys": "^0.2.0", - "@lucide/vue": "^1.17.0", + "@lucide/vue": "^1.43.0", "@vueuse/core": "^12.8.2", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", + "cn": "^0.2.6", "laravel-vite-plugin": "^3.0.0", - "reka-ui": "^2.9.8", + "lucide-vue": "^0.517.0", + "reka-ui": "^2.10.4", "tailwind-merge": "^3.2.0", "tailwindcss": "^4.1.1", "tw-animate-css": "^1.2.5", @@ -50,9 +52,9 @@ "devEngines": { "packageManager": { "name": "pnpm", - "version": "12.3.4", + "version": "11.26.0", "onFail": "error" } }, - "packageManager": "pnpm@12.3.4" + "packageManager": "pnpm@11.26.0" } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 239321e..c733e04 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -6,97 +6,195 @@ importers: .: configDependencies: {} packageManagerDependencies: + '@pnpm/exe': + specifier: 11.26.0 + version: 11.26.0 pnpm: - specifier: 12.3.4 - version: 12.3.4 + specifier: 11.26.0 + version: 11.26.0 packages: - '@pnpm/exe.darwin-arm64@12.3.4': - resolution: {integrity: sha512-PAyUol8T1+/+ViOiXAt51ECA+QnfXCqz6foL4bW+LsoX0NcVd5XVEM2mRQu+LV4oc7uRz9zf9U0P+XFfuQeDAw==} + '@pnpm/exe@11.26.0': + resolution: {integrity: sha512-eeiNi7WeXulOO1BzDAU9HIk+N3dokG+xwKPUupNQoZT5auL3rh2pFW9DqdIEnCC2xtt/hZd6UGtKyb6OMpqndw==} + hasBin: true + + '@pnpm/linux-arm64@11.26.0': + resolution: {integrity: sha512-M0IDuD4hbXxpLBsj1/I9pODcxu/gxTDtbyQmsVGYu1TZwCCpf6YU1x3lzq8aCGjrysmXYQAtCiY8GBjdw4UGFg==} cpu: [arm64] - os: [darwin] + os: [linux] - '@pnpm/exe.darwin-x64@12.3.4': - resolution: {integrity: sha512-fxP9JCk0Cdye+ePuj+GJJLMUMTqHGWRdb1dtv4How876uQ2ehxvenpgiYAir/ceO9PsYUZkFTtyZdx+rRu5QOA==} + '@pnpm/linux-x64@11.26.0': + resolution: {integrity: sha512-nUuNRsFCGVje3FHtOaWxIQl2EP4NBktKr+PpLN7uhuWnJCCMN/F9RKjNJAM+dUPyvAZs8VDvS0kA8J55kyybyg==} cpu: [x64] - os: [darwin] + os: [linux] - '@pnpm/exe.linux-arm64-musl@12.3.4': - resolution: {integrity: sha512-FBOt0/7ye6O6q4AllVV5QMviB6qE6fqkeczV/+MDWQsmo+QJrlfsh6X7CpH/tClVpBZEyIbjpUoT8bNhCYBxEg==} + '@pnpm/linuxstatic-arm64@11.26.0': + resolution: {integrity: sha512-+dXROkvdWjskrQtjwJAFuJI7Q2uTkghBfLsd0vqRmorX3fPuinhoRjJJ/UPtWXzJqwcByJBmdJRW+q2964m5qQ==} cpu: [arm64] os: [linux] libc: [musl] - '@pnpm/exe.linux-arm64@12.3.4': - resolution: {integrity: sha512-t71AVA7LRqiKTyZ5xMYaZc2n5DfdpMbfokZuiIOXHBOM03ECnF0t4iYwaBDqJgVjlKYUOwaF/bRQajGNA4cJ4w==} - cpu: [arm64] - os: [linux] - libc: [glibc] - - '@pnpm/exe.linux-x64-musl@12.3.4': - resolution: {integrity: sha512-RPmk7Jb/aYaFvL2iyDN/AtMY+hUEsue732WmXpcuQ9tBpMnGyA5py7Z3+e+qmQaJ0zY/4ni9jJiyPBQHujmv6w==} + '@pnpm/linuxstatic-x64@11.26.0': + resolution: {integrity: sha512-0eXE6spzIBdCbYhJZQ0u/sIOD0v30sqk2PrzoixzsNMc7S/lhd7EkBMVJ6cCPiCL2TXvOsrJC2SpWPBK769A9A==} cpu: [x64] os: [linux] libc: [musl] - '@pnpm/exe.linux-x64@12.3.4': - resolution: {integrity: sha512-2ZqOlSPkfwX1h5cR+FPiWf8+F+2hZT/3TvhUK5sigHqwaQCIiq8R7CGxhndKs63JtcLi2a1Qpo+wX/EoyfjyJQ==} + '@pnpm/macos-arm64@11.26.0': + resolution: {integrity: sha512-Za3kKV89Zj0SFzQf6zEUTUIy13xH8UiNyb7aILDRjPiTvTaUSCh3q+nvljISfGH1XcopXvo+p3K8Q2nrKYWAug==} + cpu: [arm64] + os: [darwin] + + '@pnpm/win-arm64@11.26.0': + resolution: {integrity: sha512-5akeLtbqbFDdJtCV4qgLmDBV3R+XNs6E7h7Xb4ZBzS3rLRp8e/y/ZdgrZaGF5Kjo45g0BLAxdGUREHbU2/lGUw==} + cpu: [arm64] + os: [win32] + + '@pnpm/win-x64@11.26.0': + resolution: {integrity: sha512-f15SfIo7nppxBII+STy6jpd1z3LgGTZh6skfuxKA/xHmkzopnQJQXr4hBnl1rJLJAnmuOhN8BssaC4LiXmS78w==} + cpu: [x64] + os: [win32] + + '@reflink/reflink-darwin-arm64@0.1.19': + resolution: {integrity: sha512-ruy44Lpepdk1FqDz38vExBY/PVUsjxZA+chd9wozjUH9JjuDT/HEaQYA6wYN9mf041l0yLVar6BCZuWABJvHSA==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + + '@reflink/reflink-darwin-x64@0.1.19': + resolution: {integrity: sha512-By85MSWrMZa+c26TcnAy8SDk0sTUkYlNnwknSchkhHpGXOtjNDUOxJE9oByBnGbeuIE1PiQsxDG3Ud+IVV9yuA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + + '@reflink/reflink-linux-arm64-gnu@0.1.19': + resolution: {integrity: sha512-7P+er8+rP9iNeN+bfmccM4hTAaLP6PQJPKWSA4iSk2bNvo6KU6RyPgYeHxXmzNKzPVRcypZQTpFgstHam6maVg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@reflink/reflink-linux-arm64-musl@0.1.19': + resolution: {integrity: sha512-37iO/Dp6m5DDaC2sf3zPtx/hl9FV3Xze4xoYidrxxS9bgP3S8ALroxRK6xBG/1TtfXKTvolvp+IjrUU6ujIGmA==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@reflink/reflink-linux-x64-gnu@0.1.19': + resolution: {integrity: sha512-jbI8jvuYCaA3MVUdu8vLoLAFqC+iNMpiSuLbxlAgg7x3K5bsS8nOpTRnkLF7vISJ+rVR8W+7ThXlXlUQ93ulkw==} + engines: {node: '>= 10'} cpu: [x64] os: [linux] libc: [glibc] - '@pnpm/exe.win32-arm64@12.3.4': - resolution: {integrity: sha512-ANyrHqyqco6SXBysUTRF74itDyyraea7IbFsKFdNXTjcFnfycTDx37EwuhdpPYFNSIh2JhUG4fByclsRfiHX7w==} + '@reflink/reflink-linux-x64-musl@0.1.19': + resolution: {integrity: sha512-e9FBWDe+lv7QKAwtKOt6A2W/fyy/aEEfr0g6j/hWzvQcrzHCsz07BNQYlNOjTfeytrtLU7k449H1PI95jA4OjQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + libc: [musl] + + '@reflink/reflink-win32-arm64-msvc@0.1.19': + resolution: {integrity: sha512-09PxnVIQcd+UOn4WAW73WU6PXL7DwGS6wPlkMhMg2zlHHG65F3vHepOw06HFCq+N42qkaNAc8AKIabWvtk6cIQ==} + engines: {node: '>= 10'} cpu: [arm64] os: [win32] - '@pnpm/exe.win32-x64@12.3.4': - resolution: {integrity: sha512-WH/KqBPY/hq2Tb7SgQltEZytimcjgKRaCRL/aM9CI0c67iKc5TVmHUhIiL3Ux9FB4bWn36i6XewUcScQI+zG8w==} + '@reflink/reflink-win32-x64-msvc@0.1.19': + resolution: {integrity: sha512-E//yT4ni2SyhwP8JRjVGWr3cbnhWDiPLgnQ66qqaanjjnMiu3O/2tjCPQXlcGc/DEYofpDc9fvhv6tALQsMV9w==} + engines: {node: '>= 10'} cpu: [x64] os: [win32] - pnpm@12.3.4: - resolution: {integrity: sha512-lhqkH7B32joEpEHZ+OFevAyW2o73ELLrZ7+e58sGEOq9SPH9hfUc/+c4RnhfoPh8VqOocqHYk/hEZ0G1zORUVw==} - engines: {node: '>=18.*'} + '@reflink/reflink@0.1.19': + resolution: {integrity: sha512-DmCG8GzysnCZ15bres3N5AHCmwBwYgp0As6xjhQ47rAUTUXxJiK+lLUxaGsX3hd/30qUpVElh05PbGuxRPgJwA==} + engines: {node: '>= 10'} + + detect-libc@2.1.2: + resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==} + engines: {node: '>=8'} + + pnpm@11.26.0: + resolution: {integrity: sha512-/A4r+JC5+YNhHxq2jAY3vOkUOQZTaZ+DwaeLAF7SXyyB53kgyP2O7i7PC1iyjNywCoTZf2m898VrLzRHECOGZA==} + engines: {node: '>=22.13'} hasBin: true snapshots: - '@pnpm/exe.darwin-arm64@12.3.4': - optional: true - - '@pnpm/exe.darwin-x64@12.3.4': - optional: true - - '@pnpm/exe.linux-arm64-musl@12.3.4': - optional: true - - '@pnpm/exe.linux-arm64@12.3.4': - optional: true - - '@pnpm/exe.linux-x64-musl@12.3.4': - optional: true - - '@pnpm/exe.linux-x64@12.3.4': - optional: true - - '@pnpm/exe.win32-arm64@12.3.4': - optional: true - - '@pnpm/exe.win32-x64@12.3.4': - optional: true - - pnpm@12.3.4: + '@pnpm/exe@11.26.0': + dependencies: + '@reflink/reflink': 0.1.19 + detect-libc: 2.1.2 optionalDependencies: - '@pnpm/exe.darwin-arm64': 12.3.4 - '@pnpm/exe.darwin-x64': 12.3.4 - '@pnpm/exe.linux-arm64': 12.3.4 - '@pnpm/exe.linux-arm64-musl': 12.3.4 - '@pnpm/exe.linux-x64': 12.3.4 - '@pnpm/exe.linux-x64-musl': 12.3.4 - '@pnpm/exe.win32-arm64': 12.3.4 - '@pnpm/exe.win32-x64': 12.3.4 + '@pnpm/linux-arm64': 11.26.0 + '@pnpm/linux-x64': 11.26.0 + '@pnpm/linuxstatic-arm64': 11.26.0 + '@pnpm/linuxstatic-x64': 11.26.0 + '@pnpm/macos-arm64': 11.26.0 + '@pnpm/win-arm64': 11.26.0 + '@pnpm/win-x64': 11.26.0 + + '@pnpm/linux-arm64@11.26.0': + optional: true + + '@pnpm/linux-x64@11.26.0': + optional: true + + '@pnpm/linuxstatic-arm64@11.26.0': + optional: true + + '@pnpm/linuxstatic-x64@11.26.0': + optional: true + + '@pnpm/macos-arm64@11.26.0': + optional: true + + '@pnpm/win-arm64@11.26.0': + optional: true + + '@pnpm/win-x64@11.26.0': + optional: true + + '@reflink/reflink-darwin-arm64@0.1.19': + optional: true + + '@reflink/reflink-darwin-x64@0.1.19': + optional: true + + '@reflink/reflink-linux-arm64-gnu@0.1.19': + optional: true + + '@reflink/reflink-linux-arm64-musl@0.1.19': + optional: true + + '@reflink/reflink-linux-x64-gnu@0.1.19': + optional: true + + '@reflink/reflink-linux-x64-musl@0.1.19': + optional: true + + '@reflink/reflink-win32-arm64-msvc@0.1.19': + optional: true + + '@reflink/reflink-win32-x64-msvc@0.1.19': + optional: true + + '@reflink/reflink@0.1.19': + optionalDependencies: + '@reflink/reflink-darwin-arm64': 0.1.19 + '@reflink/reflink-darwin-x64': 0.1.19 + '@reflink/reflink-linux-arm64-gnu': 0.1.19 + '@reflink/reflink-linux-arm64-musl': 0.1.19 + '@reflink/reflink-linux-x64-gnu': 0.1.19 + '@reflink/reflink-linux-x64-musl': 0.1.19 + '@reflink/reflink-win32-arm64-msvc': 0.1.19 + '@reflink/reflink-win32-x64-msvc': 0.1.19 + + detect-libc@2.1.2: {} + + pnpm@11.26.0: {} --- lockfileVersion: '9.0' @@ -119,7 +217,7 @@ importers: specifier: ^0.2.0 version: 0.2.0(react@19.3.0)(vue@3.5.42(typescript@5.9.3)) '@lucide/vue': - specifier: ^1.17.0 + specifier: ^1.43.0 version: 1.43.0(vue@3.5.42(typescript@5.9.3)) '@vueuse/core': specifier: ^12.8.2 @@ -130,11 +228,17 @@ importers: clsx: specifier: ^2.1.1 version: 2.1.1 + cn: + specifier: ^0.2.6 + version: 0.2.6 laravel-vite-plugin: specifier: ^3.0.0 version: 3.2.0(vite@8.2.2(@types/node@22.20.2)(jiti@2.7.0)) + lucide-vue: + specifier: ^0.517.0 + version: 0.517.0(vue@3.5.42(typescript@5.9.3)) reka-ui: - specifier: ^2.9.8 + specifier: ^2.10.4 version: 2.10.4(vue@3.5.42(typescript@5.9.3)) tailwind-merge: specifier: ^3.2.0 @@ -1023,6 +1127,11 @@ packages: '@volar/typescript@2.4.15': resolution: {integrity: sha512-2aZ8i0cqPGjXb4BhkMsPYDkkuc2ZQ6yOpqwAuNwUoncELqoy5fRgOQtLR9gB0g902iS0NAkvpIzs27geVyVdPg==} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true '@vue/compiler-core@3.5.42': resolution: {integrity: sha512-2Ye1ilMtKXxl8qZUrQ5j0CdgenFp/HFQmta6rfRyfEsTG69L6Wk+tWuNoHYHMx9E8tF2Slvdg1FuwDvAXdy1LQ==} @@ -1284,6 +1393,11 @@ packages: resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} engines: {node: '>=6'} + cn@0.2.6: + resolution: {integrity: sha512-+i4L0zUGgRcEnhsxueVrP7iBGxBx5iD0WOTYg1MwFEu2ZyCmH5Ov2V1cul2Ht5UchRQQgftCf4be/RxspuW6QQ==} + engines: {node: '>=20'} + hasBin: true + code-excerpt@4.0.0: resolution: {integrity: sha512-xxodCmBen3iy2i0WtAK8FlFNrRzjUqjRsMfho58xT/wvZU1YTM3fCnRjcy1gJPMepaRlgm/0e6w8SpWHpn3/cA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -1592,6 +1706,12 @@ packages: resolution: {integrity: sha512-WkUDrojuJs0xkgGf2udWxa3yGBRxPtxUkB79i6aCZLRgc7PM8fZe9TosfPDcvEpQZbuFASnHYmRLBLUbmLOIIA==} engines: {node: '>= 12.0.0'} + lucide-vue@0.517.0: + resolution: {integrity: sha512-ctSLCEslH5DchFq+/jku2cjQoBago2Q8EkK5i32hZaFVPV/6iUe1NjycwmIQLdprvEhnvNQxJbmEHUO5v41myw==} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. + peerDependencies: + vue: ^2.6.12 + lz-string@1.5.0: resolution: {integrity: sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==} hasBin: true @@ -2601,11 +2721,13 @@ snapshots: '@volar/source-map@2.4.15': {} - '@volar/typescript@2.4.15': + '@volar/typescript@2.4.15(typescript@5.9.3)': dependencies: '@volar/language-core': 2.4.15 path-browserify: 1.0.1 vscode-uri: 3.2.0 + optionalDependencies: + typescript: 5.9.3 '@vue/compiler-core@3.5.42': dependencies: @@ -2841,6 +2963,8 @@ snapshots: clsx@2.1.1: {} + cn@0.2.6: {} + code-excerpt@4.0.0: dependencies: convert-to-spaces: 2.0.1 @@ -3076,6 +3200,10 @@ snapshots: lightningcss-win32-arm64-msvc: 1.33.0 lightningcss-win32-x64-msvc: 1.33.0 + lucide-vue@0.517.0(vue@3.5.42(typescript@5.9.3)): + dependencies: + vue: 3.5.42(typescript@5.9.3) + lz-string@1.5.0: {} magic-string@0.30.21: @@ -3462,7 +3590,7 @@ snapshots: vue-tsc@2.2.12(typescript@5.9.3): dependencies: - '@volar/typescript': 2.4.15 + '@volar/typescript': 2.4.15(typescript@5.9.3) '@vue/language-core': 2.2.12(typescript@5.9.3) typescript: 5.9.3 diff --git a/resources/js/components/ui/button/index.ts b/resources/js/components/ui/button/index.ts index 26e2c55..0a62178 100644 --- a/resources/js/components/ui/button/index.ts +++ b/resources/js/components/ui/button/index.ts @@ -4,7 +4,7 @@ import { cva } from "class-variance-authority" export { default as Button } from "./Button.vue" export const buttonVariants = cva( - "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive", + "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive", { variants: { variant: { @@ -22,9 +22,11 @@ export const buttonVariants = cva( }, size: { "default": "h-9 px-4 py-2 has-[>svg]:px-3", + "xs": "h-6 gap-1 rounded-md px-2 text-xs has-[>svg]:px-1.5 [&_svg:not([class*='size-'])]:size-3", "sm": "h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5", "lg": "h-10 rounded-md px-6 has-[>svg]:px-4", "icon": "size-9", + "icon-xs": "size-6 rounded-md [&_svg:not([class*='size-'])]:size-3", "icon-sm": "size-8", "icon-lg": "size-10", }, diff --git a/resources/js/components/ui/table/Table.vue b/resources/js/components/ui/table/Table.vue new file mode 100644 index 0000000..0d0cd9b --- /dev/null +++ b/resources/js/components/ui/table/Table.vue @@ -0,0 +1,16 @@ + + + diff --git a/resources/js/components/ui/table/TableBody.vue b/resources/js/components/ui/table/TableBody.vue new file mode 100644 index 0000000..d14a2d3 --- /dev/null +++ b/resources/js/components/ui/table/TableBody.vue @@ -0,0 +1,17 @@ + + + diff --git a/resources/js/components/ui/table/TableCaption.vue b/resources/js/components/ui/table/TableCaption.vue new file mode 100644 index 0000000..3630084 --- /dev/null +++ b/resources/js/components/ui/table/TableCaption.vue @@ -0,0 +1,17 @@ + + + diff --git a/resources/js/components/ui/table/TableCell.vue b/resources/js/components/ui/table/TableCell.vue new file mode 100644 index 0000000..3a83b7d --- /dev/null +++ b/resources/js/components/ui/table/TableCell.vue @@ -0,0 +1,22 @@ + + + diff --git a/resources/js/components/ui/table/TableEmpty.vue b/resources/js/components/ui/table/TableEmpty.vue new file mode 100644 index 0000000..9519328 --- /dev/null +++ b/resources/js/components/ui/table/TableEmpty.vue @@ -0,0 +1,34 @@ + + + diff --git a/resources/js/components/ui/table/TableFooter.vue b/resources/js/components/ui/table/TableFooter.vue new file mode 100644 index 0000000..29e0ce9 --- /dev/null +++ b/resources/js/components/ui/table/TableFooter.vue @@ -0,0 +1,17 @@ + + + diff --git a/resources/js/components/ui/table/TableHead.vue b/resources/js/components/ui/table/TableHead.vue new file mode 100644 index 0000000..3a2ea4c --- /dev/null +++ b/resources/js/components/ui/table/TableHead.vue @@ -0,0 +1,17 @@ + + + diff --git a/resources/js/components/ui/table/TableHeader.vue b/resources/js/components/ui/table/TableHeader.vue new file mode 100644 index 0000000..b4ab5cf --- /dev/null +++ b/resources/js/components/ui/table/TableHeader.vue @@ -0,0 +1,17 @@ + + + diff --git a/resources/js/components/ui/table/TableRow.vue b/resources/js/components/ui/table/TableRow.vue new file mode 100644 index 0000000..8f1d172 --- /dev/null +++ b/resources/js/components/ui/table/TableRow.vue @@ -0,0 +1,17 @@ + + + diff --git a/resources/js/components/ui/table/index.ts b/resources/js/components/ui/table/index.ts new file mode 100644 index 0000000..3be308b --- /dev/null +++ b/resources/js/components/ui/table/index.ts @@ -0,0 +1,9 @@ +export { default as Table } from "./Table.vue" +export { default as TableBody } from "./TableBody.vue" +export { default as TableCaption } from "./TableCaption.vue" +export { default as TableCell } from "./TableCell.vue" +export { default as TableEmpty } from "./TableEmpty.vue" +export { default as TableFooter } from "./TableFooter.vue" +export { default as TableHead } from "./TableHead.vue" +export { default as TableHeader } from "./TableHeader.vue" +export { default as TableRow } from "./TableRow.vue" diff --git a/resources/js/pages/team/Index.vue b/resources/js/pages/team/Index.vue index 99f3903..0809a74 100644 --- a/resources/js/pages/team/Index.vue +++ b/resources/js/pages/team/Index.vue @@ -4,6 +4,16 @@ import teamRoutes from "@/routes/teams"; import {Head} from "@inertiajs/vue3"; import type {Team} from "@/types/models"; import TextLink from "@/components/TextLink.vue"; +import {Card, CardContent} from "@/components/ui/card"; +import { + Table, + TableBody, + TableCaption, + TableCell, + TableHead, + TableHeader, + TableRow, +} from "@/components/ui/table" defineOptions({ layout: { @@ -24,32 +34,37 @@ defineProps<{