diff --git a/app/Api/V1/Controllers/Models/Transaction/UpdateController.php b/app/Api/V1/Controllers/Models/Transaction/UpdateController.php index d76fef9210..36c4aba133 100644 --- a/app/Api/V1/Controllers/Models/Transaction/UpdateController.php +++ b/app/Api/V1/Controllers/Models/Transaction/UpdateController.php @@ -73,7 +73,7 @@ class UpdateController extends Controller $data = $request->getAll(); // Fixes 8750. - $transactions = $data['transactions'] ?? []; + $transactions = $data['transactions'] ?? []; foreach ($transactions as $index => $info) { unset($data['transactions'][$index]['type']); } diff --git a/app/Api/V1/Requests/Models/Rule/StoreRequest.php b/app/Api/V1/Requests/Models/Rule/StoreRequest.php index 1d91a816ef..a9cd06f1ae 100644 --- a/app/Api/V1/Requests/Models/Rule/StoreRequest.php +++ b/app/Api/V1/Requests/Models/Rule/StoreRequest.php @@ -106,8 +106,8 @@ class StoreRequest extends FormRequest */ public function rules(): array { - $validTriggers = $this->getTriggers(); - $validActions = array_keys(config('firefly.rule-actions')); + $validTriggers = $this->getTriggers(); + $validActions = array_keys(config('firefly.rule-actions')); // some triggers and actions require text: $contextTriggers = implode(',', $this->getTriggersWithContext()); @@ -119,11 +119,11 @@ class StoreRequest extends FormRequest 'rule_group_id' => 'belongsToUser:rule_groups|required_without:rule_group_title', 'rule_group_title' => 'nullable|min:1|max:255|required_without:rule_group_id|belongsToUser:rule_groups,title', 'trigger' => 'required|in:store-journal,update-journal', - 'triggers.*.type' => 'required|in:' . implode(',', $validTriggers), - 'triggers.*.value' => 'required_if:actions.*.type,' . $contextTriggers . '|min:1|ruleTriggerValue|max:1024', + 'triggers.*.type' => 'required|in:'.implode(',', $validTriggers), + 'triggers.*.value' => 'required_if:actions.*.type,'.$contextTriggers.'|min:1|ruleTriggerValue|max:1024', 'triggers.*.stop_processing' => [new IsBoolean()], 'triggers.*.active' => [new IsBoolean()], - 'actions.*.type' => 'required|in:' . implode(',', $validActions), + 'actions.*.type' => 'required|in:'.implode(',', $validActions), 'actions.*.value' => [sprintf('required_if:actions.*.type,%s', $contextActions), new IsValidActionExpression(), 'ruleActionValue'], 'actions.*.stop_processing' => [new IsBoolean()], 'actions.*.active' => [new IsBoolean()], @@ -182,10 +182,10 @@ class StoreRequest extends FormRequest */ protected function atLeastOneActiveTrigger(Validator $validator): void { - $data = $validator->getData(); + $data = $validator->getData(); /** @var null|array|int|string $triggers */ - $triggers = $data['triggers'] ?? []; + $triggers = $data['triggers'] ?? []; // need at least one trigger if (!is_countable($triggers) || 0 === count($triggers)) { return; @@ -211,10 +211,10 @@ class StoreRequest extends FormRequest */ protected function atLeastOneActiveAction(Validator $validator): void { - $data = $validator->getData(); + $data = $validator->getData(); /** @var null|array|int|string $actions */ - $actions = $data['actions'] ?? []; + $actions = $data['actions'] ?? []; // need at least one trigger if (!is_countable($actions) || 0 === count($actions)) { return; diff --git a/app/Api/V1/Requests/Models/Rule/UpdateRequest.php b/app/Api/V1/Requests/Models/Rule/UpdateRequest.php index afbf52b175..622a6fe4a9 100644 --- a/app/Api/V1/Requests/Models/Rule/UpdateRequest.php +++ b/app/Api/V1/Requests/Models/Rule/UpdateRequest.php @@ -47,7 +47,7 @@ class UpdateRequest extends FormRequest */ public function getAll(): array { - $fields = [ + $fields = [ 'title' => ['title', 'convertString'], 'description' => ['description', 'stringWithNewlines'], 'rule_group_id' => ['rule_group_id', 'convertInteger'], @@ -122,11 +122,11 @@ class UpdateRequest extends FormRequest */ public function rules(): array { - $validTriggers = $this->getTriggers(); - $validActions = array_keys(config('firefly.rule-actions')); + $validTriggers = $this->getTriggers(); + $validActions = array_keys(config('firefly.rule-actions')); /** @var Rule $rule */ - $rule = $this->route()->parameter('rule'); + $rule = $this->route()->parameter('rule'); // some triggers and actions require text: $contextTriggers = implode(',', $this->getTriggersWithContext()); @@ -138,11 +138,11 @@ class UpdateRequest extends FormRequest 'rule_group_id' => 'belongsToUser:rule_groups', 'rule_group_title' => 'nullable|min:1|max:255|belongsToUser:rule_groups,title', 'trigger' => 'in:store-journal,update-journal', - 'triggers.*.type' => 'required|in:' . implode(',', $validTriggers), - 'triggers.*.value' => 'required_if:actions.*.type,' . $contextTriggers . '|min:1|ruleTriggerValue|max:1024', + 'triggers.*.type' => 'required|in:'.implode(',', $validTriggers), + 'triggers.*.value' => 'required_if:actions.*.type,'.$contextTriggers.'|min:1|ruleTriggerValue|max:1024', 'triggers.*.stop_processing' => [new IsBoolean()], 'triggers.*.active' => [new IsBoolean()], - 'actions.*.type' => 'required|in:' . implode(',', $validActions), + 'actions.*.type' => 'required|in:'.implode(',', $validActions), 'actions.*.value' => [sprintf('required_if:actions.*.type,%s', $contextActions), new IsValidActionExpression(), 'ruleActionValue'], 'actions.*.stop_processing' => [new IsBoolean()], 'actions.*.active' => [new IsBoolean()], diff --git a/app/Api/V2/Controllers/Controller.php b/app/Api/V2/Controllers/Controller.php index e22326cbef..9f5e4dfd49 100644 --- a/app/Api/V2/Controllers/Controller.php +++ b/app/Api/V2/Controllers/Controller.php @@ -122,7 +122,7 @@ class Controller extends BaseController $obj = null; } } - if(null !== $date && 'end' === $field) { + if (null !== $date && 'end' === $field) { $obj->endOfDay(); } $bag->set($field, $obj); diff --git a/app/Api/V2/Controllers/Model/Account/IndexController.php b/app/Api/V2/Controllers/Model/Account/IndexController.php index 09ab788310..2994092bfd 100644 --- a/app/Api/V2/Controllers/Model/Account/IndexController.php +++ b/app/Api/V2/Controllers/Model/Account/IndexController.php @@ -25,7 +25,6 @@ namespace FireflyIII\Api\V2\Controllers\Model\Account; use FireflyIII\Api\V2\Controllers\Controller; use FireflyIII\Api\V2\Request\Model\Account\IndexRequest; -use FireflyIII\Api\V2\Request\Model\Transaction\InfiniteListRequest; use FireflyIII\Enums\UserRoleEnum; use FireflyIII\Repositories\UserGroups\Account\AccountRepositoryInterface; use FireflyIII\Transformers\V2\AccountTransformer; @@ -77,6 +76,7 @@ class IndexController extends Controller return response() ->json($this->jsonApiList('accounts', $paginator, $transformer)) - ->header('Content-Type', self::CONTENT_TYPE); + ->header('Content-Type', self::CONTENT_TYPE) + ; } } diff --git a/app/Http/Middleware/SecureHeaders.php b/app/Http/Middleware/SecureHeaders.php index 88880b0163..398c2fbd01 100644 --- a/app/Http/Middleware/SecureHeaders.php +++ b/app/Http/Middleware/SecureHeaders.php @@ -25,6 +25,7 @@ namespace FireflyIII\Http\Middleware; use Illuminate\Http\Request; use Illuminate\Support\Facades\Vite; +use Barryvdh\Debugbar\Facades\Debugbar; /** * Class SecureHeaders @@ -41,16 +42,16 @@ class SecureHeaders public function handle(Request $request, \Closure $next) { // generate and share nonce. - $nonce = base64_encode(random_bytes(16)); + $nonce = base64_encode(random_bytes(16)); Vite::useCspNonce($nonce); - if(class_exists('Barryvdh\Debugbar\Facades\Debugbar')) { - \Barryvdh\Debugbar\Facades\Debugbar::getJavascriptRenderer()->setCspNonce($nonce); + if (class_exists('Barryvdh\Debugbar\Facades\Debugbar')) { + Debugbar::getJavascriptRenderer()->setCspNonce($nonce); } app('view')->share('JS_NONCE', $nonce); - $response = $next($request); - $trackingScriptSrc = $this->getTrackingScriptSource(); - $csp = [ + $response = $next($request); + $trackingScriptSrc = $this->getTrackingScriptSource(); + $csp = [ "default-src 'none'", "object-src 'none'", sprintf("script-src 'unsafe-eval' 'strict-dynamic' 'nonce-%1s'", $nonce), @@ -77,11 +78,10 @@ class SecureHeaders ]; } - - $route = $request->route(); - $customUrl = ''; - $authGuard = (string) config('firefly.authentication_guard'); - $logoutUrl = (string) config('firefly.custom_logout_url'); + $route = $request->route(); + $customUrl = ''; + $authGuard = (string) config('firefly.authentication_guard'); + $logoutUrl = (string) config('firefly.custom_logout_url'); if ('remote_user_guard' === $authGuard && '' !== $logoutUrl) { $customUrl = $logoutUrl; } @@ -90,7 +90,7 @@ class SecureHeaders $csp[] = sprintf("form-action 'self' %s", $customUrl); } - $featurePolicies = [ + $featurePolicies = [ "geolocation 'none'", "midi 'none'", // "notifications 'none'", diff --git a/app/Repositories/UserGroup/UserGroupRepository.php b/app/Repositories/UserGroup/UserGroupRepository.php index 996ace3154..8ed4f51d83 100644 --- a/app/Repositories/UserGroup/UserGroupRepository.php +++ b/app/Repositories/UserGroup/UserGroupRepository.php @@ -296,13 +296,14 @@ class UserGroupRepository implements UserGroupRepositoryInterface $this->user->save(); } - #[\Override] public function getMembershipsFromGroupId(int $groupId): Collection + #[\Override] + public function getMembershipsFromGroupId(int $groupId): Collection { return $this->user->groupMemberships()->where('user_group_id', $groupId)->get(); } - - #[\Override] public function getById(int $id): ?UserGroup + #[\Override] + public function getById(int $id): ?UserGroup { return UserGroup::find($id); } diff --git a/app/Repositories/UserGroups/Account/AccountRepository.php b/app/Repositories/UserGroups/Account/AccountRepository.php index 3f6b74860c..0e85b8295b 100644 --- a/app/Repositories/UserGroups/Account/AccountRepository.php +++ b/app/Repositories/UserGroups/Account/AccountRepository.php @@ -65,7 +65,8 @@ class AccountRepository implements AccountRepositoryInterface $q1->where('account_meta.name', '=', 'account_number'); $q1->where('account_meta.data', '=', $json); } - ); + ) + ; if (0 !== count($types)) { $dbQuery->leftJoin('account_types', 'accounts.account_type_id', '=', 'account_types.id'); @@ -91,7 +92,7 @@ class AccountRepository implements AccountRepositoryInterface public function findByName(string $name, array $types): ?Account { - $query = $this->userGroup->accounts(); + $query = $this->userGroup->accounts(); if (0 !== count($types)) { $query->leftJoin('account_types', 'accounts.account_type_id', '=', 'account_types.id'); @@ -115,8 +116,8 @@ class AccountRepository implements AccountRepositoryInterface public function getAccountCurrency(Account $account): ?TransactionCurrency { - $type = $account->accountType->type; - $list = config('firefly.valid_currency_account_types'); + $type = $account->accountType->type; + $list = config('firefly.valid_currency_account_types'); // return null if not in this list. if (!in_array($type, $list, true)) { @@ -241,9 +242,9 @@ class AccountRepository implements AccountRepositoryInterface public function getAccountsByType(array $types, ?array $sort = []): Collection { - $sortable = ['name', 'active']; // TODO yes this is a duplicate array. - $res = array_intersect([AccountType::ASSET, AccountType::MORTGAGE, AccountType::LOAN, AccountType::DEBT], $types); - $query = $this->userGroup->accounts(); + $sortable = ['name', 'active']; // TODO yes this is a duplicate array. + $res = array_intersect([AccountType::ASSET, AccountType::MORTGAGE, AccountType::LOAN, AccountType::DEBT], $types); + $query = $this->userGroup->accounts(); if (0 !== count($types)) { $query->accountTypeIn($types); } @@ -276,11 +277,12 @@ class AccountRepository implements AccountRepositoryInterface { // search by group, not by user $dbQuery = $this->userGroup->accounts() - ->where('active', true) - ->orderBy('accounts.order', 'ASC') - ->orderBy('accounts.account_type_id', 'ASC') - ->orderBy('accounts.name', 'ASC') - ->with(['accountType']); + ->where('active', true) + ->orderBy('accounts.order', 'ASC') + ->orderBy('accounts.account_type_id', 'ASC') + ->orderBy('accounts.name', 'ASC') + ->with(['accountType']) + ; if ('' !== $query) { // split query on spaces just in case: $parts = explode(' ', $query); @@ -306,29 +308,33 @@ class AccountRepository implements AccountRepositoryInterface return $service->update($account, $data); } - #[\Override] public function getMetaValues(Collection $accounts, array $fields): Collection + #[\Override] + public function getMetaValues(Collection $accounts, array $fields): Collection { $query = AccountMeta::whereIn('account_id', $accounts->pluck('id')->toArray()); if (count($fields) > 0) { $query->whereIn('name', $fields); } + return $query->get(['account_meta.id', 'account_meta.account_id', 'account_meta.name', 'account_meta.data']); } - #[\Override] public function getAccountTypes(Collection $accounts): Collection + #[\Override] + public function getAccountTypes(Collection $accounts): Collection { return AccountType::leftJoin('accounts', 'accounts.account_type_id', '=', 'account_types.id') - ->whereIn('accounts.id', $accounts->pluck('id')->toArray()) - ->get(['accounts.id', 'account_types.type']); - + ->whereIn('accounts.id', $accounts->pluck('id')->toArray()) + ->get(['accounts.id', 'account_types.type']) + ; } - #[\Override] public function getLastActivity(Collection $accounts): array + #[\Override] + public function getLastActivity(Collection $accounts): array { return Transaction::whereIn('account_id', $accounts->pluck('id')->toArray()) - ->leftJoin('transaction_journals', 'transaction_journals.id', 'transactions.transaction_journal_id') - ->groupBy('transactions.account_id') - ->get(['transactions.account_id', DB::raw('MAX(transaction_journals.date) as date_max')])->toArray() // @phpstan-ignore-line - ; + ->leftJoin('transaction_journals', 'transaction_journals.id', 'transactions.transaction_journal_id') + ->groupBy('transactions.account_id') + ->get(['transactions.account_id', DB::raw('MAX(transaction_journals.date) as date_max')])->toArray() // @phpstan-ignore-line + ; } } diff --git a/app/Support/Http/Api/ValidatesUserGroupTrait.php b/app/Support/Http/Api/ValidatesUserGroupTrait.php index 8491dd74dd..a7f6958220 100644 --- a/app/Support/Http/Api/ValidatesUserGroupTrait.php +++ b/app/Support/Http/Api/ValidatesUserGroupTrait.php @@ -51,8 +51,8 @@ trait ValidatesUserGroupTrait } /** @var User $user */ - $user = auth()->user(); - $groupId = 0; + $user = auth()->user(); + $groupId = 0; if (!$request->has('user_group_id')) { $groupId = $user->user_group_id; Log::debug(sprintf('validateUserGroup: no user group submitted, use default group #%d.', $groupId)); @@ -61,8 +61,9 @@ trait ValidatesUserGroupTrait $groupId = (int) $request->get('user_group_id'); Log::debug(sprintf('validateUserGroup: user group submitted, search for memberships in group #%d.', $groupId)); } + /** @var UserGroupRepositoryInterface $repository */ - $repository = app(UserGroupRepositoryInterface::class); + $repository = app(UserGroupRepositoryInterface::class); $repository->setUser($user); $memberships = $repository->getMembershipsFromGroupId($groupId); @@ -73,14 +74,14 @@ trait ValidatesUserGroupTrait } // need to get the group from the membership: - $group = $repository->getById($groupId); + $group = $repository->getById($groupId); if (null === $group) { Log::debug(sprintf('validateUserGroup: group #%d does not exist.', $groupId)); throw new AuthorizationException((string) trans('validation.belongs_user_or_user_group')); } Log::debug(sprintf('validateUserGroup: validate access of user to group #%d ("%s").', $groupId, $group->title)); - $roles = property_exists($this, 'acceptedRoles') ? $this->acceptedRoles : []; + $roles = property_exists($this, 'acceptedRoles') ? $this->acceptedRoles : []; if (0 === count($roles)) { Log::debug('validateUserGroup: no roles defined, so no access.'); diff --git a/app/Support/Navigation.php b/app/Support/Navigation.php index 9a9a2ec2f2..6b5559400a 100644 --- a/app/Support/Navigation.php +++ b/app/Support/Navigation.php @@ -464,7 +464,7 @@ class Navigation $increment = 'addDay'; $format = $this->preferredCarbonFormat($start, $end); $displayFormat = (string)trans('config.month_and_day_js', [], $locale); - $diff = $start->diffInMonths($end, true); + $diff = $start->diffInMonths($end, true); // increment by month (for year) if ($diff >= 1.0001) { $increment = 'addMonth'; @@ -495,7 +495,7 @@ class Navigation public function preferredCarbonFormat(Carbon $start, Carbon $end): string { $format = 'Y-m-d'; - $diff = $start->diffInMonths($end, true); + $diff = $start->diffInMonths($end, true); Log::debug(sprintf('preferredCarbonFormat(%s, %s) = %f', $start->format('Y-m-d'), $end->format('Y-m-d'), $diff)); if ($diff >= 1.001) { Log::debug(sprintf('Return Y-m because %s', $diff)); diff --git a/app/Transformers/RuleTransformer.php b/app/Transformers/RuleTransformer.php index 3b46278084..69fe156d39 100644 --- a/app/Transformers/RuleTransformer.php +++ b/app/Transformers/RuleTransformer.php @@ -71,7 +71,7 @@ class RuleTransformer extends AbstractTransformer 'links' => [ [ 'rel' => 'self', - 'uri' => '/rules/' . $rule->id, + 'uri' => '/rules/'.$rule->id, ], ], ]; @@ -108,12 +108,12 @@ class RuleTransformer extends AbstractTransformer if ('user_action' === $ruleTrigger->trigger_type) { continue; } - $triggerType = (string) $ruleTrigger->trigger_type; + $triggerType = (string) $ruleTrigger->trigger_type; $triggerValue = (string)$ruleTrigger->trigger_value; $prohibited = false; - if(str_starts_with($triggerType, '-')) { - $prohibited = true; + if (str_starts_with($triggerType, '-')) { + $prohibited = true; $triggerType = substr($triggerType, 1); } @@ -122,7 +122,7 @@ class RuleTransformer extends AbstractTransformer $triggerValue = 'true'; } - $result[] = [ + $result[] = [ 'id' => (string)$ruleTrigger->id, 'created_at' => $ruleTrigger->created_at->toAtomString(), 'updated_at' => $ruleTrigger->updated_at->toAtomString(), diff --git a/app/Transformers/V2/AccountTransformer.php b/app/Transformers/V2/AccountTransformer.php index fc719e1917..bd68755b33 100644 --- a/app/Transformers/V2/AccountTransformer.php +++ b/app/Transformers/V2/AccountTransformer.php @@ -80,8 +80,6 @@ class AccountTransformer extends AbstractTransformer } return $this->sortAccounts($objects); - - } private function getDate(): Carbon @@ -99,21 +97,21 @@ class AccountTransformer extends AbstractTransformer */ public function transform(Account $account): array { - $id = $account->id; + $id = $account->id; // various meta - $accountRole = $this->accountMeta[$id]['account_role'] ?? null; - $accountType = $this->accountTypes[$id]; - $order = $account->order; + $accountRole = $this->accountMeta[$id]['account_role'] ?? null; + $accountType = $this->accountTypes[$id]; + $order = $account->order; // no currency? use default - $currency = $this->default; + $currency = $this->default; if (array_key_exists($id, $this->accountMeta) && 0 !== (int) ($this->accountMeta[$id]['currency_id'] ?? 0)) { $currency = $this->currencies[(int) $this->accountMeta[$id]['currency_id']]; } // amounts and calculation. - $balance = $this->balances[$id]['balance'] ?? null; - $nativeBalance = $this->convertedBalances[$id]['native_balance'] ?? null; + $balance = $this->balances[$id]['balance'] ?? null; + $nativeBalance = $this->convertedBalances[$id]['native_balance'] ?? null; // no order for some accounts: if (!in_array(strtolower($accountType), ['liability', 'liabilities', 'asset'], true)) { @@ -121,33 +119,32 @@ class AccountTransformer extends AbstractTransformer } // balance difference - $diffStart = null; - $diffEnd = null; - $balanceDiff = null; + $diffStart = null; + $diffEnd = null; + $balanceDiff = null; $nativeBalanceDiff = null; if (null !== $this->parameters->get('start') && null !== $this->parameters->get('end')) { - $diffStart = $this->parameters->get('start')->toAtomString(); - $diffEnd = $this->parameters->get('end')->toAtomString(); - $balanceDiff = $this->balanceDifferences[$id]['balance'] ?? null; + $diffStart = $this->parameters->get('start')->toAtomString(); + $diffEnd = $this->parameters->get('end')->toAtomString(); + $balanceDiff = $this->balanceDifferences[$id]['balance'] ?? null; $nativeBalanceDiff = $this->balanceDifferences[$id]['native_balance'] ?? null; } - return [ - 'id' => (string) $account->id, - 'created_at' => $account->created_at->toAtomString(), - 'updated_at' => $account->updated_at->toAtomString(), - 'active' => $account->active, - 'order' => $order, - 'name' => $account->name, - 'iban' => '' === (string) $account->iban ? null : $account->iban, - 'account_number' => $this->accountMeta[$id]['account_number'] ?? null, - 'type' => strtolower($accountType), - 'account_role' => $accountRole, - 'currency_id' => (string) $currency->id, - 'currency_code' => $currency->code, - 'currency_symbol' => $currency->symbol, - 'currency_decimal_places' => $currency->decimal_places, + 'id' => (string) $account->id, + 'created_at' => $account->created_at->toAtomString(), + 'updated_at' => $account->updated_at->toAtomString(), + 'active' => $account->active, + 'order' => $order, + 'name' => $account->name, + 'iban' => '' === (string) $account->iban ? null : $account->iban, + 'account_number' => $this->accountMeta[$id]['account_number'] ?? null, + 'type' => strtolower($accountType), + 'account_role' => $accountRole, + 'currency_id' => (string) $currency->id, + 'currency_code' => $currency->code, + 'currency_symbol' => $currency->symbol, + 'currency_decimal_places' => $currency->decimal_places, 'native_currency_id' => (string) $this->default->id, 'native_currency_code' => $this->default->code, @@ -188,7 +185,7 @@ class AccountTransformer extends AbstractTransformer 'links' => [ [ 'rel' => 'self', - 'uri' => '/accounts/' . $account->id, + 'uri' => '/accounts/'.$account->id, ], ], ]; @@ -206,19 +203,19 @@ class AccountTransformer extends AbstractTransformer private function getDefaultCurrency(): void { $this->default = app('amount')->getDefaultCurrency(); - } private function collectAccountMetaData(Collection $accounts): void { /** @var CurrencyRepositoryInterface $repository */ - $repository = app(CurrencyRepositoryInterface::class); + $repository = app(CurrencyRepositoryInterface::class); + /** @var AccountRepositoryInterface $accountRepository */ $accountRepository = app(AccountRepositoryInterface::class); $metaFields = $accountRepository->getMetaValues($accounts, ['currency_id', 'account_role', 'account_number']); $currencyIds = $metaFields->where('name', 'currency_id')->pluck('data')->toArray(); - $currencies = $repository->getByIds($currencyIds); + $currencies = $repository->getByIds($currencyIds); foreach ($currencies as $currency) { $id = $currency->id; $this->currencies[$id] = $currency; @@ -265,14 +262,12 @@ class AccountTransformer extends AbstractTransformer * @var string $direction */ foreach ($sort as $column => $direction) { - // account_number + iban if ('iban' === $column) { $accounts = $this->sortByIban($accounts, $direction); } if ('balance' === $column) { $accounts = $this->sortByBalance($accounts, $direction); - } if ('last_activity' === $column) { $accounts = $this->sortByLastActivity($accounts, $direction); @@ -281,12 +276,14 @@ class AccountTransformer extends AbstractTransformer $accounts = $this->sortByBalanceDifference($accounts, $direction); } } + return $accounts; } private function sortByIban(Collection $accounts, string $direction): Collection { $meta = $this->accountMeta; + return $accounts->sort(function (Account $left, Account $right) use ($meta, $direction) { $leftIban = trim(sprintf('%s%s', $left->iban, $meta[$left->id]['account_number'] ?? '')); $rightIban = trim(sprintf('%s%s', $right->iban, $meta[$right->id]['account_number'] ?? '')); @@ -301,6 +298,7 @@ class AccountTransformer extends AbstractTransformer private function sortByBalance(Collection $accounts, string $direction): Collection { $balances = $this->convertedBalances; + return $accounts->sort(function (Account $left, Account $right) use ($balances, $direction) { $leftBalance = (float) ($balances[$left->id]['native_balance'] ?? 0); $rightBalance = (float) ($balances[$right->id]['native_balance'] ?? 0); @@ -315,6 +313,7 @@ class AccountTransformer extends AbstractTransformer private function sortByLastActivity(Collection $accounts, string $direction): Collection { $dates = $this->lastActivity; + return $accounts->sort(function (Account $left, Account $right) use ($dates, $direction) { $leftDate = $dates[$left->id] ?? Carbon::create(1900, 1, 1, 0, 0, 0); $rightDate = $dates[$right->id] ?? Carbon::create(1900, 1, 1, 0, 0, 0); @@ -332,12 +331,14 @@ class AccountTransformer extends AbstractTransformer // yes the b is usually used for boolean by idiots but here it's for balance. $bStart = []; $bEnd = []; + try { $bStart = app('steam')->balancesByAccountsConverted($accounts, $start); $bEnd = app('steam')->balancesByAccountsConverted($accounts, $end); } catch (FireflyException $e) { Log::error($e->getMessage()); } + /** @var Account $account */ foreach ($accounts as $account) { $id = $account->id; @@ -348,11 +349,12 @@ class AccountTransformer extends AbstractTransformer ]; } } - } - private function sortByBalanceDifference(Collection $accounts, string $direction): Collection { + private function sortByBalanceDifference(Collection $accounts, string $direction): Collection + { $balances = $this->balanceDifferences; + return $accounts->sort(function (Account $left, Account $right) use ($balances, $direction) { $leftBalance = (float) ($balances[$left->id]['native_balance'] ?? 0); $rightBalance = (float) ($balances[$right->id]['native_balance'] ?? 0); diff --git a/composer.lock b/composer.lock index 15d4e7cf5e..0f5780319f 100644 --- a/composer.lock +++ b/composer.lock @@ -3366,16 +3366,16 @@ }, { "name": "nesbot/carbon", - "version": "3.2.4", + "version": "3.3.0", "source": { "type": "git", "url": "https://github.com/briannesbitt/Carbon.git", - "reference": "82c28278c1c8f7b82dcdab25692237f052ffc8d8" + "reference": "7219739c4e01d4680c980545821733b6ed8ee880" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/82c28278c1c8f7b82dcdab25692237f052ffc8d8", - "reference": "82c28278c1c8f7b82dcdab25692237f052ffc8d8", + "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/7219739c4e01d4680c980545821733b6ed8ee880", + "reference": "7219739c4e01d4680c980545821733b6ed8ee880", "shasum": "" }, "require": { @@ -3468,7 +3468,7 @@ "type": "tidelift" } ], - "time": "2024-04-05T09:58:10+00:00" + "time": "2024-04-18T16:35:06+00:00" }, { "name": "nette/schema", @@ -10391,16 +10391,16 @@ }, { "name": "phpstan/phpstan-strict-rules", - "version": "1.5.3", + "version": "1.5.5", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan-strict-rules.git", - "reference": "568210bd301f94a0d4b1e5a0808c374c1b9cf11b" + "reference": "2e193a07651a6f4be3baa44ddb21d822681f5918" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan-strict-rules/zipball/568210bd301f94a0d4b1e5a0808c374c1b9cf11b", - "reference": "568210bd301f94a0d4b1e5a0808c374c1b9cf11b", + "url": "https://api.github.com/repos/phpstan/phpstan-strict-rules/zipball/2e193a07651a6f4be3baa44ddb21d822681f5918", + "reference": "2e193a07651a6f4be3baa44ddb21d822681f5918", "shasum": "" }, "require": { @@ -10434,9 +10434,9 @@ "description": "Extra strict and opinionated rules for PHPStan", "support": { "issues": "https://github.com/phpstan/phpstan-strict-rules/issues", - "source": "https://github.com/phpstan/phpstan-strict-rules/tree/1.5.3" + "source": "https://github.com/phpstan/phpstan-strict-rules/tree/1.5.5" }, - "time": "2024-04-06T07:43:25+00:00" + "time": "2024-04-19T15:12:26+00:00" }, { "name": "phpunit/php-code-coverage", diff --git a/config/debugbar.php b/config/debugbar.php index 44aff57a44..9eae9b00fa 100644 --- a/config/debugbar.php +++ b/config/debugbar.php @@ -1,7 +1,8 @@ env('DEBUGBAR_ENABLED', null), - 'except' => [ + 'enabled' => env('DEBUGBAR_ENABLED', null), + 'except' => [ 'telescope*', 'horizon*', ], @@ -36,7 +37,7 @@ return [ | Specify a callback if you want to limit based on IP or authentication. | Leaving it to null will allow localhost only. */ - 'storage' => [ + 'storage' => [ 'enabled' => true, 'open' => env('DEBUGBAR_OPEN_STORAGE'), // bool/callback. 'driver' => 'file', // redis, file, pdo, socket, custom @@ -61,7 +62,7 @@ return [ | */ - 'editor' => env('DEBUGBAR_EDITOR') ?: env('IGNITION_EDITOR', 'phpstorm'), + 'editor' => env('DEBUGBAR_EDITOR') ?: env('IGNITION_EDITOR', 'phpstorm'), /* |-------------------------------------------------------------------------- @@ -86,8 +87,8 @@ return [ | */ - 'remote_sites_path' => env('DEBUGBAR_REMOTE_SITES_PATH'), - 'local_sites_path' => env('DEBUGBAR_LOCAL_SITES_PATH', env('IGNITION_LOCAL_SITES_PATH')), + 'remote_sites_path' => env('DEBUGBAR_REMOTE_SITES_PATH'), + 'local_sites_path' => env('DEBUGBAR_LOCAL_SITES_PATH', env('IGNITION_LOCAL_SITES_PATH')), /* |-------------------------------------------------------------------------- @@ -103,7 +104,7 @@ return [ | */ - 'include_vendors' => true, + 'include_vendors' => true, /* |-------------------------------------------------------------------------- @@ -122,9 +123,9 @@ return [ | Changing `ajax_handler_auto_show` to false will prevent the Debugbar from reloading. */ - 'capture_ajax' => true, - 'add_ajax_timing' => false, - 'ajax_handler_auto_show' => true, + 'capture_ajax' => true, + 'add_ajax_timing' => false, + 'ajax_handler_auto_show' => true, 'ajax_handler_enable_tab' => true, /* @@ -136,7 +137,7 @@ return [ | in the Messages tab. | */ - 'error_handler' => false, + 'error_handler' => false, /* |-------------------------------------------------------------------------- @@ -147,7 +148,7 @@ return [ | Extension, without the server-side code. It uses Debugbar collectors instead. | */ - 'clockwork' => false, + 'clockwork' => false, /* |-------------------------------------------------------------------------- @@ -158,7 +159,7 @@ return [ | */ - 'collectors' => [ + 'collectors' => [ 'phpinfo' => true, // Php version 'messages' => true, // Messages 'time' => true, // Time Datalogger @@ -194,67 +195,67 @@ return [ | */ - 'options' => [ - 'time' => [ + 'options' => [ + 'time' => [ 'memory_usage' => false, // Calculated by subtracting memory start and end, it may be inaccurate ], - 'messages' => [ + 'messages' => [ 'trace' => true, // Trace the origin of the debug message ], - 'memory' => [ - 'reset_peak' => false, // run memory_reset_peak_usage before collecting + 'memory' => [ + 'reset_peak' => false, // run memory_reset_peak_usage before collecting 'with_baseline' => false, // Set boot memory usage as memory peak baseline - 'precision' => 0, // Memory rounding precision + 'precision' => 0, // Memory rounding precision ], - 'auth' => [ - 'show_name' => true, // Also show the users name/email in the debugbar + 'auth' => [ + 'show_name' => true, // Also show the users name/email in the debugbar 'show_guards' => true, // Show the guards that are used ], - 'db' => [ - 'with_params' => true, // Render SQL with the parameters substituted - 'backtrace' => true, // Use a backtrace to find the origin of the query in your files. + 'db' => [ + 'with_params' => true, // Render SQL with the parameters substituted + 'backtrace' => true, // Use a backtrace to find the origin of the query in your files. 'backtrace_exclude_paths' => [], // Paths to exclude from backtrace. (in addition to defaults) - 'timeline' => false, // Add the queries to the timeline - 'duration_background' => true, // Show shaded background on each query relative to how long it took to execute. - 'explain' => [ // Show EXPLAIN output on queries + 'timeline' => false, // Add the queries to the timeline + 'duration_background' => true, // Show shaded background on each query relative to how long it took to execute. + 'explain' => [ // Show EXPLAIN output on queries 'enabled' => false, - 'types' => ['SELECT'], // Deprecated setting, is always only SELECT + 'types' => ['SELECT'], // Deprecated setting, is always only SELECT ], - 'hints' => false, // Show hints for common mistakes - 'show_copy' => false, // Show copy button next to the query, - 'slow_threshold' => false, // Only track queries that last longer than this time in ms - 'memory_usage' => false, // Show queries memory usage - 'soft_limit' => 100, // After the soft limit, no parameters/backtrace are captured - 'hard_limit' => 500, // After the hard limit, queries are ignored + 'hints' => false, // Show hints for common mistakes + 'show_copy' => false, // Show copy button next to the query, + 'slow_threshold' => false, // Only track queries that last longer than this time in ms + 'memory_usage' => false, // Show queries memory usage + 'soft_limit' => 100, // After the soft limit, no parameters/backtrace are captured + 'hard_limit' => 500, // After the hard limit, queries are ignored ], - 'mail' => [ - 'timeline' => false, // Add mails to the timeline + 'mail' => [ + 'timeline' => false, // Add mails to the timeline 'show_body' => true, ], - 'views' => [ - 'timeline' => false, // Add the views to the timeline (Experimental) - 'data' => false, //true for all data, 'keys' for only names, false for no parameters. - 'group' => 50, // Group duplicate views. Pass value to auto-group, or true/false to force + 'views' => [ + 'timeline' => false, // Add the views to the timeline (Experimental) + 'data' => false, // true for all data, 'keys' for only names, false for no parameters. + 'group' => 50, // Group duplicate views. Pass value to auto-group, or true/false to force 'exclude_paths' => [ // Add the paths which you don't want to appear in the views - 'vendor/filament' // Exclude Filament components by default + 'vendor/filament', // Exclude Filament components by default ], ], - 'route' => [ + 'route' => [ 'label' => true, // show complete route on bar ], - 'session' => [ + 'session' => [ 'hiddens' => [], // hides sensitive values using array paths ], 'symfony_request' => [ 'hiddens' => [], // hides sensitive values using array paths, example: request_request.password ], - 'events' => [ + 'events' => [ 'data' => false, // collect events data, listeners ], - 'logs' => [ + 'logs' => [ 'file' => null, ], - 'cache' => [ + 'cache' => [ 'values' => true, // collect cache values ], ], @@ -270,7 +271,7 @@ return [ | */ - 'inject' => true, + 'inject' => true, /* |-------------------------------------------------------------------------- @@ -282,7 +283,7 @@ return [ | from trying to overcome bugs like this: http://trac.nginx.org/nginx/ticket/97 | */ - 'route_prefix' => '_debugbar', + 'route_prefix' => '_debugbar', /* |-------------------------------------------------------------------------- @@ -291,7 +292,7 @@ return [ | | Additional middleware to run on the Debugbar routes */ - 'route_middleware' => [], + 'route_middleware' => [], /* |-------------------------------------------------------------------------- @@ -301,7 +302,7 @@ return [ | By default DebugBar route served from the same domain that request served. | To override default domain, specify it as a non-empty value. */ - 'route_domain' => null, + 'route_domain' => null, /* |-------------------------------------------------------------------------- @@ -311,7 +312,7 @@ return [ | Switches between light and dark theme. If set to auto it will respect system preferences | Possible values: auto, light, dark */ - 'theme' => env('DEBUGBAR_THEME', 'auto'), + 'theme' => env('DEBUGBAR_THEME', 'auto'), /* |-------------------------------------------------------------------------- @@ -321,5 +322,5 @@ return [ | By default, the DebugBar limits the number of frames returned by the 'debug_backtrace()' function. | If you need larger stacktraces, you can increase this number. Setting it to 0 will result in no limit. */ - 'debug_backtrace_limit' => 50, + 'debug_backtrace_limit' => 50, ]; diff --git a/config/firefly.php b/config/firefly.php index 16aee29799..9f7996b029 100644 --- a/config/firefly.php +++ b/config/firefly.php @@ -117,7 +117,7 @@ return [ 'expression_engine' => false, // see cer.php for exchange rates feature flag. ], - 'version' => 'develop/2024-04-18', + 'version' => 'develop/2024-04-21', 'api_version' => '2.0.14', 'db_version' => 24, @@ -924,7 +924,7 @@ return [ 'sorting' => [ 'allowed' => [ 'transactions' => ['description', 'amount'], - 'accounts' => ['name', 'active', 'iban', 'balance', 'last_activity','balance_difference'], + 'accounts' => ['name', 'active', 'iban', 'balance', 'last_activity', 'balance_difference'], ], ], ]; diff --git a/package-lock.json b/package-lock.json index b5e47b03b6..5bdb2a61ae 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2402,9 +2402,9 @@ } }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.14.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.14.3.tgz", - "integrity": "sha512-X9alQ3XM6I9IlSlmC8ddAvMSyG1WuHk5oUnXGw+yUBs3BFoTizmG1La/Gr8fVJvDWAq+zlYTZ9DBgrlKRVY06g==", + "version": "4.16.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.16.0.tgz", + "integrity": "sha512-4fDVBAfWYlw2CtYgHEWarAYSozTx5OYLsSM/cdGW7H51FwI10DaGnjKgdqWyWXY/VjugelzriCiKf1UdM20Bxg==", "cpu": [ "arm" ], @@ -2415,9 +2415,9 @@ ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.14.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.14.3.tgz", - "integrity": "sha512-eQK5JIi+POhFpzk+LnjKIy4Ks+pwJ+NXmPxOCSvOKSNRPONzKuUvWE+P9JxGZVxrtzm6BAYMaL50FFuPe0oWMQ==", + "version": "4.16.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.16.0.tgz", + "integrity": "sha512-JltUBgsKgN108NO4/hj0B/dJYNrqqmdRCtUet5tFDi/w+0tvQP0FToyWBV4HKBcSX4cvFChrCyt5Rh4FX6M6QQ==", "cpu": [ "arm64" ], @@ -2428,9 +2428,9 @@ ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.14.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.14.3.tgz", - "integrity": "sha512-Od4vE6f6CTT53yM1jgcLqNfItTsLt5zE46fdPaEmeFHvPs5SjZYlLpHrSiHEKR1+HdRfxuzXHjDOIxQyC3ptBA==", + "version": "4.16.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.16.0.tgz", + "integrity": "sha512-UwF7tkWf0roggMRv7Vrkof7VgX9tEZIc4vbaQl0/HNX3loWlcum+0ODp1Qsd8s7XvQGT+Zboxx1qxav3vq8YDw==", "cpu": [ "arm64" ], @@ -2441,9 +2441,9 @@ ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.14.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.14.3.tgz", - "integrity": "sha512-0IMAO21axJeNIrvS9lSe/PGthc8ZUS+zC53O0VhF5gMxfmcKAP4ESkKOCwEi6u2asUrt4mQv2rjY8QseIEb1aw==", + "version": "4.16.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.16.0.tgz", + "integrity": "sha512-RIY42wn6+Yb0qD29T7Dvm9/AhxrkGDf7X5dgI6rUFXR19+vCLh3u45yLcKOayu2ZQEba9rf/+BX3EggVwckiIw==", "cpu": [ "x64" ], @@ -2454,9 +2454,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.14.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.14.3.tgz", - "integrity": "sha512-ge2DC7tHRHa3caVEoSbPRJpq7azhG+xYsd6u2MEnJ6XzPSzQsTKyXvh6iWjXRf7Rt9ykIUWHtl0Uz3T6yXPpKw==", + "version": "4.16.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.16.0.tgz", + "integrity": "sha512-r2TGCIKzqk8VwjOvW7sveledh6aPao131ejUfZNIyFlWBCruF4HOu51KtLArDa7LL6qKd0vkgxGX3/2NmYpWig==", "cpu": [ "arm" ], @@ -2467,9 +2467,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.14.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.14.3.tgz", - "integrity": "sha512-ljcuiDI4V3ySuc7eSk4lQ9wU8J8r8KrOUvB2U+TtK0TiW6OFDmJ+DdIjjwZHIw9CNxzbmXY39wwpzYuFDwNXuw==", + "version": "4.16.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.16.0.tgz", + "integrity": "sha512-/QwaDp0RXQTtm25wQFSl02zEm9oveRXr9qAHbdxWCm9YG9dR8esqpyqzS/3GgHDm7jHktPNz9gTENfoUKRCcXQ==", "cpu": [ "arm" ], @@ -2480,9 +2480,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.14.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.14.3.tgz", - "integrity": "sha512-Eci2us9VTHm1eSyn5/eEpaC7eP/mp5n46gTRB3Aar3BgSvDQGJZuicyq6TsH4HngNBgVqC5sDYxOzTExSU+NjA==", + "version": "4.16.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.16.0.tgz", + "integrity": "sha512-iypHsz7YEfoyNL0iHbQ7B7pY6hpymvvMgFXXaMd5+WCtvJ9zqWPZKFmo78UeWzWNmTP9JtPiNIQt6efRxx/MNA==", "cpu": [ "arm64" ], @@ -2493,9 +2493,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.14.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.14.3.tgz", - "integrity": "sha512-UrBoMLCq4E92/LCqlh+blpqMz5h1tJttPIniwUgOFJyjWI1qrtrDhhpHPuFxULlUmjFHfloWdixtDhSxJt5iKw==", + "version": "4.16.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.16.0.tgz", + "integrity": "sha512-7UpYcO0uVeomnoL5MpQhrS0FT7xZUJrEXtKVLmps5bRA7x5AiA1PDuPnMbxcOBWjIM2HHIG1t3ndnRTVMIbk5A==", "cpu": [ "arm64" ], @@ -2506,9 +2506,9 @@ ] }, "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.14.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.14.3.tgz", - "integrity": "sha512-5aRjvsS8q1nWN8AoRfrq5+9IflC3P1leMoy4r2WjXyFqf3qcqsxRCfxtZIV58tCxd+Yv7WELPcO9mY9aeQyAmw==", + "version": "4.16.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.16.0.tgz", + "integrity": "sha512-FSuFy4/hOQy0lH135ifnElP/6dKoHcZGHovsaRY0jrfNRR2yjMnVYaqNHKGKy0b/1I8DkD/JtclgJfq7SPti1w==", "cpu": [ "ppc64" ], @@ -2519,9 +2519,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.14.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.14.3.tgz", - "integrity": "sha512-sk/Qh1j2/RJSX7FhEpJn8n0ndxy/uf0kI/9Zc4b1ELhqULVdTfN6HL31CDaTChiBAOgLcsJ1sgVZjWv8XNEsAQ==", + "version": "4.16.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.16.0.tgz", + "integrity": "sha512-qxAB8MiHuDI8jU0D+WI9Gym3fvUJHA/AjKRXxbEH921SB3AeKQStq1FKFA59dAoqqCArjJ1voXM/gMvgEc1q4Q==", "cpu": [ "riscv64" ], @@ -2532,9 +2532,9 @@ ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.14.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.14.3.tgz", - "integrity": "sha512-jOO/PEaDitOmY9TgkxF/TQIjXySQe5KVYB57H/8LRP/ux0ZoO8cSHCX17asMSv3ruwslXW/TLBcxyaUzGRHcqg==", + "version": "4.16.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.16.0.tgz", + "integrity": "sha512-j/9yBgWFlNFBfG/S1M2zkBNLeLkNVG59T5c4tlmlrxU+XITWJ3aMVWdpcZ/+mu7auGZftAXueAgAE9mb4lAlag==", "cpu": [ "s390x" ], @@ -2545,9 +2545,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.14.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.14.3.tgz", - "integrity": "sha512-8ybV4Xjy59xLMyWo3GCfEGqtKV5M5gCSrZlxkPGvEPCGDLNla7v48S662HSGwRd6/2cSneMQWiv+QzcttLrrOA==", + "version": "4.16.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.16.0.tgz", + "integrity": "sha512-SjsBA1a9wrEleNneGEsR40HdxKdwCatyHC547o/XINqwPW4cqTYiNy/lL1WTJYWU/KgWIb8HH4SgmFStbWoBzw==", "cpu": [ "x64" ], @@ -2558,9 +2558,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.14.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.14.3.tgz", - "integrity": "sha512-s+xf1I46trOY10OqAtZ5Rm6lzHre/UiLA1J2uOhCFXWkbZrJRkYBPO6FhvGfHmdtQ3Bx793MNa7LvoWFAm93bg==", + "version": "4.16.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.16.0.tgz", + "integrity": "sha512-YKCs7ghJZ5po6/qgfONiXyFKOKcTK4Kerzk/Kc89QK0JT94Qg4NurL+3Y3rZh5am2tu1OlvHPpBHQNBE8cFgJQ==", "cpu": [ "x64" ], @@ -2571,9 +2571,9 @@ ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.14.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.14.3.tgz", - "integrity": "sha512-+4h2WrGOYsOumDQ5S2sYNyhVfrue+9tc9XcLWLh+Kw3UOxAvrfOrSMFon60KspcDdytkNDh7K2Vs6eMaYImAZg==", + "version": "4.16.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.16.0.tgz", + "integrity": "sha512-+wtkF+z2nw0ZwwHji01wOW0loxFl24lBNxPtVAXtnPPDL9Ew0EhiCMOegXe/EAH3Zlr8Iw9tyPJXB3DltQLEyw==", "cpu": [ "arm64" ], @@ -2584,9 +2584,9 @@ ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.14.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.14.3.tgz", - "integrity": "sha512-T1l7y/bCeL/kUwh9OD4PQT4aM7Bq43vX05htPJJ46RTI4r5KNt6qJRzAfNfM+OYMNEVBWQzR2Gyk+FXLZfogGw==", + "version": "4.16.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.16.0.tgz", + "integrity": "sha512-7qLyKTL7Lf2g0B8bduETVAEI3WVUVwBRVcECojVevPNVAmi19IW1P2X+uMSwhmWNy36Q/qEvxXsfts1I8wpawg==", "cpu": [ "ia32" ], @@ -2597,9 +2597,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.14.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.14.3.tgz", - "integrity": "sha512-/BypzV0H1y1HzgYpxqRaXGBRqfodgoBBCcsrujT6QRcakDQdfU+Lq9PENPh5jB4I44YWq+0C2eHsHya+nZY1sA==", + "version": "4.16.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.16.0.tgz", + "integrity": "sha512-tkfxXt+7c3Ecgn7ln9NJPdBM+QKwQdmFFpgAP+FYhAuRS5y3tY8xeza82gFjbPpytkHmaQnVdMtuzbToCz2tuw==", "cpu": [ "x64" ], @@ -2708,9 +2708,9 @@ } }, "node_modules/@types/eslint": { - "version": "8.56.9", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.9.tgz", - "integrity": "sha512-W4W3KcqzjJ0sHg2vAq9vfml6OhsJ53TcUjUqfzzZf/EChUtwspszj/S0pzMxnfRcO55/iGq47dscXw71Fxc4Zg==", + "version": "8.56.10", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.10.tgz", + "integrity": "sha512-Shavhk87gCtY2fhXDctcfS3e6FdxWkCx1iUZ9eEUbh7rTqlZT0/IzOkCOVt0fCjcFuZ9FPYfuezTBImfHCDBGQ==", "dev": true, "dependencies": { "@types/estree": "*", @@ -3373,9 +3373,9 @@ } }, "node_modules/alpinejs": { - "version": "3.13.8", - "resolved": "https://registry.npmjs.org/alpinejs/-/alpinejs-3.13.8.tgz", - "integrity": "sha512-XolbBJryCndomtaHd/KHQjQeD/L72FJxy/YhLLFD4Lr7zzGcpcbg+UgXteMR2pYg1KhRUr6V4O3GfN1zJAmRWw==", + "version": "3.13.9", + "resolved": "https://registry.npmjs.org/alpinejs/-/alpinejs-3.13.9.tgz", + "integrity": "sha512-BTEJ3fcUpqKlB+aFYSWGVEp8IP3vA96x7wUaNSdb5SJxV5i7s+/Bduxy9D6TokcqpW5MygsnG1eBEFfr4AnQSw==", "dependencies": { "@vue/reactivity": "~3.1.1" } @@ -5095,9 +5095,9 @@ "dev": true }, "node_modules/electron-to-chromium": { - "version": "1.4.740", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.740.tgz", - "integrity": "sha512-Yvg5i+iyv7Xm18BRdVPVm8lc7kgxM3r6iwqCH2zB7QZy1kZRNmd0Zqm0zcD9XoFREE5/5rwIuIAOT+/mzGcnZg==", + "version": "1.4.745", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.745.tgz", + "integrity": "sha512-tRbzkaRI5gbUn5DEvF0dV4TQbMZ5CLkWeTAXmpC9IrYT+GE+x76i9p+o3RJ5l9XmdQlI1pPhVtE9uNcJJ0G0EA==", "dev": true }, "node_modules/elliptic": { @@ -6305,9 +6305,9 @@ } }, "node_modules/i18next-http-backend": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/i18next-http-backend/-/i18next-http-backend-2.5.0.tgz", - "integrity": "sha512-Z/aQsGZk1gSxt2/DztXk92DuDD20J+rNudT7ZCdTrNOiK8uQppfvdjq9+DFQfpAnFPn3VZS+KQIr1S/W1KxhpQ==", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/i18next-http-backend/-/i18next-http-backend-2.5.1.tgz", + "integrity": "sha512-+rNX1tghdVxdfjfPt0bI1sNg5ahGW9kA7OboG7b4t03Fp69NdDlRIze6yXhIbN8rbHxJ8IP4dzRm/okZ15lkQg==", "dependencies": { "cross-fetch": "4.0.0" } @@ -6498,9 +6498,9 @@ } }, "node_modules/ipaddr.js": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.1.0.tgz", - "integrity": "sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.2.0.tgz", + "integrity": "sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==", "dev": true, "engines": { "node": ">= 10" @@ -8991,9 +8991,9 @@ } }, "node_modules/rollup": { - "version": "4.14.3", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.14.3.tgz", - "integrity": "sha512-ag5tTQKYsj1bhrFC9+OEWqb5O6VYgtQDO9hPDBMmIbePwhfSr+ExlcU741t8Dhw5DkPCQf6noz0jb36D6W9/hw==", + "version": "4.16.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.16.0.tgz", + "integrity": "sha512-joxy/Hd4Ee289394//Q1aoebcxXyHasDieCTk8YtP4G4al4TUlx85EnuCLrfrdtLzrna9kNjH++Sx063wxSgmA==", "dev": true, "dependencies": { "@types/estree": "1.0.5" @@ -9006,22 +9006,22 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.14.3", - "@rollup/rollup-android-arm64": "4.14.3", - "@rollup/rollup-darwin-arm64": "4.14.3", - "@rollup/rollup-darwin-x64": "4.14.3", - "@rollup/rollup-linux-arm-gnueabihf": "4.14.3", - "@rollup/rollup-linux-arm-musleabihf": "4.14.3", - "@rollup/rollup-linux-arm64-gnu": "4.14.3", - "@rollup/rollup-linux-arm64-musl": "4.14.3", - "@rollup/rollup-linux-powerpc64le-gnu": "4.14.3", - "@rollup/rollup-linux-riscv64-gnu": "4.14.3", - "@rollup/rollup-linux-s390x-gnu": "4.14.3", - "@rollup/rollup-linux-x64-gnu": "4.14.3", - "@rollup/rollup-linux-x64-musl": "4.14.3", - "@rollup/rollup-win32-arm64-msvc": "4.14.3", - "@rollup/rollup-win32-ia32-msvc": "4.14.3", - "@rollup/rollup-win32-x64-msvc": "4.14.3", + "@rollup/rollup-android-arm-eabi": "4.16.0", + "@rollup/rollup-android-arm64": "4.16.0", + "@rollup/rollup-darwin-arm64": "4.16.0", + "@rollup/rollup-darwin-x64": "4.16.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.16.0", + "@rollup/rollup-linux-arm-musleabihf": "4.16.0", + "@rollup/rollup-linux-arm64-gnu": "4.16.0", + "@rollup/rollup-linux-arm64-musl": "4.16.0", + "@rollup/rollup-linux-powerpc64le-gnu": "4.16.0", + "@rollup/rollup-linux-riscv64-gnu": "4.16.0", + "@rollup/rollup-linux-s390x-gnu": "4.16.0", + "@rollup/rollup-linux-x64-gnu": "4.16.0", + "@rollup/rollup-linux-x64-musl": "4.16.0", + "@rollup/rollup-win32-arm64-msvc": "4.16.0", + "@rollup/rollup-win32-ia32-msvc": "4.16.0", + "@rollup/rollup-win32-x64-msvc": "4.16.0", "fsevents": "~2.3.2" } }, @@ -10098,9 +10098,9 @@ } }, "node_modules/vite": { - "version": "5.2.9", - "resolved": "https://registry.npmjs.org/vite/-/vite-5.2.9.tgz", - "integrity": "sha512-uOQWfuZBlc6Y3W/DTuQ1Sr+oIXWvqljLvS881SVmAj00d5RdgShLcuXWxseWPd4HXwiYBFW/vXHfKFeqj9uQnw==", + "version": "5.2.10", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.2.10.tgz", + "integrity": "sha512-PAzgUZbP7msvQvqdSD+ErD5qGnSFiGOoWmV5yAKUEI0kdhjbH6nMWVyZQC/hSc4aXwc0oJ9aEdIiF9Oje0JFCw==", "dev": true, "dependencies": { "esbuild": "^0.20.1", diff --git a/resources/lang/bg_BG/firefly.php b/resources/lang/bg_BG/firefly.php index d563497e15..5861cbc7f0 100644 --- a/resources/lang/bg_BG/firefly.php +++ b/resources/lang/bg_BG/firefly.php @@ -2144,6 +2144,7 @@ return [ 'logout' => 'Изход', 'logout_other_sessions' => 'Изход от всички други сесии', 'toggleNavigation' => 'Превключване на навигацията', + 'toggle_dropdown' => 'Toggle dropdown', 'searchPlaceholder' => 'Търсене...', 'version' => 'Версия', 'dashboard' => 'Основно табло', diff --git a/resources/lang/ca_ES/firefly.php b/resources/lang/ca_ES/firefly.php index 55caf0ae4a..c541473b1b 100644 --- a/resources/lang/ca_ES/firefly.php +++ b/resources/lang/ca_ES/firefly.php @@ -2144,6 +2144,7 @@ return [ 'logout' => 'Tanca la sessió', 'logout_other_sessions' => 'Tanca les altres sessions', 'toggleNavigation' => 'Alternar navegació', + 'toggle_dropdown' => 'Toggle dropdown', 'searchPlaceholder' => 'Cerca...', 'version' => 'Versió', 'dashboard' => 'Panell de control', diff --git a/resources/lang/cs_CZ/firefly.php b/resources/lang/cs_CZ/firefly.php index 546a06eb12..045812dd9e 100644 --- a/resources/lang/cs_CZ/firefly.php +++ b/resources/lang/cs_CZ/firefly.php @@ -2144,6 +2144,7 @@ return [ 'logout' => 'Odhlásit se', 'logout_other_sessions' => 'Logout all other sessions', 'toggleNavigation' => 'Vyp/zap. navigaci', + 'toggle_dropdown' => 'Toggle dropdown', 'searchPlaceholder' => 'Hledat…', 'version' => 'Verze', 'dashboard' => 'Přehled', diff --git a/resources/lang/da_DK/firefly.php b/resources/lang/da_DK/firefly.php index c629082250..cddfad1fd5 100644 --- a/resources/lang/da_DK/firefly.php +++ b/resources/lang/da_DK/firefly.php @@ -2144,6 +2144,7 @@ return [ 'logout' => 'Logout', 'logout_other_sessions' => 'Logout all other sessions', 'toggleNavigation' => 'Toggle navigation', + 'toggle_dropdown' => 'Toggle dropdown', 'searchPlaceholder' => 'Search...', 'version' => 'Version', 'dashboard' => 'Dashboard', diff --git a/resources/lang/de_DE/firefly.php b/resources/lang/de_DE/firefly.php index fc01e8eb5f..a14de9212b 100644 --- a/resources/lang/de_DE/firefly.php +++ b/resources/lang/de_DE/firefly.php @@ -2144,6 +2144,7 @@ return [ 'logout' => 'Abmelden', 'logout_other_sessions' => 'Alle anderen Sitzungen abmelden', 'toggleNavigation' => 'Navigation umschalten', + 'toggle_dropdown' => 'Toggle dropdown', 'searchPlaceholder' => 'Suchen...', 'version' => 'Version', 'dashboard' => 'Übersicht', diff --git a/resources/lang/el_GR/firefly.php b/resources/lang/el_GR/firefly.php index f4e060e449..00679403bd 100644 --- a/resources/lang/el_GR/firefly.php +++ b/resources/lang/el_GR/firefly.php @@ -2144,6 +2144,7 @@ return [ 'logout' => 'Αποσύνδεση', 'logout_other_sessions' => 'Αποσυνδέσετε όλες τις άλλες συνεδρίες', 'toggleNavigation' => 'Εναλλαγή περιήγησης', + 'toggle_dropdown' => 'Toggle dropdown', 'searchPlaceholder' => 'Αναζήτηση...', 'version' => 'Έκδοση', 'dashboard' => 'Επισκόπηση', diff --git a/resources/lang/en_GB/firefly.php b/resources/lang/en_GB/firefly.php index b645ff290a..f8a0c0236d 100644 --- a/resources/lang/en_GB/firefly.php +++ b/resources/lang/en_GB/firefly.php @@ -2144,6 +2144,7 @@ return [ 'logout' => 'Logout', 'logout_other_sessions' => 'Logout all other sessions', 'toggleNavigation' => 'Toggle navigation', + 'toggle_dropdown' => 'Toggle dropdown', 'searchPlaceholder' => 'Search...', 'version' => 'Version', 'dashboard' => 'Dashboard', diff --git a/resources/lang/en_US/firefly.php b/resources/lang/en_US/firefly.php index a423e71e3f..30943360ef 100644 --- a/resources/lang/en_US/firefly.php +++ b/resources/lang/en_US/firefly.php @@ -2090,7 +2090,7 @@ return [ 'logout' => 'Logout', 'logout_other_sessions' => 'Logout all other sessions', 'toggleNavigation' => 'Toggle navigation', - 'toggle_dropdown' => 'Toggle dropdown', + 'toggle_dropdown' => 'Toggle dropdown', 'searchPlaceholder' => 'Search...', 'version' => 'Version', 'dashboard' => 'Dashboard', diff --git a/resources/lang/es_ES/firefly.php b/resources/lang/es_ES/firefly.php index f9ba2d61bb..1ef228ed62 100644 --- a/resources/lang/es_ES/firefly.php +++ b/resources/lang/es_ES/firefly.php @@ -2144,6 +2144,7 @@ return [ 'logout' => 'Cerrar sesión', 'logout_other_sessions' => 'Desconectar todas las demás sesiones', 'toggleNavigation' => 'Activar navegación', + 'toggle_dropdown' => 'Toggle dropdown', 'searchPlaceholder' => 'Buscar...', 'version' => 'Versión', 'dashboard' => 'Panel de control', diff --git a/resources/lang/fi_FI/firefly.php b/resources/lang/fi_FI/firefly.php index 266c538625..d3da0ef895 100644 --- a/resources/lang/fi_FI/firefly.php +++ b/resources/lang/fi_FI/firefly.php @@ -2144,6 +2144,7 @@ return [ 'logout' => 'Kirjaudu ulos', 'logout_other_sessions' => 'Kirjaudu ulos kaikista muista istunnoista', 'toggleNavigation' => 'Vaihda navigointia', + 'toggle_dropdown' => 'Toggle dropdown', 'searchPlaceholder' => 'Hae ...', 'version' => 'Versio', 'dashboard' => 'Etusivu', diff --git a/resources/lang/fr_FR/firefly.php b/resources/lang/fr_FR/firefly.php index fc1feefab3..be8ab367e9 100644 --- a/resources/lang/fr_FR/firefly.php +++ b/resources/lang/fr_FR/firefly.php @@ -2144,6 +2144,7 @@ return [ 'logout' => 'Se déconnecter', 'logout_other_sessions' => 'Déconnecter toutes les autres sessions', 'toggleNavigation' => 'Activer navigation', + 'toggle_dropdown' => 'Toggle dropdown', 'searchPlaceholder' => 'Rechercher...', 'version' => 'Version', 'dashboard' => 'Tableau de bord', diff --git a/resources/lang/hu_HU/firefly.php b/resources/lang/hu_HU/firefly.php index 706aa9c0c8..d5b33683f4 100644 --- a/resources/lang/hu_HU/firefly.php +++ b/resources/lang/hu_HU/firefly.php @@ -2144,6 +2144,7 @@ return [ 'logout' => 'Kijelentkezés', 'logout_other_sessions' => 'Minden más munkamenet kijelentkeztetése', 'toggleNavigation' => 'Navigációs mód átkapcsolása', + 'toggle_dropdown' => 'Toggle dropdown', 'searchPlaceholder' => 'Keresés...', 'version' => 'Verzió', 'dashboard' => 'Műszerfal', diff --git a/resources/lang/id_ID/firefly.php b/resources/lang/id_ID/firefly.php index 64f2c72da9..abb43f328e 100644 --- a/resources/lang/id_ID/firefly.php +++ b/resources/lang/id_ID/firefly.php @@ -2144,6 +2144,7 @@ return [ 'logout' => 'Keluar', 'logout_other_sessions' => 'Logout all other sessions', 'toggleNavigation' => 'Toggle navigation', + 'toggle_dropdown' => 'Toggle dropdown', 'searchPlaceholder' => 'Pencarian...', 'version' => 'Versi', 'dashboard' => 'Dasbor', diff --git a/resources/lang/it_IT/firefly.php b/resources/lang/it_IT/firefly.php index e48af92358..c18b7add37 100644 --- a/resources/lang/it_IT/firefly.php +++ b/resources/lang/it_IT/firefly.php @@ -2144,6 +2144,7 @@ return [ 'logout' => 'Esci', 'logout_other_sessions' => 'Esci da tutte le altre sessioni', 'toggleNavigation' => 'Attiva / disattiva la navigazione', + 'toggle_dropdown' => 'Toggle dropdown', 'searchPlaceholder' => 'Cerca...', 'version' => 'Versione', 'dashboard' => 'Cruscotto', diff --git a/resources/lang/ja_JP/firefly.php b/resources/lang/ja_JP/firefly.php index b997531af9..e63d5a6568 100644 --- a/resources/lang/ja_JP/firefly.php +++ b/resources/lang/ja_JP/firefly.php @@ -2144,6 +2144,7 @@ return [ 'logout' => 'ログアウト', 'logout_other_sessions' => 'すべてのセッションからログアウト', 'toggleNavigation' => 'ナビゲーションを切り替え', + 'toggle_dropdown' => 'Toggle dropdown', 'searchPlaceholder' => '検索...', 'version' => 'バージョン', 'dashboard' => 'ダッシュボード', diff --git a/resources/lang/ko_KR/firefly.php b/resources/lang/ko_KR/firefly.php index 411620f602..4ed319052b 100644 --- a/resources/lang/ko_KR/firefly.php +++ b/resources/lang/ko_KR/firefly.php @@ -2144,6 +2144,7 @@ return [ 'logout' => '로그아웃', 'logout_other_sessions' => '다른 모든 세션 로그아웃', 'toggleNavigation' => '토글 내비게이션', + 'toggle_dropdown' => 'Toggle dropdown', 'searchPlaceholder' => '검색...', 'version' => '버전', 'dashboard' => '대시보드', diff --git a/resources/lang/nb_NO/firefly.php b/resources/lang/nb_NO/firefly.php index b8bc81a85b..a152194b19 100644 --- a/resources/lang/nb_NO/firefly.php +++ b/resources/lang/nb_NO/firefly.php @@ -2144,6 +2144,7 @@ return [ 'logout' => 'Logg ut', 'logout_other_sessions' => 'Logg ut alle andre økter', 'toggleNavigation' => 'Vis/Skjul navigation', + 'toggle_dropdown' => 'Toggle dropdown', 'searchPlaceholder' => 'Søk...', 'version' => 'Versjon', 'dashboard' => 'Startskjerm', diff --git a/resources/lang/nl_NL/firefly.php b/resources/lang/nl_NL/firefly.php index f2be23bdf4..9e01697177 100644 --- a/resources/lang/nl_NL/firefly.php +++ b/resources/lang/nl_NL/firefly.php @@ -2144,6 +2144,7 @@ return [ 'logout' => 'Uitloggen', 'logout_other_sessions' => 'Alle andere sessies afmelden', 'toggleNavigation' => 'Navigatie aan of uit', + 'toggle_dropdown' => 'Toggle dropdown', 'searchPlaceholder' => 'Zoeken...', 'version' => 'Versie', 'dashboard' => 'Dashboard', diff --git a/resources/lang/nn_NO/firefly.php b/resources/lang/nn_NO/firefly.php index 9338d50e94..ed4491d462 100644 --- a/resources/lang/nn_NO/firefly.php +++ b/resources/lang/nn_NO/firefly.php @@ -2144,6 +2144,7 @@ return [ 'logout' => 'Logg ut', 'logout_other_sessions' => 'Logg ut alle andre økter', 'toggleNavigation' => 'Vis/Skjul navigation', + 'toggle_dropdown' => 'Toggle dropdown', 'searchPlaceholder' => 'Søk...', 'version' => 'Versjon', 'dashboard' => 'Startskjerm', diff --git a/resources/lang/pl_PL/firefly.php b/resources/lang/pl_PL/firefly.php index 59eabfd4af..5538bbcafd 100644 --- a/resources/lang/pl_PL/firefly.php +++ b/resources/lang/pl_PL/firefly.php @@ -2144,6 +2144,7 @@ return [ 'logout' => 'Wyloguj', 'logout_other_sessions' => 'Wyloguj z pozostałych sesji', 'toggleNavigation' => 'Przełącz nawigację', + 'toggle_dropdown' => 'Toggle dropdown', 'searchPlaceholder' => 'Szukaj...', 'version' => 'Wersja', 'dashboard' => 'Kokpit', diff --git a/resources/lang/pt_BR/firefly.php b/resources/lang/pt_BR/firefly.php index 1235de869b..bbfe8541b4 100644 --- a/resources/lang/pt_BR/firefly.php +++ b/resources/lang/pt_BR/firefly.php @@ -2144,6 +2144,7 @@ return [ 'logout' => 'Desconectar', 'logout_other_sessions' => 'Sair de todas as outras sessões', 'toggleNavigation' => 'Alternar navegação', + 'toggle_dropdown' => 'Toggle dropdown', 'searchPlaceholder' => 'Pesquisar...', 'version' => 'Versão', 'dashboard' => 'Painel de Controle', diff --git a/resources/lang/pt_PT/firefly.php b/resources/lang/pt_PT/firefly.php index 928ef1e863..1a08ecbe8f 100644 --- a/resources/lang/pt_PT/firefly.php +++ b/resources/lang/pt_PT/firefly.php @@ -2144,6 +2144,7 @@ return [ 'logout' => 'Terminar Sessão', 'logout_other_sessions' => 'Terminar todas as outras sessões', 'toggleNavigation' => 'Mostrar/esconder navegação', + 'toggle_dropdown' => 'Toggle dropdown', 'searchPlaceholder' => 'Pesquisar...', 'version' => 'Versão', 'dashboard' => 'Painel de controlo', diff --git a/resources/lang/ro_RO/firefly.php b/resources/lang/ro_RO/firefly.php index 3264b9c654..78e05c4b4e 100644 --- a/resources/lang/ro_RO/firefly.php +++ b/resources/lang/ro_RO/firefly.php @@ -2144,6 +2144,7 @@ return [ 'logout' => 'Ieșire', 'logout_other_sessions' => 'Deconectează toate celelalte sesiuni', 'toggleNavigation' => 'Navigare', + 'toggle_dropdown' => 'Toggle dropdown', 'searchPlaceholder' => 'Cautare...', 'version' => 'Versiunea', 'dashboard' => 'Panou de control', diff --git a/resources/lang/ru_RU/firefly.php b/resources/lang/ru_RU/firefly.php index e6dd7276fc..03b132ea6d 100644 --- a/resources/lang/ru_RU/firefly.php +++ b/resources/lang/ru_RU/firefly.php @@ -2144,6 +2144,7 @@ return [ 'logout' => 'Выход', 'logout_other_sessions' => 'Завершить все другие сессии', 'toggleNavigation' => 'Переключить навигацию', + 'toggle_dropdown' => 'Toggle dropdown', 'searchPlaceholder' => 'Поиск...', 'version' => 'Версия', 'dashboard' => 'Сводка', diff --git a/resources/lang/sk_SK/firefly.php b/resources/lang/sk_SK/firefly.php index 43110e9e44..619b298d50 100644 --- a/resources/lang/sk_SK/firefly.php +++ b/resources/lang/sk_SK/firefly.php @@ -2144,6 +2144,7 @@ return [ 'logout' => 'Odhlásiť sa', 'logout_other_sessions' => 'Odhlásiť všetky ostatné sedenia', 'toggleNavigation' => 'Vyp/zap. navigáciu', + 'toggle_dropdown' => 'Toggle dropdown', 'searchPlaceholder' => 'Vyhľadať...', 'version' => 'Verzia', 'dashboard' => 'Prehľad', diff --git a/resources/lang/sl_SI/firefly.php b/resources/lang/sl_SI/firefly.php index be52a9e595..30be081045 100644 --- a/resources/lang/sl_SI/firefly.php +++ b/resources/lang/sl_SI/firefly.php @@ -2144,6 +2144,7 @@ return [ 'logout' => 'Odjava', 'logout_other_sessions' => 'Odjavi vse druge seje', 'toggleNavigation' => 'Preklopi navigacijo', + 'toggle_dropdown' => 'Toggle dropdown', 'searchPlaceholder' => 'Iskanje...', 'version' => 'Različica', 'dashboard' => 'Nadzorna plošča', diff --git a/resources/lang/sv_SE/firefly.php b/resources/lang/sv_SE/firefly.php index 9f39fbf0da..6ec97c0a51 100644 --- a/resources/lang/sv_SE/firefly.php +++ b/resources/lang/sv_SE/firefly.php @@ -2145,6 +2145,7 @@ return [ 'logout' => 'Logga ut', 'logout_other_sessions' => 'Logga ut alla andra sessioner', 'toggleNavigation' => 'Växla navigering', + 'toggle_dropdown' => 'Toggle dropdown', 'searchPlaceholder' => 'Sök...', 'version' => 'Version', 'dashboard' => 'Kontrollpanel', diff --git a/resources/lang/th_TH/firefly.php b/resources/lang/th_TH/firefly.php index 4b2f6fb595..eed44a9774 100644 --- a/resources/lang/th_TH/firefly.php +++ b/resources/lang/th_TH/firefly.php @@ -2144,6 +2144,7 @@ return [ 'logout' => 'Logout', 'logout_other_sessions' => 'Logout all other sessions', 'toggleNavigation' => 'Toggle navigation', + 'toggle_dropdown' => 'Toggle dropdown', 'searchPlaceholder' => 'Search...', 'version' => 'Version', 'dashboard' => 'Dashboard', diff --git a/resources/lang/tr_TR/firefly.php b/resources/lang/tr_TR/firefly.php index da9847bf5f..d5d05db286 100644 --- a/resources/lang/tr_TR/firefly.php +++ b/resources/lang/tr_TR/firefly.php @@ -2145,6 +2145,7 @@ return [ 'logout' => 'Çıkış Yap', 'logout_other_sessions' => 'Logout all other sessions', 'toggleNavigation' => 'Navigasyonu aç / kapat', + 'toggle_dropdown' => 'Toggle dropdown', 'searchPlaceholder' => 'Aranıyor...', 'version' => 'Versiyon', 'dashboard' => 'Gösterge paneli', diff --git a/resources/lang/uk_UA/firefly.php b/resources/lang/uk_UA/firefly.php index 08c0ffbddc..3190c5ec0f 100644 --- a/resources/lang/uk_UA/firefly.php +++ b/resources/lang/uk_UA/firefly.php @@ -2144,6 +2144,7 @@ return [ 'logout' => 'Вихід із системи', 'logout_other_sessions' => 'Вийти з усіх інших сеансів', 'toggleNavigation' => 'Переключити навігацію', + 'toggle_dropdown' => 'Toggle dropdown', 'searchPlaceholder' => 'Пошук...', 'version' => 'Версія', 'dashboard' => 'Головна панель', diff --git a/resources/lang/vi_VN/firefly.php b/resources/lang/vi_VN/firefly.php index b3c77c88f2..f02d47a39b 100644 --- a/resources/lang/vi_VN/firefly.php +++ b/resources/lang/vi_VN/firefly.php @@ -2144,6 +2144,7 @@ return [ 'logout' => 'Đăng xuất', 'logout_other_sessions' => 'Logout all other sessions', 'toggleNavigation' => 'Chuyển đổi đổigle navigation', + 'toggle_dropdown' => 'Toggle dropdown', 'searchPlaceholder' => 'Tìm kiếm...', 'version' => 'Phiên bản', 'dashboard' => 'Bảng điều khiển', diff --git a/resources/lang/zh_CN/firefly.php b/resources/lang/zh_CN/firefly.php index 4711ec197f..f2126cdfed 100644 --- a/resources/lang/zh_CN/firefly.php +++ b/resources/lang/zh_CN/firefly.php @@ -2145,6 +2145,7 @@ return [ 'logout' => '退出登录', 'logout_other_sessions' => '退出所有其他已登录设备', 'toggleNavigation' => '切换导览', + 'toggle_dropdown' => 'Toggle dropdown', 'searchPlaceholder' => '搜索…', 'version' => '版本', 'dashboard' => '仪表盘', diff --git a/resources/lang/zh_TW/firefly.php b/resources/lang/zh_TW/firefly.php index ef0ff1af2f..d4296c0098 100644 --- a/resources/lang/zh_TW/firefly.php +++ b/resources/lang/zh_TW/firefly.php @@ -2144,6 +2144,7 @@ return [ 'logout' => '登出', 'logout_other_sessions' => 'Logout all other sessions', 'toggleNavigation' => '切換導覽', + 'toggle_dropdown' => 'Toggle dropdown', 'searchPlaceholder' => '搜尋…', 'version' => '版本', 'dashboard' => '監控面板',