diff --git a/.phpunit.cache/test-results b/.phpunit.cache/test-results
index 64b901d..ab99d49 100755
--- a/.phpunit.cache/test-results
+++ b/.phpunit.cache/test-results
@@ -1 +1 @@
-{"version":"pest_4.7.0","defects":{"P\\Tests\\Unit\\SettingsServiceTest::__pest_evaluable_settings_service_returns_default_value_when_setting_not_found":8,"P\\Tests\\Unit\\SettingsServiceTest::__pest_evaluable_settings_service_returns_existing_setting_value":8,"P\\Tests\\Unit\\SettingsServiceTest::__pest_evaluable_settings_service_returns_default_for_non_existent_key":8,"P\\Tests\\Unit\\SettingsServiceTest::__pest_evaluable_install_helper_creates_basic_settings":8,"P\\Tests\\Unit\\SettingsServiceTest::__pest_evaluable_settings_service_cache_works_correctly":8,"P\\Tests\\Unit\\SettingsServiceTest::__pest_evaluable_settings_can_be_updated_and_retrieved":8,"P\\Tests\\Unit\\SettingsServiceTest::__pest_evaluable_settings_service_handles_empty_string_default":8,"P\\Tests\\Unit\\SettingsServiceTest::__pest_evaluable_settings_service_handles_numeric_defaults":8,"P\\Tests\\Unit\\UserTest::__pest_evaluable_user_can_be_created_with_factory":8,"P\\Tests\\Unit\\UserTest::__pest_evaluable_user_factory_creates_proper_defaults":8,"P\\Tests\\Unit\\UserTest::__pest_evaluable_user_can_be_updated":8,"P\\Tests\\Unit\\UserTest::__pest_evaluable_user_can_be_deleted":8,"P\\Tests\\Unit\\UserTest::__pest_evaluable_user_password_is_hashed":8,"P\\Tests\\Unit\\UserTest::__pest_evaluable_multiple_users_can_be_created":8,"P\\Tests\\Feature\\Articles\\ArticleTest::__pest_evaluable_articles_index_page_loads":8,"P\\Tests\\Feature\\Articles\\ArticleTest::__pest_evaluable_published_article_can_be_viewed":8,"P\\Tests\\Feature\\Articles\\ArticleTest::__pest_evaluable_unpublished_article_can_be_viewed":8,"P\\Tests\\Feature\\Articles\\ArticleTest::__pest_evaluable_multiple_articles_appear_on_index":8,"P\\Tests\\Feature\\Articles\\ArticleTest::__pest_evaluable_article_with_special_characters_in_title":8,"P\\Tests\\Feature\\Articles\\ArticleTest::__pest_evaluable_article_with_long_content":8,"P\\Tests\\Feature\\Articles\\ArticleTest::__pest_evaluable_non_existent_article_returns_404":8,"P\\Tests\\Feature\\Articles\\ArticleTest::__pest_evaluable_article_url_contains_correct_slug":8,"P\\Tests\\Feature\\Articles\\ArticleTest::__pest_evaluable_articles_can_be_filtered_or_sorted":8,"P\\Tests\\Feature\\Articles\\ArticleTest::__pest_evaluable_article_page_has_proper_meta_tags":8,"P\\Tests\\Feature\\AuthenticationTest::__pest_evaluable_users_can_authenticate_using_the_login_screen":8,"P\\Tests\\Feature\\AuthenticationTest::__pest_evaluable_users_can_not_authenticate_with_invalid_password":8,"P\\Tests\\Feature\\AuthenticationTest::__pest_evaluable_login_requires_csrf_token":8,"P\\Tests\\Feature\\AuthenticationTest::__pest_evaluable_login_requires_username":8,"P\\Tests\\Feature\\AuthenticationTest::__pest_evaluable_login_requires_password":8,"P\\Tests\\Feature\\AuthenticationTest::__pest_evaluable_login_with_non_existent_user_fails":8,"P\\Tests\\Feature\\AuthenticationTest::__pest_evaluable_authenticated_user_is_redirected_from_login_page":8,"P\\Tests\\Feature\\AuthenticationTest::__pest_evaluable_user_can_logout":8,"P\\Tests\\Feature\\Community\\CommunityTest::__pest_evaluable_staff_applications_page_loads":8,"P\\Tests\\Feature\\Community\\CommunityTest::__pest_evaluable_guest_cannot_access_staff_applications":8,"P\\Tests\\Feature\\Community\\CommunityTest::__pest_evaluable_staff_page_loads":8,"P\\Tests\\Feature\\Community\\CommunityTest::__pest_evaluable_photos_page_loads":8,"P\\Tests\\Feature\\Community\\CommunityTest::__pest_evaluable_leaderboard_page_loads":8,"P\\Tests\\Feature\\Community\\CommunityTest::__pest_evaluable_community_pages_have_proper_structure":8,"P\\Tests\\Feature\\Community\\CommunityTest::__pest_evaluable_authenticated_user_can_access_community_pages":8,"P\\Tests\\Feature\\Community\\CommunityTest::__pest_evaluable_staff_applications_requires_authentication":8,"P\\Tests\\Feature\\Community\\CommunityTest::__pest_evaluable_staff_page_shows_team_members":8,"P\\Tests\\Feature\\Community\\CommunityTest::__pest_evaluable_photos_page_has_proper_layout":8,"P\\Tests\\Feature\\Community\\CommunityTest::__pest_evaluable_leaderboard_shows_rankings":8,"P\\Tests\\Feature\\Community\\CommunityTest::__pest_evaluable_community_routes_return_correct_status_codes":8,"P\\Tests\\Feature\\Community\\CommunityTest::__pest_evaluable_community_pages_load_within_reasonable_time":8,"P\\Tests\\Feature\\Community\\CommunityTest::__pest_evaluable_staff_applications_page_shows_form_elements":8,"P\\Tests\\Feature\\Help\\HelpCenterTest::__pest_evaluable_help_center_page_loads_for_authenticated_user":8,"P\\Tests\\Feature\\Help\\HelpCenterTest::__pest_evaluable_help_center_page_loads_for_guest_user":8,"P\\Tests\\Feature\\Help\\HelpCenterTest::__pest_evaluable_user_can_create_help_ticket":8,"P\\Tests\\Feature\\Help\\HelpCenterTest::__pest_evaluable_guest_cannot_create_help_ticket":8,"P\\Tests\\Feature\\Help\\HelpCenterTest::__pest_evaluable_rules_page_loads":8,"P\\Tests\\Feature\\Help\\HelpCenterTest::__pest_evaluable_help_center_pages_are_accessible_to_all":8,"P\\Tests\\Feature\\Help\\HelpCenterTest::__pest_evaluable_help_center_has_proper_navigation":8,"P\\Tests\\Feature\\Help\\HelpCenterTest::__pest_evaluable_rules_page_contains_actual_rules":8,"P\\Tests\\Feature\\Help\\HelpCenterTest::__pest_evaluable_ticket_creation_page_has_form_elements":8,"P\\Tests\\Feature\\Help\\HelpCenterTest::__pest_evaluable_help_center_routes_exist":8,"P\\Tests\\Feature\\Help\\HelpCenterTest::__pest_evaluable_help_center_pages_load_within_time_limit":8,"P\\Tests\\Feature\\Help\\HelpCenterTest::__pest_evaluable_help_center_has_proper_html_structure":8,"P\\Tests\\Feature\\Help\\HelpCenterTest::__pest_evaluable_authenticated_user_sees_personalized_help_center":8,"P\\Tests\\Feature\\Help\\HelpCenterTest::__pest_evaluable_help_center_is_linked_from_main_navigation":8,"P\\Tests\\Feature\\Help\\HelpCenterTest::__pest_evaluable_multiple_users_can_access_help_center_simultaneously":8,"P\\Tests\\Feature\\Home\\HomeTest::__pest_evaluable_welcome_page_loads":8,"P\\Tests\\Feature\\Home\\HomeTest::__pest_evaluable_login_route_redirects_to_welcome":8,"P\\Tests\\Feature\\Home\\HomeTest::__pest_evaluable_registration_page_loads_when_enabled":8,"P\\Tests\\Feature\\Home\\HomeTest::__pest_evaluable_home_page_contains_navigation_elements":8,"P\\Tests\\Feature\\Home\\HomeTest::__pest_evaluable_home_page_has_proper_html_structure":8,"P\\Tests\\Feature\\Home\\HomeTest::__pest_evaluable_favicon_route_works":8,"P\\Tests\\Feature\\Home\\HomeTest::__pest_evaluable_robots_txt_route_works":8,"P\\Tests\\Feature\\Home\\HomeTest::__pest_evaluable_non_existent_route_returns_404":8,"P\\Tests\\Feature\\Home\\HomeTest::__pest_evaluable_home_page_sets_proper_cookies":8,"P\\Tests\\Feature\\Home\\HomeTest::__pest_evaluable_home_page_response_time_is_reasonable":8,"P\\Tests\\Feature\\RegistrationTest::__pest_evaluable_new_users_can_register":8,"P\\Tests\\Feature\\RegistrationTest::__pest_evaluable_registration_requires_username":8,"P\\Tests\\Feature\\RegistrationTest::__pest_evaluable_registration_requires_email":8,"P\\Tests\\Feature\\RegistrationTest::__pest_evaluable_registration_requires_password":8,"P\\Tests\\Feature\\RegistrationTest::__pest_evaluable_registration_requires_password_confirmation":8,"P\\Tests\\Feature\\RegistrationTest::__pest_evaluable_registration_requires_terms_acceptance":8,"P\\Tests\\Feature\\RegistrationTest::__pest_evaluable_registration_requires_matching_passwords":8,"P\\Tests\\Feature\\RegistrationTest::__pest_evaluable_registration_requires_unique_username":8,"P\\Tests\\Feature\\RegistrationTest::__pest_evaluable_registration_requires_unique_email":8,"P\\Tests\\Feature\\RegistrationTest::__pest_evaluable_registration_requires_valid_email_format":8,"P\\Tests\\Feature\\RegistrationTest::__pest_evaluable_registration_requires_csrf_token":8,"P\\Tests\\Feature\\Shop\\ShopTest::__pest_evaluable_shop_page_loads_without_category":8,"P\\Tests\\Feature\\Shop\\ShopTest::__pest_evaluable_shop_page_loads_with_item":8,"P\\Tests\\Feature\\Shop\\ShopTest::__pest_evaluable_shop_page_shows_multiple_items":8,"P\\Tests\\Feature\\Shop\\ShopTest::__pest_evaluable_shop_items_have_correct_prices":8,"P\\Tests\\Feature\\Shop\\ShopTest::__pest_evaluable_shop_items_can_have_categories":8,"P\\Tests\\Feature\\Shop\\ShopTest::__pest_evaluable_shop_page_with_no_items_shows_empty_state":8,"P\\Tests\\Feature\\Shop\\ShopTest::__pest_evaluable_shop_item_has_all_required_fields":8,"P\\Tests\\Feature\\Shop\\ShopTest::__pest_evaluable_shop_item_can_be_updated":8,"P\\Tests\\Feature\\Shop\\ShopTest::__pest_evaluable_shop_item_can_be_deleted":8,"P\\Tests\\Feature\\Shop\\ShopTest::__pest_evaluable_shop_with_multiple_categories":8,"P\\Tests\\Feature\\Shop\\ShopTest::__pest_evaluable_shop_item_with_zero_cost":8,"P\\Tests\\Feature\\Shop\\ShopTest::__pest_evaluable_shop_item_with_very_high_cost":8,"P\\Tests\\Feature\\User\\ProfileTest::__pest_evaluable_user_profile_route_requires_authentication":8,"P\\Tests\\Feature\\User\\ProfileTest::__pest_evaluable_profile_route_can_be_accessed_by_authenticated_user":8,"P\\Tests\\Feature\\User\\ProfileTest::__pest_evaluable_user_can_view_their_own_profile":8,"P\\Tests\\Feature\\User\\ProfileTest::__pest_evaluable_user_can_view_other_user_profiles":8,"P\\Tests\\Feature\\User\\ProfileTest::__pest_evaluable_profile_route_returns_404_for_non_existent_user":8,"P\\Tests\\Feature\\User\\ProfileTest::__pest_evaluable_profile_url_is_correctly_formatted":8,"P\\Tests\\Feature\\User\\ProfileTest::__pest_evaluable_guest_is_redirected_when_accessing_profile":8,"P\\Tests\\Feature\\User\\ProfileTest::__pest_evaluable_profile_route_uses_correct_route_name":8,"P\\Tests\\Feature\\User\\ProfileTest::__pest_evaluable_profile_page_contains_user_information_when_accessible":8,"P\\Tests\\Feature\\User\\ProfileTest::__pest_evaluable_multiple_users_can_have_profiles":8,"P\\Tests\\Feature\\User\\ProfileTest::__pest_evaluable_profile_username_is_case_sensitive":8,"P\\Tests\\Feature\\User\\SettingsTest::__pest_evaluable_user_can_access_account_settings":8,"P\\Tests\\Feature\\User\\SettingsTest::__pest_evaluable_user_can_update_account_settings":8,"P\\Tests\\Feature\\User\\SettingsTest::__pest_evaluable_user_can_access_password_settings":8,"P\\Tests\\Feature\\User\\SettingsTest::__pest_evaluable_user_can_access_me_page":8,"P\\Tests\\Feature\\User\\SettingsTest::__pest_evaluable_guest_cannot_access_user_settings":8,"P\\Tests\\Feature\\User\\SettingsTest::__pest_evaluable_guest_cannot_access_password_settings":8,"P\\Tests\\Feature\\User\\SettingsTest::__pest_evaluable_guest_cannot_access_me_page":8,"P\\Tests\\Feature\\User\\SettingsTest::__pest_evaluable_user_can_update_password":8,"P\\Tests\\Feature\\User\\SettingsTest::__pest_evaluable_user_cannot_update_password_with_wrong_current_password":8,"P\\Tests\\Feature\\User\\SettingsTest::__pest_evaluable_user_settings_page_contains_navigation":8,"P\\Tests\\Feature\\User\\SettingsTest::__pest_evaluable_user_can_see_their_settings":8,"P\\Tests\\Feature\\User\\SettingsTest::__pest_evaluable_settings_update_requires_csrf_token":8,"P\\Tests\\Feature\\User\\SettingsTest::__pest_evaluable_unauthenticated_user_cannot_update_settings":8,"P\\Tests\\Feature\\User\\SettingsTest::__pest_evaluable_user_settings_are_isolated_per_user":8},"times":{"P\\Tests\\Unit\\ExampleTest::__pest_evaluable_that_true_is_true":0.006,"P\\Tests\\Unit\\ExampleTest::__pest_evaluable_that_false_is_false":0,"P\\Tests\\Unit\\ExampleTest::__pest_evaluable_that_null_is_null":0,"P\\Tests\\Unit\\ExampleTest::__pest_evaluable_basic_arithmetic_operations":0,"P\\Tests\\Unit\\ExampleTest::__pest_evaluable_string_operations":0,"P\\Tests\\Unit\\ExampleTest::__pest_evaluable_array_operations":0}}
\ No newline at end of file
+{"version":"pest_4.7.3","defects":{"P\\Tests\\Feature\\AuthenticationTest::__pest_evaluable_users_can_authenticate_using_the_login_screen":8,"P\\Tests\\Feature\\AuthenticationTest::__pest_evaluable_users_can_not_authenticate_with_invalid_password":8,"P\\Tests\\Feature\\AuthenticationTest::__pest_evaluable_login_requires_csrf_token":8,"P\\Tests\\Feature\\AuthenticationTest::__pest_evaluable_login_requires_username":8,"P\\Tests\\Feature\\AuthenticationTest::__pest_evaluable_login_requires_password":8,"P\\Tests\\Feature\\AuthenticationTest::__pest_evaluable_login_with_non_existent_user_fails":8,"P\\Tests\\Feature\\AuthenticationTest::__pest_evaluable_authenticated_user_is_redirected_from_login_page":8,"P\\Tests\\Feature\\AuthenticationTest::__pest_evaluable_user_can_logout":8},"times":[]}
\ No newline at end of file
diff --git a/composer.lock b/composer.lock
index c73d877..9195359 100755
--- a/composer.lock
+++ b/composer.lock
@@ -1946,26 +1946,26 @@
},
{
"name": "guzzlehttp/guzzle",
- "version": "7.12.1",
+ "version": "7.12.3",
"source": {
"type": "git",
"url": "https://github.com/guzzle/guzzle.git",
- "reference": "d34627490fbc03bf5c5d7cfed81f2faa19519425"
+ "reference": "9aa17bcdd777ee31df9fc83c337ca4ca2340def3"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/guzzle/guzzle/zipball/d34627490fbc03bf5c5d7cfed81f2faa19519425",
- "reference": "d34627490fbc03bf5c5d7cfed81f2faa19519425",
+ "url": "https://api.github.com/repos/guzzle/guzzle/zipball/9aa17bcdd777ee31df9fc83c337ca4ca2340def3",
+ "reference": "9aa17bcdd777ee31df9fc83c337ca4ca2340def3",
"shasum": ""
},
"require": {
"ext-json": "*",
"guzzlehttp/promises": "^2.5",
- "guzzlehttp/psr7": "^2.12.1",
+ "guzzlehttp/psr7": "^2.12.3",
"php": "^7.2.5 || ^8.0",
"psr/http-client": "^1.0",
"symfony/deprecation-contracts": "^2.5 || ^3.0",
- "symfony/polyfill-php80": "^1.24"
+ "symfony/polyfill-php80": "^1.25"
},
"provide": {
"psr/http-client-implementation": "1.0"
@@ -2054,7 +2054,7 @@
],
"support": {
"issues": "https://github.com/guzzle/guzzle/issues",
- "source": "https://github.com/guzzle/guzzle/tree/7.12.1"
+ "source": "https://github.com/guzzle/guzzle/tree/7.12.3"
},
"funding": [
{
@@ -2070,7 +2070,7 @@
"type": "tidelift"
}
],
- "time": "2026-06-18T14:12:49+00:00"
+ "time": "2026-06-23T15:29:02+00:00"
},
{
"name": "guzzlehttp/promises",
@@ -2158,16 +2158,16 @@
},
{
"name": "guzzlehttp/psr7",
- "version": "2.12.1",
+ "version": "2.12.3",
"source": {
"type": "git",
"url": "https://github.com/guzzle/psr7.git",
- "reference": "172ef2f4e9824c1e058b7f30be8ae25a02c0f2b7"
+ "reference": "7ec62dc3f44aa218487dbed81a9bf9bc647be55d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/guzzle/psr7/zipball/172ef2f4e9824c1e058b7f30be8ae25a02c0f2b7",
- "reference": "172ef2f4e9824c1e058b7f30be8ae25a02c0f2b7",
+ "url": "https://api.github.com/repos/guzzle/psr7/zipball/7ec62dc3f44aa218487dbed81a9bf9bc647be55d",
+ "reference": "7ec62dc3f44aa218487dbed81a9bf9bc647be55d",
"shasum": ""
},
"require": {
@@ -2176,7 +2176,7 @@
"psr/http-message": "^1.1 || ^2.0",
"ralouphie/getallheaders": "^3.0",
"symfony/deprecation-contracts": "^2.5 || ^3.0",
- "symfony/polyfill-php80": "^1.24"
+ "symfony/polyfill-php80": "^1.25"
},
"provide": {
"psr/http-factory-implementation": "1.0",
@@ -2257,7 +2257,7 @@
],
"support": {
"issues": "https://github.com/guzzle/psr7/issues",
- "source": "https://github.com/guzzle/psr7/tree/2.12.1"
+ "source": "https://github.com/guzzle/psr7/tree/2.12.3"
},
"funding": [
{
@@ -2273,25 +2273,25 @@
"type": "tidelift"
}
],
- "time": "2026-06-18T09:49:37+00:00"
+ "time": "2026-06-23T15:21:08+00:00"
},
{
"name": "guzzlehttp/uri-template",
- "version": "v1.0.7",
+ "version": "v1.0.8",
"source": {
"type": "git",
"url": "https://github.com/guzzle/uri-template.git",
- "reference": "7fe811c23a9e3cd712b4389eaeb50b5456d8c529"
+ "reference": "9c19128923b05a5d7355e5d2318d7808b7e33bbd"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/guzzle/uri-template/zipball/7fe811c23a9e3cd712b4389eaeb50b5456d8c529",
- "reference": "7fe811c23a9e3cd712b4389eaeb50b5456d8c529",
+ "url": "https://api.github.com/repos/guzzle/uri-template/zipball/9c19128923b05a5d7355e5d2318d7808b7e33bbd",
+ "reference": "9c19128923b05a5d7355e5d2318d7808b7e33bbd",
"shasum": ""
},
"require": {
"php": "^7.2.5 || ^8.0",
- "symfony/polyfill-php80": "^1.24"
+ "symfony/polyfill-php80": "^1.25"
},
"require-dev": {
"bamarni/composer-bin-plugin": "^1.8.2",
@@ -2343,7 +2343,7 @@
],
"support": {
"issues": "https://github.com/guzzle/uri-template/issues",
- "source": "https://github.com/guzzle/uri-template/tree/v1.0.7"
+ "source": "https://github.com/guzzle/uri-template/tree/v1.0.8"
},
"funding": [
{
@@ -2359,7 +2359,7 @@
"type": "tidelift"
}
],
- "time": "2026-06-12T21:33:43+00:00"
+ "time": "2026-06-23T13:02:23+00:00"
},
{
"name": "inertiajs/inertia-laravel",
@@ -2651,20 +2651,20 @@
},
{
"name": "laravel/framework",
- "version": "v13.16.1",
+ "version": "v13.17.0",
"source": {
"type": "git",
"url": "https://github.com/laravel/framework.git",
- "reference": "6135650d69bd9442e470bb1b343422081b076f1e"
+ "reference": "0802b7a81f3252d78200b8037ac183a686a529f0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laravel/framework/zipball/6135650d69bd9442e470bb1b343422081b076f1e",
- "reference": "6135650d69bd9442e470bb1b343422081b076f1e",
+ "url": "https://api.github.com/repos/laravel/framework/zipball/0802b7a81f3252d78200b8037ac183a686a529f0",
+ "reference": "0802b7a81f3252d78200b8037ac183a686a529f0",
"shasum": ""
},
"require": {
- "brick/math": "^0.14.2 || ^0.15 || ^0.16 || ^0.17",
+ "brick/math": "^0.14.2 || ^0.15 || ^0.16 || ^0.17 || ^0.18",
"composer-runtime-api": "^2.2",
"doctrine/inflector": "^2.0.5",
"dragonmantank/cron-expression": "^3.4",
@@ -2871,7 +2871,7 @@
"issues": "https://github.com/laravel/framework/issues",
"source": "https://github.com/laravel/framework"
},
- "time": "2026-06-16T16:07:50+00:00"
+ "time": "2026-06-23T19:42:45+00:00"
},
{
"name": "laravel/octane",
@@ -3032,16 +3032,16 @@
},
{
"name": "laravel/prompts",
- "version": "v0.3.18",
+ "version": "v0.3.21",
"source": {
"type": "git",
"url": "https://github.com/laravel/prompts.git",
- "reference": "a19af51bb144bf87f08397921fa619f85c7d4e72"
+ "reference": "7753c65c281c2550c7c183f14e18062073b7d821"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laravel/prompts/zipball/a19af51bb144bf87f08397921fa619f85c7d4e72",
- "reference": "a19af51bb144bf87f08397921fa619f85c7d4e72",
+ "url": "https://api.github.com/repos/laravel/prompts/zipball/7753c65c281c2550c7c183f14e18062073b7d821",
+ "reference": "7753c65c281c2550c7c183f14e18062073b7d821",
"shasum": ""
},
"require": {
@@ -3085,9 +3085,9 @@
"description": "Add beautiful and user-friendly forms to your command-line applications.",
"support": {
"issues": "https://github.com/laravel/prompts/issues",
- "source": "https://github.com/laravel/prompts/tree/v0.3.18"
+ "source": "https://github.com/laravel/prompts/tree/v0.3.21"
},
- "time": "2026-05-19T00:47:18+00:00"
+ "time": "2026-06-26T00:11:25+00:00"
},
{
"name": "laravel/sanctum",
@@ -3636,16 +3636,16 @@
},
{
"name": "league/flysystem",
- "version": "3.34.0",
+ "version": "3.35.1",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/flysystem.git",
- "reference": "2daaac3b0d4c83ea7ed5d8586e786f5d00f3540e"
+ "reference": "f23af6c5aafd958a7593029a271d77baf5ed793c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/2daaac3b0d4c83ea7ed5d8586e786f5d00f3540e",
- "reference": "2daaac3b0d4c83ea7ed5d8586e786f5d00f3540e",
+ "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/f23af6c5aafd958a7593029a271d77baf5ed793c",
+ "reference": "f23af6c5aafd958a7593029a271d77baf5ed793c",
"shasum": ""
},
"require": {
@@ -3713,9 +3713,9 @@
],
"support": {
"issues": "https://github.com/thephpleague/flysystem/issues",
- "source": "https://github.com/thephpleague/flysystem/tree/3.34.0"
+ "source": "https://github.com/thephpleague/flysystem/tree/3.35.1"
},
- "time": "2026-05-14T10:28:08+00:00"
+ "time": "2026-06-25T06:52:23+00:00"
},
{
"name": "league/flysystem-local",
@@ -4166,16 +4166,16 @@
},
{
"name": "livewire/livewire",
- "version": "v4.3.1",
+ "version": "v4.3.2",
"source": {
"type": "git",
"url": "https://github.com/livewire/livewire.git",
- "reference": "6a9dd03f45a4b200abfd0ff644745b23fa7baaaa"
+ "reference": "4ac7f483a4e9779297826c431b5f49ea8f24cbad"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/livewire/livewire/zipball/6a9dd03f45a4b200abfd0ff644745b23fa7baaaa",
- "reference": "6a9dd03f45a4b200abfd0ff644745b23fa7baaaa",
+ "url": "https://api.github.com/repos/livewire/livewire/zipball/4ac7f483a4e9779297826c431b5f49ea8f24cbad",
+ "reference": "4ac7f483a4e9779297826c431b5f49ea8f24cbad",
"shasum": ""
},
"require": {
@@ -4230,7 +4230,7 @@
"description": "A front-end framework for Laravel.",
"support": {
"issues": "https://github.com/livewire/livewire/issues",
- "source": "https://github.com/livewire/livewire/tree/v4.3.1"
+ "source": "https://github.com/livewire/livewire/tree/v4.3.2"
},
"funding": [
{
@@ -4238,7 +4238,7 @@
"type": "github"
}
],
- "time": "2026-06-02T08:58:52+00:00"
+ "time": "2026-06-26T11:39:23+00:00"
},
{
"name": "monolog/monolog",
@@ -12546,16 +12546,16 @@
},
{
"name": "laravel/mcp",
- "version": "v0.8.1",
+ "version": "v0.8.2",
"source": {
"type": "git",
"url": "https://github.com/laravel/mcp.git",
- "reference": "fdc39c9e21048801508765cb4d72bd9e8501b51f"
+ "reference": "0c32bf369c6432cab21458f9f4479da33a49ba37"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laravel/mcp/zipball/fdc39c9e21048801508765cb4d72bd9e8501b51f",
- "reference": "fdc39c9e21048801508765cb4d72bd9e8501b51f",
+ "url": "https://api.github.com/repos/laravel/mcp/zipball/0c32bf369c6432cab21458f9f4479da33a49ba37",
+ "reference": "0c32bf369c6432cab21458f9f4479da33a49ba37",
"shasum": ""
},
"require": {
@@ -12616,7 +12616,7 @@
"issues": "https://github.com/laravel/mcp/issues",
"source": "https://github.com/laravel/mcp"
},
- "time": "2026-06-11T13:59:49+00:00"
+ "time": "2026-06-25T14:00:45+00:00"
},
{
"name": "laravel/pint",
@@ -12749,16 +12749,16 @@
},
{
"name": "laravel/sail",
- "version": "v1.62.0",
+ "version": "v1.63.0",
"source": {
"type": "git",
"url": "https://github.com/laravel/sail.git",
- "reference": "3aaeefc979f8ba6586fbc5b6e0b1b3638058f98e"
+ "reference": "51bbce3f803c1d386cabbb44e618c955a12ff5fc"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laravel/sail/zipball/3aaeefc979f8ba6586fbc5b6e0b1b3638058f98e",
- "reference": "3aaeefc979f8ba6586fbc5b6e0b1b3638058f98e",
+ "url": "https://api.github.com/repos/laravel/sail/zipball/51bbce3f803c1d386cabbb44e618c955a12ff5fc",
+ "reference": "51bbce3f803c1d386cabbb44e618c955a12ff5fc",
"shasum": ""
},
"require": {
@@ -12808,7 +12808,7 @@
"issues": "https://github.com/laravel/sail/issues",
"source": "https://github.com/laravel/sail"
},
- "time": "2026-05-27T04:02:01+00:00"
+ "time": "2026-06-18T08:54:14+00:00"
},
{
"name": "myclabs/deep-copy",
@@ -12968,16 +12968,16 @@
},
{
"name": "pestphp/pest",
- "version": "v4.7.3",
+ "version": "v4.7.4",
"source": {
"type": "git",
"url": "https://github.com/pestphp/pest.git",
- "reference": "87882a8561bf3ddf230b9a6b764f367f687d5b2f"
+ "reference": "ee2e97e932d158faceeaa63a4dc17324b15152cb"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/pestphp/pest/zipball/87882a8561bf3ddf230b9a6b764f367f687d5b2f",
- "reference": "87882a8561bf3ddf230b9a6b764f367f687d5b2f",
+ "url": "https://api.github.com/repos/pestphp/pest/zipball/ee2e97e932d158faceeaa63a4dc17324b15152cb",
+ "reference": "ee2e97e932d158faceeaa63a4dc17324b15152cb",
"shasum": ""
},
"require": {
@@ -12990,12 +12990,12 @@
"pestphp/pest-plugin-mutate": "^4.0.1",
"pestphp/pest-plugin-profanity": "^4.2.1",
"php": "^8.3.0",
- "phpunit/phpunit": "^12.5.29",
+ "phpunit/phpunit": "^12.5.30",
"symfony/process": "^7.4.13|^8.1.0"
},
"conflict": {
"filp/whoops": "<2.18.3",
- "phpunit/phpunit": ">12.5.29",
+ "phpunit/phpunit": ">12.5.30",
"sebastian/exporter": "<7.0.0",
"webmozart/assert": "<1.11.0"
},
@@ -13071,7 +13071,7 @@
],
"support": {
"issues": "https://github.com/pestphp/pest/issues",
- "source": "https://github.com/pestphp/pest/tree/v4.7.3"
+ "source": "https://github.com/pestphp/pest/tree/v4.7.4"
},
"funding": [
{
@@ -13083,7 +13083,7 @@
"type": "github"
}
],
- "time": "2026-06-12T05:57:27+00:00"
+ "time": "2026-06-25T19:09:05+00:00"
},
{
"name": "pestphp/pest-plugin",
@@ -13886,16 +13886,16 @@
},
{
"name": "phpunit/phpunit",
- "version": "12.5.29",
+ "version": "12.5.30",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
- "reference": "9aa66a47db3ea70f1a468e66dd969f67e594945a"
+ "reference": "900400a5b616d6fb306f9549f6da33ba615d3fbb"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/9aa66a47db3ea70f1a468e66dd969f67e594945a",
- "reference": "9aa66a47db3ea70f1a468e66dd969f67e594945a",
+ "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/900400a5b616d6fb306f9549f6da33ba615d3fbb",
+ "reference": "900400a5b616d6fb306f9549f6da33ba615d3fbb",
"shasum": ""
},
"require": {
@@ -13964,7 +13964,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/phpunit/issues",
"security": "https://github.com/sebastianbergmann/phpunit/security/policy",
- "source": "https://github.com/sebastianbergmann/phpunit/tree/12.5.29"
+ "source": "https://github.com/sebastianbergmann/phpunit/tree/12.5.30"
},
"funding": [
{
@@ -13972,20 +13972,20 @@
"type": "other"
}
],
- "time": "2026-06-04T06:14:42+00:00"
+ "time": "2026-06-15T13:12:30+00:00"
},
{
"name": "rector/rector",
- "version": "2.4.6",
+ "version": "2.5.2",
"source": {
"type": "git",
"url": "https://github.com/rectorphp/rector.git",
- "reference": "9b9e5c76618e4d359f65b54ca2eabcad3d1761ee"
+ "reference": "49ff6339174bdbdf50b0b35ecbcff14a05ac9e24"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/rectorphp/rector/zipball/9b9e5c76618e4d359f65b54ca2eabcad3d1761ee",
- "reference": "9b9e5c76618e4d359f65b54ca2eabcad3d1761ee",
+ "url": "https://api.github.com/repos/rectorphp/rector/zipball/49ff6339174bdbdf50b0b35ecbcff14a05ac9e24",
+ "reference": "49ff6339174bdbdf50b0b35ecbcff14a05ac9e24",
"shasum": ""
},
"require": {
@@ -14024,7 +14024,7 @@
],
"support": {
"issues": "https://github.com/rectorphp/rector/issues",
- "source": "https://github.com/rectorphp/rector/tree/2.4.6"
+ "source": "https://github.com/rectorphp/rector/tree/2.5.2"
},
"funding": [
{
@@ -14032,7 +14032,7 @@
"type": "github"
}
],
- "time": "2026-06-17T11:56:28+00:00"
+ "time": "2026-06-22T11:39:33+00:00"
},
{
"name": "sebastian/cli-parser",
diff --git a/config/habbo.php b/config/habbo.php
index 029a137..88fae63 100755
--- a/config/habbo.php
+++ b/config/habbo.php
@@ -77,6 +77,11 @@ return [
'jquery_js' => env('JQUERY_JS_URL', 'https://cdnjs.cloudflare.com/ajax/libs/jquery/3.7.1/jquery.min.js'),
'jquery_ui_js' => env('JQUERY_UI_JS_URL', 'https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.14.1/jquery-ui.min.js'),
'swfobject_js' => env('SWFOBJECT_JS_URL', 'https://cdnjs.cloudflare.com/ajax/libs/swfobject/2.2/swfobject.js'),
+ 'lodash_js' => env('LODASH_JS_URL', 'https://cdn.jsdelivr.net/npm/lodash@4.18.1/lodash.min.js'),
+ 'axios_js' => env('AXIOS_JS_URL', 'https://cdn.jsdelivr.net/npm/axios@1.18.1/dist/axios.min.js'),
+ 'turbolinks_js' => env('TURBOLINKS_JS_URL', 'https://cdn.jsdelivr.net/npm/turbolinks@5.2.0/dist/turbolinks.js'),
+ 'swiper_js' => env('SWIPER_JS_URL', 'https://cdn.jsdelivr.net/npm/swiper@12.2.0/swiper-bundle.min.js'),
+ 'swiper_css' => env('SWIPER_CSS_URL', 'https://cdn.jsdelivr.net/npm/swiper@12.2.0/swiper-bundle.min.css'),
],
'findretros' => [
diff --git a/public/build/manifest.json b/public/build/manifest.json
index 1e15ea2..5ed342d 100644
--- a/public/build/manifest.json
+++ b/public/build/manifest.json
@@ -1,15 +1,4 @@
{
- "_axios-Bb9VWCvi.js": {
- "file": "assets/axios-Bb9VWCvi.js",
- "name": "axios",
- "imports": [
- "_chunk-QTnfLwEv.js"
- ]
- },
- "_chunk-QTnfLwEv.js": {
- "file": "assets/chunk-QTnfLwEv.js",
- "name": "chunk"
- },
"public/assets/images/background-dark.jpg": {
"file": "assets/background-dark-BfkMu3-0.jpg",
"src": "public/assets/images/background-dark.jpg"
@@ -111,7 +100,7 @@
"src": "public/assets/images/profile/profile-bg.png"
},
"resources/css/global.css": {
- "file": "assets/global-D3hwr7UE.css",
+ "file": "assets/global-CLsqTvoO.css",
"name": "global",
"names": [
"global.css"
@@ -147,26 +136,19 @@
]
},
"resources/js/global.js": {
- "file": "assets/global-r22-sRCc.js",
+ "file": "assets/global-BmCW571b.js",
"name": "global",
"src": "resources/js/global.js",
- "isEntry": true,
- "imports": [
- "_chunk-QTnfLwEv.js",
- "_axios-Bb9VWCvi.js"
- ]
+ "isEntry": true
},
"resources/js/ssr.jsx": {
- "file": "assets/ssr-DdmZbD73.js",
+ "file": "assets/ssr-DMDBKmwi.js",
"name": "ssr",
"src": "resources/js/ssr.jsx",
- "isEntry": true,
- "imports": [
- "_chunk-QTnfLwEv.js"
- ]
+ "isEntry": true
},
"resources/themes/atom/css/app.css": {
- "file": "assets/app-BXjZsuSm.css",
+ "file": "assets/app-CnWrzlz2.css",
"name": "app",
"names": [
"app.css"
@@ -202,16 +184,9 @@
]
},
"resources/themes/atom/js/app.js": {
- "file": "assets/app-CAkt-7PZ.js",
+ "file": "assets/app-DC4cfmZe.js",
"name": "app",
"src": "resources/themes/atom/js/app.js",
- "isEntry": true,
- "imports": [
- "_chunk-QTnfLwEv.js",
- "_axios-Bb9VWCvi.js"
- ],
- "css": [
- "assets/app-CeYfhhVD.css"
- ]
+ "isEntry": true
}
}
\ No newline at end of file
diff --git a/resources/js/bootstrap.js b/resources/js/bootstrap.js
index 34478d4..17b5cc6 100755
--- a/resources/js/bootstrap.js
+++ b/resources/js/bootstrap.js
@@ -1,15 +1,3 @@
-import _ from "lodash";
-window._ = _;
-
-/**
- * We'll load the axios HTTP library which allows us to easily issue requests
- * to our Laravel back-end. This library automatically handles sending the
- * CSRF token as a header based on the value of the "XSRF" token cookie.
- */
-
-import axios from "axios";
-window.axios = axios;
-
window.axios.defaults.headers.common["X-Requested-With"] = "XMLHttpRequest";
/**
diff --git a/resources/themes/atom/js/app.js b/resources/themes/atom/js/app.js
index 46cd354..9c6263c 100755
--- a/resources/themes/atom/js/app.js
+++ b/resources/themes/atom/js/app.js
@@ -1,12 +1,6 @@
import "./bootstrap";
import "./external/flowbite";
-import "swiper/css";
-import "swiper/css/pagination";
-
-import Alpine from "alpinejs";
-import Focus from "@alpinejs/focus";
-
import ArticleReactions from "./components/ArticleReactions.js";
import ThemeSwitcher from "./components/ThemeSwitcher.js";
@@ -15,8 +9,8 @@ import AtomSliders from "./components/AtomSliders.js";
ThemeSwitcher.init();
ArticleReactions.init();
AtomSliders.init();
-Alpine.plugin(Focus);
-Alpine.start();
+window.Alpine.plugin(window.AlpineFocus);
+window.Alpine.start();
console.log(
"%cAtom CMS%c\n\nAtom CMS is a CMS for made for the community to enjoy. You can join our wonderful community at https://discord.gg/rX3aShUHdg\n\n",
diff --git a/resources/themes/atom/js/bootstrap.js b/resources/themes/atom/js/bootstrap.js
index 25ba4f6..a0b89cc 100755
--- a/resources/themes/atom/js/bootstrap.js
+++ b/resources/themes/atom/js/bootstrap.js
@@ -4,13 +4,9 @@
* CSRF token as a header based on the value of the "XSRF" token cookie.
*/
-import axios from "axios";
-import Turbolinks from "turbolinks";
-
-window.axios = axios;
window.axios.defaults.headers.common["X-Requested-With"] = "XMLHttpRequest";
-Turbolinks.start();
+window.Turbolinks.start();
/**
* Echo exposes an expressive API for subscribing to channels and listening
diff --git a/resources/themes/atom/js/components/ArticleReactions.js b/resources/themes/atom/js/components/ArticleReactions.js
index 9163877..4fffbdd 100755
--- a/resources/themes/atom/js/components/ArticleReactions.js
+++ b/resources/themes/atom/js/components/ArticleReactions.js
@@ -1,12 +1,10 @@
-import Alpine from "alpinejs";
-
const ArticleReactions = {
init() {
document.addEventListener("alpine:init", () => this.startComponent());
},
startComponent() {
- Alpine.data(
+ window.Alpine.data(
"reactions",
(myReactions = [], articleReactions = [], url = "") => ({
url,
diff --git a/resources/themes/atom/js/components/AtomSliders.js b/resources/themes/atom/js/components/AtomSliders.js
index afbf1fc..05975ff 100755
--- a/resources/themes/atom/js/components/AtomSliders.js
+++ b/resources/themes/atom/js/components/AtomSliders.js
@@ -1,5 +1,3 @@
-import Swiper from "swiper";
-
const AtomSliders = {
init() {
document.addEventListener("turbolinks:load", () => {
@@ -10,7 +8,7 @@ const AtomSliders = {
initArticleSlider() {
if (!document.querySelector(".article-slider")) return;
- new Swiper(".articles-slider", {
+ new window.Swiper(".articles-slider", {
modules: [],
slidesPerView: 1,
loop: true,
diff --git a/resources/themes/atom/views/client/nitro.blade.php b/resources/themes/atom/views/client/nitro.blade.php
index bc3d232..6b35dce 100755
--- a/resources/themes/atom/views/client/nitro.blade.php
+++ b/resources/themes/atom/views/client/nitro.blade.php
@@ -9,6 +9,13 @@
+
+
+
+
+
+
+
@vite(['resources/themes/' . setting('theme') . '/css/app.css', 'resources/themes/' . setting('theme') . '/js/app.js'], 'build')