diff --git a/README.md b/README.md index dd140f4..f068b7d 100644 --- a/README.md +++ b/README.md @@ -27,14 +27,14 @@ HR software you love to hate dcr php php artisan key:generate -- generate storage link - - dcr php php artisan storage:link - - migrate and seed database dcr php php artisan migrate --seed +- build assets + + dcr node npm run dev + ## Available containers (local) - **php** - php and composer stuff - **node** - npm stuff diff --git a/package-lock.json b/package-lock.json index ee2c24d..61434f2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5,10 +5,13 @@ "packages": { "": { "dependencies": { + "@headlessui/vue": "^1.4.2", + "@heroicons/vue": "^1.0.5", "@inertiajs/inertia": "^0.11.0", "@inertiajs/inertia-vue3": "^0.6.0", "@inertiajs/progress": "^0.2.7", "@tailwindcss/forms": "^0.4.0", + "@tailwindcss/line-clamp": "^0.3.0", "@tailwindcss/typography": "^0.5.0", "@vue/compiler-sfc": "^3.2.26", "autoprefixer": "^10.4.2", @@ -1614,6 +1617,25 @@ "node": ">=10.0.0" } }, + "node_modules/@headlessui/vue": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/@headlessui/vue/-/vue-1.4.2.tgz", + "integrity": "sha512-+uOaPwHncxHZ6JBwYycu3YxDDrY0v1tcxCtK04H1WGBLBm07dqVi38Q2RB7eY867FUhD0sL6q+Fj69rVn8P0OQ==", + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "vue": "^3.0.0" + } + }, + "node_modules/@heroicons/vue": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@heroicons/vue/-/vue-1.0.5.tgz", + "integrity": "sha512-idWtp20Fjr7mqnD7EdGDUDi83oWHnx3SwyuQY6GZyF33OApzpBOLxz7xa4t6rPOddGz9tI5RGnndLk+ake7ijQ==", + "peerDependencies": { + "vue": ">= 3" + } + }, "node_modules/@inertiajs/inertia": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/@inertiajs/inertia/-/inertia-0.11.0.tgz", @@ -1691,6 +1713,14 @@ "tailwindcss": ">=3.0.0 || >= 3.0.0-alpha.1" } }, + "node_modules/@tailwindcss/line-clamp": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@tailwindcss/line-clamp/-/line-clamp-0.3.0.tgz", + "integrity": "sha512-ffDDclrqr3sy8cpChCozedDUAN8enxqAiWeH8d4dGQ2hcXlxf51+7KleveFi/n/TxEuRVApoL7hICeDOdYPKpg==", + "peerDependencies": { + "tailwindcss": ">=2.0.0 || >=3.0.0 || >=3.0.0-alpha.1" + } + }, "node_modules/@tailwindcss/typography": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/@tailwindcss/typography/-/typography-0.5.0.tgz", @@ -9912,6 +9942,18 @@ "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.6.tgz", "integrity": "sha512-ws57AidsDvREKrZKYffXddNkyaF14iHNHm8VQnZH6t99E8gczjNN0GpvcGny0imC80yQ0tHz1xVUKk/KFQSUyA==" }, + "@headlessui/vue": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/@headlessui/vue/-/vue-1.4.2.tgz", + "integrity": "sha512-+uOaPwHncxHZ6JBwYycu3YxDDrY0v1tcxCtK04H1WGBLBm07dqVi38Q2RB7eY867FUhD0sL6q+Fj69rVn8P0OQ==", + "requires": {} + }, + "@heroicons/vue": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@heroicons/vue/-/vue-1.0.5.tgz", + "integrity": "sha512-idWtp20Fjr7mqnD7EdGDUDi83oWHnx3SwyuQY6GZyF33OApzpBOLxz7xa4t6rPOddGz9tI5RGnndLk+ake7ijQ==", + "requires": {} + }, "@inertiajs/inertia": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/@inertiajs/inertia/-/inertia-0.11.0.tgz", @@ -9970,6 +10012,12 @@ "mini-svg-data-uri": "^1.2.3" } }, + "@tailwindcss/line-clamp": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@tailwindcss/line-clamp/-/line-clamp-0.3.0.tgz", + "integrity": "sha512-ffDDclrqr3sy8cpChCozedDUAN8enxqAiWeH8d4dGQ2hcXlxf51+7KleveFi/n/TxEuRVApoL7hICeDOdYPKpg==", + "requires": {} + }, "@tailwindcss/typography": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/@tailwindcss/typography/-/typography-0.5.0.tgz", diff --git a/package.json b/package.json index 5573d10..44bd360 100644 --- a/package.json +++ b/package.json @@ -10,10 +10,13 @@ "production": "mix --production" }, "dependencies": { + "@headlessui/vue": "^1.4.2", + "@heroicons/vue": "^1.0.5", "@inertiajs/inertia": "^0.11.0", "@inertiajs/inertia-vue3": "^0.6.0", "@inertiajs/progress": "^0.2.7", "@tailwindcss/forms": "^0.4.0", + "@tailwindcss/line-clamp": "^0.3.0", "@tailwindcss/typography": "^0.5.0", "@vue/compiler-sfc": "^3.2.26", "autoprefixer": "^10.4.2", diff --git a/resources/js/Pages/Dashboard.vue b/resources/js/Pages/Dashboard.vue new file mode 100644 index 0000000..4779054 --- /dev/null +++ b/resources/js/Pages/Dashboard.vue @@ -0,0 +1,517 @@ + + + \ No newline at end of file diff --git a/resources/js/Pages/Welcome.vue b/resources/js/Pages/Welcome.vue deleted file mode 100644 index 49c9acc..0000000 --- a/resources/js/Pages/Welcome.vue +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/resources/views/app.blade.php b/resources/views/app.blade.php index 3eb5dcd..2e48b9b 100644 --- a/resources/views/app.blade.php +++ b/resources/views/app.blade.php @@ -1,5 +1,5 @@ - + @@ -8,7 +8,7 @@ @inertiaHead - + @inertia \ No newline at end of file diff --git a/routes/web.php b/routes/web.php index dc3df48..99b6a46 100644 --- a/routes/web.php +++ b/routes/web.php @@ -4,4 +4,4 @@ declare(strict_types=1); use Illuminate\Support\Facades\Route; -Route::get("/", fn() => inertia("Welcome")); +Route::get("/", fn() => inertia("Dashboard")); diff --git a/tailwind.config.js b/tailwind.config.js index 1e6b83a..ad20079 100644 --- a/tailwind.config.js +++ b/tailwind.config.js @@ -11,5 +11,9 @@ module.exports = { }, }, }, - plugins: [require('@tailwindcss/forms'), require('@tailwindcss/typography')], + plugins: [ + require('@tailwindcss/forms'), + require('@tailwindcss/typography'), + require('@tailwindcss/line-clamp') + ], }; \ No newline at end of file diff --git a/tests/Feature/InertiaTest.php b/tests/Feature/InertiaTest.php index 9b73e3a..555c618 100644 --- a/tests/Feature/InertiaTest.php +++ b/tests/Feature/InertiaTest.php @@ -14,6 +14,6 @@ class InertiaTest extends TestCase $response = $this->get("/"); $response->assertOk(); - $response->assertInertia(fn(Assert $page) => $page->component("Welcome")); + $response->assertInertia(fn(Assert $page) => $page->component("Dashboard")); } } diff --git a/webpack.config.js b/webpack.config.js new file mode 100644 index 0000000..dd211ec --- /dev/null +++ b/webpack.config.js @@ -0,0 +1,9 @@ +const path = require("path"); + +module.exports = { + resolve: { + alias: { + '@': path.resolve('resources/js') + } + } +} \ No newline at end of file diff --git a/webpack.mix.js b/webpack.mix.js index 841684d..a2cb30f 100644 --- a/webpack.mix.js +++ b/webpack.mix.js @@ -1,8 +1,10 @@ const mix = require('laravel-mix'); +const webpackConfig = require('./webpack.config'); mix.js("resources/js/app.js", "public/js") .vue(3) .postCss("resources/css/app.css", "public/css", [ require("tailwindcss"), ]) + .webpackConfig(webpackConfig) .sourceMaps();