Merge branch 'master' of https://github.com/brkcvn/akaunting into code-clean
@ -204,7 +204,7 @@ class DocumentTransactions extends Controller
|
||||
|
||||
$response['redirect'] = route($route . '.show', $document->id);
|
||||
|
||||
$message = trans('messages.success.added', ['type' => trans_choice('general.payments', 1)]);
|
||||
$message = trans('messages.success.updated', ['type' => trans_choice('general.payments', 1)]);
|
||||
|
||||
flash($message)->success();
|
||||
} else {
|
||||
|
@ -69,10 +69,10 @@ class Document extends FormRequest
|
||||
|
||||
if ($items) {
|
||||
foreach ($items as $key => $item) {
|
||||
$size = 5;
|
||||
$size = 10;
|
||||
|
||||
if (Str::contains($item['quantity'], ['.', ','])) {
|
||||
$size = 7;
|
||||
$size = 12;
|
||||
}
|
||||
|
||||
$rules['items.' . $key . '.quantity'] = 'required|max:' . $size;
|
||||
|
@ -7,7 +7,7 @@ use Illuminate\Support\Str;
|
||||
|
||||
class DocumentItem extends FormRequest
|
||||
{
|
||||
protected $quantity_size = 5;
|
||||
protected $quantity_size = 10;
|
||||
|
||||
/**
|
||||
* Get the validation rules that apply to the request.
|
||||
@ -17,7 +17,7 @@ class DocumentItem extends FormRequest
|
||||
public function rules()
|
||||
{
|
||||
if (Str::contains($this->request->get('quantity'), ['.', ','])) {
|
||||
$this->quantity_size = 7;
|
||||
$this->quantity_size = 12;
|
||||
}
|
||||
|
||||
return [
|
||||
|
@ -56,14 +56,14 @@ class UpdateBankingDocumentTransaction extends Job implements ShouldUpdate
|
||||
|
||||
protected function prepareRequest(): void
|
||||
{
|
||||
if (!isset($this->request['amount'])) {
|
||||
if (! isset($this->request['amount'])) {
|
||||
$this->model->paid_amount = $this->model->paid;
|
||||
event(new PaidAmountCalculated($this->model));
|
||||
|
||||
$this->request['amount'] = $this->model->amount - $this->model->paid_amount;
|
||||
}
|
||||
|
||||
$currency_code = !empty($this->request['currency_code']) ? $this->request['currency_code'] : $this->model->currency_code;
|
||||
$currency_code = ! empty($this->request['currency_code']) ? $this->request['currency_code'] : $this->model->currency_code;
|
||||
|
||||
$this->request['company_id'] = $this->model->company_id;
|
||||
$this->request['currency_code'] = isset($this->request['currency_code']) ? $this->request['currency_code'] : $this->model->currency_code;
|
||||
@ -92,7 +92,8 @@ class UpdateBankingDocumentTransaction extends Job implements ShouldUpdate
|
||||
$amount = round($converted_amount, $precision);
|
||||
}
|
||||
|
||||
$this->model->paid_amount = $this->model->paid;
|
||||
// if you edit transaction before remove transaction amount
|
||||
$this->model->paid_amount = ($this->model->paid - $this->transaction->amount);
|
||||
event(new PaidAmountCalculated($this->model));
|
||||
|
||||
$total_amount = round($this->model->amount - $this->model->paid_amount, $precision);
|
||||
|
@ -53,10 +53,17 @@ class CashFlow extends Widget
|
||||
->setDataset(trans('general.outgoing'), 'column', $expense)
|
||||
->setDataset(trans_choice('general.profits', 1), 'line', $profit);
|
||||
|
||||
$incoming_amount = money(array_sum($income), setting('default.currency'), true);
|
||||
$outgoing_amount = money(abs(array_sum($expense)), setting('default.currency'), true);
|
||||
$profit_amount = money(array_sum($profit), setting('default.currency'), true);
|
||||
|
||||
$totals = [
|
||||
'incoming' => money(array_sum($income), setting('default.currency'), true),
|
||||
'outgoing' => money(abs(array_sum($expense)), setting('default.currency'), true),
|
||||
'profit' => money(array_sum($profit), setting('default.currency'), true),
|
||||
'incoming_exact' => $incoming_amount->format(),
|
||||
'incoming_for_humans' => $incoming_amount->formatForHumans(),
|
||||
'outgoing_exact' => $outgoing_amount->format(),
|
||||
'outgoing_for_humans' => $outgoing_amount->formatForHumans(),
|
||||
'profit_exact' => $profit_amount->format(),
|
||||
'profit_for_humans' => $profit_amount->formatForHumans(),
|
||||
];
|
||||
|
||||
return $this->view('widgets.cash_flow', [
|
||||
|
542
composer.lock
generated
36
database/migrations/2022_08_29_000000_core_v307.php
Normal file
@ -0,0 +1,36 @@
|
||||
<?php
|
||||
|
||||
use Doctrine\DBAL\Types\FloatType;
|
||||
use Doctrine\DBAL\Types\Type;
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
return new class extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
if (! Type::hasType('double')) {
|
||||
Type::addType('double', FloatType::class);
|
||||
}
|
||||
|
||||
Schema::table('document_items', function(Blueprint $table) {
|
||||
$table->double('quantity', 12, 2)->change();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
//
|
||||
}
|
||||
};
|
148
manifest.json
@ -1,63 +1,125 @@
|
||||
{
|
||||
"name": "Akaunting",
|
||||
"short_name": "Akaunting",
|
||||
"description": "Free invoicing and accounting software for small businesses and freelancers.",
|
||||
"categories": [
|
||||
"finance",
|
||||
"business"
|
||||
],
|
||||
"start_url": ".?utm_source=pwa",
|
||||
"display": "standalone",
|
||||
"theme_color": "#FFFFFF",
|
||||
"background_color": "#FFFFFF",
|
||||
"theme_color": "#ffffff",
|
||||
"background_color": "#ffffff",
|
||||
"orientation": "any",
|
||||
"android_package_name": "com.akaunting.akaunting",
|
||||
"prefer_related_applications": true,
|
||||
"related_applications": [
|
||||
{
|
||||
"id": "com.akaunting.akaunting",
|
||||
"platform": "play",
|
||||
"url": "https://play.google.com/store/apps/details?id=com.akaunting.akaunting"
|
||||
},
|
||||
{
|
||||
"platform": "itunes",
|
||||
"url": "https://apps.apple.com/us/app/akaunting/id1573240410"
|
||||
}
|
||||
],
|
||||
"splash": {
|
||||
"640x1136": "public/img/icons/splash-640x1136.png",
|
||||
"750x1334": "public/img/icons/splash-750x1334.png",
|
||||
"828x1792": "public/img/icons/splash-828x1792.png",
|
||||
"1125x2436": "public/img/icons/splash-1125x2436.png",
|
||||
"1242x2208": "public/img/icons/splash-1242x2208.png",
|
||||
"1242x2688": "public/img/icons/splash-1242x2688.png",
|
||||
"1536x2048": "public/img/icons/splash-1536x2048.png",
|
||||
"1668x2224": "public/img/icons/splash-1668x2224.png",
|
||||
"1668x2388": "public/img/icons/splash-1668x2388.png",
|
||||
"2048x2732": "public/img/icons/splash-2048x2732.png"
|
||||
"640x1136": "public/img/pwa/splash-640x1136.png",
|
||||
"750x1334": "public/img/pwa/splash-750x1334.png",
|
||||
"828x1792": "public/img/pwa/splash-828x1792.png",
|
||||
"1125x2436": "public/img/pwa/splash-1125x2436.png",
|
||||
"1242x2208": "public/img/pwa/splash-1242x2208.png",
|
||||
"1242x2688": "public/img/pwa/splash-1242x2688.png",
|
||||
"1536x2048": "public/img/pwa/splash-1536x2048.png",
|
||||
"1668x2224": "public/img/pwa/splash-1668x2224.png",
|
||||
"1668x2388": "public/img/pwa/splash-1668x2388.png",
|
||||
"2048x2732": "public/img/pwa/splash-2048x2732.png"
|
||||
},
|
||||
"icons": [
|
||||
{
|
||||
"src": "public/img/icons/akaunting-72x72.png",
|
||||
"type": "image/png",
|
||||
"sizes": "72x72"
|
||||
},
|
||||
{
|
||||
"src": "public/img/icons/akaunting-96x96.png",
|
||||
"type": "image/png",
|
||||
"sizes": "96x96"
|
||||
},
|
||||
{
|
||||
"src": "public/img/icons/akaunting-128x128.png",
|
||||
"type": "image/png",
|
||||
"sizes": "128x128"
|
||||
},
|
||||
{
|
||||
"src": "public/img/icons/akaunting-144x144.png",
|
||||
"type": "image/png",
|
||||
"sizes": "144x144"
|
||||
},
|
||||
{
|
||||
"src": "public/img/icons/akaunting-152x152.png",
|
||||
"type": "image/png",
|
||||
"sizes": "152x152"
|
||||
},
|
||||
{
|
||||
"src": "public/img/icons/akaunting-192x192.png",
|
||||
"src": "public/img/pwa/icon-192x192.png",
|
||||
"type": "image/png",
|
||||
"sizes": "192x192"
|
||||
},
|
||||
{
|
||||
"src": "public/img/icons/akaunting-384x384.png",
|
||||
"purpose": "maskable",
|
||||
"src": "public/img/pwa/icon-192x192-maskable.png",
|
||||
"type": "image/png",
|
||||
"sizes": "384x384"
|
||||
"sizes": "192x192"
|
||||
},
|
||||
{
|
||||
"src": "public/img/icons/akaunting-512x512.png",
|
||||
"type": "image/png",
|
||||
"sizes": "512x512"
|
||||
"src": "public/img/pwa/icon-512x512.png",
|
||||
"sizes": "512x512",
|
||||
"type": "image/png"
|
||||
},
|
||||
{
|
||||
"purpose": "maskable",
|
||||
"src": "public/img/pwa/icon-512x512-maskable.png",
|
||||
"sizes": "512x512",
|
||||
"type": "image/png"
|
||||
}
|
||||
],
|
||||
"screenshots": [
|
||||
{
|
||||
"src": "public/img/pwa/screenshot-dashboard.png",
|
||||
"sizes": "1932x1394",
|
||||
"type": "image/png"
|
||||
},
|
||||
{
|
||||
"src": "public/img/pwa/screenshot-invoice.png",
|
||||
"sizes": "2748x1986",
|
||||
"type": "image/png"
|
||||
}
|
||||
],
|
||||
"shortcuts": [
|
||||
{
|
||||
"name": "New Invoice",
|
||||
"short_name": "New Invoice",
|
||||
"description": "Create a new invoice",
|
||||
"url": "sales/invoices/create?utm_source=pwa",
|
||||
"icons": [
|
||||
{
|
||||
"src": "public/img/pwa/icon-192x192.png",
|
||||
"sizes": "192x192"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "New Income",
|
||||
"short_name": "New Income",
|
||||
"description": "Create a new income",
|
||||
"url": "banking/transactions/create?type=income&utm_source=pwa",
|
||||
"icons": [
|
||||
{
|
||||
"src": "public/img/pwa/icon-192x192.png",
|
||||
"sizes": "192x192"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "New Bill",
|
||||
"short_name": "New Bill",
|
||||
"description": "Create a new bill",
|
||||
"url": "purchases/bills/create?utm_source=pwa",
|
||||
"icons": [
|
||||
{
|
||||
"src": "public/img/pwa/icon-192x192.png",
|
||||
"sizes": "192x192"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "New Expense",
|
||||
"short_name": "New Expense",
|
||||
"description": "Create a new expense",
|
||||
"url": "banking/transactions/create?type=expense&utm_source=pwa",
|
||||
"icons": [
|
||||
{
|
||||
"src": "public/img/pwa/icon-192x192.png",
|
||||
"sizes": "192x192"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
0
public/img/icons/.gitkeep
Normal file
Before Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 3.9 KiB |
Before Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 5.5 KiB |
Before Width: | Height: | Size: 4.4 KiB |
Before Width: | Height: | Size: 6.1 KiB |
Before Width: | Height: | Size: 1.8 KiB |
Before Width: | Height: | Size: 2.5 KiB |
BIN
public/img/pwa/icon-192x192-maskable.png
Normal file
After Width: | Height: | Size: 5.1 KiB |
BIN
public/img/pwa/icon-192x192.png
Normal file
After Width: | Height: | Size: 7.7 KiB |
BIN
public/img/pwa/icon-512x512-maskable.png
Normal file
After Width: | Height: | Size: 13 KiB |
BIN
public/img/pwa/icon-512x512.png
Normal file
After Width: | Height: | Size: 21 KiB |
BIN
public/img/pwa/screenshot-dashboard.png
Normal file
After Width: | Height: | Size: 365 KiB |
BIN
public/img/pwa/screenshot-invoice.png
Normal file
After Width: | Height: | Size: 468 KiB |
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 19 KiB |
Before Width: | Height: | Size: 8.3 KiB After Width: | Height: | Size: 8.3 KiB |
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB |
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div class="sm:col-span-6 space-y-8 sm:space-y-2">
|
||||
<div class="flex items-center" :class="{ 'justify-between sm:justify-start': frequency == 'custom' }">
|
||||
<div class="flex flex-wrap lg:flex-nowrap items-center space-y-3 lg:space-y-0" :class="{ 'justify-between sm:justify-start': frequency == 'custom' }">
|
||||
<div class="w-60 px-2 text-sm">
|
||||
{{ frequencyText }}
|
||||
</div>
|
||||
@ -30,7 +30,7 @@
|
||||
</el-select>
|
||||
</div>
|
||||
|
||||
<div class="flex items-center" :class="{ 'justify-between sm:justify-start': limit !== 'never' }">
|
||||
<div class="flex flex-wrap lg:flex-nowrap items-center space-y-3 lg:space-y-0" :class="{ 'justify-between sm:justify-start': limit !== 'never' }">
|
||||
<div class="w-60 px-2 text-sm">
|
||||
{{ startText }}
|
||||
</div>
|
||||
|
11
resources/assets/js/mixins/global.js
vendored
@ -617,11 +617,12 @@ export default {
|
||||
},
|
||||
|
||||
methods: {
|
||||
onCopyLink(event) {
|
||||
onCopyLink() {
|
||||
let type = 'success';
|
||||
let copyText = document.querySelector('#dynamic-share-component #hidden-share');
|
||||
copyText.select();
|
||||
document.execCommand("copy");
|
||||
let copy_html = document.getElementById('share');
|
||||
|
||||
copy_html.select();
|
||||
document.execCommand('copy');
|
||||
|
||||
this.$notify({
|
||||
message: this.share.success_message,
|
||||
@ -716,7 +717,7 @@ export default {
|
||||
|
||||
this.component = Vue.component('add-new-component', (resolve, reject) => {
|
||||
resolve({
|
||||
template: '<div id="dynamic-add-new-modal-component"><akaunting-modal-add-new modal-dialog-class="max-w-screen-lg" :show="modal.show" :buttons="modal.buttons" :title="modal.title" :message="modal.html" :is_component=true @submit="onSubmit" @cancel="onCancel"></akaunting-modal-add-new></div>',
|
||||
template: '<div id="dynamic-add-new-modal-component"><akaunting-modal-add-new modal-dialog-class="max-w-md" :show="modal.show" :buttons="modal.buttons" :title="modal.title" :message="modal.html" :is_component=true @submit="onSubmit" @cancel="onCancel"></akaunting-modal-add-new></div>',
|
||||
|
||||
components: {
|
||||
AkauntingDropzoneFileUpload,
|
||||
|
@ -1,7 +1,7 @@
|
||||
@stack('footer_start')
|
||||
<footer class="footer">
|
||||
<div class="lg:absolute bottom-10 right-6 lg:right-24 flex flex-col sm:flex-row items-center justify-end text-sm font-light">
|
||||
{{ trans('footer.powered') }}: <x-link href="{{ trans('footer.link') }}" target="_blank" override="class">{{ trans('footer.software') }}</x-link>
|
||||
{{ trans('footer.powered') }}: <x-link href="{{ trans('footer.link') }}" target="_blank">{{ trans('footer.software') }}</x-link>
|
||||
</div>
|
||||
</footer>
|
||||
@stack('footer_end')
|
||||
|
@ -10,10 +10,10 @@
|
||||
@stack('body_start')
|
||||
|
||||
<div class="bg-no-repeat bg-cover bg-center" style="background-image: url({{ asset('public/img/auth/login-bg.png') }});">
|
||||
@if (! file_exists(public_path('public/js/install/install.min.js')))
|
||||
@if (! file_exists(public_path('js/install.min.js')))
|
||||
<div class="relative w-full lg:max-w-7xl flex flex-col lg:flex-row items-center m-auto">
|
||||
<div class="md:w-6/12 h-screen hidden lg:flex flex-col items-center justify-center">
|
||||
<img src="{{ asset('public/img/empty_pages/transactions.png') }}" alt="" />
|
||||
<img src="{{ asset('public/img/empty_pages/transactions.png') }}" alt="" />
|
||||
</div>
|
||||
|
||||
<div class="w-full lg:w-46 h-31 flex flex-col justify-center gap-12 px-6 lg:px-24 py-24 mt-12 lg:mt-0">
|
||||
|
@ -2,37 +2,35 @@
|
||||
<link rel="manifest" href="{{ asset('manifest.json') }}">
|
||||
|
||||
<!-- Chrome for Android theme color -->
|
||||
<meta name="theme-color" content="#FFFFFF">
|
||||
<meta name="theme-color" content="#ffffff">
|
||||
|
||||
<!-- Add to homescreen for Chrome on Android -->
|
||||
<meta name="mobile-web-app-capable" content="yes">
|
||||
<meta name="application-name" content="{{ config('app.name') }}">
|
||||
<link rel="icon" sizes="512x512" href="{{ asset('public/img/icons/akaunting-512x512.png') }}">
|
||||
<link rel="icon" sizes="512x512" href="{{ asset('public/img/pwa/akaunting-512x512.png') }}">
|
||||
|
||||
<!-- Add to homescreen for Safari on iOS -->
|
||||
<meta name="apple-mobile-web-app-capable" content="yes">
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="#FFFFFF">
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="#ffffff">
|
||||
<meta name="apple-mobile-web-app-title" content="{{ config('app.name') }}">
|
||||
<link rel="apple-touch-icon" href="{{ asset('public/img/icons/akaunting-512x512.png') }}">
|
||||
<link rel="apple-touch-icon" href="{{ asset('public/img/pwa/akaunting-512x512.png') }}">
|
||||
|
||||
<link href="{{ asset('public/img/icons/splash-640x1136.png') }}" media="(device-width: 320px) and (device-height: 568px) and (-webkit-device-pixel-ratio: 2)" rel="apple-touch-startup-image" />
|
||||
<link href="{{ asset('public/img/icons/splash-750x1334.png') }}" media="(device-width: 375px) and (device-height: 667px) and (-webkit-device-pixel-ratio: 2)" rel="apple-touch-startup-image" />
|
||||
<link href="{{ asset('public/img/icons/splash-828x1792.png') }}" media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 2)" rel="apple-touch-startup-image" />
|
||||
<link href="{{ asset('public/img/icons/splash-1242x2208.png') }}" media="(device-width: 621px) and (device-height: 1104px) and (-webkit-device-pixel-ratio: 3)" rel="apple-touch-startup-image" />
|
||||
<link href="{{ asset('public/img/icons/splash-1242x2688.png') }}" media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 3)" rel="apple-touch-startup-image" />
|
||||
<link href="{{ asset('public/img/icons/splash-1536x2048.png') }}" media="(device-width: 768px) and (device-height: 1024px) and (-webkit-device-pixel-ratio: 2)" rel="apple-touch-startup-image" />
|
||||
<link href="{{ asset('public/img/icons/splash-1668x2224.png') }}" media="(device-width: 834px) and (device-height: 1112px) and (-webkit-device-pixel-ratio: 2)" rel="apple-touch-startup-image" />
|
||||
<link href="{{ asset('public/img/icons/splash-1668x2388.png') }}" media="(device-width: 834px) and (device-height: 1194px) and (-webkit-device-pixel-ratio: 2)" rel="apple-touch-startup-image" />
|
||||
<link href="{{ asset('public/img/icons/splash-2048x2732.png') }}" media="(device-width: 1024px) and (device-height: 1366px) and (-webkit-device-pixel-ratio: 2)" rel="apple-touch-startup-image" />
|
||||
<link href="{{ asset('public/img/pwa/splash-640x1136.png') }}" media="(device-width: 320px) and (device-height: 568px) and (-webkit-device-pixel-ratio: 2)" rel="apple-touch-startup-image" />
|
||||
<link href="{{ asset('public/img/pwa/splash-750x1334.png') }}" media="(device-width: 375px) and (device-height: 667px) and (-webkit-device-pixel-ratio: 2)" rel="apple-touch-startup-image" />
|
||||
<link href="{{ asset('public/img/pwa/splash-828x1792.png') }}" media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 2)" rel="apple-touch-startup-image" />
|
||||
<link href="{{ asset('public/img/pwa/splash-1242x2208.png') }}" media="(device-width: 621px) and (device-height: 1104px) and (-webkit-device-pixel-ratio: 3)" rel="apple-touch-startup-image" />
|
||||
<link href="{{ asset('public/img/pwa/splash-1242x2688.png') }}" media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 3)" rel="apple-touch-startup-image" />
|
||||
<link href="{{ asset('public/img/pwa/splash-1536x2048.png') }}" media="(device-width: 768px) and (device-height: 1024px) and (-webkit-device-pixel-ratio: 2)" rel="apple-touch-startup-image" />
|
||||
<link href="{{ asset('public/img/pwa/splash-1668x2224.png') }}" media="(device-width: 834px) and (device-height: 1112px) and (-webkit-device-pixel-ratio: 2)" rel="apple-touch-startup-image" />
|
||||
<link href="{{ asset('public/img/pwa/splash-1668x2388.png') }}" media="(device-width: 834px) and (device-height: 1194px) and (-webkit-device-pixel-ratio: 2)" rel="apple-touch-startup-image" />
|
||||
<link href="{{ asset('public/img/pwa/splash-2048x2732.png') }}" media="(device-width: 1024px) and (device-height: 1366px) and (-webkit-device-pixel-ratio: 2)" rel="apple-touch-startup-image" />
|
||||
|
||||
<!-- Tile for Win8 -->
|
||||
<meta name="msapplication-TileColor" content="#FFFFFF">
|
||||
<meta name="msapplication-TileImage" content="{{ asset('public/img/icons/akaunting-512x512.png') }}">
|
||||
<meta name="msapplication-TileColor" content="#ffffff">
|
||||
<meta name="msapplication-TileImage" content="{{ asset('public/img/pwa/akaunting-512x512.png') }}">
|
||||
|
||||
<script type="text/javascript">
|
||||
|
||||
if ('serviceWorker' in navigator) {
|
||||
navigator.serviceWorker.register("{{ asset('serviceworker.js') }}");
|
||||
}
|
||||
|
||||
</script>
|
||||
|
@ -5,14 +5,13 @@
|
||||
</div>
|
||||
|
||||
<div class="my-3">
|
||||
<x-form.input.text
|
||||
<x-form.input.input
|
||||
name="share"
|
||||
value="{{ $signedUrl }}"
|
||||
ref="clone"
|
||||
@click="onCopyLink()"
|
||||
style="appearance: none; background-color: whitesmoke; border: none; font-size: 16px;"
|
||||
/>
|
||||
<x-form.input.hidden name="hidden-share" value="{{ $signedUrl }}" />
|
||||
|
||||
<div data-copied class="hidden h-10 items-center justify-center">
|
||||
<span
|
||||
|
@ -9,7 +9,9 @@
|
||||
<div class="w-full lg:w-1/12 mt-11 space-y-2">
|
||||
<div class="flex flex-col items-center justify-between text-center">
|
||||
<div class="flex justify-end lg:block text-lg">
|
||||
{{ $totals['incoming'] }}
|
||||
<x-tooltip id="tooltip-cashflow-incoming" placement="top" message="{{ $totals['incoming_exact'] }}">
|
||||
{{ $totals['incoming_for_humans'] }}
|
||||
</x-tooltip>
|
||||
</div>
|
||||
|
||||
<span class="text-green text-xs">
|
||||
@ -21,7 +23,9 @@
|
||||
|
||||
<div class="flex flex-col items-center justify-between">
|
||||
<div class="flex justify-end lg:block text-lg">
|
||||
{{ $totals['outgoing'] }}
|
||||
<x-tooltip id="tooltip-cashflow-outgoing" placement="top" message="{{ $totals['outgoing_exact'] }}">
|
||||
{{ $totals['outgoing_for_humans'] }}
|
||||
</x-tooltip>
|
||||
</div>
|
||||
|
||||
<span class="text-rose text-xs">
|
||||
@ -33,7 +37,9 @@
|
||||
|
||||
<div class="flex flex-col items-center justify-between">
|
||||
<div class="flex justify-end lg:block text-lg">
|
||||
{{ $totals['profit'] }}
|
||||
<x-tooltip id="tooltip-cashflow-profit" placement="top" message="{{ $totals['profit_exact'] }}">
|
||||
{{ $totals['profit_for_humans'] }}
|
||||
</x-tooltip>
|
||||
</div>
|
||||
|
||||
<span class="text-purple text-xs">{{ trans_choice('general.profits', 1) }}</span>
|
||||
|
10
serviceworker.js
vendored
@ -1,13 +1,7 @@
|
||||
var staticCacheName = "pwa-v" + new Date().getTime();
|
||||
var filesToCache = [
|
||||
'public/img/icons/akaunting-72x72.png',
|
||||
'public/img/icons/akaunting-96x96.png',
|
||||
'public/img/icons/akaunting-128x128.png',
|
||||
'public/img/icons/akaunting-144x144.png',
|
||||
'public/img/icons/akaunting-152x152.png',
|
||||
'public/img/icons/akaunting-192x192.png',
|
||||
'public/img/icons/akaunting-384x384.png',
|
||||
'public/img/icons/akaunting-512x512.png'
|
||||
'public/img/pwa/akaunting-192x192.png',
|
||||
'public/img/pwa/akaunting-512x512.png'
|
||||
];
|
||||
|
||||
/*
|
||||
|