diff --git a/CHANGELOG.md b/CHANGELOG.md index 09ed80f..14921bf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,16 @@ All notable changes to `wind` will be documented in this file +## 2.0.0 - 2022-04-19 + +- remove title slot and using laravel-seo +- fix validations on all resources +- clean up some blade files +- allow to configure the default status for new messages +- hide the Departments from the admin panel when it's disabled in the config +- update the config file +- add translations + ## 1.0.4 - 2022-04-10 - fix missing `departments` from Contacts Component diff --git a/README.md b/README.md index 61b560f..54e852a 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@

Lara Zeus Wind

- +

@@ -15,6 +15,12 @@ Lara-zeus wind is a contact form, with simple dashboard to read and replay to any messages you receive from your website. >small tasks can be time-consuming, let us build these for you, +## Support Filament + + +filament-logo + + ## features - 🔥 built with [TALL stack](https://tallstack.dev/) - 🔥 using [filament](https://filamentadmin.com) as an admin panel @@ -54,6 +60,13 @@ visit the url `/admin` to manage the Letters, and `/contact-us` to access the co Please see [CHANGELOG](CHANGELOG.md) for more information what has changed recently. +## Support + +available support channels: +* using our channel `#wind` on [Discord](https://filamentphp.com/discord) +* open an issue on [GitHub](https://github.com/lara-zeus/wind/issues) +* email us using the [contact center](https://atm-code.com/contact-us/lara-zeus) + ## Contributing Please see [CONTRIBUTING](CONTRIBUTING.md) for details. diff --git a/composer.json b/composer.json index 510860e..69c3e2a 100644 --- a/composer.json +++ b/composer.json @@ -43,5 +43,11 @@ "Wind": "LaraZeus\\Wind\\WindFacade" } } - } + }, + "repositories": [ + { + "type": "path", + "url": "../core" + } + ] } diff --git a/composer.lock b/composer.lock index e2225ff..d2cf7dd 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "d579727f004be040a37b0d5f6c3ad70a", + "content-hash": "2874724c6c4ada729553e5230d7ab509", "packages": [ { "name": "akaunting/laravel-money", @@ -71,6 +71,64 @@ }, "time": "2022-01-31T17:11:27+00:00" }, + { + "name": "archtechx/laravel-seo", + "version": "v0.4.0", + "source": { + "type": "git", + "url": "https://github.com/archtechx/laravel-seo.git", + "reference": "754b3936d0772a1d368240271ec8532353bac1e8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/archtechx/laravel-seo/zipball/754b3936d0772a1d368240271ec8532353bac1e8", + "reference": "754b3936d0772a1d368240271ec8532353bac1e8", + "shasum": "" + }, + "require": { + "illuminate/support": "^8.24|^9.0", + "imliam/laravel-blade-helper": "^1.4", + "php": "^8.0" + }, + "require-dev": { + "intervention/image": "^2.7", + "nunomaduro/larastan": "^1.0", + "orchestra/testbench": "^6.23|^7.0", + "pestphp/pest": "^1.2", + "pestphp/pest-plugin-laravel": "^1.0" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "ArchTech\\SEO\\SEOServiceProvider" + ] + } + }, + "autoload": { + "files": [ + "src/helpers.php" + ], + "psr-4": { + "ArchTech\\SEO\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Samuel Štancl", + "email": "samuel@archte.ch" + } + ], + "support": { + "issues": "https://github.com/archtechx/laravel-seo/issues", + "source": "https://github.com/archtechx/laravel-seo/tree/v0.4.0" + }, + "time": "2022-03-30T16:01:21+00:00" + }, { "name": "blade-ui-kit/blade-heroicons", "version": "1.3.1", @@ -281,6 +339,59 @@ ], "time": "2021-08-15T20:50:18+00:00" }, + { + "name": "calebporzio/sushi", + "version": "v2.4.0", + "source": { + "type": "git", + "url": "https://github.com/calebporzio/sushi.git", + "reference": "cec0768285971add48f3ccebfefad856be6f5078" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/calebporzio/sushi/zipball/cec0768285971add48f3ccebfefad856be6f5078", + "reference": "cec0768285971add48f3ccebfefad856be6f5078", + "shasum": "" + }, + "require": { + "illuminate/database": "^5.8 || ^6.0 || ^7.0 || ^8.0 || ^9.0", + "illuminate/support": "^5.8 || ^6.0 || ^7.0 || ^8.0 || ^9.0", + "php": "^7.1.3|^8.0" + }, + "require-dev": { + "doctrine/dbal": "^2.9", + "orchestra/database": "3.8.* || 3.9.* || ^4.0 || ^5.0 || ^6.0 || ^7.0", + "orchestra/testbench": "3.8.* || 3.9.* || ^4.0 || ^6.0 || ^7.0", + "phpunit/phpunit": "^7.5 || ^8.4 || ^9.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Sushi\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Caleb Porzio", + "email": "calebporzio@gmail.com" + } + ], + "description": "Eloquent's missing \"array\" driver.", + "support": { + "source": "https://github.com/calebporzio/sushi/tree/v2.4.0" + }, + "funding": [ + { + "url": "https://github.com/calebporzio", + "type": "github" + } + ], + "time": "2022-01-18T22:48:40+00:00" + }, { "name": "codeat3/blade-iconpark", "version": "1.4.1", @@ -829,16 +940,16 @@ }, { "name": "filament/filament", - "version": "v2.10.39", + "version": "v2.10.45", "source": { "type": "git", "url": "https://github.com/laravel-filament/admin.git", - "reference": "e5c059ebcb6ca87d1b660a20c5edff37031a6e80" + "reference": "e48125a81d9b5cffefd6694c046b0d78f6ff15ad" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel-filament/admin/zipball/e5c059ebcb6ca87d1b660a20c5edff37031a6e80", - "reference": "e5c059ebcb6ca87d1b660a20c5edff37031a6e80", + "url": "https://api.github.com/repos/laravel-filament/admin/zipball/e48125a81d9b5cffefd6694c046b0d78f6ff15ad", + "reference": "e48125a81d9b5cffefd6694c046b0d78f6ff15ad", "shasum": "" }, "require": { @@ -885,20 +996,20 @@ "issues": "https://github.com/laravel-filament/filament/issues", "source": "https://github.com/laravel-filament/filament" }, - "time": "2022-03-26T13:28:28+00:00" + "time": "2022-04-17T12:08:29+00:00" }, { "name": "filament/forms", - "version": "v2.10.39", + "version": "v2.10.45", "source": { "type": "git", "url": "https://github.com/laravel-filament/forms.git", - "reference": "46e5ed52f67cbab16c7601cd9be7281a6d24cbda" + "reference": "c920fe0235d827b62428426cf9719f7b5e6e2a11" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel-filament/forms/zipball/46e5ed52f67cbab16c7601cd9be7281a6d24cbda", - "reference": "46e5ed52f67cbab16c7601cd9be7281a6d24cbda", + "url": "https://api.github.com/repos/laravel-filament/forms/zipball/c920fe0235d827b62428426cf9719f7b5e6e2a11", + "reference": "c920fe0235d827b62428426cf9719f7b5e6e2a11", "shasum": "" }, "require": { @@ -941,20 +1052,20 @@ "issues": "https://github.com/laravel-filament/filament/issues", "source": "https://github.com/laravel-filament/filament" }, - "time": "2022-03-26T13:28:26+00:00" + "time": "2022-04-17T12:08:32+00:00" }, { "name": "filament/tables", - "version": "v2.10.39", + "version": "v2.10.45", "source": { "type": "git", "url": "https://github.com/laravel-filament/tables.git", - "reference": "997d5ea34b6bc96f7fdadf3f96f704f8ca73052f" + "reference": "773e705023eb3fabe8b5a4b3135c986004fddc00" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel-filament/tables/zipball/997d5ea34b6bc96f7fdadf3f96f704f8ca73052f", - "reference": "997d5ea34b6bc96f7fdadf3f96f704f8ca73052f", + "url": "https://api.github.com/repos/laravel-filament/tables/zipball/773e705023eb3fabe8b5a4b3135c986004fddc00", + "reference": "773e705023eb3fabe8b5a4b3135c986004fddc00", "shasum": "" }, "require": { @@ -994,7 +1105,7 @@ "issues": "https://github.com/laravel-filament/filament/issues", "source": "https://github.com/laravel-filament/filament" }, - "time": "2022-03-26T13:28:19+00:00" + "time": "2022-04-17T12:08:32+00:00" }, { "name": "fruitcake/php-cors", @@ -1130,24 +1241,90 @@ "time": "2021-11-21T21:41:47+00:00" }, { - "name": "lara-zeus/core", - "version": "dev-main", + "name": "imliam/laravel-blade-helper", + "version": "v1.4.3", "source": { "type": "git", - "url": "https://github.com/lara-zeus/core.git", - "reference": "fb8c75a4dd268e4fdbfbc4969e3d5adef215ec62" + "url": "https://github.com/imliam/laravel-blade-helper.git", + "reference": "55a46d2ba4b97511fe5135775e789410dda63c5f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/lara-zeus/core/zipball/fb8c75a4dd268e4fdbfbc4969e3d5adef215ec62", - "reference": "fb8c75a4dd268e4fdbfbc4969e3d5adef215ec62", + "url": "https://api.github.com/repos/imliam/laravel-blade-helper/zipball/55a46d2ba4b97511fe5135775e789410dda63c5f", + "reference": "55a46d2ba4b97511fe5135775e789410dda63c5f", "shasum": "" }, "require": { - "blade-ui-kit/blade-heroicons": "^1.3", - "blade-ui-kit/blade-icons": "^1.2", + "illuminate/support": "^7.0|^8.0|^9.0", + "php": "^7.3|^8.0" + }, + "require-dev": { + "larapack/dd": "^1.0", + "mockery/mockery": "^1.0", + "orchestra/testbench": "^5.0|^6.0|^7.0", + "phpunit/phpunit": "^7.0|^8.0|^9.0" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "ImLiam\\BladeHelper\\BladeHelperServiceProvider" + ], + "aliases": { + "BladeHelper": "ImLiam\\BladeHelper\\BladeHelperFacade" + } + } + }, + "autoload": { + "psr-4": { + "ImLiam\\BladeHelper\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Liam Hammett", + "email": "liam@liamhammett.com", + "homepage": "https://liamhammett.com", + "role": "Developer" + } + ], + "description": "An easier way to define custom Blade directives.", + "homepage": "https://github.com/imliam/laravel-blade-helper", + "keywords": [ + "blade", + "imliam", + "laravel", + "laravel-blade-helper" + ], + "support": { + "issues": "https://github.com/imliam/laravel-blade-helper/issues", + "source": "https://github.com/imliam/laravel-blade-helper/tree/v1.4.3" + }, + "funding": [ + { + "url": "https://github.com/imliam", + "type": "github" + } + ], + "time": "2022-02-02T15:23:46+00:00" + }, + { + "name": "lara-zeus/core", + "version": "dev-main", + "dist": { + "type": "path", + "url": "../core", + "reference": "d6cade003af1ba4203e5019962de1b543010c237" + }, + "require": { + "archtechx/laravel-seo": "^0.4.0", + "calebporzio/sushi": "^2.4", "codeat3/blade-iconpark": "^1.4", - "filament/filament": "^2.0", + "filament/filament": "^2.10", "illuminate/support": "^8.0 || ^9.0", "php": "^8.0" }, @@ -1155,7 +1332,6 @@ "orchestra/testbench": "^6.0 || ^7.0", "phpunit/phpunit": "^9.5.10" }, - "default-branch": true, "type": "library", "extra": { "laravel": { @@ -1172,7 +1348,19 @@ "LaraZeus\\Core\\": "src" } }, - "notification-url": "https://packagist.org/downloads/", + "autoload-dev": { + "psr-4": { + "LaraZeus\\Core\\Tests\\": "tests" + } + }, + "scripts": { + "test": [ + "vendor/bin/phpunit" + ], + "test-coverage": [ + "vendor/bin/phpunit --coverage-html coverage" + ] + }, "license": [ "MIT" ], @@ -1192,24 +1380,22 @@ "lara-zeus", "laravel" ], - "support": { - "issues": "https://github.com/lara-zeus/core/issues", - "source": "https://github.com/lara-zeus/core/tree/main" - }, - "time": "2022-03-29T17:55:35+00:00" + "transport-options": { + "relative": true + } }, { "name": "laravel/framework", - "version": "v9.6.0", + "version": "v9.8.1", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "47940a1a8774b96696ed57e6736ccea4a880c057" + "reference": "9f468689964ac80b674a2fe71a56baa7e9e20493" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/47940a1a8774b96696ed57e6736ccea4a880c057", - "reference": "47940a1a8774b96696ed57e6736ccea4a880c057", + "url": "https://api.github.com/repos/laravel/framework/zipball/9f468689964ac80b674a2fe71a56baa7e9e20493", + "reference": "9f468689964ac80b674a2fe71a56baa7e9e20493", "shasum": "" }, "require": { @@ -1375,7 +1561,7 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2022-03-29T14:41:26+00:00" + "time": "2022-04-12T15:43:03+00:00" }, { "name": "laravel/serializable-closure", @@ -1438,16 +1624,16 @@ }, { "name": "league/commonmark", - "version": "2.2.3", + "version": "2.3.0", "source": { "type": "git", "url": "https://github.com/thephpleague/commonmark.git", - "reference": "47b015bc4e50fd4438c1ffef6139a1fb65d2ab71" + "reference": "32a49eb2b38fe5e5c417ab748a45d0beaab97955" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/47b015bc4e50fd4438c1ffef6139a1fb65d2ab71", - "reference": "47b015bc4e50fd4438c1ffef6139a1fb65d2ab71", + "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/32a49eb2b38fe5e5c417ab748a45d0beaab97955", + "reference": "32a49eb2b38fe5e5c417ab748a45d0beaab97955", "shasum": "" }, "require": { @@ -1456,17 +1642,19 @@ "php": "^7.4 || ^8.0", "psr/event-dispatcher": "^1.0", "symfony/deprecation-contracts": "^2.1 || ^3.0", - "symfony/polyfill-php80": "^1.15" + "symfony/polyfill-php80": "^1.16" }, "require-dev": { "cebe/markdown": "^1.0", "commonmark/cmark": "0.30.0", "commonmark/commonmark.js": "0.30.0", "composer/package-versions-deprecated": "^1.8", + "embed/embed": "^4.4", "erusev/parsedown": "^1.0", "ext-json": "*", "github/gfm": "0.29.0", "michelf/php-markdown": "^1.4", + "nyholm/psr7": "^1.5", "phpstan/phpstan": "^0.12.88 || ^1.0.0", "phpunit/phpunit": "^9.5.5", "scrutinizer/ocular": "^1.8.1", @@ -1481,7 +1669,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "2.3-dev" + "dev-main": "2.4-dev" } }, "autoload": { @@ -1538,7 +1726,7 @@ "type": "tidelift" } ], - "time": "2022-02-26T21:24:45+00:00" + "time": "2022-04-07T22:37:05+00:00" }, { "name": "league/config", @@ -1624,16 +1812,16 @@ }, { "name": "league/flysystem", - "version": "3.0.12", + "version": "3.0.17", "source": { "type": "git", "url": "https://github.com/thephpleague/flysystem.git", - "reference": "4744d96fb2456d9808be3ad596a2520b902996e2" + "reference": "29eb78cac0be0c22237c5e0f6f98234d97037d79" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/4744d96fb2456d9808be3ad596a2520b902996e2", - "reference": "4744d96fb2456d9808be3ad596a2520b902996e2", + "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/29eb78cac0be0c22237c5e0f6f98234d97037d79", + "reference": "29eb78cac0be0c22237c5e0f6f98234d97037d79", "shasum": "" }, "require": { @@ -1694,7 +1882,7 @@ ], "support": { "issues": "https://github.com/thephpleague/flysystem/issues", - "source": "https://github.com/thephpleague/flysystem/tree/3.0.12" + "source": "https://github.com/thephpleague/flysystem/tree/3.0.17" }, "funding": [ { @@ -1710,20 +1898,20 @@ "type": "tidelift" } ], - "time": "2022-03-12T19:32:12+00:00" + "time": "2022-04-14T14:57:13+00:00" }, { "name": "league/mime-type-detection", - "version": "1.9.0", + "version": "1.11.0", "source": { "type": "git", "url": "https://github.com/thephpleague/mime-type-detection.git", - "reference": "aa70e813a6ad3d1558fc927863d47309b4c23e69" + "reference": "ff6248ea87a9f116e78edd6002e39e5128a0d4dd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/aa70e813a6ad3d1558fc927863d47309b4c23e69", - "reference": "aa70e813a6ad3d1558fc927863d47309b4c23e69", + "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/ff6248ea87a9f116e78edd6002e39e5128a0d4dd", + "reference": "ff6248ea87a9f116e78edd6002e39e5128a0d4dd", "shasum": "" }, "require": { @@ -1754,7 +1942,7 @@ "description": "Mime-type detection for Flysystem", "support": { "issues": "https://github.com/thephpleague/mime-type-detection/issues", - "source": "https://github.com/thephpleague/mime-type-detection/tree/1.9.0" + "source": "https://github.com/thephpleague/mime-type-detection/tree/1.11.0" }, "funding": [ { @@ -1766,20 +1954,20 @@ "type": "tidelift" } ], - "time": "2021-11-21T11:48:40+00:00" + "time": "2022-04-17T13:12:02+00:00" }, { "name": "livewire/livewire", - "version": "v2.10.4", + "version": "v2.10.5", "source": { "type": "git", "url": "https://github.com/livewire/livewire.git", - "reference": "2d68c61a8edf338534fdd8e2b2750dca2e741439" + "reference": "9ea6237760f627b3b6a05d15137880780ac843b5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/livewire/livewire/zipball/2d68c61a8edf338534fdd8e2b2750dca2e741439", - "reference": "2d68c61a8edf338534fdd8e2b2750dca2e741439", + "url": "https://api.github.com/repos/livewire/livewire/zipball/9ea6237760f627b3b6a05d15137880780ac843b5", + "reference": "9ea6237760f627b3b6a05d15137880780ac843b5", "shasum": "" }, "require": { @@ -1831,7 +2019,7 @@ "description": "A front-end framework for Laravel.", "support": { "issues": "https://github.com/livewire/livewire/issues", - "source": "https://github.com/livewire/livewire/tree/v2.10.4" + "source": "https://github.com/livewire/livewire/tree/v2.10.5" }, "funding": [ { @@ -1839,20 +2027,20 @@ "type": "github" } ], - "time": "2022-02-18T22:35:27+00:00" + "time": "2022-04-07T21:38:12+00:00" }, { "name": "monolog/monolog", - "version": "2.4.0", + "version": "2.5.0", "source": { "type": "git", "url": "https://github.com/Seldaek/monolog.git", - "reference": "d7fd7450628561ba697b7097d86db72662f54aef" + "reference": "4192345e260f1d51b365536199744b987e160edc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/d7fd7450628561ba697b7097d86db72662f54aef", - "reference": "d7fd7450628561ba697b7097d86db72662f54aef", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/4192345e260f1d51b365536199744b987e160edc", + "reference": "4192345e260f1d51b365536199744b987e160edc", "shasum": "" }, "require": { @@ -1926,7 +2114,7 @@ ], "support": { "issues": "https://github.com/Seldaek/monolog/issues", - "source": "https://github.com/Seldaek/monolog/tree/2.4.0" + "source": "https://github.com/Seldaek/monolog/tree/2.5.0" }, "funding": [ { @@ -1938,7 +2126,7 @@ "type": "tidelift" } ], - "time": "2022-03-14T12:44:37+00:00" + "time": "2022-04-08T15:43:54+00:00" }, { "name": "nesbot/carbon", @@ -2692,16 +2880,16 @@ }, { "name": "symfony/console", - "version": "v6.0.5", + "version": "v6.0.7", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "3bebf4108b9e07492a2a4057d207aa5a77d146b1" + "reference": "70dcf7b2ca2ea08ad6ebcc475f104a024fb5632e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/3bebf4108b9e07492a2a4057d207aa5a77d146b1", - "reference": "3bebf4108b9e07492a2a4057d207aa5a77d146b1", + "url": "https://api.github.com/repos/symfony/console/zipball/70dcf7b2ca2ea08ad6ebcc475f104a024fb5632e", + "reference": "70dcf7b2ca2ea08ad6ebcc475f104a024fb5632e", "shasum": "" }, "require": { @@ -2767,7 +2955,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v6.0.5" + "source": "https://github.com/symfony/console/tree/v6.0.7" }, "funding": [ { @@ -2783,7 +2971,7 @@ "type": "tidelift" } ], - "time": "2022-02-25T10:48:52+00:00" + "time": "2022-03-31T17:18:25+00:00" }, { "name": "symfony/css-selector", @@ -2852,16 +3040,16 @@ }, { "name": "symfony/deprecation-contracts", - "version": "v3.0.0", + "version": "v3.0.1", "source": { "type": "git", "url": "https://github.com/symfony/deprecation-contracts.git", - "reference": "c726b64c1ccfe2896cb7df2e1331c357ad1c8ced" + "reference": "26954b3d62a6c5fd0ea8a2a00c0353a14978d05c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/c726b64c1ccfe2896cb7df2e1331c357ad1c8ced", - "reference": "c726b64c1ccfe2896cb7df2e1331c357ad1c8ced", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/26954b3d62a6c5fd0ea8a2a00c0353a14978d05c", + "reference": "26954b3d62a6c5fd0ea8a2a00c0353a14978d05c", "shasum": "" }, "require": { @@ -2899,7 +3087,7 @@ "description": "A generic function and convention to trigger deprecation notices", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/deprecation-contracts/tree/v3.0.0" + "source": "https://github.com/symfony/deprecation-contracts/tree/v3.0.1" }, "funding": [ { @@ -2915,20 +3103,20 @@ "type": "tidelift" } ], - "time": "2021-11-01T23:48:49+00:00" + "time": "2022-01-02T09:55:41+00:00" }, { "name": "symfony/error-handler", - "version": "v6.0.3", + "version": "v6.0.7", "source": { "type": "git", "url": "https://github.com/symfony/error-handler.git", - "reference": "20343b3bad7ebafa38138ddcb97290a24722b57b" + "reference": "e600c54e5b30555eecea3ffe4314e58f832e78ee" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/20343b3bad7ebafa38138ddcb97290a24722b57b", - "reference": "20343b3bad7ebafa38138ddcb97290a24722b57b", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/e600c54e5b30555eecea3ffe4314e58f832e78ee", + "reference": "e600c54e5b30555eecea3ffe4314e58f832e78ee", "shasum": "" }, "require": { @@ -2970,7 +3158,7 @@ "description": "Provides tools to manage errors and ease debugging PHP code", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/error-handler/tree/v6.0.3" + "source": "https://github.com/symfony/error-handler/tree/v6.0.7" }, "funding": [ { @@ -2986,7 +3174,7 @@ "type": "tidelift" } ], - "time": "2022-01-02T09:55:41+00:00" + "time": "2022-03-18T16:21:55+00:00" }, { "name": "symfony/event-dispatcher", @@ -3073,16 +3261,16 @@ }, { "name": "symfony/event-dispatcher-contracts", - "version": "v3.0.0", + "version": "v3.0.1", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher-contracts.git", - "reference": "aa5422287b75594b90ee9cd807caf8f0df491385" + "reference": "7bc61cc2db649b4637d331240c5346dcc7708051" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/aa5422287b75594b90ee9cd807caf8f0df491385", - "reference": "aa5422287b75594b90ee9cd807caf8f0df491385", + "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/7bc61cc2db649b4637d331240c5346dcc7708051", + "reference": "7bc61cc2db649b4637d331240c5346dcc7708051", "shasum": "" }, "require": { @@ -3132,7 +3320,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.0.0" + "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.0.1" }, "funding": [ { @@ -3148,7 +3336,7 @@ "type": "tidelift" } ], - "time": "2021-07-15T12:33:35+00:00" + "time": "2022-01-02T09:55:41+00:00" }, { "name": "symfony/finder", @@ -3213,16 +3401,16 @@ }, { "name": "symfony/http-foundation", - "version": "v6.0.6", + "version": "v6.0.7", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "a000fcf2298a1bc79a1dcff22608792506534719" + "reference": "c816b26f03b6902dba79b352c84a17f53d815f0d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/a000fcf2298a1bc79a1dcff22608792506534719", - "reference": "a000fcf2298a1bc79a1dcff22608792506534719", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/c816b26f03b6902dba79b352c84a17f53d815f0d", + "reference": "c816b26f03b6902dba79b352c84a17f53d815f0d", "shasum": "" }, "require": { @@ -3265,7 +3453,7 @@ "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-foundation/tree/v6.0.6" + "source": "https://github.com/symfony/http-foundation/tree/v6.0.7" }, "funding": [ { @@ -3281,20 +3469,20 @@ "type": "tidelift" } ], - "time": "2022-03-05T21:04:00+00:00" + "time": "2022-03-24T14:13:59+00:00" }, { "name": "symfony/http-kernel", - "version": "v6.0.6", + "version": "v6.0.7", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "f9e49ad9fe16895b24cd7a09dc28d3364282e21a" + "reference": "9c03dab07a6aa336ffaadc15352b1d14f4ce01f5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/f9e49ad9fe16895b24cd7a09dc28d3364282e21a", - "reference": "f9e49ad9fe16895b24cd7a09dc28d3364282e21a", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/9c03dab07a6aa336ffaadc15352b1d14f4ce01f5", + "reference": "9c03dab07a6aa336ffaadc15352b1d14f4ce01f5", "shasum": "" }, "require": { @@ -3374,7 +3562,7 @@ "description": "Provides a structured process for converting a Request into a Response", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-kernel/tree/v6.0.6" + "source": "https://github.com/symfony/http-kernel/tree/v6.0.7" }, "funding": [ { @@ -3390,20 +3578,20 @@ "type": "tidelift" } ], - "time": "2022-03-05T21:19:20+00:00" + "time": "2022-04-02T06:35:11+00:00" }, { "name": "symfony/mailer", - "version": "v6.0.5", + "version": "v6.0.7", "source": { "type": "git", "url": "https://github.com/symfony/mailer.git", - "reference": "0f4772db6521a1beb44529aa2c0c1e56f671be8f" + "reference": "f7343f94e7afecca2ad840b078f9d80200e1bd27" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mailer/zipball/0f4772db6521a1beb44529aa2c0c1e56f671be8f", - "reference": "0f4772db6521a1beb44529aa2c0c1e56f671be8f", + "url": "https://api.github.com/repos/symfony/mailer/zipball/f7343f94e7afecca2ad840b078f9d80200e1bd27", + "reference": "f7343f94e7afecca2ad840b078f9d80200e1bd27", "shasum": "" }, "require": { @@ -3448,7 +3636,7 @@ "description": "Helps sending emails", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/mailer/tree/v6.0.5" + "source": "https://github.com/symfony/mailer/tree/v6.0.7" }, "funding": [ { @@ -3464,20 +3652,20 @@ "type": "tidelift" } ], - "time": "2022-02-25T10:48:52+00:00" + "time": "2022-03-18T16:06:28+00:00" }, { "name": "symfony/mime", - "version": "v6.0.3", + "version": "v6.0.7", "source": { "type": "git", "url": "https://github.com/symfony/mime.git", - "reference": "2cd9601efd040e56f43360daa68f3c6b0534923a" + "reference": "74266e396f812a2301536397a6360b6e6913c0d8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/2cd9601efd040e56f43360daa68f3c6b0534923a", - "reference": "2cd9601efd040e56f43360daa68f3c6b0534923a", + "url": "https://api.github.com/repos/symfony/mime/zipball/74266e396f812a2301536397a6360b6e6913c0d8", + "reference": "74266e396f812a2301536397a6360b6e6913c0d8", "shasum": "" }, "require": { @@ -3529,7 +3717,7 @@ "mime-type" ], "support": { - "source": "https://github.com/symfony/mime/tree/v6.0.3" + "source": "https://github.com/symfony/mime/tree/v6.0.7" }, "funding": [ { @@ -3545,7 +3733,7 @@ "type": "tidelift" } ], - "time": "2022-01-02T09:55:41+00:00" + "time": "2022-03-13T20:10:05+00:00" }, { "name": "symfony/polyfill-ctype", @@ -4204,16 +4392,16 @@ }, { "name": "symfony/process", - "version": "v6.0.5", + "version": "v6.0.7", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "1ccceccc6497e96f4f646218f04b97ae7d9fa7a1" + "reference": "e13f6757e267d687e20ec5b26ccfcbbe511cd8f4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/1ccceccc6497e96f4f646218f04b97ae7d9fa7a1", - "reference": "1ccceccc6497e96f4f646218f04b97ae7d9fa7a1", + "url": "https://api.github.com/repos/symfony/process/zipball/e13f6757e267d687e20ec5b26ccfcbbe511cd8f4", + "reference": "e13f6757e267d687e20ec5b26ccfcbbe511cd8f4", "shasum": "" }, "require": { @@ -4245,7 +4433,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v6.0.5" + "source": "https://github.com/symfony/process/tree/v6.0.7" }, "funding": [ { @@ -4261,7 +4449,7 @@ "type": "tidelift" } ], - "time": "2022-01-30T18:19:12+00:00" + "time": "2022-03-18T16:21:55+00:00" }, { "name": "symfony/routing", @@ -4353,16 +4541,16 @@ }, { "name": "symfony/service-contracts", - "version": "v3.0.0", + "version": "v3.0.1", "source": { "type": "git", "url": "https://github.com/symfony/service-contracts.git", - "reference": "36715ebf9fb9db73db0cb24263c79077c6fe8603" + "reference": "e517458f278c2131ca9f262f8fbaf01410f2c65c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/36715ebf9fb9db73db0cb24263c79077c6fe8603", - "reference": "36715ebf9fb9db73db0cb24263c79077c6fe8603", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/e517458f278c2131ca9f262f8fbaf01410f2c65c", + "reference": "e517458f278c2131ca9f262f8fbaf01410f2c65c", "shasum": "" }, "require": { @@ -4415,7 +4603,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/service-contracts/tree/v3.0.0" + "source": "https://github.com/symfony/service-contracts/tree/v3.0.1" }, "funding": [ { @@ -4431,7 +4619,7 @@ "type": "tidelift" } ], - "time": "2021-11-04T17:53:12+00:00" + "time": "2022-03-13T20:10:05+00:00" }, { "name": "symfony/string", @@ -4520,16 +4708,16 @@ }, { "name": "symfony/translation", - "version": "v6.0.6", + "version": "v6.0.7", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "f6639cb9b5e0c57fe31e3263b900a77eedb0c908" + "reference": "b2792b39d74cf41ea3065f27fd2ddf0b556ac7a1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/f6639cb9b5e0c57fe31e3263b900a77eedb0c908", - "reference": "f6639cb9b5e0c57fe31e3263b900a77eedb0c908", + "url": "https://api.github.com/repos/symfony/translation/zipball/b2792b39d74cf41ea3065f27fd2ddf0b556ac7a1", + "reference": "b2792b39d74cf41ea3065f27fd2ddf0b556ac7a1", "shasum": "" }, "require": { @@ -4595,7 +4783,7 @@ "description": "Provides tools to internationalize your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/translation/tree/v6.0.6" + "source": "https://github.com/symfony/translation/tree/v6.0.7" }, "funding": [ { @@ -4611,20 +4799,20 @@ "type": "tidelift" } ], - "time": "2022-03-02T12:58:14+00:00" + "time": "2022-03-31T17:18:25+00:00" }, { "name": "symfony/translation-contracts", - "version": "v3.0.0", + "version": "v3.0.1", "source": { "type": "git", "url": "https://github.com/symfony/translation-contracts.git", - "reference": "1b6ea5a7442af5a12dba3dbd6d71034b5b234e77" + "reference": "c4183fc3ef0f0510893cbeedc7718fb5cafc9ac9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/1b6ea5a7442af5a12dba3dbd6d71034b5b234e77", - "reference": "1b6ea5a7442af5a12dba3dbd6d71034b5b234e77", + "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/c4183fc3ef0f0510893cbeedc7718fb5cafc9ac9", + "reference": "c4183fc3ef0f0510893cbeedc7718fb5cafc9ac9", "shasum": "" }, "require": { @@ -4673,7 +4861,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/translation-contracts/tree/v3.0.0" + "source": "https://github.com/symfony/translation-contracts/tree/v3.0.1" }, "funding": [ { @@ -4689,7 +4877,7 @@ "type": "tidelift" } ], - "time": "2021-09-07T12:43:40+00:00" + "time": "2022-01-02T09:55:41+00:00" }, { "name": "symfony/var-dumper", @@ -5538,23 +5726,23 @@ }, { "name": "orchestra/testbench", - "version": "v7.2.0", + "version": "v7.4.0", "source": { "type": "git", "url": "https://github.com/orchestral/testbench.git", - "reference": "d221e9328c781fbc1f2e5eec5b09254ed1be51e9" + "reference": "45a5ec02b90351a3f8cf33871cbe91bd0aebdbd7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/orchestral/testbench/zipball/d221e9328c781fbc1f2e5eec5b09254ed1be51e9", - "reference": "d221e9328c781fbc1f2e5eec5b09254ed1be51e9", + "url": "https://api.github.com/repos/orchestral/testbench/zipball/45a5ec02b90351a3f8cf33871cbe91bd0aebdbd7", + "reference": "45a5ec02b90351a3f8cf33871cbe91bd0aebdbd7", "shasum": "" }, "require": { "fakerphp/faker": "^1.9.2", - "laravel/framework": "^9.5.1", + "laravel/framework": "^9.7", "mockery/mockery": "^1.4.4", - "orchestra/testbench-core": "^7.2", + "orchestra/testbench-core": "^7.4", "php": "^8.0", "phpunit/phpunit": "^9.5.10", "spatie/laravel-ray": "^1.28", @@ -5591,7 +5779,7 @@ ], "support": { "issues": "https://github.com/orchestral/testbench/issues", - "source": "https://github.com/orchestral/testbench/tree/v7.2.0" + "source": "https://github.com/orchestral/testbench/tree/v7.4.0" }, "funding": [ { @@ -5603,20 +5791,20 @@ "type": "liberapay" } ], - "time": "2022-03-20T07:29:14+00:00" + "time": "2022-04-13T01:00:13+00:00" }, { "name": "orchestra/testbench-core", - "version": "v7.2.0", + "version": "v7.4.0", "source": { "type": "git", "url": "https://github.com/orchestral/testbench-core.git", - "reference": "a6f193db075c8d90d39a40cd502bb99113bfb56c" + "reference": "104ae725e41e49c1c7a2d09ffad7be63e52fe454" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/orchestral/testbench-core/zipball/a6f193db075c8d90d39a40cd502bb99113bfb56c", - "reference": "a6f193db075c8d90d39a40cd502bb99113bfb56c", + "url": "https://api.github.com/repos/orchestral/testbench-core/zipball/104ae725e41e49c1c7a2d09ffad7be63e52fe454", + "reference": "104ae725e41e49c1c7a2d09ffad7be63e52fe454", "shasum": "" }, "require": { @@ -5624,7 +5812,7 @@ }, "require-dev": { "fakerphp/faker": "^1.9.2", - "laravel/framework": "^9.5.1", + "laravel/framework": "^9.7", "laravel/laravel": "9.x-dev", "mockery/mockery": "^1.4.4", "orchestra/canvas": "^7.0", @@ -5634,9 +5822,11 @@ "vlucas/phpdotenv": "^5.4.1" }, "suggest": { + "brianium/paratest": "Allow using parallel tresting (^6.4).", "fakerphp/faker": "Allow using Faker for testing (^1.9.2).", - "laravel/framework": "Required for testing (^9.5.1).", + "laravel/framework": "Required for testing (^9.6).", "mockery/mockery": "Allow using Mockery for testing (^1.4.4).", + "nunomaduro/collision": "Allow using Laravel style tests output and parallel testing (^6.2).", "orchestra/testbench-browser-kit": "Allow using legacy Laravel BrowserKit for testing (^7.0).", "orchestra/testbench-dusk": "Allow using Laravel Dusk for testing (^7.0).", "phpunit/phpunit": "Allow using PHPUnit for testing (^9.5.10|^10.0).", @@ -5695,7 +5885,7 @@ "type": "liberapay" } ], - "time": "2022-03-20T07:06:20+00:00" + "time": "2022-04-13T00:51:27+00:00" }, { "name": "phar-io/manifest", @@ -6355,16 +6545,16 @@ }, { "name": "phpunit/phpunit", - "version": "9.5.19", + "version": "9.5.20", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "35ea4b7f3acabb26f4bb640f8c30866c401da807" + "reference": "12bc8879fb65aef2138b26fc633cb1e3620cffba" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/35ea4b7f3acabb26f4bb640f8c30866c401da807", - "reference": "35ea4b7f3acabb26f4bb640f8c30866c401da807", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/12bc8879fb65aef2138b26fc633cb1e3620cffba", + "reference": "12bc8879fb65aef2138b26fc633cb1e3620cffba", "shasum": "" }, "require": { @@ -6442,7 +6632,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", - "source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.19" + "source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.20" }, "funding": [ { @@ -6454,7 +6644,7 @@ "type": "github" } ], - "time": "2022-03-15T09:57:31+00:00" + "time": "2022-04-01T12:37:26+00:00" }, { "name": "pimple/pimple", @@ -7027,16 +7217,16 @@ }, { "name": "sebastian/environment", - "version": "5.1.3", + "version": "5.1.4", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "388b6ced16caa751030f6a69e588299fa09200ac" + "reference": "1b5dff7bb151a4db11d49d90e5408e4e938270f7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/388b6ced16caa751030f6a69e588299fa09200ac", - "reference": "388b6ced16caa751030f6a69e588299fa09200ac", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/1b5dff7bb151a4db11d49d90e5408e4e938270f7", + "reference": "1b5dff7bb151a4db11d49d90e5408e4e938270f7", "shasum": "" }, "require": { @@ -7078,7 +7268,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/environment/issues", - "source": "https://github.com/sebastianbergmann/environment/tree/5.1.3" + "source": "https://github.com/sebastianbergmann/environment/tree/5.1.4" }, "funding": [ { @@ -7086,7 +7276,7 @@ "type": "github" } ], - "time": "2020-09-28T05:52:38+00:00" + "time": "2022-04-03T09:37:03+00:00" }, { "name": "sebastian/exporter", @@ -7689,16 +7879,16 @@ }, { "name": "spatie/laravel-ray", - "version": "1.29.4", + "version": "1.29.6", "source": { "type": "git", "url": "https://github.com/spatie/laravel-ray.git", - "reference": "3cace74c812469e6e569dacffc46653457f9c2cc" + "reference": "d9ec9d8550dfab362167c866fbd24d4b0d4d1e02" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-ray/zipball/3cace74c812469e6e569dacffc46653457f9c2cc", - "reference": "3cace74c812469e6e569dacffc46653457f9c2cc", + "url": "https://api.github.com/repos/spatie/laravel-ray/zipball/d9ec9d8550dfab362167c866fbd24d4b0d4d1e02", + "reference": "d9ec9d8550dfab362167c866fbd24d4b0d4d1e02", "shasum": "" }, "require": { @@ -7757,7 +7947,7 @@ ], "support": { "issues": "https://github.com/spatie/laravel-ray/issues", - "source": "https://github.com/spatie/laravel-ray/tree/1.29.4" + "source": "https://github.com/spatie/laravel-ray/tree/1.29.6" }, "funding": [ { @@ -7769,7 +7959,7 @@ "type": "other" } ], - "time": "2022-02-22T15:18:57+00:00" + "time": "2022-04-15T07:18:37+00:00" }, { "name": "spatie/macroable", @@ -7823,16 +8013,16 @@ }, { "name": "spatie/ray", - "version": "1.34.1", + "version": "1.34.2", "source": { "type": "git", "url": "https://github.com/spatie/ray.git", - "reference": "4090df9fedf83ef6315e85db1e81f54c14e119c7" + "reference": "ef5836b44f7bc4a0162f1a590cbaf33e8ab655dd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/ray/zipball/4090df9fedf83ef6315e85db1e81f54c14e119c7", - "reference": "4090df9fedf83ef6315e85db1e81f54c14e119c7", + "url": "https://api.github.com/repos/spatie/ray/zipball/ef5836b44f7bc4a0162f1a590cbaf33e8ab655dd", + "reference": "ef5836b44f7bc4a0162f1a590cbaf33e8ab655dd", "shasum": "" }, "require": { @@ -7882,7 +8072,7 @@ ], "support": { "issues": "https://github.com/spatie/ray/issues", - "source": "https://github.com/spatie/ray/tree/1.34.1" + "source": "https://github.com/spatie/ray/tree/1.34.2" }, "funding": [ { @@ -7894,7 +8084,7 @@ "type": "other" } ], - "time": "2022-03-03T15:02:29+00:00" + "time": "2022-04-08T13:41:27+00:00" }, { "name": "symfony/polyfill-iconv", diff --git a/config/zeus-wind.php b/config/zeus-wind.php index e63285f..dae8263 100644 --- a/config/zeus-wind.php +++ b/config/zeus-wind.php @@ -1,14 +1,58 @@ 'blog', + + /** + * the middleware you want to apply on all the blogs routes + * for example if you want to make your blog for users only, add the middleware 'auth' + */ + 'middleware' => ['web'], + + /** + * allows you to create multiple departments to receive the messages from your website. + */ 'enableDepartments' => true, + /** + * you can set a default department to receive all messages, if the user didn't chose one + */ 'defaultDepartmentId' => 1, - 'layout' => 'zeus::components.layouts.app', + /** + * you can use the default layout as a starting point for your blog. + * however, if you're already using your own component, just set the path here + */ + 'layout' => 'zeus::components.app', + /** + * set the default upload options for departments logo + */ 'uploads' => [ 'disk' => 'public', 'directory' => 'logos', ], + + /** + * this will be setup the default seo site title. read more about it in 'laravel-seo' + */ + 'site_title' => config('app.name', 'Laravel').' | '.'Contact Us', + + /** + * this will be setup the default seo site description. read more about it in 'laravel-seo' + */ + 'site_description' => config('app.name', 'Laravel').' Contact Us', + + /** + * this will be setup the default seo site color theme. read more about it in 'laravel-seo' + */ + 'color' => '#F5F5F4', + + /** + * set the default status that all messages will have when received + */ + 'default_status' => 'NEW', ]; diff --git a/docs/_index.md b/docs/_index.md new file mode 100644 index 0000000..1c50dd7 --- /dev/null +++ b/docs/_index.md @@ -0,0 +1,7 @@ +--- +title: v1 +slogan: contact form, with ready to use a frontend scaffolding to get you up and running easily. +githubUrl: https://github.com/lara-zeus/wind +branch: main +icon: ri-windy-line +--- diff --git a/docs/changelog.md b/docs/changelog.md new file mode 100644 index 0000000..155d993 --- /dev/null +++ b/docs/changelog.md @@ -0,0 +1,6 @@ +--- +title: Changelog +weight: 100 +--- + +All changes to `Wind` are documented on GitHub [changelog](https://github.com/lara-zeus/wind/blob/main/CHANGELOG.md) diff --git a/docs/configuration.md b/docs/configuration.md new file mode 100644 index 0000000..88138bf --- /dev/null +++ b/docs/configuration.md @@ -0,0 +1,65 @@ +--- +title: Configuration +weight: 3 +--- + +## Configuration + +to publish the config file run the command: + +```bash +php artisan vendor:publish --tag=zeus-wind-config +``` + +you can pass `--force` option to force publishing the config file + +the config file will contain the following: + +```php + +return [ + /** + * allows you to create multiple departments to receive the messages from your website. + */ + 'enableDepartments' => true, + + /** + * you can set a default department to receive all messages, if the user didn't chose one + */ + 'defaultDepartmentId' => 1, + + /** + * you can use the default layout as a starting point for your blog. + * however, if you're already using your own component, just set the path here + */ + 'layout' => 'zeus::components.app', + + /** + * set the default upload options for departments logo + */ + 'uploads' => [ + 'disk' => 'public', + 'directory' => 'logos', + ], + + /** + * this will be setup the default seo site title. read more about it in 'laravel-seo' + */ + 'site_title' => config('app.name', 'Laravel').' | '.'Contact Us', + + /** + * this will be setup the default seo site description. read more about it in 'laravel-seo' + */ + 'site_description' => config('app.name', 'Laravel').' Contact Us', + + /** + * this will be setup the default seo site color theme. read more about it in 'laravel-seo' + */ + 'color' => '#F5F5F4', + + /** + * set the default status that all messages will have when received + */ + 'default_status' => 'NEW', +]; +``` diff --git a/docs/customization.md b/docs/customization.md new file mode 100644 index 0000000..a5809db --- /dev/null +++ b/docs/customization.md @@ -0,0 +1,37 @@ +--- +title: Customization +weight: 6 +--- + +to customize the layout, you can change the default layout in the config file + +```php +'layout' => 'zeus::components.app', +``` + +## Publishing the default layout + +or if you don't have a layout yet, you can publish the default one: + +```bash +php artisan vendor:publish --tag=zeus-views +``` + +## Publishing the default views + +to customize the default views for wind: + +```bash +php artisan vendor:publish --tag=zeus-wind-views +``` + +## Publishing Translations + +to customize the translations: + +```bash +php artisan vendor:publish --tag=zeus-wind-translations +``` + +## themes +soon diff --git a/docs/events.md b/docs/events.md new file mode 100644 index 0000000..18df45c --- /dev/null +++ b/docs/events.md @@ -0,0 +1,36 @@ +--- +title: Events +weight: 5 +--- + +## Available Events + +wind will fire these events: +- `LaraZeus\Wind\Events\LetterSent` +- `LaraZeus\Wind\Events\ReplySent` + +## Register a Listener: +* first create your listener: +```bash +php artisan make:listener SendWindNotification --event=LetterSent +``` + +* second register the listener in your `EventServiceProvider` + +```php +protected $listen = [ + //... + LetterSent::class => [ + SendWindNotification::class, + ], +]; +``` + +* finally, you can receive the letter object in the `handle` method, and do what ever you want. +for example: + +```php +Mail::to(User::first())->send(new \App\Mail\Contact( + $event->letter->name, $event->letter->email, $event->letter->message +)); +``` diff --git a/docs/installation.md b/docs/installation.md new file mode 100644 index 0000000..f750dce --- /dev/null +++ b/docs/installation.md @@ -0,0 +1,53 @@ +--- +title: Installation +weight: 2 +--- + +## Composer + +You can install the package via composer: + +```bash +composer require lara-zeus/wind +``` + +## publish +for your convenient, we create a one command to publish them all: + +```bash +php artisan wind:publish +``` + +you can pass `--force` option to force publishing all the files, helps if you're updating the package + +## Migrations +to just publish the migrations files + +```bash +php artisan vendor:publish --tag=zeus-wind-migrations +``` + +## Seeder and Factories + +optionally, if you want to seed the database, publish the seeder and factories with: + +```bash +php artisan vendor:publish --tag=zeus-wind-seeder +php artisan vendor:publish --tag=zeus-wind-factories +``` + +## Assets + +to publish the assets files for the frontend: + +```bash +php artisan vendor:publish --tag=zeus-assets +``` + +## Run Migration + +finally, run the migration: + +```bash +php artisan migrate +``` diff --git a/docs/introduction.md b/docs/introduction.md new file mode 100644 index 0000000..502d4de --- /dev/null +++ b/docs/introduction.md @@ -0,0 +1,30 @@ +--- +title: Introduction +weight: 1 +--- + +## Introduction + +Lara-zeus Wind, is a package provides a simple contact form manger, with the abilety to store the messages in the database, and you can reply to them from the dashboard. + + +**[Demo](https://wind.larazeus.com) · [Source Code](https://github.com/lara-zeus/wind)** + +## features: + +🔥 built with [TALL stack](https://tallstack.dev/) + +🔥 using [filament](https://filamentadmin.com) as an admin panel + +🔥 optionally you can add departments to the contact form like 'sales','dev','report bug' etc. + +🔥 you can add logos for all departments. + +🔥 direct URL to contact on specific department. + +## Support + +available support channels: +* using our channel `#wind` on [Discord](https://filamentphp.com/discord) +* open an issue on [GitHub](https://github.com/lara-zeus/wind/issues) +* email us using the [contact center](https://atm-code.com/contact-us/lara-zeus) diff --git a/docs/update.md b/docs/update.md new file mode 100644 index 0000000..c4b4e1c --- /dev/null +++ b/docs/update.md @@ -0,0 +1,27 @@ +--- +title: Updating Wind +weight: 99 +--- + +## Composer + +to update the package first run: + +```bash +composer update +``` + +## Publishing the files + +then run the same command to publish any new files + +```bash +php artisan wind:publish +``` + +> updating to wind V2 may introduce some braking changes if you already published the views and the configuration file. +we recommend running the `publish` command with the flag: `--force` and check your changes. + +```bash +php artisan wind:publish --force +``` diff --git a/docs/usage.md b/docs/usage.md new file mode 100644 index 0000000..af2db52 --- /dev/null +++ b/docs/usage.md @@ -0,0 +1,17 @@ +--- +title: Usage +weight: 4 +--- + +## Usage +after you finished installing `wind` all you have to do is visit the url `/admin` to manage the Letters, +and `/contact-us` to access the contact form. + +> you can configure the URL from the config file, + +check the configuration section for more details + +if you don't have a user, or it's a fresh installation of laravel, you can use the command to create a new user +```bash +php artisan make:filament-user +``` diff --git a/resources/lang/ar.json b/resources/lang/ar.json new file mode 100644 index 0000000..bde95e8 --- /dev/null +++ b/resources/lang/ar.json @@ -0,0 +1,30 @@ +{ + "Department": "قسم", + "Departments": "الأقسام", + "name": "الإسم", + "desc": "الوصف", + "ordering": "الترتيب", + "is_active": "مفعل؟", + "slug": "الاختصار", + "logo": "الشعار", + "Letter": "رسالة", + "Letters": "الرسائل", + "from": "المرسل", + "title": "عنوان الرسالة", + "department": "القسم", + "status": "الحالة", + "status_NEW": "جديد", + "status_READ": "مقروء", + "status_REPLIED": "تم الرد", + "reply_message": "نص الرد", + "reply_title": "عنوان الرد", + "message": "الرسالة", + "email": "البريد", + "re": "رد", + "Contact us": "اتصل بنا", + "feel free to contact us.": "نرحب بك في التواصل معنا.", + "Send": "ارسال", + "no departments available!": "لاتوجد اقسام متاحة!", + "Select Department": "اختر القسم", + "we received your message, and will get back to you shortly.": "تم استلام رسالتك وسيتم الرد عليها في اقرب وقت ممكن" +} diff --git a/resources/lang/en.json b/resources/lang/en.json new file mode 100644 index 0000000..dfa53ec --- /dev/null +++ b/resources/lang/en.json @@ -0,0 +1,3 @@ +{ + "Posts": "Posts" +} diff --git a/resources/views/contact.blade.php b/resources/views/contact.blade.php index 6d67ca2..64f4d3c 100644 --- a/resources/views/contact.blade.php +++ b/resources/views/contact.blade.php @@ -1,7 +1,4 @@

- - {{ __('Contact us') }} -

{{ __('Contact us') }}

@@ -16,13 +13,10 @@
{{ $this->form }} -
{{ __('Send') }}
-
@endif -
diff --git a/resources/views/departments.blade.php b/resources/views/departments.blade.php index 7e2f984..f09ed9d 100644 --- a/resources/views/departments.blade.php +++ b/resources/views/departments.blade.php @@ -14,7 +14,7 @@ @if($departments->isEmpty())
- {{ __('no departments available!.') }} + {{ __('no departments available!') }}
diff --git a/resources/views/message-from.blade.php b/resources/views/filament/message-from.blade.php similarity index 100% rename from resources/views/message-from.blade.php rename to resources/views/filament/message-from.blade.php diff --git a/routes/web.php b/routes/web.php index bcb4622..14766e5 100644 --- a/routes/web.php +++ b/routes/web.php @@ -3,7 +3,7 @@ use Illuminate\Support\Facades\Route; use LaraZeus\Wind\Http\Livewire\Contacts; -Route::middleware(config('zeus.middleware')) - ->prefix(config('zeus.prefix')) - ->get('contact-us/{department?}', Contacts::class) +Route::middleware(config('zeus-wind.middleware')) + ->prefix(config('zeus-wind.prefix')) + ->get('contact-us/{departmentSlug?}', Contacts::class) ->name('contact'); diff --git a/src/Console/PublishCommand.php b/src/Console/PublishCommand.php index 275eaf7..c24892a 100644 --- a/src/Console/PublishCommand.php +++ b/src/Console/PublishCommand.php @@ -26,14 +26,14 @@ class PublishCommand extends Command */ public function handle() { - // art vendor:publish --tag=zeus-wind-migrations // publish Wind files $this->callSilent('vendor:publish', ['--tag' => 'zeus-wind-config', '--force' => $this->option('force') ?? false]); $this->callSilent('vendor:publish', ['--tag' => 'zeus-wind-migrations', '--force' => $this->option('force') ?? false]); $this->callSilent('vendor:publish', ['--tag' => 'zeus-wind-views', '--force' => $this->option('force') ?? false]); + $this->callSilent('vendor:publish', ['--tag' => 'zeus-wind-translations', '--force' => $this->option('force') ?? false]); - $this->callSilent('vendor:publish', ['--tag' => 'wind-seeder', '--force' => $this->option('force') ?? false]); - $this->callSilent('vendor:publish', ['--tag' => 'wind-factories', '--force' => $this->option('force') ?? false]); + $this->callSilent('vendor:publish', ['--tag' => 'zeus-wind-seeder', '--force' => $this->option('force') ?? false]); + $this->callSilent('vendor:publish', ['--tag' => 'zeus-wind-factories', '--force' => $this->option('force') ?? false]); // publish Zeus files $this->callSilent('vendor:publish', ['--tag' => 'zeus-config', '--force' => $this->option('force') ?? false]); diff --git a/src/Filament/Resources/DepartmentResource.php b/src/Filament/Resources/DepartmentResource.php index 98b80bb..d2fe668 100644 --- a/src/Filament/Resources/DepartmentResource.php +++ b/src/Filament/Resources/DepartmentResource.php @@ -3,15 +3,16 @@ namespace LaraZeus\Wind\Filament\Resources; use Closure; -use Filament\Forms; use Filament\Forms\Components\FileUpload; +use Filament\Forms\Components\Textarea; use Filament\Forms\Components\TextInput; use Filament\Forms\Components\Toggle; use Filament\Resources\Form; use Filament\Resources\Resource; use Filament\Resources\Table; -use Filament\Tables; +use Filament\Tables\Columns\BooleanColumn; use Filament\Tables\Columns\ImageColumn; +use Filament\Tables\Columns\TextColumn; use Illuminate\Support\Str; use LaraZeus\Wind\Filament\Resources\DepartmentResource\Pages; use LaraZeus\Wind\Models\Department; @@ -21,8 +22,13 @@ class DepartmentResource extends Resource protected static ?string $model = Department::class; protected static ?string $navigationIcon = 'heroicon-o-document-duplicate'; + protected static ?int $navigationSort = 1; - protected static ?string $navigationGroup = 'Wind'; + + protected static function shouldRegisterNavigation() : bool + { + return config('zeus-wind.enableDepartments'); + } public static function form(Form $form): Form { @@ -32,19 +38,21 @@ public static function form(Form $form): Form ->required() ->maxLength(255) ->reactive() + ->label(__('name')) ->afterStateUpdated(function (Closure $set, $state) { $set('slug', Str::slug($state)); }), - TextInput::make('slug')->required()->maxLength(255), - TextInput::make('ordering')->required()->numeric(), - Toggle::make('is_active')->required(), - Forms\Components\Textarea::make('desc')->maxLength(65535)->columnSpan(['sm' => 2]), + TextInput::make('slug')->required()->maxLength(255)->label(__('slug')), + TextInput::make('ordering')->required()->numeric()->label(__('ordering')), + Toggle::make('is_active')->label(__('is_active')), + Textarea::make('desc')->maxLength(65535)->columnSpan(['sm' => 2])->label(__('desc')), FileUpload::make('logo') ->disk(config('zeus-wind.uploads.disk', 'public')) ->directory(config('zeus-wind.uploads.dir', 'logos')) - ->columnSpan(['sm' => 2]), + ->columnSpan(['sm' => 2]) + ->label(__('logo')), ]); } @@ -52,16 +60,16 @@ public static function table(Table $table): Table { return $table ->columns([ - Tables\Columns\TextColumn::make('id')->sortable(), - Tables\Columns\TextColumn::make('name') + TextColumn::make('name') + ->label(__('name')) ->sortable() ->searchable() ->url(fn (Department $record): string => route('contact', ['department' => $record])) ->openUrlInNewTab(), - Tables\Columns\TextColumn::make('desc'), - Tables\Columns\TextColumn::make('ordering')->sortable(), - Tables\Columns\BooleanColumn::make('is_active')->sortable(), - ImageColumn::make('logo')->disk(config('zeus-wind.uploads.disk', 'public')), + TextColumn::make('desc')->label(__('desc')), + TextColumn::make('ordering')->sortable()->label(__('ordering')), + BooleanColumn::make('is_active')->sortable()->label(__('is_active')), + ImageColumn::make('logo')->disk(config('zeus-wind.uploads.disk', 'public'))->label(__('logo')), ]) ->defaultSort('id', 'desc'); } @@ -74,4 +82,24 @@ public static function getPages(): array 'edit' => Pages\EditDepartment::route('/{record}/edit'), ]; } + + public static function getLabel() : string + { + return __('Department'); + } + + public static function getPluralLabel() : string + { + return __('Departments'); + } + + protected static function getNavigationLabel() : string + { + return __('Departments'); + } + + protected static function getNavigationGroup() : ?string + { + return __('Wind'); + } } diff --git a/src/Filament/Resources/DepartmentResource/Pages/CreateDepartment.php b/src/Filament/Resources/DepartmentResource/Pages/CreateDepartment.php index 9538fac..845ac32 100644 --- a/src/Filament/Resources/DepartmentResource/Pages/CreateDepartment.php +++ b/src/Filament/Resources/DepartmentResource/Pages/CreateDepartment.php @@ -8,4 +8,11 @@ class CreateDepartment extends CreateRecord { protected static string $resource = DepartmentResource::class; + + public function mount() : void + { + abort_unless(config('zeus-wind.enableDepartments'), 404); + + parent::mount(); + } } diff --git a/src/Filament/Resources/DepartmentResource/Pages/EditDepartment.php b/src/Filament/Resources/DepartmentResource/Pages/EditDepartment.php index 46a3601..5fb54a7 100644 --- a/src/Filament/Resources/DepartmentResource/Pages/EditDepartment.php +++ b/src/Filament/Resources/DepartmentResource/Pages/EditDepartment.php @@ -8,4 +8,11 @@ class EditDepartment extends EditRecord { protected static string $resource = DepartmentResource::class; + + public function mount($record): void + { + abort_unless(config('zeus-wind.enableDepartments'), 404); + + parent::mount($record); + } } diff --git a/src/Filament/Resources/DepartmentResource/Pages/ListDepartments.php b/src/Filament/Resources/DepartmentResource/Pages/ListDepartments.php index 4385810..67f2745 100644 --- a/src/Filament/Resources/DepartmentResource/Pages/ListDepartments.php +++ b/src/Filament/Resources/DepartmentResource/Pages/ListDepartments.php @@ -8,4 +8,11 @@ class ListDepartments extends ListRecords { protected static string $resource = DepartmentResource::class; + + public function mount() : void + { + abort_unless(config('zeus-wind.enableDepartments'), 404); + + parent::mount(); + } } diff --git a/src/Filament/Resources/LetterResource.php b/src/Filament/Resources/LetterResource.php index 0333366..9443dad 100644 --- a/src/Filament/Resources/LetterResource.php +++ b/src/Filament/Resources/LetterResource.php @@ -2,13 +2,13 @@ namespace LaraZeus\Wind\Filament\Resources; -use Filament\Forms; use Filament\Forms\Components\Select; +use Filament\Forms\Components\Textarea; use Filament\Forms\Components\TextInput; use Filament\Resources\Form; use Filament\Resources\Resource; use Filament\Resources\Table; -use Filament\Tables; +use Filament\Tables\Columns\TextColumn; use Filament\Tables\Columns\ViewColumn; use LaraZeus\Wind\Filament\Resources\LetterResource\Pages; use LaraZeus\Wind\Models\Department; @@ -22,11 +22,9 @@ class LetterResource extends Resource protected static ?int $navigationSort = 2; - protected static ?string $navigationGroup = 'Wind'; - protected static function getNavigationBadge(): ?string { - return static::getModel()::where('status', 'NEW')->count(); + return static::getModel()::where('status', config('zeus-wind.default_status'))->count(); } public static function form(Form $form): Form @@ -34,34 +32,43 @@ public static function form(Form $form): Form return $form ->schema([ TextInput::make('name') + ->label(__('name')) ->required() ->disabled() ->maxLength(255), TextInput::make('email') + ->label(__('email')) ->email() ->required() ->disabled() ->maxLength(255), Select::make('department_id') + ->label(__('department')) ->options(Department::all()->pluck('name', 'id')) - ->required(), + ->required() + ->visible(fn (): bool => config('zeus-wind.enableDepartments')), TextInput::make('status') + ->label(__('status')) ->required() ->maxLength(255), TextInput::make('title') + ->label(__('title')) ->required() ->disabled() ->maxLength(255) ->columnSpan(['sm' => 2]), - Forms\Components\Textarea::make('message') + Textarea::make('message') + ->label(__('message')) ->disabled() ->maxLength(65535) ->columnSpan(['sm' => 2]), TextInput::make('reply_title') + ->label(__('reply_title')) ->required() ->maxLength(255) ->columnSpan(['sm' => 2]), - Forms\Components\Textarea::make('reply_message') + Textarea::make('reply_message') + ->label(__('reply_message')) ->required() ->maxLength(65535) ->columnSpan(['sm' => 2]), @@ -72,11 +79,11 @@ public static function table(Table $table): Table { return $table ->columns([ - Tables\Columns\TextColumn::make('id')->sortable(), - ViewColumn::make('from')->view('zeus-wind::message-from')->sortable(['name']), - Tables\Columns\TextColumn::make('title')->sortable(), - Tables\Columns\TextColumn::make('department.name')->sortable(), - Tables\Columns\TextColumn::make('status')->sortable(), + ViewColumn::make('from')->view('zeus-wind::filament.message-from')->sortable(['name'])->label(__('from')), + TextColumn::make('title')->sortable()->label(__('title')), + TextColumn::make('department.name')->sortable()->visible(fn (): bool => config('zeus-wind.enableDepartments'))->label(__('department')), + TextColumn::make('status')->sortable()->label(__('status')) + ->formatStateUsing(fn (string $state): string => __("status_{$state}")), ]) ->defaultSort('id', 'desc'); } @@ -88,4 +95,24 @@ public static function getPages(): array 'edit' => Pages\EditLetter::route('/{record}/edit'), ]; } + + public static function getLabel() : string + { + return __('Letter'); + } + + public static function getPluralLabel() : string + { + return __('Letters'); + } + + protected static function getNavigationLabel() : string + { + return __('Letters'); + } + + protected static function getNavigationGroup() : ?string + { + return __('Wind'); + } } diff --git a/src/Filament/Resources/LetterResource/Pages/EditLetter.php b/src/Filament/Resources/LetterResource/Pages/EditLetter.php index 94add15..9554f9e 100644 --- a/src/Filament/Resources/LetterResource/Pages/EditLetter.php +++ b/src/Filament/Resources/LetterResource/Pages/EditLetter.php @@ -12,7 +12,7 @@ class EditLetter extends EditRecord public function mount($record): void { parent::mount($record); - if ($this->record->status === 'NEW') { + if ($this->record->status === config('zeus-wind.default_status')) { $this->record->update(['status' => 'READ']); } } diff --git a/src/Http/Livewire/Contacts.php b/src/Http/Livewire/Contacts.php index 6176041..184ccd7 100644 --- a/src/Http/Livewire/Contacts.php +++ b/src/Http/Livewire/Contacts.php @@ -4,6 +4,7 @@ use Filament\Forms; use Filament\Forms\Components\Grid; +use Filament\Forms\Components\Hidden; use Filament\Forms\Components\Textarea; use Filament\Forms\Components\TextInput; use Filament\Forms\Components\ViewField; @@ -21,47 +22,35 @@ class Contacts extends Component implements Forms\Contracts\HasForms public $email = ''; public $title = ''; public $message = ''; - public $department_id = ''; + public $department_id; public $sent = false; public $status = 'NEW'; - /*protected function rules() + public function mount($departmentSlug = null) { - $rules = [ - 'name' => 'required|min:6', - 'email' => 'required|email', - 'title' => 'required', - 'message' => 'required', - ]; - if (config('zeus-wind.enableDepartments')) { - $rules['department_id'] = 'required|integer'; - } - - return $rules; - }*/ + if ($departmentSlug !== null) { + $this->department = Department::whereSlug($departmentSlug)->first(); + } - public function mount(Department $department) - { - if (config('zeus-wind.enableDepartments')) { - if ($department->id === null) { + if ($this->department === null) { $this->department = Department::find(config('zeus-wind.defaultDepartmentId')); - } else { - $this->department = $department; } } - $this->form->fill(); + $this->form->fill( + [ 'department_id' => $this->department->id ?? 0 ] + ); } public function store() { - $letter = Letter::create($this->form->getState()); + $letter = Letter::create($this->form->getState()); $this->sent = true; LetterSent::dispatch($letter); } - protected function getFormSchema(): array + protected function getFormSchema() : array { return [ Grid::make()->schema([ @@ -69,23 +58,32 @@ protected function getFormSchema(): array ->view('zeus-wind::departments') ->columnSpan(2) ->label(__('Departments')) - ->hidden(fn (): bool => ! config('zeus-wind.enableDepartments')), + ->visible(fn() : bool => config('zeus-wind.enableDepartments')), - TextInput::make('name')->required()->minLength('6'), - TextInput::make('email')->required()->email(), + TextInput::make('name')->required()->minLength('6')->label(__('name')), + TextInput::make('email')->required()->email()->label(__('email')), ])->columns(2), Grid::make()->schema([ - TextInput::make('title')->required(), - Textarea::make('message')->required(), + TextInput::make('title')->required()->label(__('title')), + Textarea::make('message')->required()->label(__('message')), ])->columns(1), - Forms\Components\Hidden::make('status')->default('NEW'), + Hidden::make('status')->default(config('zeus-wind.default_status')), ]; } public function render() { + seo() + ->site(config('app.name', 'Laravel')) + ->title(config('zeus-wind.site_title')) + ->description(config('zeus-wind.site_description')) + ->rawTag('favicon', '') + ->rawTag('') + ->withUrl() + ->twitter(); + return view('zeus-wind::contact') ->with('departments', Department::whereIsActive(1)->orderBy('ordering')->get()) ->layout(config('zeus-wind.layout')); diff --git a/src/Models/Department.php b/src/Models/Department.php index e39a4ab..512728f 100644 --- a/src/Models/Department.php +++ b/src/Models/Department.php @@ -13,7 +13,7 @@ class Department extends Model use HasFactory; protected $fillable = [ - 'name', 'is_active', 'user_id', 'name', 'layout', 'ordering', 'is_active', 'desc', 'options', 'logo', 'start_date', 'end_date', 'slug', + 'name', 'is_active', 'user_id', 'layout', 'ordering', 'desc', 'options', 'logo', 'start_date', 'end_date', 'slug', ]; protected $casts = [ diff --git a/src/Models/Letter.php b/src/Models/Letter.php index 37f6610..a38e8ca 100644 --- a/src/Models/Letter.php +++ b/src/Models/Letter.php @@ -13,8 +13,8 @@ class Letter extends Model use HasFactory; protected $fillable = [ - 'name', 'email', 'department_id', 'title', 'message', 'status', 'reply_message', 'reply_title', - ]; + 'name', 'email', 'department_id', 'title', 'message', 'status', 'reply_message', 'reply_title', + ]; protected static function newFactory() { @@ -28,6 +28,6 @@ public function department() public function getReplyTitleAttribute($value) { - return $value ?? 're: '.$this->title; + return $value ?? __('re') . ': ' . $this->title; } } diff --git a/src/WindServiceProvider.php b/src/WindServiceProvider.php index f8d4c3d..338fac4 100644 --- a/src/WindServiceProvider.php +++ b/src/WindServiceProvider.php @@ -29,11 +29,11 @@ public function boot() if ($this->app->runningInConsole()) { $this->publishes([ __DIR__.'/../database/seeders' => database_path('seeders'), - ], 'wind-seeder'); + ], 'zeus-wind-seeder'); $this->publishes([ __DIR__.'/../database/factories' => database_path('factories'), - ], 'wind-factories'); + ], 'zeus-wind-factories'); } return parent::boot(); @@ -46,6 +46,7 @@ public function configurePackage(Package $package): void ->hasConfigFile() ->hasMigrations(['create_department_table', 'create_letters_table']) ->hasCommand(PublishCommand::class) - ->hasRoute('web'); + ->hasRoute('web') + ->hasTranslations(); } }