diff --git a/.claude/settings.local.json b/.claude/settings.local.json new file mode 100644 index 0000000..73ebce0 --- /dev/null +++ b/.claude/settings.local.json @@ -0,0 +1,18 @@ +{ + "permissions": { + "allow": [ + "Bash(php artisan test:*)", + "Bash(php artisan:*)", + "Bash(./vendor/bin/phpunit:*)", + "Bash(cat:*)", + "Bash(npm run build:*)", + "WebFetch(domain:dev-tools.online)", + "WebSearch", + "Bash(curl:*)", + "Bash(git add:*)", + "Bash(git cherry-pick:*)" + ], + "deny": [], + "ask": [] + } +} diff --git a/.editorconfig b/.editorconfig deleted file mode 100644 index a186cd2..0000000 --- a/.editorconfig +++ /dev/null @@ -1,18 +0,0 @@ -root = true - -[*] -charset = utf-8 -end_of_line = lf -indent_size = 4 -indent_style = space -insert_final_newline = true -trim_trailing_whitespace = true - -[*.md] -trim_trailing_whitespace = false - -[*.{yml,yaml}] -indent_size = 2 - -[compose.yaml] -indent_size = 4 diff --git a/CHANGELOG.md b/CHANGELOG.md index 0566d58..4a98f09 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,12 +5,6 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## [1.2.1] - 2025-12-15 - -### Fixed - -- Code Editor: Fix PHP parse error when loading the page (` 'tools.diff', 'icon' => 'diff', ], - [ - 'name' => 'Sort Lines', - 'description' => 'Sort, deduplicate, reverse, and shuffle lines', - 'route' => 'tools.sort-lines', - 'icon' => 'sort', - ], ]; return view('home', compact('tools')); @@ -272,9 +266,4 @@ public function diff(): View { return view('tools.diff'); } - - public function sortLines(): View - { - return view('tools.sort-lines'); - } } diff --git a/resources/views/home.blade.php b/resources/views/home.blade.php index 972ddb3..4e1851a 100644 --- a/resources/views/home.blade.php +++ b/resources/views/home.blade.php @@ -151,11 +151,6 @@ @break - @case('sort') - - - - @break @endswitch
diff --git a/resources/views/layouts/app.blade.php b/resources/views/layouts/app.blade.php index 0238e01..ca2ea7e 100644 --- a/resources/views/layouts/app.blade.php +++ b/resources/views/layouts/app.blade.php @@ -126,7 +126,7 @@ class="absolute top-1 w-6 h-6 rounded-full shadow-lg transition-all duration-500 About Privacy GitHub - v1.2.1 + v1.2.0
diff --git a/resources/views/tools/code-editor.blade.php b/resources/views/tools/code-editor.blade.php index 09699b4..731ebfa 100644 --- a/resources/views/tools/code-editor.blade.php +++ b/resources/views/tools/code-editor.blade.php @@ -575,7 +575,7 @@ function getDefaultContent(language) { case 'css': return '/* Styles */\n'; case 'javascript': return '// JavaScript\n'; case 'json': return '{\n \n}'; - case 'php': return '<' + '?php\n\n'; + case 'php': return 'name('jwt'); Route::get('/timestamp', [ToolController::class, 'timestamp'])->name('timestamp'); Route::get('/diff', [ToolController::class, 'diff'])->name('diff'); - Route::get('/sort-lines', [ToolController::class, 'sortLines'])->name('sort-lines'); }); // Static Pages @@ -63,7 +62,6 @@ ['loc' => route('tools.jwt'), 'priority' => '0.8', 'changefreq' => 'monthly'], ['loc' => route('tools.timestamp'), 'priority' => '0.8', 'changefreq' => 'monthly'], ['loc' => route('tools.diff'), 'priority' => '0.8', 'changefreq' => 'monthly'], - ['loc' => route('tools.sort-lines'), 'priority' => '0.8', 'changefreq' => 'monthly'], ['loc' => route('about'), 'priority' => '0.5', 'changefreq' => 'monthly'], ['loc' => route('privacy'), 'priority' => '0.3', 'changefreq' => 'yearly'], ]; diff --git a/tests/Feature/ExampleTest.php b/tests/Feature/ExampleTest.php deleted file mode 100644 index 8364a84..0000000 --- a/tests/Feature/ExampleTest.php +++ /dev/null @@ -1,19 +0,0 @@ -get('/'); - - $response->assertStatus(200); - } -} diff --git a/tests/Feature/WebRoutesTest.php b/tests/Feature/WebRoutesTest.php index b4c1203..d99e52e 100644 --- a/tests/Feature/WebRoutesTest.php +++ b/tests/Feature/WebRoutesTest.php @@ -41,7 +41,6 @@ public function test_home_page_displays_all_tools(): void $response->assertSee('JWT Decoder'); $response->assertSee('Timestamp Converter'); $response->assertSee('Diff Checker'); - $response->assertSee('Sort Lines'); } public function test_home_page_has_tool_links(): void @@ -71,7 +70,6 @@ public function test_home_page_has_tool_links(): void $response->assertSee('href="' . route('tools.jwt') . '"', false); $response->assertSee('href="' . route('tools.timestamp') . '"', false); $response->assertSee('href="' . route('tools.diff') . '"', false); - $response->assertSee('href="' . route('tools.sort-lines') . '"', false); } public function test_csv_tool_page_loads(): void @@ -518,30 +516,9 @@ public function test_diff_tool_has_required_elements(): void $response->assertSee('Compare'); } - public function test_sort_lines_page_loads(): void - { - $response = $this->get('/tools/sort-lines'); - - $response->assertStatus(200); - $response->assertSee('Sort Lines'); - $response->assertSee('Sort, deduplicate, reverse, and shuffle text lines'); - } - - public function test_sort_lines_has_required_elements(): void - { - $response = $this->get('/tools/sort-lines'); - - $response->assertStatus(200); - $response->assertSee('Input Text'); - $response->assertSee('Sort Options'); - $response->assertSee('Sort A-Z'); - $response->assertSee('Remove Duplicates'); - $response->assertSee('Shuffle'); - } - public function test_all_pages_have_navigation(): void { - $pages = ['/', '/tools/csv', '/tools/yaml', '/tools/markdown', '/tools/sql', '/tools/base64', '/tools/uuid', '/tools/hash', '/tools/url', '/tools/code-editor', '/tools/regex', '/tools/base-converter', '/tools/slug-generator', '/tools/color-picker', '/tools/qr-code', '/tools/html-entity', '/tools/text-case', '/tools/password', '/tools/lorem', '/tools/cron', '/tools/jwt', '/tools/timestamp', '/tools/diff', '/tools/sort-lines']; + $pages = ['/', '/tools/csv', '/tools/yaml', '/tools/markdown', '/tools/sql', '/tools/base64', '/tools/uuid', '/tools/hash', '/tools/url', '/tools/code-editor', '/tools/regex', '/tools/base-converter', '/tools/slug-generator', '/tools/color-picker', '/tools/qr-code', '/tools/html-entity', '/tools/text-case', '/tools/password', '/tools/lorem', '/tools/cron', '/tools/jwt', '/tools/timestamp', '/tools/diff']; foreach ($pages as $page) { $response = $this->get($page); @@ -553,7 +530,7 @@ public function test_all_pages_have_navigation(): void public function test_all_pages_have_theme_toggle(): void { - $pages = ['/', '/tools/csv', '/tools/yaml', '/tools/markdown', '/tools/sql', '/tools/base64', '/tools/uuid', '/tools/hash', '/tools/url', '/tools/code-editor', '/tools/regex', '/tools/base-converter', '/tools/slug-generator', '/tools/color-picker', '/tools/qr-code', '/tools/html-entity', '/tools/text-case', '/tools/password', '/tools/lorem', '/tools/cron', '/tools/jwt', '/tools/timestamp', '/tools/diff', '/tools/sort-lines']; + $pages = ['/', '/tools/csv', '/tools/yaml', '/tools/markdown', '/tools/sql', '/tools/base64', '/tools/uuid', '/tools/hash', '/tools/url', '/tools/code-editor', '/tools/regex', '/tools/base-converter', '/tools/slug-generator', '/tools/color-picker', '/tools/qr-code', '/tools/html-entity', '/tools/text-case', '/tools/password', '/tools/lorem', '/tools/cron', '/tools/jwt', '/tools/timestamp', '/tools/diff']; foreach ($pages as $page) { $response = $this->get($page); @@ -566,7 +543,7 @@ public function test_all_pages_have_theme_toggle(): void public function test_all_pages_load_vite_assets(): void { // Code editor uses standalone template without Vite - $pages = ['/', '/tools/csv', '/tools/yaml', '/tools/markdown', '/tools/sql', '/tools/base64', '/tools/uuid', '/tools/hash', '/tools/url', '/tools/regex', '/tools/base-converter', '/tools/slug-generator', '/tools/color-picker', '/tools/qr-code', '/tools/html-entity', '/tools/text-case', '/tools/password', '/tools/lorem', '/tools/cron', '/tools/jwt', '/tools/timestamp', '/tools/diff', '/tools/sort-lines']; + $pages = ['/', '/tools/csv', '/tools/yaml', '/tools/markdown', '/tools/sql', '/tools/base64', '/tools/uuid', '/tools/hash', '/tools/url', '/tools/regex', '/tools/base-converter', '/tools/slug-generator', '/tools/color-picker', '/tools/qr-code', '/tools/html-entity', '/tools/text-case', '/tools/password', '/tools/lorem', '/tools/cron', '/tools/jwt', '/tools/timestamp', '/tools/diff']; foreach ($pages as $page) { $response = $this->get($page); @@ -579,7 +556,7 @@ public function test_all_pages_load_vite_assets(): void public function test_all_tool_pages_have_back_link(): void { // Code editor uses standalone template with home link instead of back - $toolPages = ['/tools/csv', '/tools/yaml', '/tools/markdown', '/tools/sql', '/tools/base64', '/tools/uuid', '/tools/hash', '/tools/url', '/tools/regex', '/tools/base-converter', '/tools/slug-generator', '/tools/color-picker', '/tools/qr-code', '/tools/html-entity', '/tools/text-case', '/tools/password', '/tools/lorem', '/tools/cron', '/tools/jwt', '/tools/timestamp', '/tools/diff', '/tools/sort-lines']; + $toolPages = ['/tools/csv', '/tools/yaml', '/tools/markdown', '/tools/sql', '/tools/base64', '/tools/uuid', '/tools/hash', '/tools/url', '/tools/regex', '/tools/base-converter', '/tools/slug-generator', '/tools/color-picker', '/tools/qr-code', '/tools/html-entity', '/tools/text-case', '/tools/password', '/tools/lorem', '/tools/cron', '/tools/jwt', '/tools/timestamp', '/tools/diff']; foreach ($toolPages as $page) { $response = $this->get($page); @@ -632,7 +609,7 @@ public function test_api_routes_reject_get_requests(): void public function test_pages_have_csrf_token(): void { - $pages = ['/tools/csv', '/tools/yaml', '/tools/markdown', '/tools/sql', '/tools/base64', '/tools/uuid', '/tools/hash', '/tools/url', '/tools/code-editor', '/tools/regex', '/tools/base-converter', '/tools/slug-generator', '/tools/color-picker', '/tools/qr-code', '/tools/html-entity', '/tools/text-case', '/tools/password', '/tools/lorem', '/tools/cron', '/tools/jwt', '/tools/timestamp', '/tools/diff', '/tools/sort-lines']; + $pages = ['/tools/csv', '/tools/yaml', '/tools/markdown', '/tools/sql', '/tools/base64', '/tools/uuid', '/tools/hash', '/tools/url', '/tools/code-editor', '/tools/regex', '/tools/base-converter', '/tools/slug-generator', '/tools/color-picker', '/tools/qr-code', '/tools/html-entity', '/tools/text-case', '/tools/password', '/tools/lorem', '/tools/cron', '/tools/jwt', '/tools/timestamp', '/tools/diff']; foreach ($pages as $page) { $response = $this->get($page); diff --git a/tests/Unit/ExampleTest.php b/tests/Unit/ExampleTest.php deleted file mode 100644 index 5773b0c..0000000 --- a/tests/Unit/ExampleTest.php +++ /dev/null @@ -1,16 +0,0 @@ -assertTrue(true); - } -}