diff --git a/AGENTS.md b/AGENTS.md deleted file mode 100644 index a5325d82..00000000 --- a/AGENTS.md +++ /dev/null @@ -1,198 +0,0 @@ - -=== foundation rules === - -# Laravel Boost Guidelines - -The Laravel Boost guidelines are specifically curated by Laravel maintainers for this application. These guidelines should be followed closely to ensure the best experience when building Laravel applications. - -## Foundational Context - -This application is a Laravel application and its main Laravel ecosystems package & versions are below. You are an expert with them all. Ensure you abide by these specific packages & versions. - -- php - 8.3 -- filament/filament (FILAMENT) - v5 -- laravel/breeze (BREEZE) - v2 -- laravel/fortify (FORTIFY) - v1 -- laravel/framework (LARAVEL) - v13 -- laravel/horizon (HORIZON) - v5 -- laravel/octane (OCTANE) - v2 -- laravel/prompts (PROMPTS) - v0 -- livewire/flux (FLUXUI_FREE) - v2 -- livewire/livewire (LIVEWIRE) - v4 -- laravel/boost (BOOST) - v2 -- laravel/mcp (MCP) - v0 -- laravel/pail (PAIL) - v1 -- laravel/pint (PINT) - v1 -- laravel/sail (SAIL) - v1 -- phpunit/phpunit (PHPUNIT) - v12 -- tailwindcss (TAILWINDCSS) - v4 - -## Skills Activation - -This project has domain-specific skills available in `**/skills/**`. You MUST activate the relevant skill whenever you work in that domain—don't wait until you're stuck. - -## Conventions - -- You must follow all existing code conventions used in this application. When creating or editing a file, check sibling files for the correct structure, approach, and naming. -- Use descriptive names for variables and methods. For example, `isRegisteredForDiscounts`, not `discount()`. -- Check for existing components to reuse before writing a new one. - -## Verification Scripts - -- Do not create verification scripts or tinker when tests cover that functionality and prove they work. Unit and feature tests are more important. - -## Application Structure & Architecture - -- Stick to existing directory structure; don't create new base folders without approval. -- Do not change the application's dependencies without approval. - -## Frontend Bundling - -- If the user doesn't see a frontend change reflected in the UI, it could mean they need to run `npm run build`, `npm run dev`, or `composer run dev`. Ask them. - -## Documentation Files - -- You must only create documentation files if explicitly requested by the user. - -## Replies - -- Be concise in your explanations - focus on what's important rather than explaining obvious details. - -=== boost rules === - -# Laravel Boost - -## Tools - -- Laravel Boost is an MCP server with tools designed specifically for this application. Prefer Boost tools over manual alternatives like shell commands or file reads. -- Use `database-query` to run read-only queries against the database instead of writing raw SQL in tinker. -- Use `database-schema` to inspect table structure before writing migrations or models. -- Use `get-absolute-url` to resolve the correct scheme, domain, and port for project URLs. Always use this before sharing a URL with the user. -- Use `browser-logs` to read browser logs, errors, and exceptions. Only recent logs are useful, ignore old entries. - -## Searching Documentation (IMPORTANT) - -- Always use `search-docs` before making code changes. Do not skip this step. It returns version-specific docs based on installed packages automatically. -- Pass a `packages` array to scope results when you know which packages are relevant. -- Use multiple broad, topic-based queries: `['rate limiting', 'routing rate limiting', 'routing']`. Expect the most relevant results first. -- Do not add package names to queries because package info is already shared. Use `test resource table`, not `filament 4 test resource table`. - -### Search Syntax - -1. Use words for auto-stemmed AND logic: `rate limit` matches both "rate" AND "limit". -2. Use `"quoted phrases"` for exact position matching: `"infinite scroll"` requires adjacent words in order. -3. Combine words and phrases for mixed queries: `middleware "rate limit"`. -4. Use multiple queries for OR logic: `queries=["authentication", "middleware"]`. - -## Artisan - -- Run Artisan commands directly via the command line (e.g., `php artisan route:list`). Use `php artisan list` to discover available commands and `php artisan [command] --help` to check parameters. -- Inspect routes with `php artisan route:list`. Filter with: `--method=GET`, `--name=users`, `--path=api`, `--except-vendor`, `--only-vendor`. -- Read configuration values using dot notation: `php artisan config:show app.name`, `php artisan config:show database.default`. Or read config files directly from the `config/` directory. - -## Tinker - -- Execute PHP in app context for debugging and testing code. Do not create models without user approval, prefer tests with factories instead. Prefer existing Artisan commands over custom tinker code. -- Always use single quotes to prevent shell expansion: `php artisan tinker --execute 'Your::code();'` - - Double quotes for PHP strings inside: `php artisan tinker --execute 'User::where("active", true)->count();'` - -=== php rules === - -# PHP - -- Always use curly braces for control structures, even for single-line bodies. -- Use PHP 8 constructor property promotion: `public function __construct(public GitHub $github) { }`. Do not leave empty zero-parameter `__construct()` methods unless the constructor is private. -- Use explicit return type declarations and type hints for all method parameters: `function isAccessible(User $user, ?string $path = null): bool` -- Use TitleCase for Enum keys: `FavoritePerson`, `BestLake`, `Monthly`. -- Prefer PHPDoc blocks over inline comments. Only add inline comments for exceptionally complex logic. -- Use array shape type definitions in PHPDoc blocks. - -=== deployments rules === - -# Deployment - -- Laravel can be deployed using [Laravel Cloud](https://cloud.laravel.com/), which is the fastest way to deploy and scale production Laravel applications. - -=== tests rules === - -# Test Enforcement - -- Every change must be programmatically tested. Write a new test or update an existing test, then run the affected tests to make sure they pass. -- Run the minimum number of tests needed to ensure code quality and speed. Use `php artisan test --compact` with a specific filename or filter. - -=== laravel/core rules === - -# Do Things the Laravel Way - -- Use `php artisan make:` commands to create new files (i.e. migrations, controllers, models, etc.). You can list available Artisan commands using `php artisan list` and check their parameters with `php artisan [command] --help`. -- If you're creating a generic PHP class, use `php artisan make:class`. -- Pass `--no-interaction` to all Artisan commands to ensure they work without user input. You should also pass the correct `--options` to ensure correct behavior. - -### Model Creation - -- When creating new models, create useful factories and seeders for them too. Ask the user if they need any other things, using `php artisan make:model --help` to check the available options. - -## APIs & Eloquent Resources - -- For APIs, default to using Eloquent API Resources and API versioning unless existing API routes do not, then you should follow existing application convention. - -## URL Generation - -- When generating links to other pages, prefer named routes and the `route()` function. - -## Testing - -- When creating models for tests, use the factories for the models. Check if the factory has custom states that can be used before manually setting up the model. -- Faker: Use methods such as `$this->faker->word()` or `fake()->randomDigit()`. Follow existing conventions whether to use `$this->faker` or `fake()`. -- When creating tests, make use of `php artisan make:test [options] {name}` to create a feature test, and pass `--unit` to create a unit test. Most tests should be feature tests. - -## Vite Error - -- If you receive an "Illuminate\Foundation\ViteException: Unable to locate file in Vite manifest" error, you can run `npm run build` or ask the user to run `npm run dev` or `composer run dev`. - -=== octane/core rules === - -# Laravel Octane - -This application uses Laravel Octane, a long-running PHP server. The application bootstraps once and handles many requests within the same process. - -- Never store request-specific state in singletons or static properties, because it can leak across requests. -- Use `config('octane.server')` to detect the active driver (`swoole`, `roadrunner`, or `frankenphp`). -- Prefer scoped bindings (`$this->app->scoped()`) over singletons for per-request services. - -When working on Octane-specific features (concurrency, shared tables, memory, driver configuration, testing), invoke `octane-development` for detailed rules. - -=== livewire/core rules === - -# Livewire - -- Livewire allow to build dynamic, reactive interfaces in PHP without writing JavaScript. -- You can use Alpine.js for client-side interactions instead of JavaScript frameworks. -- Keep state server-side so the UI reflects it. Validate and authorize in actions as you would in HTTP requests. - -=== pint/core rules === - -# Laravel Pint Code Formatter - -- If you have modified any PHP files, you must run `vendor/bin/pint --dirty --format agent` before finalizing changes to ensure your code matches the project's expected style. -- Do not run `vendor/bin/pint --test --format agent`, simply run `vendor/bin/pint --format agent` to fix any formatting issues. - -=== phpunit/core rules === - -# PHPUnit - -- This application uses PHPUnit for testing. All tests must be written as PHPUnit classes. Use `php artisan make:test --phpunit {name}` to create a new test. -- If you see a test using "Pest", convert it to PHPUnit. -- Every time a test has been updated, run that singular test. -- When the tests relating to your feature are passing, ask the user if they would like to also run the entire test suite to make sure everything is still passing. -- Tests should cover all happy paths, failure paths, and edge cases. -- You must not remove any tests or test files from the tests directory without approval. These are not temporary or helper files; these are core to the application. - -## Running Tests - -- Run the minimal number of tests, using an appropriate filter, before finalizing. -- To run all tests: `php artisan test --compact`. -- To run all tests in a file: `php artisan test --compact tests/Feature/ExampleTest.php`. -- To filter on a particular test name: `php artisan test --compact --filter=testName` (recommended after making a change to a related file). - - diff --git a/package.json b/package.json index 3ee83f1b..b84d5df6 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,8 @@ "concurrently": "^9.0.1", "laravel-vite-plugin": "^3.1", "tailwindcss": "^4.0.7", - "vite": "^8.0.0" + "vite": "^8.0.0", + "@fortawesome/fontawesome-free": "^6.7.2" }, "optionalDependencies": { "@rollup/rollup-linux-x64-gnu": "4.9.5", diff --git a/public/apple-touch-icon.png b/public/apple-touch-icon.png index c2efef6d..724f901b 100644 Binary files a/public/apple-touch-icon.png and b/public/apple-touch-icon.png differ diff --git a/public/favicon.ico b/public/favicon.ico index 236fadb9..94fdc1e4 100644 Binary files a/public/favicon.ico and b/public/favicon.ico differ diff --git a/public/favicon.svg b/public/favicon.svg index e4e710e0..2ee8818e 100644 --- a/public/favicon.svg +++ b/public/favicon.svg @@ -1,3 +1,21 @@ - - - + + + + + + + + + + + + + + + + + + + + MPBA + \ No newline at end of file diff --git a/public/favicons/android-chrome-192x192.png b/public/favicons/android-chrome-192x192.png index aeae5ec8..e1642525 100644 Binary files a/public/favicons/android-chrome-192x192.png and b/public/favicons/android-chrome-192x192.png differ diff --git a/public/favicons/android-chrome-512x512.png b/public/favicons/android-chrome-512x512.png index 3af80f3c..8a7b7102 100644 Binary files a/public/favicons/android-chrome-512x512.png and b/public/favicons/android-chrome-512x512.png differ diff --git a/public/favicons/apple-touch-icon.png b/public/favicons/apple-touch-icon.png index 3cfeeedb..724f901b 100644 Binary files a/public/favicons/apple-touch-icon.png and b/public/favicons/apple-touch-icon.png differ diff --git a/public/favicons/browserconfig.xml b/public/favicons/browserconfig.xml index df4d2767..a985d474 100644 --- a/public/favicons/browserconfig.xml +++ b/public/favicons/browserconfig.xml @@ -1,10 +1,2 @@ - - - - - - #0f172a - - - +#08142a diff --git a/public/favicons/favicon-128x128.png b/public/favicons/favicon-128x128.png index 6355c487..6bc0d10a 100644 Binary files a/public/favicons/favicon-128x128.png and b/public/favicons/favicon-128x128.png differ diff --git a/public/favicons/favicon-150x150.png b/public/favicons/favicon-150x150.png index e2d85f6e..713cdfbe 100644 Binary files a/public/favicons/favicon-150x150.png and b/public/favicons/favicon-150x150.png differ diff --git a/public/favicons/favicon-16x16.png b/public/favicons/favicon-16x16.png index 5259924b..4c354064 100644 Binary files a/public/favicons/favicon-16x16.png and b/public/favicons/favicon-16x16.png differ diff --git a/public/favicons/favicon-180x180.png b/public/favicons/favicon-180x180.png index fac03024..724f901b 100644 Binary files a/public/favicons/favicon-180x180.png and b/public/favicons/favicon-180x180.png differ diff --git a/public/favicons/favicon-192x192.png b/public/favicons/favicon-192x192.png index aeae5ec8..e1642525 100644 Binary files a/public/favicons/favicon-192x192.png and b/public/favicons/favicon-192x192.png differ diff --git a/public/favicons/favicon-256x256.png b/public/favicons/favicon-256x256.png index 4951b6e4..57110dd2 100644 Binary files a/public/favicons/favicon-256x256.png and b/public/favicons/favicon-256x256.png differ diff --git a/public/favicons/favicon-310x310.png b/public/favicons/favicon-310x310.png index 1f187f37..f868158f 100644 Binary files a/public/favicons/favicon-310x310.png and b/public/favicons/favicon-310x310.png differ diff --git a/public/favicons/favicon-32x32.png b/public/favicons/favicon-32x32.png index 7663e588..4e80ddd6 100644 Binary files a/public/favicons/favicon-32x32.png and b/public/favicons/favicon-32x32.png differ diff --git a/public/favicons/favicon-384x384.png b/public/favicons/favicon-384x384.png index 9c9e4437..01c2857e 100644 Binary files a/public/favicons/favicon-384x384.png and b/public/favicons/favicon-384x384.png differ diff --git a/public/favicons/favicon-48x48.png b/public/favicons/favicon-48x48.png index 33d1baff..28d96de7 100644 Binary files a/public/favicons/favicon-48x48.png and b/public/favicons/favicon-48x48.png differ diff --git a/public/favicons/favicon-512x512.png b/public/favicons/favicon-512x512.png index 3af80f3c..8a7b7102 100644 Binary files a/public/favicons/favicon-512x512.png and b/public/favicons/favicon-512x512.png differ diff --git a/public/favicons/favicon-64x64.png b/public/favicons/favicon-64x64.png index 406765e1..9886eb1c 100644 Binary files a/public/favicons/favicon-64x64.png and b/public/favicons/favicon-64x64.png differ diff --git a/public/favicons/favicon-96x96.png b/public/favicons/favicon-96x96.png index 7b8e4e7f..da11b57f 100644 Binary files a/public/favicons/favicon-96x96.png and b/public/favicons/favicon-96x96.png differ diff --git a/public/favicons/favicon.ico b/public/favicons/favicon.ico index 7b8117a6..94fdc1e4 100644 Binary files a/public/favicons/favicon.ico and b/public/favicons/favicon.ico differ diff --git a/public/favicons/favicon.svg b/public/favicons/favicon.svg index a0cffce7..2ee8818e 100644 --- a/public/favicons/favicon.svg +++ b/public/favicons/favicon.svg @@ -1,26 +1,21 @@ - - - - - - - + + - - + + + - - - - - - - - + + + + + + + - - - - + + + MPBA + \ No newline at end of file diff --git a/public/favicons/mstile-150x150.png b/public/favicons/mstile-150x150.png index 86ec4717..0170a68b 100644 Binary files a/public/favicons/mstile-150x150.png and b/public/favicons/mstile-150x150.png differ diff --git a/public/favicons/mstile-310x310.png b/public/favicons/mstile-310x310.png index e3dfc31b..067145d5 100644 Binary files a/public/favicons/mstile-310x310.png and b/public/favicons/mstile-310x310.png differ diff --git a/public/favicons/site.webmanifest b/public/favicons/site.webmanifest index 62262872..493c411a 100644 --- a/public/favicons/site.webmanifest +++ b/public/favicons/site.webmanifest @@ -1,11 +1,11 @@ { - "name": "WMS Platform", + "name": "Warehouse Management System", "short_name": "WMS", - "description": "High performance warehouse management platform", + "description": "MPBA Warehouse Management System", "start_url": "/dashboard", "display": "standalone", - "background_color": "#0f172a", - "theme_color": "#0e7490", + "background_color": "#08142a", + "theme_color": "#0d2a4a", "orientation": "portrait-primary", "icons": [ { diff --git a/resources/css/app.css b/resources/css/app.css index ad6eeedc..268f69c3 100644 --- a/resources/css/app.css +++ b/resources/css/app.css @@ -1,3 +1,4 @@ +@import '@fortawesome/fontawesome-free/css/all.min.css'; @import 'tailwindcss'; @import '../../vendor/livewire/flux/dist/flux.css'; @@ -64,3 +65,11 @@ select:focus[data-flux-control] { /* \[:where(&)\]:size-4 { @apply size-4; } */ + + +@layer components { + .wms-brand-mark { + background: linear-gradient(135deg, #08142a 0%, #0d2a4a 56%, #0f766e 100%); + box-shadow: inset 0 1px 0 rgb(255 255 255 / 18%), 0 10px 24px rgb(8 20 42 / 22%); + } +} diff --git a/resources/views/components/app-logo-icon.blade.php b/resources/views/components/app-logo-icon.blade.php index 0adc3a2a..b7218c0a 100644 --- a/resources/views/components/app-logo-icon.blade.php +++ b/resources/views/components/app-logo-icon.blade.php @@ -1,8 +1,17 @@ - - + diff --git a/resources/views/components/app-logo.blade.php b/resources/views/components/app-logo.blade.php index 26e8f686..70799a29 100644 --- a/resources/views/components/app-logo.blade.php +++ b/resources/views/components/app-logo.blade.php @@ -3,15 +3,15 @@ ]) @if($sidebar) - - - + + + @else - - - + + + @endif diff --git a/resources/views/layouts/auth/card.blade.php b/resources/views/layouts/auth/card.blade.php index c5cf75a4..e74ffee3 100644 --- a/resources/views/layouts/auth/card.blade.php +++ b/resources/views/layouts/auth/card.blade.php @@ -11,7 +11,7 @@ - {{ config('app.name', 'Laravel') }} + {{ config('app.name', 'Warehouse Management System') }}
diff --git a/resources/views/layouts/auth/simple.blade.php b/resources/views/layouts/auth/simple.blade.php index 0a6f8941..37b3009a 100644 --- a/resources/views/layouts/auth/simple.blade.php +++ b/resources/views/layouts/auth/simple.blade.php @@ -10,7 +10,7 @@ - {{ config('app.name', 'Laravel') }} + {{ config('app.name', 'Warehouse Management System') }}
{{ $slot }} diff --git a/resources/views/layouts/auth/split.blade.php b/resources/views/layouts/auth/split.blade.php index a25d1d63..8342b6ed 100644 --- a/resources/views/layouts/auth/split.blade.php +++ b/resources/views/layouts/auth/split.blade.php @@ -11,7 +11,7 @@ - {{ config('app.name', 'Laravel') }} + {{ config('app.name', 'Warehouse Management System') }} @php @@ -32,7 +32,7 @@ - {{ config('app.name', 'Laravel') }} + {{ config('app.name', 'Warehouse Management System') }} {{ $slot }}
diff --git a/resources/views/partials/head.blade.php b/resources/views/partials/head.blade.php index 8e9a4918..4e21e2f1 100644 --- a/resources/views/partials/head.blade.php +++ b/resources/views/partials/head.blade.php @@ -1,13 +1,24 @@ - + + + + + + + + - {{ filled($title ?? null) ? $title.' - '.config('app.name', 'Laravel') : config('app.name', 'Laravel') }} + {{ filled($title ?? null) ? $title.' - '.config('app.name', 'Warehouse Management System') : config('app.name', 'Warehouse Management System') }} - - - + + + + + + + @fonts diff --git a/resources/views/welcome.blade.php b/resources/views/welcome.blade.php index 899a111e..7086b8ef 100644 --- a/resources/views/welcome.blade.php +++ b/resources/views/welcome.blade.php @@ -4,11 +4,7 @@ - {{ __('Welcome') }} - {{ config('app.name', 'Laravel') }} - - - - + {{ __('Welcome') }} - {{ config('app.name', 'Warehouse Management System') }} @@ -62,7 +58,7 @@

Let's get started

-

Laravel has an incredibly rich ecosystem.
We suggest starting with the following.

+

Warehouse Management System provides a secure, responsive platform for warehouse operations.
We suggest starting with the following.