Merge branch 'master' of https://github.com/brkcvn/akaunting into form-elements

This commit is contained in:
Burak Civan 2022-06-17 09:48:06 +03:00
commit 17766a9965
58 changed files with 12606 additions and 909 deletions

View File

@ -2,7 +2,7 @@
namespace App\Abstracts;
use Akaunting\Apexcharts\Charts as Apexcharts;
use Akaunting\Apexcharts\Chart;
use App\Events\Report\DataLoaded;
use App\Events\Report\DataLoading;
use App\Events\Report\FilterApplying;
@ -14,7 +14,6 @@ use App\Exports\Common\Reports as Export;
use App\Models\Common\Report as Model;
use App\Models\Document\Document;
use App\Models\Setting\Category;
use App\Traits\Charts;
use App\Traits\DateTime;
use App\Traits\SearchString;
use App\Traits\Translations;
@ -24,7 +23,7 @@ use Illuminate\Support\Str;
abstract class Report
{
use Charts, DateTime, SearchString, Translations;
use DateTime, SearchString, Translations;
public $model;
@ -176,7 +175,7 @@ abstract class Report
public function getBarChart($table_key)
{
$chart = new Apexcharts();
$chart = new Chart();
if (empty($this->chart)) {
return $chart;
@ -194,7 +193,7 @@ abstract class Report
public function getDonutChart($table_key)
{
$chart = new Apexcharts();
$chart = new Chart();
if (empty($this->chart)) {
return $chart;

View File

@ -2,7 +2,7 @@
namespace App\Traits;
use Akaunting\Apexcharts\Charts as Apexcharts;
use Akaunting\Apexcharts\Chart;
trait Charts
{
@ -54,7 +54,7 @@ trait Charts
$labels[$id] = $this->donut['labels'][$id];
}
$chart = new Apexcharts();
$chart = new Chart();
$chart->setType('donut')
->setWidth($width)
@ -75,7 +75,7 @@ trait Charts
public function getBarChart($name, $width = '100%', $height = 160)
{
$chart = new Apexcharts();
$chart = new Chart();
$chart->setType('bar')
->setWidth($width)

View File

@ -37,7 +37,7 @@ class Button extends Component
*/
public function render()
{
return view('components.button');
return view('components.button.index');
}
protected function getOverride($override)

View File

@ -2,7 +2,7 @@
namespace App\Widgets;
use Akaunting\Apexcharts\Charts as Apexcharts;
use Akaunting\Apexcharts\Chart;
use App\Abstracts\Widget;
use App\Models\Banking\Transaction;
use App\Traits\Currencies;
@ -55,7 +55,7 @@ class CashFlow extends Widget
],
];
$chart = new Apexcharts();
$chart = new Chart();
$chart->setType('line')
->setOptions($options)

View File

@ -6,7 +6,7 @@ use App\Abstracts\Widget;
use App\Utilities\Recurring;
use App\Models\Document\Document;
use App\Models\Banking\Transaction;
use Akaunting\Apexcharts\Charts as Apexcharts;
use Akaunting\Apexcharts\Chart;
use App\Traits\Currencies;
use App\Traits\DateTime;
use App\Utilities\Date;
@ -39,7 +39,7 @@ class ProfitLoss extends Widget
$colors = $this->getColors();
$chart = new Apexcharts();
$chart = new Chart();
$options = [
'legend' => [

View File

@ -27,7 +27,7 @@
"ext-tokenizer": "*",
"ext-xml": "*",
"ext-zip": "*",
"akaunting/laravel-apexcharts": "^1.0",
"akaunting/laravel-apexcharts": "^2.0",
"akaunting/laravel-firewall": "^1.2",
"akaunting/laravel-language": "^1.0",
"akaunting/laravel-menu": "^2.0",

64
composer.lock generated
View File

@ -4,27 +4,27 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "f804c45a0f63885fada71147a44bb516",
"content-hash": "802a453ffd64d0ac19d6fc741b46dacc",
"packages": [
{
"name": "akaunting/laravel-apexcharts",
"version": "1.0.4",
"version": "2.0.1",
"source": {
"type": "git",
"url": "https://github.com/akaunting/laravel-apexcharts.git",
"reference": "84ae3484f1df9f3486b5e0bd65241b5822947ca3"
"reference": "3b545508bec317c36a0cb83809de6e6cc8397832"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/akaunting/laravel-apexcharts/zipball/84ae3484f1df9f3486b5e0bd65241b5822947ca3",
"reference": "84ae3484f1df9f3486b5e0bd65241b5822947ca3",
"url": "https://api.github.com/repos/akaunting/laravel-apexcharts/zipball/3b545508bec317c36a0cb83809de6e6cc8397832",
"reference": "3b545508bec317c36a0cb83809de6e6cc8397832",
"shasum": ""
},
"require": {
"balping/json-raw-encoder": "^1.0",
"ext-json": "*",
"illuminate/support": ">=8.0",
"php": ">=7.3"
"php": ">=8.0"
},
"require-dev": {
"orchestra/testbench": ">=6.0",
@ -70,9 +70,9 @@
],
"support": {
"issues": "https://github.com/akaunting/laravel-apexcharts/issues",
"source": "https://github.com/akaunting/laravel-apexcharts/tree/1.0.4"
"source": "https://github.com/akaunting/laravel-apexcharts/tree/2.0.1"
},
"time": "2022-02-23T12:26:06+00:00"
"time": "2022-06-16T14:48:25+00:00"
},
{
"name": "akaunting/laravel-debugbar-collector",
@ -906,16 +906,16 @@
},
{
"name": "aws/aws-sdk-php",
"version": "3.225.1",
"version": "3.225.5",
"source": {
"type": "git",
"url": "https://github.com/aws/aws-sdk-php.git",
"reference": "b795c9c14997dac771f66d1f6cbadb62c742373a"
"reference": "09b404c6b80b9c31be15fa245e647a2f9fb5e733"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/b795c9c14997dac771f66d1f6cbadb62c742373a",
"reference": "b795c9c14997dac771f66d1f6cbadb62c742373a",
"url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/09b404c6b80b9c31be15fa245e647a2f9fb5e733",
"reference": "09b404c6b80b9c31be15fa245e647a2f9fb5e733",
"shasum": ""
},
"require": {
@ -991,9 +991,9 @@
"support": {
"forum": "https://forums.aws.amazon.com/forum.jspa?forumID=80",
"issues": "https://github.com/aws/aws-sdk-php/issues",
"source": "https://github.com/aws/aws-sdk-php/tree/3.225.1"
"source": "https://github.com/aws/aws-sdk-php/tree/3.225.5"
},
"time": "2022-06-09T18:19:43+00:00"
"time": "2022-06-15T19:35:13+00:00"
},
{
"name": "balping/json-raw-encoder",
@ -5225,16 +5225,16 @@
},
{
"name": "league/flysystem",
"version": "3.0.20",
"version": "3.0.21",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/flysystem.git",
"reference": "42a2f47dcf39944e2aee1b660ee55ab6ef69b535"
"reference": "8f1fcf9d2304ff77a006aa36dd2cb5f236999b12"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/thephpleague/flysystem/zipball/42a2f47dcf39944e2aee1b660ee55ab6ef69b535",
"reference": "42a2f47dcf39944e2aee1b660ee55ab6ef69b535",
"url": "https://api.github.com/repos/thephpleague/flysystem/zipball/8f1fcf9d2304ff77a006aa36dd2cb5f236999b12",
"reference": "8f1fcf9d2304ff77a006aa36dd2cb5f236999b12",
"shasum": ""
},
"require": {
@ -5295,7 +5295,7 @@
],
"support": {
"issues": "https://github.com/thephpleague/flysystem/issues",
"source": "https://github.com/thephpleague/flysystem/tree/3.0.20"
"source": "https://github.com/thephpleague/flysystem/tree/3.0.21"
},
"funding": [
{
@ -5311,20 +5311,20 @@
"type": "tidelift"
}
],
"time": "2022-05-25T19:18:39+00:00"
"time": "2022-06-12T17:54:28+00:00"
},
{
"name": "league/flysystem-aws-s3-v3",
"version": "3.0.13",
"version": "3.0.21",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/flysystem-aws-s3-v3.git",
"reference": "0074cf016e21a6d1eb99b6db70acdd23743fc371"
"reference": "f4ee238279f1eb39a32539a18ef845db7251fd05"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/thephpleague/flysystem-aws-s3-v3/zipball/0074cf016e21a6d1eb99b6db70acdd23743fc371",
"reference": "0074cf016e21a6d1eb99b6db70acdd23743fc371",
"url": "https://api.github.com/repos/thephpleague/flysystem-aws-s3-v3/zipball/f4ee238279f1eb39a32539a18ef845db7251fd05",
"reference": "f4ee238279f1eb39a32539a18ef845db7251fd05",
"shasum": ""
},
"require": {
@ -5365,9 +5365,9 @@
],
"support": {
"issues": "https://github.com/thephpleague/flysystem-aws-s3-v3/issues",
"source": "https://github.com/thephpleague/flysystem-aws-s3-v3/tree/3.0.13"
"source": "https://github.com/thephpleague/flysystem-aws-s3-v3/tree/3.0.21"
},
"time": "2022-04-01T22:05:11+00:00"
"time": "2022-06-12T17:34:31+00:00"
},
{
"name": "league/mime-type-detection",
@ -13932,16 +13932,16 @@
},
{
"name": "spatie/laravel-ignition",
"version": "1.2.4",
"version": "1.3.0",
"source": {
"type": "git",
"url": "https://github.com/spatie/laravel-ignition.git",
"reference": "b90026ba26fe6589101dc5cd6527846290560aea"
"reference": "5409e699fc19f4d53e59427445b08f90593fda28"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/spatie/laravel-ignition/zipball/b90026ba26fe6589101dc5cd6527846290560aea",
"reference": "b90026ba26fe6589101dc5cd6527846290560aea",
"url": "https://api.github.com/repos/spatie/laravel-ignition/zipball/5409e699fc19f4d53e59427445b08f90593fda28",
"reference": "5409e699fc19f4d53e59427445b08f90593fda28",
"shasum": ""
},
"require": {
@ -14018,7 +14018,7 @@
"type": "github"
}
],
"time": "2022-06-08T07:07:57+00:00"
"time": "2022-06-15T13:55:18+00:00"
},
{
"name": "theseer/tokenizer",
@ -14178,5 +14178,5 @@
"ext-zip": "*"
},
"platform-dev": [],
"plugin-api-version": "2.3.0"
"plugin-api-version": "2.2.0"
}

View File

@ -7,7 +7,7 @@ return [
'width' => '100%',
'height' => 300,
'toolbar' => [
'show' => false,
'show' => true,
],
'stacked' => false,
'zoom' => [

12857
public/css/app.css vendored

File diff suppressed because it is too large Load Diff

View File

@ -265,7 +265,7 @@ const app = new Vue({
inclusive_tax_total += item.tax_ids[inclusive.tax_index].price;
totals_taxes = this.calculateTotalsTax(totals_taxes, inclusive.tax_id, inclusive.tax_name, inclusive.tax_type, item.tax_ids[inclusive.tax_index].price);
totals_taxes = this.calculateTotalsTax(totals_taxes, inclusive.tax_id, inclusive.tax_name, item.tax_ids[inclusive.tax_index].price);
}, this);
item.total = parseFloat(item.grand_total - inclusive_tax_total);
@ -277,7 +277,7 @@ const app = new Vue({
total_tax_amount += item.tax_ids[fixed.tax_index].price;
totals_taxes = this.calculateTotalsTax(totals_taxes, fixed.tax_id, fixed.tax_name, fixed.tax_type, item.tax_ids[fixed.tax_index].price);
totals_taxes = this.calculateTotalsTax(totals_taxes, fixed.tax_id, fixed.tax_name, item.tax_ids[fixed.tax_index].price);
}, this);
}
@ -293,7 +293,7 @@ const app = new Vue({
total_tax_amount += item.tax_ids[normal.tax_index].price;
totals_taxes = this.calculateTotalsTax(totals_taxes, normal.tax_id, normal.tax_name, normal.tax_type, item.tax_ids[normal.tax_index].price);
totals_taxes = this.calculateTotalsTax(totals_taxes, normal.tax_id, normal.tax_name, item.tax_ids[normal.tax_index].price);
}, this);
}
@ -303,7 +303,7 @@ const app = new Vue({
total_tax_amount += item.tax_ids[withholding.tax_index].price;
totals_taxes = this.calculateTotalsTax(totals_taxes, withholding.tax_id, withholding.tax_name, withholding.tax_type, item.tax_ids[withholding.tax_index].price);
totals_taxes = this.calculateTotalsTax(totals_taxes, withholding.tax_id, withholding.tax_name, item.tax_ids[withholding.tax_index].price);
}, this);
}
@ -313,7 +313,7 @@ const app = new Vue({
compounds.forEach(function(compound) {
item.tax_ids[compound.tax_index].price = (item.grand_total / 100) * compound.tax_rate;
totals_taxes = this.calculateTotalsTax(totals_taxes, compound.tax_id, compound.tax_name, compound.tax_type, item.tax_ids[compound.tax_index].price);
totals_taxes = this.calculateTotalsTax(totals_taxes, compound.tax_id, compound.tax_name, item.tax_ids[compound.tax_index].price);
item.grand_total += item.tax_ids[compound.tax_index].price;
}, this);

View File

@ -1,6 +1,7 @@
<?php
return [
'AF' => 'Afganistan',
'AX' => 'Olandska ostrva',
'AL' => 'Albanija',
@ -119,6 +120,7 @@ return [
'KZ' => 'Kazahstan',
'KE' => 'Kenija',
'KI' => 'Kiribati',
'XK' => 'Kosovo',
'KW' => 'Kuvajt',
'KG' => 'Kirgistan',
'LA' => 'Laos',
@ -250,4 +252,5 @@ return [
'YE' => 'Jemen',
'ZM' => 'Zambija',
'ZW' => 'Zimbabve',
];

View File

@ -1,6 +1,7 @@
<?php
return [
'AF' => 'Afganistan',
'AX' => 'Illes Åland',
'AL' => 'Albània',
@ -119,6 +120,7 @@ return [
'KZ' => 'Kazakhstan',
'KE' => 'Kenya',
'KI' => 'Kiribati',
'XK' => 'Kosovo',
'KW' => 'Kuwait',
'KG' => 'Kirguizistan',
'LA' => 'Laos',
@ -250,4 +252,5 @@ return [
'YE' => 'Iemen',
'ZM' => 'Zàmbia',
'ZW' => 'Zimbàbue',
];

View File

@ -4,7 +4,6 @@ return [
'dashboards' => 'Tauler|Taulers',
'items' => 'Article|Articles',
'incomes' => 'Ingrés|Ingressos',
'invoices' => 'Factura|Factures',
'recurring_invoices' => 'Factura recurrent|Factures recurrents',
'customers' => 'Client|Clients',
@ -70,6 +69,7 @@ return [
'invitations' => 'Invitació|Invitacions',
'attachments' => 'Adjunt|Adjunts',
'histories' => 'Història|Històries',
'your_notifications' => 'La teva notificació|Les teves notificacions',
'welcome' => 'Benvingut/da',
'banking' => 'Bancs',
@ -184,6 +184,7 @@ return [
'no_matching_data' => 'Cap dada coincident',
'clear_cache' => 'Neteja memòria cau',
'go_to_dashboard' => 'Vés al tauler de control',
'create_first_invoice' => 'Crea la teva primera factura',
'is' => 'és',
'isnot' => 'no és',
'recurring_and_more' => 'Recurrent i més...',
@ -199,7 +200,6 @@ return [
'email_send_me' => 'Envia\'m una còpia a mi mateix a :email',
'connect' => 'Connecta',
'assign' => 'Assigna',
'your_notifications' => 'La teva notificació|Les teves notificacions',
'new' => 'Nou',
'new_more' => 'Nou...',
'number' => 'Número',

View File

@ -1,6 +1,7 @@
<?php
return [
'AF' => 'Honduras',
'AX' => 'Åland Islands',
'AL' => 'Albania',
@ -119,6 +120,7 @@ return [
'KZ' => 'Kazakhstan',
'KE' => 'Kenya',
'KI' => 'Kiribati',
'XK' => 'Kosovo',
'KW' => 'Kuwait',
'KG' => 'Kyrgyzstan',
'LA' => 'Laos',
@ -250,4 +252,5 @@ return [
'YE' => 'Yemen',
'ZM' => 'Zambia',
'ZW' => 'Zimbabwe',
];

View File

@ -1,6 +1,7 @@
<?php
return [
'AF' => 'Afghanistan',
'AX' => 'Îles Åland',
'AL' => 'Albanie',
@ -119,6 +120,7 @@ return [
'KZ' => 'Kazakhstan',
'KE' => 'Kenya',
'KI' => 'Kiribati',
'XK' => 'Kosovo',
'KW' => 'Koweït',
'KG' => 'Kirghizstan',
'LA' => 'Laos',
@ -250,4 +252,5 @@ return [
'YE' => 'Yémen',
'ZM' => 'Zambie',
'ZW' => 'Zimbabwe',
];

View File

@ -3,6 +3,7 @@
return [
'account_name' => 'खाते का नाम',
'account_balance' => 'खाते का बैलेंस',
'number' => 'खाता संख्या',
'opening_balance' => 'प्रारंभिक शेष',
'current_balance' => 'वर्तमान शेष',
@ -14,5 +15,17 @@ return [
'outgoing' => 'जावक',
'see_performance' => 'प्रदर्शन देखें',
'create_report' => 'अगर आप खाते का प्रदर्शन देखना चाहते हैं। आप आय बनाम व्यय रिपोर्ट उदाहरण बना सकते हैं।',
'banks' => 'बैंक|बैंकों',
'credit_cards' => 'क्रेडिट कार्ड|क्रेडिट कार्ड',
'form_description' => [
'general' => 'ऋणात्मक प्रारंभिक शेषराशि के लिए क्रेडिट कार्ड प्रकार का उपयोग करें। खातों को सही ढंग से समेटने के लिए संख्या आवश्यक है। डिफ़ॉल्ट खाता सभी लेनदेन को रिकॉर्ड करेगा यदि अन्यथा नहीं चुना गया है।',
'bank' => 'आपके एक से अधिक बैंकों में कई बैंक खाते हो सकते हैं। आपके बैंक के बारे में जानकारी रिकॉर्ड करने से आपके बैंक के भीतर लेन-देन का मिलान करना आसान हो जाएगा।',
],
'no_records' => [
'transactions' => 'इस खाते में अभी तक कोई लेनदेन नहीं हुआ है। अब एक नया बनाएँ।',
'transfers' => 'इस खाते से/में अभी तक कोई स्थानांतरण नहीं हुआ है। अब एक नया बनाएँ।',
],
];

View File

@ -2,20 +2,34 @@
return [
'auth' => 'प्रमाणीकरण',
'profile' => 'प्रोफ़ाइल',
'logout' => 'लॉग आउट',
'login' => 'लॉग इन करें',
'forgot' => 'भूल गया',
'login_to' => 'अपना सेशन शुरू करने के लिए लॉगिन करे',
'remember_me' => 'मुझे याद रखना',
'forgot_password' => 'मैं अपना पासवर्ड भूल गया',
'reset_password' => 'पासवर्ड रीसेट',
'change_password' => 'पासवर्ड बदलें',
'enter_email' => 'अपना ईमेल दर्ज करे',
'current_email' => 'वर्तमान ईमेल',
'reset' => 'रीसेट',
'never' => 'कभी नहीँ',
'landing_page' => 'लैंडिंग पेज',
'personal_information' => 'व्यक्तिगत जानकारी',
'register_user' => 'उपयोगकर्ता पंजीकृत करें',
'register' => 'पंजीकरण करें',
'form_description' => [
'personal' => 'आमंत्रण लिंक नए उपयोगकर्ता को भेजा जाएगा, इसलिए सुनिश्चित करें कि ईमेल पता सही है। वे अपना पासवर्ड दर्ज करने में सक्षम होंगे।',
'assign' => 'उपयोगकर्ता के पास चयनित कंपनियों तक एक्सेस होगी। आप <a href=":url" class="border-b border-black">भूमिका (Roles)</a> पृष्ठ से अनुमतियों (Permission) को प्रतिबंधित कर सकते हैं।',
'preferences' => 'उपयोगकर्ता की डिफ़ॉल्ट भाषा का चयन करें। उपयोगकर्ता के लॉग इन करने के बाद आप लैंडिंग पृष्ठ भी सेट कर सकते हैं।',
],
'password' => [
'pass' => 'पासवर्ड',
'pass_confirm' => 'पासवर्ड पुष्टि करें',
'current' => 'पासवर्ड',
'current_confirm' => 'पासवर्ड पुष्टि करें',
'new' => 'नया पासवर्ड',
@ -28,6 +42,7 @@ return [
'no_company' => 'त्रुटि: आपके खाते को कोई कंपनी नहीं सौंपी गई। कृपया सिस्टम व्यवस्थापक से संपर्क करें।',
],
'login_redirect' => 'सत्यापन हो गया! आप को ले जाय जा रहा है...',
'failed' => 'ये प्रमाण हमारे रिकॉर्ड से मेल नहीं खा रहे हैं।',
'throttle' => 'बहुत सारे लॉगिन प्रयास। :seconds सेकंड में फिर से कोशिश करें।',
'disabled' => 'यह खाता निष्क्रिय है। कृपया सिस्टम व्यवस्थापक से संपर्क करें।',
@ -38,4 +53,40 @@ return [
'button' => 'पासवर्ड रीसेट',
],
'invitation' => [
'message_1' => 'आपको यह ईमेल इसलिए प्राप्त हो रहा है क्योंकि आपको Akaunting में शामिल होने के लिए आमंत्रित किया गया है।',
'message_2' => 'यदि आप शामिल नहीं होना चाहते हैं, तो आगे किसी गतिविधि की आवश्यकता नहीं है।',
'button' => 'शुरू करें',
],
'information' => [
'invoice' => 'आसानी से चालान बनाएं',
'reports' => 'विस्तृत रिपोर्ट प्राप्त करें',
'expense' => 'किसी भी खर्च को ट्रैक करें',
'customize' => 'अपनी Akaunting को अनुकूलित करें',
],
'roles' => [
'admin' => [
'name' => 'व्यवस्थापक',
'description' => 'उन्हें ग्राहकों, इनवॉइस, रिपोर्ट, सेटिंग्स और ऐप्स सहित आपकी Akaunting तक पूरी पहुंच मिलती है।',
],
'manager' => [
'name' => 'प्रबंधक',
'description' => 'उन्हें आपके Akaunting का पूरा एक्सेस मिलता है, लेकिन वे उपयोगकर्ताओं और ऐप्स को प्रबंधित नहीं कर सकते।',
],
'customer' => [
'name' => 'ग्राहक',
'description' => 'वे क्लाइंट पोर्टल तक पहुंच सकते हैं और आपके द्वारा सेट की गई भुगतान विधियों के माध्यम से अपने चालानों का ऑनलाइन भुगतान कर सकते हैं।',
],
'accountant' => [
'name' => 'मुनीम',
'description' => 'वे चालान, लेनदेन और रिपोर्ट तक पहुंच सकते हैं और जर्नल प्रविष्टियां बना सकते हैं।',
],
'employee' => [
'name' => 'कर्मचारी',
'description' => 'वे व्यय के दावे बना सकते हैं और असाइन किए गए प्रोजेक्ट के लिए समय ट्रैक कर सकते हैं, लेकिन केवल अपनी जानकारी देख सकते हैं।',
],
],
];

View File

@ -19,11 +19,13 @@ return [
'total' => 'कुल',
'item_name' => 'वस्तु का नाम|वस्तुओं के नाम',
'recurring_bills' => 'आवर्ती बिल',
'show_discount' => ':discount% छूट',
'add_discount' => 'छूट जोड़ें',
'discount_desc' => 'पूर्ण योग का',
'payment_made' => 'भुगतान किया गया',
'payment_due' => 'भुगतान राशि',
'amount_due' => 'देय राशि',
'paid' => 'भुगतान किया है|',
@ -39,6 +41,10 @@ return [
'receive_bill' => 'बिल प्राप्त करें',
'make_payment' => 'भुगतान करो',
'form_description' => [
'billing' => 'बिलिंग विवरण आपके बिल में दिखाई देते हैं। बिल दिनांक का उपयोग डैशबोर्ड और रिपोर्ट में किया जाता है। उस दिनांक का चयन करें जिसे आप देय दिनांक के रूप में भुगतान करने की अपेक्षा करते हैं।',
],
'messages' => [
'draft' => 'यह एक <b>ड्राफ्ट</b> बिल है और इसे प्राप्त होने के बाद चार्ट पर प्रतिबिंबित किया जाएगा।',

View File

@ -20,4 +20,7 @@ return [
'unreconcile' => 'क्या आप वाकई चयनित रिकॉर्ड को <b>अवधान</b> करना चाहते हैं?|क्या आप वाकई चयनित रिकॉर्ड को <b>अवधान</b> करना चाहते हैं?',
],
'success' => [
'general' => ':count रिकॉर्ड :type।',
],
];

View File

@ -0,0 +1,11 @@
<?php
return [
'collapse' => 'संक्षिप्त करें',
'form_description' => [
'general' => 'श्रेणी आपको अपने आइटम, आय, व्यय और अन्य रिकॉर्ड को वर्गीकृत करने में मदद करती है।',
],
];

View File

@ -11,4 +11,12 @@ return [
'disable_active' => 'त्रुटि: सक्रिय कंपनी को निष्क्रिय नहीं कर सकते। कृपया, पहले दूसरे पर स्विच करें!',
],
'form_description' => [
'general' => 'यह जानकारी आपके द्वारा बनाए गए रिकॉर्ड में दिखाई देती है।',
'billing' => 'प्रत्येक चालान/बिल में कर संख्या दिखाई देती है। डैशबोर्ड और रिपोर्ट डिफ़ॉल्ट मुद्रा के अंतर्गत दिखाए जाते हैं।',
'address' => 'आपके द्वारा जारी इनवॉइस, बिल और अन्य रिकॉर्ड में पते का उपयोग किया जाएगा।',
],
'skip_step' => 'इस चरण (step) को छोड़ दें',
];

View File

@ -1,6 +1,7 @@
<?php
return [
'AF' => 'अफ़गानिस्तान',
'AX' => 'एलैंड द्वीपसमूह',
'AL' => 'अल्बानिया',
@ -119,6 +120,7 @@ return [
'KZ' => 'कज़ाखस्तान',
'KE' => 'केन्या',
'KI' => 'किरिबाती',
'XK' => 'कोसोवो',
'KW' => 'कुवैत',
'KG' => 'किर्गिज़स्तान',
'LA' => 'लाओस',
@ -250,4 +252,5 @@ return [
'YE' => 'यमन',
'ZM' => 'ज़ाम्बिया',
'ZW' => 'ज़िम्बाब्वे',
];

View File

@ -14,6 +14,14 @@ return [
'position' => 'चिह्न की स्थिति',
'before' => 'राशि से पहले',
'after' => 'राशि के बाद',
]
],
'form_description' => [
'general' => 'डिफ़ॉल्ट मुद्रा का उपयोग डैशबोर्ड और रिपोर्ट पर किया जाता है। अन्य मुद्राओं के लिए, कमजोर मुद्राओं के लिए दर 1 से कम और मजबूत मुद्राओं के लिए 1 से अधिक होनी चाहिए।',
],
'no_currency' => 'कोई मुद्रा नहीं',
'create_currency' => 'एक नई मुद्रा बनाएं और सेटिंग से कभी भी संपादित करें।',
'new_currency' => 'नई मुद्रा',
];

View File

@ -3,10 +3,28 @@
return [
'can_login' => 'लॉग इन कर सकते हैं?',
'can_login_description' => 'इस उपयोगकर्ता को क्लाइंट पोर्टल में लॉग इन करने के लिए आमंत्रण भेजें।',
'user_created' => 'उपयोगकर्ता बनाया गया',
'client_portal_description' => 'ग्राहक पोर्टल एक ऐसा वातावरण है जहां आप अपने ग्राहकों के साथ लेनदेन और चालान साझा कर सकते हैं, जहां वे आपके व्यवसाय के साथ अपने संबंधों को ट्रैक करते हैं और भुगतान करते हैं, और जब चाहें लॉग इन करते हैं; उनके पासवर्ड के साथ',
'error' => [
'email' => 'ईमेल पहले ही ली जा चुकी हैं।',
],
'client_portal_text' => [
'can' => 'यह ग्राहक क्लाइंट पोर्टल में लॉग इन कर सकता है।',
'cant' => 'यह ग्राहक क्लाइंट पोर्टल में लॉग इन नहीं कर सकता है।',
],
'form_description' => [
'general' => 'आपके क्लाइंट की संपर्क जानकारी इनवॉइस और उनकी प्रोफाइल में दिखाई देगी। आप नीचे दिए गए बॉक्स को चेक करके अपने क्लाइंट को आपके द्वारा भेजे गए इनवॉइस को ट्रैक करने के लिए लॉगिन करने की अनुमति भी दे सकते हैं।',
'billing' => 'ग्राहक को जारी किए गए प्रत्येक चालान में कर संख्या दिखाई देती है। चयनित मुद्रा इस ग्राहक के लिए डिफ़ॉल्ट मुद्रा बन जाती है।',
'address' => 'इनवॉइस के लिए पता आवश्यक है, इसलिए आपको अपने ग्राहक के लिए बिलिंग पता विवरण जोड़ना होगा।',
],
'no_records' => [
'invoices' => 'इस ग्राहक के लिए अभी तक कोई चालान नहीं है। अब एक नया बनाएँ।',
'transactions' => 'इस ग्राहक के लिए अभी तक कोई लेन-देन नहीं हुआ है। अब एक नया बनाएँ।',
],
];

View File

@ -8,4 +8,8 @@ return [
'disable_last' => 'त्रुटि: अंतिम डैशबोर्ड को निष्क्रिय नहीं कर सकते। कृपया, पहले एक नया बनाएं!',
],
'form_description' => [
'general' => 'उन उपयोगकर्ताओं का चयन करें जिनकी आप नए डैशबोर्ड तक पहुंच चाहते हैं।',
],
];

View File

@ -4,6 +4,19 @@ return [
'edit_columns' => 'कॉलम संपादित करें',
'empty_items' => 'आपने कोई आइटम नहीं जोड़ा है।',
'grand_total' => 'कुल योग',
'accept_payment_online' => 'ऑनलाइन भुगतान स्वीकार करें',
'transaction' => ':account का उपयोग करके :amount का भुगतान किया गया था।',
'billing' => 'बिलिंग',
'advanced' => 'अग्रिम',
'invoice_detail' => [
'marked' => '<b>आपने</b> इस चालान को इस रूप में चिह्नित किया है ',
'services' => 'सेवाएं',
'another_item' => 'एक और आइटम',
'another_description' => 'और एक और विवरण',
'more_item' => '+:count और आइटम',
],
'statuses' => [
'draft' => 'ड्राफ्ट',
@ -40,6 +53,15 @@ return [
'not_invoiced' => 'चालान नहीं हुआ',
'confirmed' => 'पुष्टि कीया गया',
'not_confirmed' => 'पुष्टि नहीं',
'active' => 'सक्रिय',
'ended' => 'समाप्त',
],
'form_description' => [
'companies' => 'अपनी कंपनी का पता, लोगो और अन्य जानकारी बदलें।',
'billing' => 'आपके दस्तावेज़ में बिलिंग विवरण दिखाई देता है।',
'advanced' => 'श्रेणी का चयन करें, पाद लेख जोड़ें या संपादित करें, और अपनी :type में अनुलग्नक(attachment) जोड़ें',
'attachment' => 'इस :type से जुड़ी फ़ाइलें डाउनलोड करें',
],
'messages' => [
@ -51,4 +73,14 @@ return [
'marked_cancelled' => ':type रद्द के रूप में मार्क किया गया!',
'marked_received' => ':type स्वीकार किये के रूप में मार्क किया गया!',
],
'recurring' => [
'auto_generated' => 'स्व - उत्पन्न',
'tooltip' => [
'document_date' => ':type की तारीख स्वचालित रूप से :type अनुसूची और आवृत्ति के आधार पर असाइन की जाएगी।',
'document_number' => 'प्रत्येक आवर्ती :type उत्पन्न होने पर :type संख्या स्वचालित रूप से असाइन की जाएगी।',
],
],
];

View File

@ -6,5 +6,8 @@ return [
'powered' => 'Akaunting द्वारा संचालित',
'link' => 'https://akaunting.com',
'software' => 'मुफ्त लेखांकन सॉफ्टवेयर',
'powered_by' => 'द्वारा संचालित',
'tag_line' => 'Akaunting के साथ चालान भेजें, खर्चों को ट्रैक करें और लेखांकन को स्वचालित करें। :get_started_url',
'get_started' => 'शुरू करें',
];

View File

@ -25,4 +25,9 @@ return [
'docs_link' => 'https://akaunting.com/docs',
'support_link' => 'https://akaunting.com/support',
'favorite' => [
'added_favorite' => 'पसंदीदा में जोड़ा',
'add_favorite' => 'पसंदीदा में जोड़े',
],
];

View File

@ -44,4 +44,8 @@ return [
'connection' => 'त्रुटि: डेटाबेस से कनेक्ट नहीं हो सका! कृपया, सुनिश्चित करें कि विवरण सही हैं।',
],
'update' => [
'core' => 'Akaunting का नया संस्करण उपलब्ध है! कृपया, अपने इंस्टालेशन को अपडेट करें।',
'module' => ':module नया संस्करण उपलब्ध है! कृपया, अपने इंस्टालेशन को अपडेट करें।',
],
];

View File

@ -5,5 +5,13 @@ return [
'sale_price' => 'विक्रय कीमत',
'purchase_price' => 'खरीद कीमत',
'enter_item_description' => 'वस्तु का विवरण दर्ज करें',
'billing' => 'बिलिंग',
'sale_information' => 'बिक्री की जानकारी',
'purchase_information' => 'खऱीदी की जानकारी ',
'form_description' => [
'general' => 'अपनी रिपोर्ट को अधिक विस्तृत बनाने के लिए एक श्रेणी चुनें। जब किसी चलान या बिल में आइटम का चयन किया जाता है तो विवरण पॉप्युलेट हो जाएगा।',
'billing' => 'बिक्री की जानकारी का उपयोग चालान में किया जाता है, और खरीद जानकारी का उपयोग बिलों में किया जाता है। इनवॉइस और बिल दोनों पर टैक्स लगेगा।',
],
];

View File

@ -4,17 +4,45 @@ return [
'api_key' => 'API कुंजी',
'my_apps' => 'मेरी एप्प्स',
'checkout' => 'चेक आउट',
'documentation' => 'प्रलेखन',
'home' => 'होम',
'tiles' => 'सूची',
'item' => 'ऐप विवरण',
'pre_sale' => 'पूर्व बिक्री',
'no_apps' => 'अपने व्यवसाय के लिए सबसे अधिक पेशेवर ऐप्स देखें और उन्हें सर्वोत्तम मूल्य पर प्राप्त करें।',
'learn_more' => 'और अधिक जानें',
'see_apps' => 'ऐप्स देखें',
'no_apps_marketing' => 'अपना व्यवसाय पेशेवर रूप से करें',
'premium_banner' => 'आज ही प्रीमियम पर स्विच करें',
'see_all' => 'सभी देखें',
'see_all_type' => 'सभी :type देखें',
'saving' => 'आप साल में :saved-price बचाते हैं!',
'top_paid' => 'टॉप पेड',
'new' => 'नया',
'top_free' => 'टॉप फ़्री',
'free' => 'फ़्री',
'monthly' => 'मासिक',
'yearly' => 'वार्षिक',
'yearly_pricing' => 'वार्षिक मूल्य निर्धारण',
'monthly_price' => ' :price से',
'per_month' => 'प्रति माह',
'billed_yearly' => 'वार्षिक बिल किया गया',
'billed_monthly' => 'मासिक बिल किया गया',
'save_year' => 'आप सालाना <strong>:price</strong> बचाते हैं!',
'if_paid_year' => 'या <strong>:price/mo</strong> अगर सालाना भुगतान किया जाता है',
'information_monthly' => 'यह विकल्प केवल <strong>क्लाउड सेवा</strong> के लिए मान्य है',
'install' => 'इंस्टॉल करें',
'buy_now' => 'अभी खरीदें',
'get_api_key' => 'अपनी एपीआई कुंजी प्राप्त करने के लिए यहां <a href=":url" target="_blank">क्लिक</a> करें।',
'no_apps' => 'इस श्रेणी में अभी तक कोई एप्लिकेशन नहीं हैं।',
'become_developer' => 'क्या आप एक डेवलपर हैं? <a href=":url" target="_blank">यहां</a> आप सीख सकते हैं कि ऐप कैसे बनाएं और आज बेचना शुरू करें!',
'recommended_apps' => 'अनुशंसित ऐप्स',
'can_not_install' => 'मासिक सदस्यता केवल क्लाउड सेवा पर उपलब्ध है। <a href="https://akaunting.com/upgrad-to-yearly" target="_blank">और जानें।</a>',
'apps_managing' => 'सबसे ट्रेंडिंग ऐप्स देखें और आज ही पेशेवर रूप से अपने वित्त का प्रबंधन शुरू करें।',
'ready' => 'तैयार',
'popular_this_week' => 'इस सप्ताह में लोकप्रिय',
'about' => 'के बारे में',
@ -25,13 +53,22 @@ return [
'view' => 'देखें',
'back' => 'पीछे',
'use_app' => 'अभी ऐप का उपयोग करना शुरू करें',
'see_more' => 'और देखें',
'installed' => ':module इंस्टॉल',
'uninstalled' => ':module अनइंस्टॉल',
'updated_2' => ':module अपडेट किया गया',
'enabled' => ':module सक्रिय',
'disabled' => ':module निष्क्रिय',
'per_month' => 'प्रति माह',
'pre_sale_uninstall' => 'प्री-सेल के लिए रियायती मूल्य से न चूकें!',
'pre_sale_install' => 'आपके पास प्री-सेल की समाप्ति वाला ऐप होगा।',
'tab' => [
'features' => 'विशेषताएं',
'screenshots' => 'स्क्रीनशॉट्स',
'installation' => 'स्थापना',
'faq' => 'सामान्य प्रश्न',
'changelog' => 'चेंज लोग',
@ -49,6 +86,7 @@ return [
],
'errors' => [
'purchase' => 'आपको :module! खरीदना/नवीनीकरण करना चाहिए !',
'download' => ':module डाउनलोड करने में सक्षम नहीं है।',
'zip' => ':module ज़िप फ़ाइल बनाने में सक्षम नहीं है।',
'unzip' => ':module अनज़िप करने में सक्षम नहीं है।',

View File

@ -14,5 +14,9 @@ return [
'cleared_amount' => 'स्पष्ट राशि',
'deposit' => 'जमा',
'withdrawal' => 'निकासी',
'reconciled_amount' => 'मेल मिलाप',
'in_progress' => 'प्रगति में',
'save_draft' => 'ड्राफ्ट के रूप में सेव करें',
'irreconcilable' => 'असंगत',
];

View File

@ -15,6 +15,27 @@ return [
'weeks' => 'सप्ताह()',
'months' => 'महीना(s)',
'years' => 'वर्ष(s)',
'frequency' => 'आवृत्ति',
'duration' => 'अवधि',
'last_issued' => 'अंतिम बार जारी किए गए',
'after' => 'के बाद',
'on' => 'चालू',
'never' => 'कभी नहीं',
'ends_after' => ':times बार के बाद समाप्त होता है',
'ends_never' => 'कभी समाप्त नहीं होती',
'ends_date' => ':date को समाप्त होगा',
'next_date' => 'अगला :date को',
'end' => 'अंत आवर्ती',
'child' => ':url स्वचालित रूप से :date को बनाया गया था',
'message' => 'यह एक आवर्ती :type है और अगला :type :date को स्वचालित रूप से उत्पन्न हो जाएगा',
'message_parent' => 'यह :type स्वचालित रूप से :link से उत्पन्न हुआ था',
'frequency_type' => 'इस :type को दोहराएं',
'limit_date' => 'पर पहली :type बनाएं',
'limit_middle' => 'और अंत',
'form_description' => [
'schedule' => 'यह सुनिश्चित करने के लिए कि आपका ग्राहक सही दिन पर आपकी :type प्राप्त करता है, शर्तें और प्रारंभ/समाप्ति समय चुनें।',
],
];

View File

@ -1,6 +1,7 @@
<?php
return [
'AF' => 'Afganistan',
'AX' => 'Kepulauan Aland',
'AL' => 'Albania',
@ -119,6 +120,7 @@ return [
'KZ' => 'Kazakhstan',
'KE' => 'Kenya',
'KI' => 'Kiribati',
'XK' => 'KOSOVO',
'KW' => 'Kuwait',
'KG' => 'Kirgizstan',
'LA' => 'Laos',
@ -250,4 +252,5 @@ return [
'YE' => 'Yaman',
'ZM' => 'Zambia',
'ZW' => 'Zimbabwe',
];

View File

@ -1,6 +1,7 @@
<?php
return [
'AF' => 'Afeganistão',
'AX' => 'Ilhas Aland',
'AL' => 'Albânia',
@ -119,6 +120,7 @@ return [
'KZ' => 'Cazaquistão',
'KE' => 'Quênia',
'KI' => 'Quiribati',
'XK' => 'Kosovo',
'KW' => 'Kuwait',
'KG' => 'Quirguistão',
'LA' => 'Laos',
@ -250,4 +252,5 @@ return [
'YE' => 'Iêmen',
'ZM' => 'Zâmbia',
'ZW' => 'Zimbábue',
];

View File

@ -41,8 +41,9 @@
override="class"
data-loading-text="{{ trans('general.loading') }}"
>
<i v-if="form.loading" class="animate-submit delay-[0.28s] absolute w-2 h-2 rounded-full left-0 right-0 -top-3.5 m-auto before:absolute before:w-2 before:h-2 before:rounded-full before:animate-submit before:delay-[0.14s] after:absolute after:w-2 after:h-2 after:rounded-full after:animate-submit before:-left-3.5 after:-right-3.5 after:delay-[0.42s]"></i>
<span :class="[{'opacity-0': form.loading}]">{{ trans('general.send') }}</span>
<x-button.loading>
{{ trans('general.send') }}
</x-button.loading>
</x-button>
</div>
</x-form>

View File

@ -68,12 +68,10 @@
::disabled="form.loading"
class="relative flex items-center justify-center bg-green hover:bg-green-700 text-white px-6 py-1.5 text-base rounded-lg disabled:bg-green-100 sm:col-span-6"
override="class"
data-loading-text="{{ trans('general.loading') }}"
>
<i v-if="form.loading" class="animate-submit delay-[0.28s] absolute w-2 h-2 rounded-full left-0 right-0 -top-3.5 m-auto before:absolute before:w-2 before:h-2 before:rounded-full before:animate-submit before:delay-[0.14s] after:absolute after:w-2 after:h-2 after:rounded-full after:animate-submit before:-left-3.5 after:-right-3.5 after:delay-[0.42s]"></i>
<span :class="[{'opacity-0': form.loading}]">
<x-button.loading>
{{ trans('auth.login') }}
</span>
</x-button.loading>
</x-button>
</div>
</x-form>

View File

@ -58,8 +58,9 @@
override="class"
data-loading-text="{{ trans('general.loading') }}"
>
<i v-if="form.loading" class="animate-submit delay-[0.28s] absolute w-2 h-2 rounded-full left-0 right-0 -top-3.5 m-auto before:absolute before:w-2 before:h-2 before:rounded-full before:animate-submit before:delay-[0.14s] after:absolute after:w-2 after:h-2 after:rounded-full after:animate-submit before:-left-3.5 after:-right-3.5 after:delay-[0.42s]"></i>
<span :class="[{'opacity-0': form.loading}]">{{ trans('auth.reset') }}</span>
<x-button.loading>
{{ trans('auth.reset') }}
</x-button.loading>
</x-button>
</div>
</x-form>

View File

@ -264,8 +264,9 @@
class="flex items-center justify-center bg-transparent hover:bg-gray-200 px-3 py-1.5 text-base rounded-lg disabled:opacity-50"
override="class"
>
<i v-if="form.loading" class="material-icons animate-submit delay-[0.28s] absolute w-2 h-2 rounded-full left-0 right-0 -top-3.5 m-auto before:absolute before:w-2 before:h-2 before:rounded-full before:animate-submit before:delay-[0.14s] after:absolute after:w-2 after:h-2 after:rounded-full after:animate-submit before:-left-3.5 after:-right-3.5 after:delay-[0.42s]"></i>
<span :class="[{'ml-0': form.loading}]">{{ trans('reconciliations.save_draft') }}</span>
<x-button.loading>
{{ trans('reconciliations.save_draft') }}
</x-button.loading>
</x-button>
<div v-if="reconcile">
@ -278,13 +279,9 @@
@click="onReconcileSubmit"
data-loading-text="{{ trans('general.loading') }}"
>
<i
v-if="form.loading"
class="animate-submit delay-[0.28s] absolute w-2 h-2 rounded-full left-0 right-0 -top-3.5 m-auto before:absolute before:w-2 before:h-2 before:rounded-full before:animate-submit before:delay-[0.14s] after:absolute after:w-2 after:h-2 after:rounded-full after:animate-submit before:-left-3.5 after:-right-3.5 after:delay-[0.42s]"
>
</i>
<span :class="[{'opacity-1': reconcile}]">{{ trans('reconciliations.reconcile') }}</span>
<x-button.loading action="! reconcile">
{{ trans('reconciliations.reconcile') }}
</x-button.loading>
</x-button>
</x-tooltip>
</div>
@ -297,12 +294,9 @@
@click="onReconcileSubmit"
data-loading-text="{{ trans('general.loading') }}"
>
<i
v-if="form.loading"
class="animate-submit delay-[0.28s] absolute w-2 h-2 rounded-full left-0 right-0 -top-3.5 m-auto before:absolute before:w-2 before:h-2 before:rounded-full before:animate-submit before:delay-[0.14s] after:absolute after:w-2 after:h-2 after:rounded-full after:animate-submit before:-left-3.5 after:-right-3.5 after:delay-[0.42s]"
>
</i>
<span :class="[{'opacity-1': reconcile}]">{{ trans('reconciliations.reconcile') }}</span>
<x-button.loading action="! reconcile">
{{ trans('reconciliations.reconcile') }}
</x-button.loading>
</x-button>
</div>
</div>

View File

@ -203,9 +203,11 @@
class="relative flex items-center justify-center bg-transparent hover:bg-gray-200 px-3 py-1.5 text-base rounded-lg disabled:opacity-50"
override="class"
>
<i v-if="form.loading" class="animate-submit delay-[0.28s] absolute w-2 h-2 rounded-full left-0 right-0 -top-3.5 m-auto before:absolute before:w-2 before:h-2 before:rounded-full before:animate-submit before:delay-[0.14s] after:absolute after:w-2 after:h-2 after:rounded-full after:animate-submit before:-left-3.5 after:-right-3.5 after:delay-[0.42s]"></i>
<span :class="[{'ml-0': form.loading}]">{{ trans('general.save') }}</span>
<x-button.loading>
{{ trans('general.save') }}
</x-button.loading>
</x-button>
<div v-if="reconcile">
<x-tooltip id="tooltip-reconcile" placement="top" message="{{ trans('reconciliations.irreconcilable') }}">
<x-button
@ -216,16 +218,13 @@
@click="onReconcileSubmit"
data-loading-text="{{ trans('general.loading') }}"
>
<i
v-if="form.loading"
class="animate-submit delay-[0.28s] absolute w-2 h-2 rounded-full left-0 right-0 -top-3.5 m-auto before:absolute before:w-2 before:h-2 before:rounded-full before:animate-submit before:delay-[0.14s] after:absolute after:w-2 after:h-2 after:rounded-full after:animate-submit before:-left-3.5 after:-right-3.5 after:delay-[0.42s]"
>
</i>
<span :class="[{'opacity-1': reconcile}]">{{ trans('reconciliations.reconcile') }}</span>
<x-button.loading action="! reconcile">
{{ trans('reconciliations.reconcile') }}
</x-button.loading>
</x-button>
</x-tooltip>
</div>
<div v-else>
<x-button
type="button"
@ -235,13 +234,9 @@
@click="onReconcileSubmit"
data-loading-text="{{ trans('general.loading') }}"
>
<i
v-if="form.loading"
class="animate-submit delay-[0.28s] absolute w-2 h-2 rounded-full left-0 right-0 -top-3.5 m-auto before:absolute before:w-2 before:h-2 before:rounded-full before:animate-submit before:delay-[0.14s] after:absolute after:w-2 after:h-2 after:rounded-full after:animate-submit before:-left-3.5 after:-right-3.5 after:delay-[0.42s]"
>
</i>
<span :class="[{'opacity-1': reconcile}]">{{ trans('reconciliations.reconcile') }}</span>
<x-button.loading action="! reconcile">
{{ trans('reconciliations.reconcile') }}
</x-button.loading>
</x-button>
</div>
</div>

View File

@ -41,8 +41,9 @@
</button>
<button :disabled="form.loading" type="button" class="relative flex items-center justify-center bg-green hover:bg-green-700 text-white px-6 py-1.5 text-base rounded-lg disabled:bg-green-100" @click="addTemplate">
<i v-if="form.loading" class="animate-submit delay-[0.28s] absolute w-2 h-2 rounded-full left-0 right-0 -top-3.5 m-auto before:absolute before:w-2 before:h-2 before:rounded-full before:animate-submit before:delay-[0.14s] after:absolute after:w-2 after:h-2 after:rounded-full after:animate-submit before:-left-3.5 after:-right-3.5 after:delay-[0.42s]"></i>
<span :class="[{'opacity-0': form.loading}]">{{ trans('general.confirm') }}</span>
<x-button.loading>
{{ trans('general.confirm') }}
</x-button.loading>
</button>
</div>
</template>

View File

@ -100,7 +100,9 @@
<div class="dashboard-action">
<x-dropdown id="dropdown-dashboard-company">
<x-slot name="trigger" class="flex" override="class">
<span id="dashboard-more-actions" class="material-icons-outlined text-4xl text-purple cursor-pointer hover:bg-gray-100 hover:rounded-lg hover:shadow-md">more_vert</span>
<span id="dashboard-more-actions" class="w-8 h-8 flex items-center justify-center px-2 py-2 ltr:ml-2 rtl:mr-2 hover:bg-gray-100 rounded-xl text-purple text-sm font-medium leading-6">
<span class="material-icons">more_vert</span>
</span>
</x-slot>
@can('create-common-widgets')

View File

@ -47,10 +47,9 @@
::disabled="form.loading"
override="class"
>
<i v-if="form.loading" class="animate-submit delay-[0.28s] absolute w-2 h-2 rounded-full left-0 right-0 -top-3.5 m-auto before:absolute before:w-2 before:h-2 before:rounded-full before:animate-submit before:delay-[0.14s] after:absolute after:w-2 after:h-2 after:rounded-full after:animate-submit before:-left-3.5 after:-right-3.5 after:delay-[0.42s]"></i>
<span :class="[{'opacity-0': form.loading}]">
<x-button.loading>
{{ trans('import.import') }}
</span>
</x-button.loading>
</x-button>
</div>
</div>

View File

@ -52,13 +52,15 @@
</a>
</div>
<div class="flex items-start">
<div class="flex items-start ltr:space-x-2 rtl:space-x-reverse">
<livewire:report.pin :categories="$categories" :report-id="$report->id" />
@canany(['create-common-reports', 'update-common-reports', 'delete-common-reports'])
<x-dropdown id="widget-{{ $category_id }}-{{ $report->id }}">
<x-slot name="trigger" class="flex" override="class">
<span class="material-icons-outlined text-lg px-1 py-0.5 cursor-pointer hover:bg-gray-100 hover:rounded-lg hover:shadow-md">more_vert</span>
<span class="w-8 h-8 flex items-center justify-center px-2 py-2 rtl:mr-4 hover:bg-gray-100 rounded-xl text-purple text-sm font-medium leading-6">
<span class="material-icons">more_vert</span>
</span>
</x-slot>
@can('update-common-reports')

View File

@ -0,0 +1,21 @@
@props(['action'])
@php
if (empty($action)) {
$action = 'form.loading';
}
@endphp
<i
@class([
'animate-submit delay-[0.28s] absolute w-2 h-2 rounded-full left-0 right-0 -top-3.5 m-auto',
'before:absolute before:w-2 before:h-2 before:rounded-full before:animate-submit before:delay-[0.14s]',
'after:absolute after:w-2 after:h-2 after:rounded-full after:animate-submit before:-left-3.5 after:-right-3.5 after:delay-[0.42s]'
])
{{ $attributes }}
v-if="{{ $action }}"
>
</i>
<span :class="[{'opacity-0': {{ $action }}}]">
{!! $slot !!}
</span>

View File

@ -295,6 +295,27 @@
:dynamic-options="dynamic_taxes"
:disabled-options="form.items[index].tax_ids"
:value="row_tax.id"
:add-new="{{ json_encode([
'status' => true,
'text' => trans('general.title.new', ['type' => trans_choice('general.taxes', 1)]),
'path' => route('modals.taxes.create'),
'type' => 'modal',
'field' => [
'key' => 'id',
'value' => 'title'
],
'new_text' => trans('modules.new'),
'buttons' => [
'cancel' => [
'text' => trans('general.cancel'),
'class' => 'btn-outline-secondary'
],
'confirm' => [
'text' => trans('general.save'),
'class' => 'disabled:bg-green-100'
]
]
])}}"
@interface="row_tax.id = $event"
@change="onCalculateTotal()"
@new="dynamic_taxes.push($event)"

View File

@ -182,6 +182,13 @@
selected="{{ $currency->code }}"
change="onChangeCurrency"
model="form.currency_code"
add-new
add-new-text="{!! trans('general.title.new', ['type' => trans_choice('general.currencies', 1)]) !!}"
:path="route('modals.currencies.create')"
:field="[
'key' => 'code',
'value' => 'name'
]"
form-group-class="h-8 -mt-2"
/>

View File

@ -17,10 +17,9 @@
::disabled="form.loading"
override="class"
>
<i v-if="form.loading" class="animate-submit delay-[0.28s] absolute w-2 h-2 rounded-full left-0 right-0 -top-3.5 m-auto before:absolute before:w-2 before:h-2 before:-left-3.5 before:rounded-full before:animate-submit before:delay-[0.14s] after:absolute after:w-2 after:h-2 after:-right-3.5 after:rounded-full after:animate-submit after:delay-[0.42s]"></i>
<span :class="[{'opacity-0': form.loading}]">
<x-button.loading>
{{ trans('general.save') }}
</span>
</x-button.loading>
</x-button>
</div>
@stack('save_buttons_end')

View File

@ -70,7 +70,7 @@
@if (! empty($addNew))
:add-new="{{ json_encode([
'status' => true,
'text' => trans('general.title.new', ['type' => $label ?? '']),
'text' => isset($attributes['add-new-text']) ? $attributes['add-new-text'] : trans('general.title.new', ['type' => $label ?? '']),
'path' => isset($attributes['path']) ? $attributes['path']: false,
'type' => isset($attributes['type']) ? $attributes['type'] : 'modal',
'field' => [

View File

@ -19,12 +19,11 @@
id="releases-load-more"
:disabled="loadMoreLoading"
@click="onModuleLoadMore('releases')"
class="w-48 bg-green m-auto block whitespace-nowrap px-4 py-2 border border-transparent rounded-md shadow-sm text-base font-medium text-white text-center js-learn-more js-button-modal-submit hover:bg-green-700 disabled:bg-green-300"
class="relative w-48 bg-green m-auto block whitespace-nowrap px-4 py-2 border border-transparent rounded-md shadow-sm text-base font-medium text-white text-center js-learn-more js-button-modal-submit hover:bg-green-700 disabled:bg-green-300"
>
<i v-if="loadMoreLoading" class="animate-submit delay-[0.28s] absolute w-2 h-2 rounded-full left-0 right-0 -top-3.5 m-auto before:absolute before:w-2 before:h-2 before:rounded-full before:animate-submit before:delay-[0.14s] after:absolute after:w-2 after:h-2 after:rounded-full after:animate-submit before:-left-3.5 after:-right-3.5 after:delay-[0.42s]"></i>
<span :class="[{'opacity-0': loadMoreLoading}]">
<x-button.loading action="loadMoreLoading">
{{ trans('modules.see_more') }}
</span>
</x-button.loading>
</button>
</div>

View File

@ -19,12 +19,11 @@
id="review-load-more"
:disabled="loadMoreLoading"
@click="onModuleLoadMore('reviews')"
class="w-48 bg-green m-auto block whitespace-nowrap px-4 py-2 border border-transparent rounded-md shadow-sm text-base font-medium text-white text-center js-learn-more js-button-modal-submit hover:bg-green-700 disabled:bg-green-300"
class="relative w-48 bg-green m-auto block whitespace-nowrap px-4 py-2 border border-transparent rounded-md shadow-sm text-base font-medium text-white text-center js-learn-more js-button-modal-submit hover:bg-green-700 disabled:bg-green-300"
>
<i v-if="loadMoreLoading" class="animate-submit delay-[0.28s] absolute w-2 h-2 rounded-full left-0 right-0 -top-3.5 m-auto before:absolute before:w-2 before:h-2 before:rounded-full before:animate-submit before:delay-[0.14s] after:absolute after:w-2 after:h-2 after:rounded-full after:animate-submit before:-left-3.5 after:-right-3.5 after:delay-[0.42s]"></i>
<span :class="[{'opacity-0': loadMoreLoading}]">
<x-button.loading action="loadMoreLoading">
{{ trans('modules.see_more') }}
</span>
</x-button.loading>
</button>
</div>

View File

@ -30,14 +30,16 @@
@if ($seeMore)
<div class="flex items-center mt-10">
<button type="button" id="button-pre-load" @click="onloadMore"
<button
type="button"
id="button-pre-load"
@click="onloadMore"
:disabled="loadMoreLoading"
class="w-48 m-auto relative flex items-center justify-center bg-green hover:bg-green-700 text-white px-6 py-1.5 text-base rounded-lg disabled:bg-green-100 js-learn-more js-button-modal-submit"
class="relative w-48 m-auto flex items-center justify-center bg-green hover:bg-green-700 text-white px-6 py-1.5 text-base rounded-lg disabled:bg-green-100 js-learn-more js-button-modal-submit"
>
<i v-if="loadMoreLoading" class="animate-submit delay-[0.28s] absolute w-2 h-2 rounded-full left-0 right-0 -top-3.5 m-auto before:absolute before:w-2 before:h-2 before:rounded-full before:animate-submit before:delay-[0.14s] after:absolute after:w-2 after:h-2 after:rounded-full after:animate-submit before:-left-3.5 after:-right-3.5 after:delay-[0.42s]"></i>
<span :class="[{'opacity-0': loadMoreLoading}]">
<x-button.loading action="loadMoreLoading">
{{ trans('modules.see_more') }}
</span>
</x-button.loading>
</button>
<x-form.input.hidden name="see_more_path" value="{{ route('apps.load-more', ['type' => $type]) }}" />

View File

@ -12,7 +12,9 @@
<x-dropdown id="dropdown-widget-{{ $class->model->id }}">
<x-slot name="trigger" class="flex" override="class">
<span id="dashboard-widget-more-actions" class="material-icons cursor-pointer text-purple hover:bg-gray-100 hover:rounded-lg hover:shadow-md">more_vert</span>
<span id="dashboard-widget-more-actions" class="w-8 h-8 flex items-center justify-center px-2 py-2 hover:bg-gray-100 rounded-xl text-purple text-sm font-medium leading-6">
<span class="material-icons">more_vert</span>
</span>
</x-slot>
@can('update-common-widgets')

View File

@ -3,7 +3,7 @@
id="{{ $favorited ? 'remove-from-favorite' : 'add-to-favorite' }}"
@class([
'flex items-center text-purple text-2xl ltr:ml-2 rtl:mr-2 lg:mt-2 cursor-pointer',
'material-icons-outlined' => ($favorited) ? false : true,
'material-icons-outlined transform transition-all hover:scale-125' => ($favorited) ? false : true,
'material-icons' => (! $favorited) ? false : true,
])
wire:click="changeStatus()"

View File

@ -7,7 +7,7 @@
<span
id="{{ $favorite['id'] }}"
@class([
'material-icons-outlined' => ! $favorite['active'],
'material-icons-outlined transform transition-all hover:scale-125' => ! $favorite['active'],
'material-icons' => $favorite['active'],
'text-purple cursor-pointer',
])

View File

@ -1,9 +1,9 @@
<button class="ltr:mr-4 rtl:m-4" data-tooltip-target="{{ $reportId }}-pin" data-tooltip-placement="bottom">
<button class="w-8 h-8 flex items-center justify-center px-2 py-2 rounded-xl text-purple text-sm font-medium leading-6" data-tooltip-target="{{ $reportId }}-pin" data-tooltip-placement="bottom">
<span
id="{{ $pinned ? 'reports-unpin-' . $reportId : 'reports-pin-' . $reportId }}"
@class([
'text-black-400 text-lg transform rotate-45 cursor-pointer mx-2',
'material-icons-outlined' => ($pinned) ? false : true,
'text-lg transform rotate-45 transition-all',
'material-icons-outlined hover:scale-125' => ($pinned) ? false : true,
'material-icons' => (! $pinned) ? false : true,
])
wire:click="changeStatus('{{ $reportId }}')"

View File

@ -32,7 +32,7 @@
</x-slot>
<x-slot name="body">
<x-form.group.textarea name="address" label="{{ trans('settings.company.address') }}" :value="setting('company.address')" />
<x-form.group.textarea name="address" label="{{ trans('settings.company.address') }}" :value="setting('company.address')" not-required />
<x-form.group.text name="city" label="{{ trans_choice('general.cities', 1) }}" value="{{ setting('company.city') }}" not-required />