├── database
├── .gitignore
├── seeders
│ ├── ProductSeeder.php
│ ├── PurchaseSeeder.php
│ ├── SaleSeeder.php
│ ├── ExpenseSeeder.php
│ ├── ExpenseTypeSeeder.php
│ ├── DatabaseSeeder.php
│ └── UserSeeder.php
├── factories
│ ├── ExpenseTypeFactory.php
│ ├── ExpenseFactory.php
│ ├── SaleFactory.php
│ ├── PurchaseFactory.php
│ ├── ProductFactory.php
│ └── UserFactory.php
└── migrations
│ ├── 2024_11_23_073409_create_expense_types_table.php
│ ├── 2024_09_01_214923_create_language_lines_table.php
│ ├── 2024_11_24_073133_create_expenses_table.php
│ ├── 2024_10_22_073133_create_products_table.php
│ ├── 0001_01_01_000001_create_cache_table.php
│ ├── 2024_10_22_073133_create_sales_table.php
│ ├── 2024_10_22_073133_create_purchases_table.php
│ ├── 2024_11_26_092534_create_transaction_returns_table.php
│ ├── 0001_01_01_000002_create_jobs_table.php
│ └── 0001_01_01_000000_create_users_table.php
├── bootstrap
├── cache
│ └── .gitignore
├── providers.php
└── app.php
├── storage
├── logs
│ └── .gitignore
├── app
│ ├── public
│ │ └── .gitignore
│ └── .gitignore
└── framework
│ ├── testing
│ └── .gitignore
│ ├── views
│ └── .gitignore
│ ├── cache
│ ├── data
│ │ └── .gitignore
│ └── .gitignore
│ ├── sessions
│ └── .gitignore
│ └── .gitignore
├── public
├── robots.txt
├── favicon.ico
├── index.php
├── .htaccess
└── favicon.svg
├── resources
├── js
│ ├── types
│ │ ├── vite-env.d.ts
│ │ └── global.d.ts
│ ├── bootstrap.ts
│ ├── lib
│ │ └── utils.ts
│ ├── utils
│ │ ├── cn.ts
│ │ ├── trans.ts
│ │ └── helpers.ts
│ ├── components
│ │ ├── input-error.tsx
│ │ ├── ui
│ │ │ ├── collapsible.tsx
│ │ │ ├── input-error.tsx
│ │ │ ├── Input-label.tsx
│ │ │ ├── danger-button.tsx
│ │ │ ├── nav-link.tsx
│ │ │ ├── primary-button.tsx
│ │ │ ├── label.tsx
│ │ │ ├── secondary-button.tsx
│ │ │ ├── responsive-nav-link.tsx
│ │ │ ├── toaster.tsx
│ │ │ ├── progress.tsx
│ │ │ ├── text-input.tsx
│ │ │ ├── separator.tsx
│ │ │ ├── sonner.tsx
│ │ │ ├── checkbox.tsx
│ │ │ ├── textarea.tsx
│ │ │ ├── badge.tsx
│ │ │ ├── switch.tsx
│ │ │ ├── popover.tsx
│ │ │ ├── tooltip.tsx
│ │ │ ├── avatar.tsx
│ │ │ ├── alert.tsx
│ │ │ ├── button.tsx
│ │ │ ├── scroll-area.tsx
│ │ │ ├── card.tsx
│ │ │ ├── tabs.tsx
│ │ │ ├── accordion.tsx
│ │ │ ├── password-input.tsx
│ │ │ ├── input.tsx
│ │ │ └── modal.tsx
│ │ ├── input-label.tsx
│ │ ├── no-data.tsx
│ │ ├── danger-button.tsx
│ │ ├── nav-link.tsx
│ │ ├── primary-button.tsx
│ │ ├── secondary-button.tsx
│ │ ├── responsive-nav-link.tsx
│ │ ├── text_input.tsx
│ │ ├── gender-select.tsx
│ │ ├── mode-toggle.tsx
│ │ ├── modal.tsx
│ │ └── language-toggle.tsx
│ ├── Pages
│ │ ├── Auth
│ │ │ ├── ConfirmPassword.tsx
│ │ │ ├── Register.tsx
│ │ │ ├── ResetPassword.tsx
│ │ │ ├── ForgotPassword.tsx
│ │ │ ├── VerifyEmail.tsx
│ │ │ └── Login.tsx
│ │ ├── Admin
│ │ │ ├── Dashboard.tsx
│ │ │ ├── Account
│ │ │ │ └── Profile.tsx
│ │ │ └── Users
│ │ │ │ └── Index.tsx
│ │ ├── Expenses
│ │ │ └── Edit.tsx
│ │ ├── Sales
│ │ │ └── Edit.tsx
│ │ ├── Dashboard.tsx
│ │ └── Profile
│ │ │ └── Edit.tsx
│ ├── layouts
│ │ ├── auth-layout.tsx
│ │ └── admin-layout.tsx
│ ├── hooks
│ │ ├── use-store.ts
│ │ ├── use-media-query.ts
│ │ ├── use-sidebar-togle.ts
│ │ └── use-dir.ts
│ ├── Layouts
│ │ └── GuestLayout.tsx
│ ├── providers
│ │ ├── language-provider.tsx
│ │ └── theme-provider.tsx
│ ├── features
│ │ ├── admin
│ │ │ ├── components
│ │ │ │ ├── admin-table.tsx
│ │ │ │ ├── navbar-actions.tsx
│ │ │ │ ├── sidebar-toggle.tsx
│ │ │ │ ├── sheet-menu.tsx
│ │ │ │ ├── navbar.tsx
│ │ │ │ └── sidebar.tsx
│ │ │ └── users
│ │ │ │ ├── users-filters.ts
│ │ │ │ └── components
│ │ │ │ └── users-table-columns.tsx
│ │ └── auth
│ │ │ ├── verify-email-form.tsx
│ │ │ ├── forgot-password-form.tsx
│ │ │ └── confirm-password-form.tsx
│ ├── ssr.tsx
│ └── app.tsx
├── views
│ └── app.blade.php
└── css
│ └── app.css
├── postcss.config.js
├── app
├── Enums
│ ├── Gender.php
│ ├── PurchaseStatus.php
│ └── Provider.php
├── Http
│ ├── Controllers
│ │ ├── Controller.php
│ │ ├── Admin
│ │ │ ├── DashboardController.php
│ │ │ ├── ProfileController.php
│ │ │ └── UserController.php
│ │ ├── Auth
│ │ │ ├── EmailVerificationPromptController.php
│ │ │ ├── EmailVerificationNotificationController.php
│ │ │ ├── PasswordController.php
│ │ │ ├── VerifyEmailController.php
│ │ │ ├── ConfirmablePasswordController.php
│ │ │ ├── AuthenticatedSessionController.php
│ │ │ ├── PasswordResetLinkController.php
│ │ │ ├── RegisteredUserController.php
│ │ │ ├── GoogleAuthController.php
│ │ │ └── NewPasswordController.php
│ │ └── ProfileController.php
│ ├── Requests
│ │ ├── Admin
│ │ │ └── User
│ │ │ │ ├── UserExportRequest.php
│ │ │ │ └── UserRequest.php
│ │ ├── ProfileUpdateRequest.php
│ │ └── Auth
│ │ │ └── LoginRequest.php
│ └── Middleware
│ │ ├── Localization.php
│ │ └── HandleInertiaRequests.php
├── Models
│ ├── Role.php
│ ├── Permission.php
│ ├── ExpenseType.php
│ ├── Product.php
│ ├── Expense.php
│ ├── Sale.php
│ ├── Purchase.php
│ ├── LanguageLine.php
│ └── TransactionReturn.php
├── Exports
│ └── UsersExport.php
├── Providers
│ ├── NativeAppServiceProvider.php
│ └── AppServiceProvider.php
└── Services
│ └── Admin
│ └── UserService.php
├── tests
├── TestCase.php
├── Unit
│ └── ExampleTest.php
└── Feature
│ ├── ExampleTest.php
│ ├── Auth
│ ├── RegistrationTest.php
│ ├── PasswordConfirmationTest.php
│ ├── AuthenticationTest.php
│ ├── PasswordUpdateTest.php
│ ├── EmailVerificationTest.php
│ └── PasswordResetTest.php
│ └── ProfileTest.php
├── .gitattributes
├── routes
├── console.php
├── admin.php
└── auth.php
├── .editorconfig
├── _ide_helper_models.php
├── .gitignore
├── vite.config.js
├── artisan
├── components.json
├── tsconfig.json
├── config
├── laratrust_seeder.php
├── translation-loader.php
├── services.php
└── filesystems.php
├── phpunit.xml
├── .env.example
└── package.json
/database/.gitignore:
--------------------------------------------------------------------------------
1 | *.sqlite*
2 |
--------------------------------------------------------------------------------
/bootstrap/cache/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 | !.gitignore
3 |
--------------------------------------------------------------------------------
/storage/logs/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 | !.gitignore
3 |
--------------------------------------------------------------------------------
/public/robots.txt:
--------------------------------------------------------------------------------
1 | User-agent: *
2 | Disallow:
3 |
--------------------------------------------------------------------------------
/storage/app/public/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 | !.gitignore
3 |
--------------------------------------------------------------------------------
/storage/app/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 | !public/
3 | !.gitignore
4 |
--------------------------------------------------------------------------------
/storage/framework/testing/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 | !.gitignore
3 |
--------------------------------------------------------------------------------
/storage/framework/views/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 | !.gitignore
3 |
--------------------------------------------------------------------------------
/storage/framework/cache/data/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 | !.gitignore
3 |
--------------------------------------------------------------------------------
/storage/framework/sessions/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 | !.gitignore
3 |
--------------------------------------------------------------------------------
/storage/framework/cache/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 | !data/
3 | !.gitignore
4 |
--------------------------------------------------------------------------------
/resources/js/types/vite-env.d.ts:
--------------------------------------------------------------------------------
1 | ///
6 | {message} 7 |
8 | ) : null; 9 | } 10 | -------------------------------------------------------------------------------- /resources/js/components/ui/collapsible.tsx: -------------------------------------------------------------------------------- 1 | import * as CollapsiblePrimitive from "@radix-ui/react-collapsible"; 2 | 3 | const Collapsible = CollapsiblePrimitive.Root; 4 | 5 | const CollapsibleTrigger = CollapsiblePrimitive.CollapsibleTrigger; 6 | 7 | const CollapsibleContent = CollapsiblePrimitive.CollapsibleContent; 8 | 9 | export { Collapsible, CollapsibleTrigger, CollapsibleContent }; 10 | -------------------------------------------------------------------------------- /resources/js/components/ui/input-error.tsx: -------------------------------------------------------------------------------- 1 | import { HTMLAttributes } from 'react'; 2 | 3 | export default function InputError({ message, className = '', ...props }: HTMLAttributes6 | {message} 7 |
8 | ) : null; 9 | } 10 | -------------------------------------------------------------------------------- /app/Http/Controllers/Admin/DashboardController.php: -------------------------------------------------------------------------------- 1 | hasMany(Expense::class); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /artisan: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env php 2 | handleCommand(new ArgvInput); 14 | 15 | exit($status); 16 | -------------------------------------------------------------------------------- /resources/js/Pages/Auth/ConfirmPassword.tsx: -------------------------------------------------------------------------------- 1 | import AuthLayout from "@/layouts/auth-layout"; 2 | import { Head, useForm } from "@inertiajs/react"; 3 | import { FormEventHandler } from "react"; 4 | 5 | export default function ConfirmPassword() { 6 | return ( 7 |لا توجد بيانات
10 |{error}
25 | )} 26 |{error}
// Display the error message if provided 34 | )} 35 |25 | نظام بسيط لحساب الأرباح والخسائر لمحلكم 26 |
27 |29 | ليس لديك حساب؟{" "} 30 | 34 | سجل الآن 35 | 36 |
37 | 38 |{error}
47 | )} 48 |
40 | العربية
41 |
42 | {locale === "ar" &&
56 | English
57 |
58 | {locale === "en" &&