mirror of
https://github.com/VueFileManager/vuefilemanager.git
synced 2026-04-30 11:35:59 +00:00
pdf invoice generation scaffolding
This commit is contained in:
@@ -66,20 +66,16 @@ class InvoiceController extends Controller
|
|||||||
$client = $this->getOrStoreClient($request);
|
$client = $this->getOrStoreClient($request);
|
||||||
|
|
||||||
$invoice = Invoice::create([
|
$invoice = Invoice::create([
|
||||||
'user_id' => $request->user()->id,
|
'user_id' => $request->user()->id,
|
||||||
'client_id' => $client->id ?? null,
|
'client_id' => $client->id ?? null,
|
||||||
|
'invoice_type' => $request->invoice_type,
|
||||||
'invoice_type' => $request->invoice_type,
|
'invoice_number' => $request->invoice_number,
|
||||||
'invoice_number' => $request->invoice_number,
|
|
||||||
|
|
||||||
'variable_number' => $request->variable_number,
|
'variable_number' => $request->variable_number,
|
||||||
'delivery_at' => $request->delivery_at,
|
'delivery_at' => $request->delivery_at,
|
||||||
|
'discount_type' => $request->discount_type ?? null,
|
||||||
'discount_type' => $request->discount_type ?? null,
|
'discount_rate' => $request->discount_rate ?? null,
|
||||||
'discount_rate' => $request->discount_rate ?? null,
|
'items' => $request->items,
|
||||||
'items' => $request->items,
|
'client' => [
|
||||||
|
|
||||||
'client' => [
|
|
||||||
'email' => $client->email ?? $request->client_email,
|
'email' => $client->email ?? $request->client_email,
|
||||||
'name' => $client->name ?? $request->client_name,
|
'name' => $client->name ?? $request->client_name,
|
||||||
'address' => $client->address ?? $request->client_address,
|
'address' => $client->address ?? $request->client_address,
|
||||||
@@ -92,14 +88,18 @@ class InvoiceController extends Controller
|
|||||||
],
|
],
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
// Generate PDF
|
||||||
\PDF::loadView('oasis.invoices.invoice', [
|
\PDF::loadView('oasis.invoices.invoice', [
|
||||||
'invoice' => Invoice::find($invoice->id),
|
'invoice' => Invoice::find($invoice->id),
|
||||||
'user' => $request->user(),
|
'user' => $request->user(),
|
||||||
])
|
])
|
||||||
->save(storage_path() . "/app/faktura-{$invoice->id}.pdf");
|
->setPaper('a4')
|
||||||
|
->setOrientation('portrait')
|
||||||
|
->save(
|
||||||
|
storage_path("/app/files/{$request->user()->id}/invoice-{$invoice->id}.pdf")
|
||||||
|
);
|
||||||
|
|
||||||
if ($request->send_invoice && $invoice->client['email']) {
|
if ($request->send_invoice && $invoice->client['email']) {
|
||||||
|
|
||||||
Notification::route('mail', $invoice->client['email'])
|
Notification::route('mail', $invoice->client['email'])
|
||||||
->notify(new InvoiceDeliveryNotification($request->user()));
|
->notify(new InvoiceDeliveryNotification($request->user()));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,6 +2,32 @@
|
|||||||
|
|
||||||
use Laravel\Cashier\Cashier;
|
use Laravel\Cashier\Cashier;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param $name
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
function is_route($name)
|
||||||
|
{
|
||||||
|
return Route::currentRouteName() === $name;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param $filepath
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
function get_storage_path($filepath)
|
||||||
|
{
|
||||||
|
if (is_null($filepath)) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (! Storage::exists($filepath)) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
return 'data:' . Storage::mimeType($filepath) . ';base64,' . base64_encode(Storage::get($filepath));
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get only tax for single invoice item
|
* Get only tax for single invoice item
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -7,6 +7,9 @@ namespace App\Services\Oasis;
|
|||||||
use App\Models\Oasis\Client;
|
use App\Models\Oasis\Client;
|
||||||
use App\Models\Oasis\Invoice;
|
use App\Models\Oasis\Invoice;
|
||||||
use App\Models\User;
|
use App\Models\User;
|
||||||
|
use Illuminate\Contracts\Foundation\Application;
|
||||||
|
use Illuminate\Contracts\View\Factory;
|
||||||
|
use Illuminate\Contracts\View\View;
|
||||||
use Illuminate\Database\Eloquent\Factories\Sequence;
|
use Illuminate\Database\Eloquent\Factories\Sequence;
|
||||||
|
|
||||||
class OasisDevService
|
class OasisDevService
|
||||||
@@ -48,4 +51,14 @@ class OasisDevService
|
|||||||
'invoice_type' => 'advance-invoice'
|
'invoice_type' => 'advance-invoice'
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return Application|Factory|View
|
||||||
|
*/
|
||||||
|
public function get_invoice_view()
|
||||||
|
{
|
||||||
|
return view('oasis.invoices.invoice')
|
||||||
|
->with('invoice', Invoice::first())
|
||||||
|
->with('user', User::whereEmail('howdy@hi5ve.digital')->first());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
+7
-5
@@ -32,15 +32,18 @@ return [
|
|||||||
| The environment variables to set while running the wkhtmltopdf process.
|
| The environment variables to set while running the wkhtmltopdf process.
|
||||||
|
|
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
'pdf' => [
|
'pdf' => [
|
||||||
'enabled' => true,
|
'enabled' => true,
|
||||||
'binary' => app_path() . '/vendor/h4cc/wkhtmltopdf-amd64/bin/wkhtmltopdf-amd64',
|
'binary' => env('WKHTML_PDF_BINARY', '/usr/local/bin/wkhtmltopdf'),
|
||||||
'timeout' => false,
|
'timeout' => false,
|
||||||
'options' => [],
|
'options' => [
|
||||||
|
'enable-local-file-access' => true,
|
||||||
|
'encoding' => 'UTF-8'
|
||||||
|
],
|
||||||
'env' => [],
|
'env' => [],
|
||||||
],
|
],
|
||||||
|
|
||||||
'image' => [
|
'image' => [
|
||||||
'enabled' => true,
|
'enabled' => true,
|
||||||
'binary' => env('WKHTML_IMG_BINARY', '/usr/local/bin/wkhtmltoimage'),
|
'binary' => env('WKHTML_IMG_BINARY', '/usr/local/bin/wkhtmltoimage'),
|
||||||
@@ -48,5 +51,4 @@ return [
|
|||||||
'options' => [],
|
'options' => [],
|
||||||
'env' => [],
|
'env' => [],
|
||||||
],
|
],
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|||||||
Vendored
+1
-1
File diff suppressed because one or more lines are too long
Vendored
+1
-1
File diff suppressed because one or more lines are too long
+1
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Vendored
+1
-1
File diff suppressed because one or more lines are too long
Vendored
+1
-1
File diff suppressed because one or more lines are too long
Vendored
+1
-1
File diff suppressed because one or more lines are too long
Vendored
+1
-1
File diff suppressed because one or more lines are too long
Vendored
+1
-1
File diff suppressed because one or more lines are too long
Vendored
+1
-1
File diff suppressed because one or more lines are too long
Vendored
+1
-1
File diff suppressed because one or more lines are too long
Vendored
+1
-1
File diff suppressed because one or more lines are too long
Vendored
+1
-1
File diff suppressed because one or more lines are too long
Vendored
+1
-1
File diff suppressed because one or more lines are too long
Vendored
+1
-1
File diff suppressed because one or more lines are too long
Vendored
+1
-1
File diff suppressed because one or more lines are too long
Vendored
+1
-1
File diff suppressed because one or more lines are too long
Vendored
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
Vendored
+1
-1
File diff suppressed because one or more lines are too long
Vendored
+1
-1
File diff suppressed because one or more lines are too long
Vendored
+1
-1
File diff suppressed because one or more lines are too long
Vendored
+1
-1
File diff suppressed because one or more lines are too long
Vendored
+1
File diff suppressed because one or more lines are too long
+1
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Vendored
+2
-2
File diff suppressed because one or more lines are too long
Vendored
+1
-1
File diff suppressed because one or more lines are too long
Vendored
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
Vendored
+1
-1
File diff suppressed because one or more lines are too long
Vendored
+1
-1
File diff suppressed because one or more lines are too long
Vendored
+1
-1
File diff suppressed because one or more lines are too long
Vendored
+1
File diff suppressed because one or more lines are too long
Vendored
+1
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Vendored
+1
-1
File diff suppressed because one or more lines are too long
Vendored
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
Vendored
+1
-1
File diff suppressed because one or more lines are too long
Vendored
+1
-1
File diff suppressed because one or more lines are too long
Vendored
+1
-1
File diff suppressed because one or more lines are too long
Vendored
+1
-1
File diff suppressed because one or more lines are too long
Vendored
+1
-1
File diff suppressed because one or more lines are too long
Vendored
+1
-1
File diff suppressed because one or more lines are too long
Vendored
+1
-1
File diff suppressed because one or more lines are too long
Vendored
+1
-1
File diff suppressed because one or more lines are too long
Vendored
+1
-1
File diff suppressed because one or more lines are too long
Vendored
+1
-1
File diff suppressed because one or more lines are too long
Vendored
+1
-1
File diff suppressed because one or more lines are too long
Vendored
+1
-1
File diff suppressed because one or more lines are too long
Vendored
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
Vendored
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
Vendored
+1
-1
File diff suppressed because one or more lines are too long
Vendored
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
Vendored
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
Vendored
+1
-1
File diff suppressed because one or more lines are too long
Vendored
+1
-1
@@ -1 +1 @@
|
|||||||
(window.webpackJsonp=window.webpackJsonp||[]).push([[61],{oBQg:function(e,t,r){"use strict";r.r(t);var n=r("L2JU");function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function c(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var i={name:"SetupWizard",computed:function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?o(Object(r),!0).forEach((function(t){c(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):o(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}({},Object(n.b)(["config"])),mounted:function(){"setup-done"===this.config.installation&&this.$router.push({name:"SignIn"})}},u=r("KHd+"),p=Object(u.a)(i,(function(){var e=this.$createElement;return(this._self._c||e)("router-view")}),[],!1,null,null,null);t.default=p.exports}}]);
|
(window.webpackJsonp=window.webpackJsonp||[]).push([[64],{oBQg:function(e,t,r){"use strict";r.r(t);var n=r("L2JU");function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function c(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var i={name:"SetupWizard",computed:function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?o(Object(r),!0).forEach((function(t){c(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):o(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}({},Object(n.b)(["config"])),mounted:function(){"setup-done"===this.config.installation&&this.$router.push({name:"SignIn"})}},u=r("KHd+"),p=Object(u.a)(i,(function(){var e=this.$createElement;return(this._self._c||e)("router-view")}),[],!1,null,null,null);t.default=p.exports}}]);
|
||||||
Vendored
+1
-1
@@ -1 +1 @@
|
|||||||
(window.webpackJsonp=window.webpackJsonp||[]).push([[54],{"2wZp":function(t,e,n){"use strict";var i=n("Mlra");n.n(i).a},"6Rdq":function(t,e,n){"use strict";var i=n("9Q3x"),r=n("yMep"),o=n("c4kp"),s=n("2QtR"),a=n("L2JU"),c=n("xCqy");function l(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function p(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var d={name:"FilesView",components:{DesktopSortingAndPreview:i.a,DesktopToolbar:r.a,FileBrowser:o.a,ContextMenu:s.a},computed:function(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?l(Object(n),!0).forEach((function(e){p(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):l(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}({},Object(a.b)(["config"])),methods:{contextMenu:function(t,e){c.a.$emit("contextMenu:show",t,e)}}},u=(n("2wZp"),n("KHd+")),f=Object(u.a)(d,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{attrs:{id:"files-view"},on:{"!contextmenu":function(e){return e.preventDefault(),t.contextMenu(e,void 0)}}},[n("ContextMenu"),t._v(" "),n("DesktopSortingAndPreview"),t._v(" "),n("DesktopToolbar"),t._v(" "),n("FileBrowser")],1)}),[],!1,null,null,null);e.a=f.exports},CoTS:function(t,e,n){"use strict";n.r(e);var i=n("6Rdq"),r=n("LtV2"),o=n("hXay"),s=n("CjXH"),a={name:"FilesView",components:{ContentFileView:i.a,ContentSidebar:r.a,ContentGroup:o.a,LinkIcon:s.H,UsersIcon:s.hb},methods:{getShared:function(){this.$store.dispatch("getShared",[{back:!1,init:!1}])},getParticipantUploads:function(){this.$store.dispatch("getParticipantUploads")}},mounted:function(){this.getShared()}},c=n("KHd+"),l=Object(c.a)(a,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("section",{attrs:{id:"viewport"}},[n("ContentSidebar",[n("ContentGroup",{attrs:{title:t.$t("sidebar.locations_title")}},[n("div",{staticClass:"menu-list-wrapper vertical"},[n("li",{staticClass:"menu-list-item link",class:{"is-active":t.$isThisLocation(["shared"])},on:{click:t.getShared}},[n("div",{staticClass:"icon text-theme"},[n("link-icon",{attrs:{size:"17"}})],1),t._v(" "),n("div",{staticClass:"label text-theme"},[t._v("\n "+t._s(t.$t("sidebar.my_shared"))+"\n ")])]),t._v(" "),n("li",{staticClass:"menu-list-item link",class:{"is-active":t.$isThisLocation(["participant_uploads"])},on:{click:t.getParticipantUploads}},[n("div",{staticClass:"icon text-theme"},[n("users-icon",{attrs:{size:"17"}})],1),t._v(" "),n("div",{staticClass:"label text-theme"},[t._v("\n "+t._s(t.$t("sidebar.participant_uploads"))+"\n ")])])])])],1),t._v(" "),n("ContentFileView")],1)}),[],!1,null,"4b1985f4",null);e.default=l.exports},Mlra:function(t,e,n){var i=n("Q8SN");"string"==typeof i&&(i=[[t.i,i,""]]);var r={hmr:!0,transform:void 0,insertInto:void 0};n("aET+")(i,r);i.locals&&(t.exports=i.locals)},Q8SN:function(t,e,n){(t.exports=n("I1BE")(!1)).push([t.i,"#files-view {\n font-family: 'Nunito', sans-serif;\n font-size: 16px;\n width: 100%;\n height: 100%;\n position: relative;\n min-width: 320px;\n overflow-x: hidden;\n padding-left: 15px;\n padding-right: 15px;\n overflow-y: hidden;\n}\n@media only screen and (max-width: 690px) {\n#files-view {\n padding-left: 0;\n padding-right: 0;\n}\n}\n",""])}}]);
|
(window.webpackJsonp=window.webpackJsonp||[]).push([[66],{"2wZp":function(t,e,n){"use strict";var i=n("Mlra");n.n(i).a},"6Rdq":function(t,e,n){"use strict";var i=n("yMep"),s=n("c4kp"),a=n("2QtR"),o=n("xCqy"),r={name:"FilesView",components:{DesktopToolbar:i.a,FileBrowser:s.a,ContextMenu:a.a},methods:{contextMenu:function(t,e){o.a.$emit("contextMenu:show",t,e)}}},l=(n("2wZp"),n("KHd+")),c=Object(l.a)(r,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{attrs:{id:"files-view"},on:{"!contextmenu":function(e){return e.preventDefault(),t.contextMenu(e,void 0)}}},[n("DesktopToolbar"),t._v(" "),n("ContextMenu"),t._v(" "),n("FileBrowser")],1)}),[],!1,null,null,null);e.a=c.exports},CoTS:function(t,e,n){"use strict";n.r(e);var i=n("6Rdq"),s=n("LtV2"),a=n("hXay"),o=n("CjXH"),r={name:"FilesView",components:{ContentFileView:i.a,ContentSidebar:s.a,ContentGroup:a.a,LinkIcon:o.J,UsersIcon:o.jb},methods:{getShared:function(){this.$store.dispatch("getShared",[{back:!1,init:!1}])},getParticipantUploads:function(){this.$store.dispatch("getParticipantUploads")}},mounted:function(){this.getShared()}},l=n("KHd+"),c=Object(l.a)(r,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("section",{attrs:{id:"viewport"}},[n("ContentSidebar",[n("ContentGroup",{attrs:{title:t.$t("sidebar.locations_title")}},[n("div",{staticClass:"menu-list-wrapper vertical"},[n("li",{staticClass:"menu-list-item link",class:{"is-active":t.$isThisLocation(["shared"])},on:{click:t.getShared}},[n("div",{staticClass:"icon text-theme"},[n("link-icon",{attrs:{size:"17"}})],1),t._v(" "),n("div",{staticClass:"label text-theme"},[t._v("\n "+t._s(t.$t("sidebar.my_shared"))+"\n ")])]),t._v(" "),n("li",{staticClass:"menu-list-item link",class:{"is-active":t.$isThisLocation(["participant_uploads"])},on:{click:t.getParticipantUploads}},[n("div",{staticClass:"icon text-theme"},[n("users-icon",{attrs:{size:"17"}})],1),t._v(" "),n("div",{staticClass:"label text-theme"},[t._v("\n "+t._s(t.$t("sidebar.participant_uploads"))+"\n ")])])])])],1),t._v(" "),n("ContentFileView")],1)}),[],!1,null,"4b1985f4",null);e.default=c.exports},Mlra:function(t,e,n){var i=n("Q8SN");"string"==typeof i&&(i=[[t.i,i,""]]);var s={hmr:!0,transform:void 0,insertInto:void 0};n("aET+")(i,s);i.locals&&(t.exports=i.locals)},Q8SN:function(t,e,n){(t.exports=n("I1BE")(!1)).push([t.i,"#files-view {\n font-family: 'Nunito', sans-serif;\n font-size: 16px;\n width: 100%;\n height: 100%;\n position: relative;\n min-width: 320px;\n overflow-x: hidden;\n padding-left: 15px;\n padding-right: 15px;\n overflow-y: hidden;\n}\n@media only screen and (max-width: 690px) {\n#files-view {\n padding-left: 0;\n padding-right: 0;\n}\n}\n",""])}}]);
|
||||||
Vendored
+1
-1
File diff suppressed because one or more lines are too long
Vendored
+1
-1
File diff suppressed because one or more lines are too long
Vendored
+1
-1
File diff suppressed because one or more lines are too long
Vendored
+1
-1
File diff suppressed because one or more lines are too long
Vendored
+1
-1
File diff suppressed because one or more lines are too long
Vendored
+1
-1
File diff suppressed because one or more lines are too long
Vendored
+1
-1
File diff suppressed because one or more lines are too long
Vendored
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
Vendored
+1
-1
File diff suppressed because one or more lines are too long
Vendored
+1
-1
File diff suppressed because one or more lines are too long
Vendored
+1
-1
File diff suppressed because one or more lines are too long
Vendored
+1
-1
File diff suppressed because one or more lines are too long
Vendored
+1
-1
File diff suppressed because one or more lines are too long
Vendored
+1
-1
File diff suppressed because one or more lines are too long
Vendored
+1
-1
File diff suppressed because one or more lines are too long
Vendored
+1
-1
File diff suppressed because one or more lines are too long
Vendored
+1
-1
File diff suppressed because one or more lines are too long
Vendored
+1
-1
File diff suppressed because one or more lines are too long
Vendored
+1
-1
File diff suppressed because one or more lines are too long
Vendored
+1
@@ -0,0 +1 @@
|
|||||||
|
*{outline:0;margin:0;padding:0;box-sizing:border-box;color:#1b2539}*,b,body,h1,h2,h3,h4,html,p,span,strong{font-family:Nunito,serif}html{font-size:100%}.row{display:-webkit-flex;-webkit-flex-wrap:nowrap;width:100%}.row.spaces{margin:0 -15px}.row.spaces div[class^=col-]{padding:0 15px}.row div[class^=col-]{-webkit-flex-grow:1}.row div[class^=col-].align-right{text-align:right}.row .col-left,.row .col-right{width:49%}.row.align-center div[class^=col-]{-webkit-align-self:center}.row.align-bottom div[class^=col-]{-webkit-align-self:flex-end}.invoice-header .col-left,.invoice-header .col-right{display:inline-block}.invoice-header .logo{margin-bottom:5px;display:block;width:260px}.invoice-header .email,.invoice-header .phone{display:block;font-size:.7em;font-weight:400;margin-bottom:2px}.invoice-header h1{line-height:1;padding-bottom:5px;font-size:1.6em}.invoice-header h2{color:#bc30fd;font-weight:600;font-size:1.1em}.invoice-header h4{color:#1b2539;font-weight:600;font-size:.7em}.supplier{float:right;max-width:600px}.supplier .box{background:#f4f5f6;border-radius:15px;padding:20px}.supplier .dates{margin-top:10px}.supplier .dates p{text-align:right;font-size:.9em}.special-wrapper{padding-bottom:25px;border-bottom:1px dashed #d8d8d8;margin:0 -5px 25px}.special-wrapper .special-item{background:#f4f5f6;border-radius:8px;display:inline-block;width:20.9%;margin:0 5px}.special-wrapper .special-item:first-child{width:31.5%}.special-wrapper .special-item .padding{padding:10px 15px}.special-wrapper b{color:#bc30fd;font-size:.9em;font-weight:600;margin-bottom:5px;display:block}.special-wrapper span{font-size:1em;font-weight:600;word-break:break-word;overflow-wrap:break-word;width:100%;display:block}.table{table-layout:fixed;border-collapse:collapse;width:100%}.table .table-row:nth-child(2n){background-color:#f4f5f6;border-radius:12px}.table .table-row .table-cell{text-align:left;word-break:break-word;padding:5px}.table .table-row .table-cell a,.table .table-row .table-cell span{word-break:break-word}.table .table-row .table-cell:first-child{width:280px;padding-left:15px;padding-right:15px}.table .table-row .table-cell:last-child{text-align:right;padding-right:15px}.table tbody .table-row{padding:5px 0}.table thead{background-color:#fff!important;padding-bottom:15px;border-bottom:0}.table thead .table-cell span{color:#bc30fd;font-weight:600;font-size:.9em;white-space:nowrap}.table .table-cell{word-break:break-all}.table .table-cell a,.table .table-cell span{vertical-align:middle;font-weight:500;font-size:.9em}.summary{max-width:300px;margin:20px 0 20px auto;text-align:right}.summary li{padding:2px 0;display:block}.summary li b,.summary li span{white-space:nowrap}.summary li .col-full{width:50%;display:inline-block}.summary span{font-size:1em}.summary b{font-size:1.3em;font-weight:600}.notes{padding-top:25px;border-top:1px dashed #d8d8d8}.invoice-author{display:-webkit-flex;-webkit-justify-content:space-between;-webkit-align-items:flex-end;padding-bottom:25px}.invoice-author .sign{text-align:right}.invoice-author img{max-width:240px;display:block;margin:0 0 0 auto}.invoice-footer{padding-top:15px;border-top:1px dashed #d8d8d8;text-align:center}.invoice-footer p{font-size:1em}.invoice-footer a,h3{color:#bc30fd}h3{font-weight:600;padding-bottom:8px}h3,p,span{font-size:1em}p,span{font-weight:400;padding-bottom:4px;color:#1b2539}.highlight{color:#bc30fd}header,section{border-bottom:1px dashed #d8d8d8;padding-bottom:25px;margin-bottom:25px}.address,.number{display:block;font-weight:600}.content-box{padding-bottom:15px}.thank-you{text-align:center;font-size:22px;margin-top:20px;margin-bottom:60px}footer .stamp{max-width:200px;display:block;margin:0 0 0 auto}footer div{align-self:flex-end}footer h3{display:inline-block}
|
||||||
Vendored
+1
-1
File diff suppressed because one or more lines are too long
+104
-124
@@ -1,132 +1,112 @@
|
|||||||
{
|
{
|
||||||
"/js/main.js": "/js/main.js",
|
"/js/main.js": "/js/main.js",
|
||||||
"/css/app.css": "/css/app.css",
|
"/css/app.css": "/css/app.css",
|
||||||
"/css/oasis-invoice.css": "/css/oasis-invoice.css",
|
"/chunks/admin.js": "/chunks/admin.js?id=ca6495e1c589f24145e2",
|
||||||
"/chunks/admin.js": "/chunks/admin.js?id=f04f25ec5019fc635b41",
|
"/chunks/admin-account.js": "/chunks/admin-account.js?id=37099f3ee65bc2a4ecc6",
|
||||||
"/chunks/admin-account.js": "/chunks/admin-account.js?id=99e4bc1829f4c32e0ea9",
|
"/chunks/admin-account~chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chu~21912951.js": "/chunks/admin-account~chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chu~21912951.js?id=c84c0a0b4cdd0f73d621",
|
||||||
"/chunks/admin-account~chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chu~21912951.js": "/chunks/admin-account~chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chu~21912951.js?id=84bf937bfaa5c73a85b2",
|
"/chunks/admin-account~chunks/app-setup~chunks/billings-detail~chunks/create-new-password~chunks/datab~062c965c.js": "/chunks/admin-account~chunks/app-setup~chunks/billings-detail~chunks/create-new-password~chunks/datab~062c965c.js?id=515118382f7ad5724a54",
|
||||||
"/chunks/admin-account~chunks/app-setup~chunks/billings-detail~chunks/create-new-password~chunks/datab~062c965c.js": "/chunks/admin-account~chunks/app-setup~chunks/billings-detail~chunks/create-new-password~chunks/datab~062c965c.js?id=b69ee3724f30c6177e0c",
|
"/chunks/admin~chunks/admin-account~chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/~129c344f.js": "/chunks/admin~chunks/admin-account~chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/~129c344f.js?id=4bbef035191de1ef475f",
|
||||||
"/chunks/admin~chunks/admin-account~chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/~129c344f.js": "/chunks/admin~chunks/admin-account~chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/~129c344f.js?id=3b41709a92e18700e276",
|
"/chunks/admin~chunks/files~chunks/oasis/invoices~chunks/oasis/invoices/list~chunks/platform~chunks/sh~f205bd67.js": "/chunks/admin~chunks/files~chunks/oasis/invoices~chunks/oasis/invoices/list~chunks/platform~chunks/sh~f205bd67.js?id=94e67ef1eef94f3de4a7",
|
||||||
"/chunks/admin~chunks/files~chunks/oasis/invoices~chunks/oasis/invoices/list~chunks/platform~chunks/sh~f205bd67.js": "/chunks/admin~chunks/files~chunks/oasis/invoices~chunks/oasis/invoices/list~chunks/platform~chunks/sh~f205bd67.js?id=e806d7d9ae79ebf2fecb",
|
"/chunks/admin~chunks/files~chunks/oasis/invoices~chunks/oasis/invoices/list~chunks/settings~chunks/sh~8ea3b78d.js": "/chunks/admin~chunks/files~chunks/oasis/invoices~chunks/oasis/invoices/list~chunks/settings~chunks/sh~8ea3b78d.js?id=5c713b78eab271be9d39",
|
||||||
"/chunks/admin~chunks/files~chunks/oasis/invoices~chunks/oasis/invoices/list~chunks/settings~chunks/sh~8ea3b78d.js": "/chunks/admin~chunks/files~chunks/oasis/invoices~chunks/oasis/invoices/list~chunks/settings~chunks/sh~8ea3b78d.js?id=69d68623a5e8b2807fb7",
|
"/chunks/admin~chunks/oasis/invoices~chunks/oasis/invoices/list~chunks/platform.js": "/chunks/admin~chunks/oasis/invoices~chunks/oasis/invoices/list~chunks/platform.js?id=8a43df56801fc2065bcb",
|
||||||
"/chunks/admin~chunks/oasis/invoices~chunks/oasis/invoices/list~chunks/platform.js": "/chunks/admin~chunks/oasis/invoices~chunks/oasis/invoices/list~chunks/platform.js?id=47d552d69a8d061d193a",
|
"/chunks/admin~chunks/oasis/invoices~chunks/oasis/invoices/list~chunks/platform~chunks/shared.js": "/chunks/admin~chunks/oasis/invoices~chunks/oasis/invoices/list~chunks/platform~chunks/shared.js?id=a0543d93d8f11a2a5962",
|
||||||
"/chunks/admin~chunks/oasis/invoices~chunks/oasis/invoices/list~chunks/platform~chunks/shared.js": "/chunks/admin~chunks/oasis/invoices~chunks/oasis/invoices/list~chunks/platform~chunks/shared.js?id=b13b7055620f500e2ea1",
|
"/chunks/admin~chunks/platform~chunks/shared.js": "/chunks/admin~chunks/platform~chunks/shared.js?id=5f29df56a2d5925c40c9",
|
||||||
"/chunks/admin~chunks/platform~chunks/shared.js": "/chunks/admin~chunks/platform~chunks/shared.js?id=2e25475b875a24096af0",
|
"/chunks/app-appearance.js": "/chunks/app-appearance.js?id=b4e2d99a172f06a1d312",
|
||||||
"/chunks/app-appearance.js": "/chunks/app-appearance.js?id=609139bd1b95953a7358",
|
"/chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chunks/app-others~chunks~605f4c49.js": "/chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chunks/app-others~chunks~605f4c49.js?id=1ae1e65bb6a5ed7c3e10",
|
||||||
"/chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chunks/app-others~chunks~605f4c49.js": "/chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chunks/app-others~chunks~605f4c49.js?id=6149bfd368ab35ba5fee",
|
"/chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chunks/app-others~chunks~8cc7d96f.js": "/chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chunks/app-others~chunks~8cc7d96f.js?id=f9f637ff26a13d7beb5d",
|
||||||
"/chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chunks/app-others~chunks~8cc7d96f.js": "/chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chunks/app-others~chunks~8cc7d96f.js?id=5b92fd206aa3bfc731b1",
|
"/chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chunks/app-others~chunks~b9e5655a.js": "/chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chunks/app-others~chunks~b9e5655a.js?id=04f0cd9719723459b685",
|
||||||
"/chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chunks/app-others~chunks~b9e5655a.js": "/chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chunks/app-others~chunks~b9e5655a.js?id=8fe6728d72e9e74669f6",
|
"/chunks/app-billings.js": "/chunks/app-billings.js?id=82133cc16f55222bbbe6",
|
||||||
"/chunks/app-billings.js": "/chunks/app-billings.js?id=f7eb5f2f630fe6139baa",
|
"/chunks/app-email.js": "/chunks/app-email.js?id=c578a85112c6a4b1ed0e",
|
||||||
"/chunks/app-email.js": "/chunks/app-email.js?id=225921d245ce0aeb8165",
|
"/chunks/app-index.js": "/chunks/app-index.js?id=5bf1c4a8df85876205a0",
|
||||||
"/chunks/app-index.js": "/chunks/app-index.js?id=cddf941cd7bacd81ab6e",
|
"/chunks/app-language.js": "/chunks/app-language.js?id=215973b4b78ca36053be",
|
||||||
"/chunks/app-language.js": "/chunks/app-language.js?id=c5f0f8da6575de72d7b2",
|
"/chunks/app-language~chunks/app-settings~chunks/dashboard~chunks/dashboard-oasis~chunks/invoices~chun~4af92edf.js": "/chunks/app-language~chunks/app-settings~chunks/dashboard~chunks/dashboard-oasis~chunks/invoices~chun~4af92edf.js?id=bd0094801b7c8baf27ca",
|
||||||
"/chunks/app-language~chunks/app-settings~chunks/dashboard~chunks/dashboard-oasis~chunks/invoices~chun~4af92edf.js": "/chunks/app-language~chunks/app-settings~chunks/dashboard~chunks/dashboard-oasis~chunks/invoices~chun~4af92edf.js?id=10c4d397e319504e0244",
|
"/chunks/app-language~chunks/dashboard~chunks/dashboard-oasis~chunks/files~chunks/invoices~chunks/oasi~c6e9de01.js": "/chunks/app-language~chunks/dashboard~chunks/dashboard-oasis~chunks/files~chunks/invoices~chunks/oasi~c6e9de01.js?id=f9af3b7905bb7c35023d",
|
||||||
"/chunks/app-language~chunks/dashboard~chunks/dashboard-oasis~chunks/files~chunks/invoices~chunks/oasi~c6e9de01.js": "/chunks/app-language~chunks/dashboard~chunks/dashboard-oasis~chunks/files~chunks/invoices~chunks/oasi~c6e9de01.js?id=9fb9bccb687f7ad8ae15",
|
"/chunks/app-others.js": "/chunks/app-others.js?id=9156adba3b1697a8bf3e",
|
||||||
"/chunks/app-others.js": "/chunks/app-others.js?id=e01ae7fb7aba236f84d3",
|
"/chunks/app-payments.js": "/chunks/app-payments.js?id=7e1a982c90174f568fb2",
|
||||||
"/chunks/app-payments.js": "/chunks/app-payments.js?id=c7ed1614a065ffebfa5b",
|
"/chunks/app-settings.js": "/chunks/app-settings.js?id=acc6ba7a93681f0d5d64",
|
||||||
"/chunks/app-settings.js": "/chunks/app-settings.js?id=323018995f04cb3e296f",
|
"/chunks/app-setup.js": "/chunks/app-setup.js?id=0170cfec241f69324b73",
|
||||||
"/chunks/app-setup.js": "/chunks/app-setup.js?id=eb42beb8489daf56c73d",
|
"/chunks/billings-detail.js": "/chunks/billings-detail.js?id=f896743bb3f276942d14",
|
||||||
"/chunks/billings-detail.js": "/chunks/billings-detail.js?id=4b0b92130ae1038b1f84",
|
"/chunks/contact-us.js": "/chunks/contact-us.js?id=214c834b6427a82f40e7",
|
||||||
"/chunks/contact-us.js": "/chunks/contact-us.js?id=40bd788d763871ed6ecf",
|
"/chunks/contact-us~chunks/dynamic-page~chunks/homepage.js": "/chunks/contact-us~chunks/dynamic-page~chunks/homepage.js?id=22bd5db44c72e8de5f5b",
|
||||||
"/chunks/contact-us~chunks/dynamic-page~chunks/homepage.js": "/chunks/contact-us~chunks/dynamic-page~chunks/homepage.js?id=870f0e3657b4e80cdf7f",
|
"/chunks/create-new-password.js": "/chunks/create-new-password.js?id=48dc53ccbd502c2739ec",
|
||||||
"/chunks/create-new-password.js": "/chunks/create-new-password.js?id=7bb5dd94039c2a73555f",
|
"/chunks/dashboard.js": "/chunks/dashboard.js?id=55a783975e40f9dcf31b",
|
||||||
"/chunks/dashboard.js": "/chunks/dashboard.js?id=d4d64fc93f039c77b949",
|
"/chunks/dashboard-oasis.js": "/chunks/dashboard-oasis.js?id=8b37095a96ece7d6c1d8",
|
||||||
"/chunks/dashboard-oasis.js": "/chunks/dashboard-oasis.js?id=335dad3b44c8d7cc68cb",
|
"/chunks/dashboard~chunks/dashboard-oasis.js": "/chunks/dashboard~chunks/dashboard-oasis.js?id=bdef93a4198d207bf236",
|
||||||
"/chunks/dashboard~chunks/dashboard-oasis.js": "/chunks/dashboard~chunks/dashboard-oasis.js?id=300dd9ae1e17cd7bad47",
|
"/chunks/dashboard~chunks/dashboard-oasis~chunks/invoices~chunks/oasis/users~chunks/pages~chunks/plan-~3f2e756e.js": "/chunks/dashboard~chunks/dashboard-oasis~chunks/invoices~chunks/oasis/users~chunks/pages~chunks/plan-~3f2e756e.js?id=5fd4ce01482798a86b8c",
|
||||||
"/chunks/dashboard~chunks/dashboard-oasis~chunks/invoices~chunks/oasis/users~chunks/pages~chunks/plan-~3f2e756e.js": "/chunks/dashboard~chunks/dashboard-oasis~chunks/invoices~chunks/oasis/users~chunks/pages~chunks/plan-~3f2e756e.js?id=a6bce7b86b5ab04f8e8c",
|
"/chunks/database.js": "/chunks/database.js?id=8f6f77cf18d03f450fdd",
|
||||||
"/chunks/database.js": "/chunks/database.js?id=5829c80b23a1cc2bc9e1",
|
"/chunks/dynamic-page.js": "/chunks/dynamic-page.js?id=17cbd34e8c621c7a93e5",
|
||||||
"/chunks/dynamic-page.js": "/chunks/dynamic-page.js?id=0b0f4d3b0e97dc45a0fb",
|
"/chunks/dynamic-page~chunks/oasis/homepage.js": "/chunks/dynamic-page~chunks/oasis/homepage.js?id=9840011d02134efd9210",
|
||||||
"/chunks/dynamic-page~chunks/oasis/homepage.js": "/chunks/dynamic-page~chunks/oasis/homepage.js?id=de77f3e48d60dd663b1e",
|
"/chunks/environment-setup.js": "/chunks/environment-setup.js?id=fafc8cd18dc7300c9f15",
|
||||||
"/chunks/environment-setup.js": "/chunks/environment-setup.js?id=ce0951dc166ca2fd6a58",
|
"/chunks/files.js": "/chunks/files.js?id=ee5b19530d832c6f9f34",
|
||||||
"/chunks/files.js": "/chunks/files.js?id=1f0a31c05213d4eae684",
|
"/chunks/files~chunks/oasis/invoices/list~chunks/oasis/platba~chunks/settings-subscription~chunks/shar~d6675e1e.js": "/chunks/files~chunks/oasis/invoices/list~chunks/oasis/platba~chunks/settings-subscription~chunks/shar~d6675e1e.js?id=effef49b99446fdaee0b",
|
||||||
"/chunks/files~chunks/oasis/invoices/list~chunks/oasis/platba~chunks/settings-subscription~chunks/shar~d6675e1e.js": "/chunks/files~chunks/oasis/invoices/list~chunks/oasis/platba~chunks/settings-subscription~chunks/shar~d6675e1e.js?id=d80c4ddf029bf712fc68",
|
"/chunks/files~chunks/oasis/invoices/list~chunks/platform~chunks/shared-files~chunks/shared/file-browser.js": "/chunks/files~chunks/oasis/invoices/list~chunks/platform~chunks/shared-files~chunks/shared/file-browser.js?id=c777877000f1e219a748",
|
||||||
"/chunks/files~chunks/oasis/invoices/list~chunks/platform~chunks/shared-files~chunks/shared/file-browser.js": "/chunks/files~chunks/oasis/invoices/list~chunks/platform~chunks/shared-files~chunks/shared/file-browser.js?id=bf606a5103bb0af088c7",
|
"/chunks/files~chunks/oasis/invoices/list~chunks/shared-files~chunks/shared/file-browser.js": "/chunks/files~chunks/oasis/invoices/list~chunks/shared-files~chunks/shared/file-browser.js?id=a35f0d58f42da919a182",
|
||||||
"/chunks/files~chunks/oasis/invoices/list~chunks/shared-files~chunks/shared/file-browser.js": "/chunks/files~chunks/oasis/invoices/list~chunks/shared-files~chunks/shared/file-browser.js?id=4a385b11660015662bde",
|
"/chunks/files~chunks/oasis/invoices~chunks/oasis/invoices/list~chunks/platform~chunks/shared~chunks/s~707bd579.js": "/chunks/files~chunks/oasis/invoices~chunks/oasis/invoices/list~chunks/platform~chunks/shared~chunks/s~707bd579.js?id=3c49df5afaf5bb1f42f3",
|
||||||
"/chunks/files~chunks/oasis/invoices~chunks/oasis/invoices/list~chunks/platform~chunks/shared~chunks/s~707bd579.js": "/chunks/files~chunks/oasis/invoices~chunks/oasis/invoices/list~chunks/platform~chunks/shared~chunks/s~707bd579.js?id=73fef15be6c932484cff",
|
"/chunks/files~chunks/oasis/invoices~chunks/oasis/invoices/list~chunks/platform~chunks/shared~chunks/s~87b39a8d.js": "/chunks/files~chunks/oasis/invoices~chunks/oasis/invoices/list~chunks/platform~chunks/shared~chunks/s~87b39a8d.js?id=c226fe89b510c599615f",
|
||||||
"/chunks/files~chunks/oasis/invoices~chunks/oasis/invoices/list~chunks/platform~chunks/shared~chunks/s~87b39a8d.js": "/chunks/files~chunks/oasis/invoices~chunks/oasis/invoices/list~chunks/platform~chunks/shared~chunks/s~87b39a8d.js?id=22b10ba55ad2f57b2cea",
|
"/chunks/files~chunks/shared-files~chunks/shared/file-browser.js": "/chunks/files~chunks/shared-files~chunks/shared/file-browser.js?id=14b259c05259260985ec",
|
||||||
"/chunks/files~chunks/shared-files~chunks/shared/file-browser.js": "/chunks/files~chunks/shared-files~chunks/shared/file-browser.js?id=530648cdb02f95edeff6",
|
"/chunks/files~chunks/shared-files~chunks/shared/file-browser~chunks/shared/single-file.js": "/chunks/files~chunks/shared-files~chunks/shared/file-browser~chunks/shared/single-file.js?id=06665bebae33953fed87",
|
||||||
"/chunks/files~chunks/shared-files~chunks/shared/file-browser~chunks/shared/single-file.js": "/chunks/files~chunks/shared-files~chunks/shared/file-browser~chunks/shared/single-file.js?id=36fcaa1fe4506e2bbc24",
|
"/chunks/files~chunks/shared/file-browser.js": "/chunks/files~chunks/shared/file-browser.js?id=44899a3c3880630dbcd9",
|
||||||
"/chunks/files~chunks/shared/file-browser.js": "/chunks/files~chunks/shared/file-browser.js?id=2eb49a41527070f19c23",
|
"/chunks/forgotten-password.js": "/chunks/forgotten-password.js?id=877a9289b77ac3885042",
|
||||||
"/chunks/forgotten-password.js": "/chunks/forgotten-password.js?id=d88da60337e6ac265d2b",
|
"/chunks/homepage.js": "/chunks/homepage.js?id=1a86b7f0efa95ad65c4a",
|
||||||
"/chunks/homepage.js": "/chunks/homepage.js?id=95f3057c0f83e9b0c251",
|
"/chunks/installation-disclaimer.js": "/chunks/installation-disclaimer.js?id=e8f47d23afd3d797f334",
|
||||||
"/chunks/installation-disclaimer.js": "/chunks/installation-disclaimer.js?id=f7279e60df73ed7bc173",
|
"/chunks/invoices.js": "/chunks/invoices.js?id=1deb187f6d3eb1e81ad0",
|
||||||
"/chunks/invoices.js": "/chunks/invoices.js?id=461e80020af0c4cd0da5",
|
"/chunks/not-found-shared.js": "/chunks/not-found-shared.js?id=7fc7f9b6f10bdfac770e",
|
||||||
"/chunks/not-found-shared.js": "/chunks/not-found-shared.js?id=016d6291abb70a88abc0",
|
"/chunks/oasis/homepage.js": "/chunks/oasis/homepage.js?id=a1885dd8814f9eb63a1c",
|
||||||
"/chunks/oasis/homepage.js": "/chunks/oasis/homepage.js?id=696005351ecbf69d6d74",
|
"/chunks/oasis/invoices.js": "/chunks/oasis/invoices.js?id=fd5e7aca8897f59cd625",
|
||||||
"/chunks/oasis/invoices.js": "/chunks/oasis/invoices.js?id=78a0383dca783323d877",
|
"/chunks/oasis/invoices/list.js": "/chunks/oasis/invoices/list.js?id=7e67f5fdd3306971f5e4",
|
||||||
"/chunks/oasis/invoices/list.js": "/chunks/oasis/invoices/list.js?id=832361f08d99d5aed43b",
|
"/chunks/oasis/invoices~chunks/oasis/invoices/list.js": "/chunks/oasis/invoices~chunks/oasis/invoices/list.js?id=045d3dd7ce573cb7ed11",
|
||||||
"/chunks/oasis/invoices~chunks/oasis/invoices/list.js": "/chunks/oasis/invoices~chunks/oasis/invoices/list.js?id=9f3c4d725cb951b34fae",
|
"/chunks/oasis/invoices~chunks/oasis/invoices/list~chunks/platform~chunks/shared.js": "/chunks/oasis/invoices~chunks/oasis/invoices/list~chunks/platform~chunks/shared.js?id=750a1e714440c4f03c2f",
|
||||||
"/chunks/oasis/invoices~chunks/oasis/invoices/list~chunks/platform~chunks/shared.js": "/chunks/oasis/invoices~chunks/oasis/invoices/list~chunks/platform~chunks/shared.js?id=578bf5642b029e717403",
|
"/chunks/oasis/platba.js": "/chunks/oasis/platba.js?id=53d9f2a31b1dd5dad85e",
|
||||||
"/chunks/oasis/platba.js": "/chunks/oasis/platba.js?id=909ca6ba2ba353b78fbd",
|
"/chunks/oasis/platba~chunks/oasis/upgrade-billing~chunks/oasis/upgrade-plan~chunks/upgrade-billing~ch~6880400b.js": "/chunks/oasis/platba~chunks/oasis/upgrade-billing~chunks/oasis/upgrade-plan~chunks/upgrade-billing~ch~6880400b.js?id=0c8d1c3cca084baa177f",
|
||||||
"/chunks/oasis/platba~chunks/oasis/upgrade-billing~chunks/oasis/upgrade-plan~chunks/upgrade-billing~ch~6880400b.js": "/chunks/oasis/platba~chunks/oasis/upgrade-billing~chunks/oasis/upgrade-plan~chunks/upgrade-billing~ch~6880400b.js?id=18801fc890bfd763f121",
|
"/chunks/oasis/sign-up.js": "/chunks/oasis/sign-up.js?id=e53eeb48ebabae259f9c",
|
||||||
"/chunks/oasis/sign-up.js": "/chunks/oasis/sign-up.js?id=21f57c764d549476d275",
|
"/chunks/oasis/upgrade-billing.js": "/chunks/oasis/upgrade-billing.js?id=b9cb16fc974049e52dea",
|
||||||
"/chunks/oasis/upgrade-billing.js": "/chunks/oasis/upgrade-billing.js?id=458a1792b1ec2907aa36",
|
"/chunks/oasis/upgrade-plan.js": "/chunks/oasis/upgrade-plan.js?id=178d0ff676d80a801283",
|
||||||
"/chunks/oasis/upgrade-plan.js": "/chunks/oasis/upgrade-plan.js?id=74e1208baf62d8cc820a",
|
"/chunks/oasis/user-create.js": "/chunks/oasis/user-create.js?id=3870c14d43c6839ef713",
|
||||||
"/chunks/oasis/user-create.js": "/chunks/oasis/user-create.js?id=5492551da6ce21c61a5c",
|
"/chunks/oasis/users.js": "/chunks/oasis/users.js?id=d15e1dd3ad4aa6cd8a77",
|
||||||
"/chunks/oasis/users.js": "/chunks/oasis/users.js?id=50aed33eb6752340bde6",
|
"/chunks/page-edit.js": "/chunks/page-edit.js?id=4c04e9f1bbecd8d1d9ba",
|
||||||
"/chunks/page-edit.js": "/chunks/page-edit.js?id=db036f8386f2416cf2ee",
|
"/chunks/pages.js": "/chunks/pages.js?id=92fb357054e594b5495f",
|
||||||
"/chunks/pages.js": "/chunks/pages.js?id=81740f35ce6535a3faf4",
|
"/chunks/plan.js": "/chunks/plan.js?id=ac3046761e9083aa3053",
|
||||||
"/chunks/plan.js": "/chunks/plan.js?id=607c25915cb2461ff665",
|
"/chunks/plan-create.js": "/chunks/plan-create.js?id=b966184a7aa84bdd297e",
|
||||||
"/chunks/plan-create.js": "/chunks/plan-create.js?id=870d80f19428a156e312",
|
"/chunks/plan-delete.js": "/chunks/plan-delete.js?id=f193816778245ea66d02",
|
||||||
"/chunks/plan-delete.js": "/chunks/plan-delete.js?id=95b1fe8648138d2409f5",
|
"/chunks/plan-settings.js": "/chunks/plan-settings.js?id=66123f72696b47a986a2",
|
||||||
"/chunks/plan-settings.js": "/chunks/plan-settings.js?id=42aa033cf148c757e722",
|
"/chunks/plan-subscribers.js": "/chunks/plan-subscribers.js?id=08e2056bc3744b2ea8f9",
|
||||||
"/chunks/plan-subscribers.js": "/chunks/plan-subscribers.js?id=a52231bab7629f4e333b",
|
"/chunks/plans.js": "/chunks/plans.js?id=5e1c668e35d2f04973b7",
|
||||||
"/chunks/plans.js": "/chunks/plans.js?id=5f4ac06baeb09bc53277",
|
"/chunks/platform.js": "/chunks/platform.js?id=f463eed74ce0e6852b6d",
|
||||||
"/chunks/platform.js": "/chunks/platform.js?id=3434b6fcf2b4f137b9c9",
|
"/chunks/platform~chunks/shared.js": "/chunks/platform~chunks/shared.js?id=7e96470b4052320d20b0",
|
||||||
"/chunks/platform~chunks/shared.js": "/chunks/platform~chunks/shared.js?id=a5d248a690f125193c04",
|
"/chunks/profile.js": "/chunks/profile.js?id=1c1c666004fb44b1c404",
|
||||||
"/chunks/profile.js": "/chunks/profile.js?id=079e3bc71dff6cbf8370",
|
"/chunks/profile~chunks/settings-password.js": "/chunks/profile~chunks/settings-password.js?id=d0a44ee2cc3e9882c14a",
|
||||||
"/chunks/profile~chunks/settings-password.js": "/chunks/profile~chunks/settings-password.js?id=a4ab67fed5364d7c5367",
|
"/chunks/purchase-code.js": "/chunks/purchase-code.js?id=a1e46acc22ce82b2a61b",
|
||||||
"/chunks/purchase-code.js": "/chunks/purchase-code.js?id=8df541398cde4a3f2024",
|
"/chunks/settings.js": "/chunks/settings.js?id=fcc97a29894164e2977c",
|
||||||
"/chunks/settings.js": "/chunks/settings.js?id=54c7b204fe2e7be28764",
|
"/chunks/settings-create-payment-methods.js": "/chunks/settings-create-payment-methods.js?id=88849e6ddce9226d49a5",
|
||||||
"/chunks/settings-create-payment-methods.js": "/chunks/settings-create-payment-methods.js?id=11b8f30b30c583abe178",
|
"/chunks/settings-invoices.js": "/chunks/settings-invoices.js?id=444b9bbc310647ddd297",
|
||||||
"/chunks/settings-invoices.js": "/chunks/settings-invoices.js?id=1bb8a4d971fcbe310f4e",
|
"/chunks/settings-password.js": "/chunks/settings-password.js?id=46961d5c0fc91f4ad638",
|
||||||
"/chunks/settings-password.js": "/chunks/settings-password.js?id=10b4d04de7a71ab4a326",
|
"/chunks/settings-payment-methods.js": "/chunks/settings-payment-methods.js?id=3bc709a228c0849a6f62",
|
||||||
"/chunks/settings-payment-methods.js": "/chunks/settings-payment-methods.js?id=eeca3501b0928636b660",
|
"/chunks/settings-storage.js": "/chunks/settings-storage.js?id=0c243c68b17ca976d05a",
|
||||||
"/chunks/settings-storage.js": "/chunks/settings-storage.js?id=e81f06cbd438a5ef77f0",
|
"/chunks/settings-subscription.js": "/chunks/settings-subscription.js?id=22e5c49d5b0a154e1a28",
|
||||||
"/chunks/settings-subscription.js": "/chunks/settings-subscription.js?id=a52debbc017ad8b24d7d",
|
|
||||||
"/chunks/setup-wizard.js": "/chunks/setup-wizard.js?id=c6b88005b133268ed88f",
|
"/chunks/setup-wizard.js": "/chunks/setup-wizard.js?id=c6b88005b133268ed88f",
|
||||||
"/chunks/shared.js": "/chunks/shared.js?id=41fba5f1718082ddbeda",
|
"/chunks/shared.js": "/chunks/shared.js?id=df4e059dc1a64631449b",
|
||||||
"/chunks/shared-files.js": "/chunks/shared-files.js?id=1129538411ac1c5c6246",
|
"/chunks/shared-files.js": "/chunks/shared-files.js?id=8d6ff3bdf8b295fde3d0",
|
||||||
"/chunks/shared/authenticate.js": "/chunks/shared/authenticate.js?id=bbde4f771fe547c3c74c",
|
"/chunks/shared/authenticate.js": "/chunks/shared/authenticate.js?id=3d5c7754d438830a4204",
|
||||||
"/chunks/shared/file-browser.js": "/chunks/shared/file-browser.js?id=43ed44a0f2772176d283",
|
"/chunks/shared/file-browser.js": "/chunks/shared/file-browser.js?id=f46e9dc63c1313bc2256",
|
||||||
"/chunks/shared/single-file.js": "/chunks/shared/single-file.js?id=397b4433c32ef4576098",
|
"/chunks/shared/single-file.js": "/chunks/shared/single-file.js?id=e8aedb75df7fe227d693",
|
||||||
"/chunks/sign-in.js": "/chunks/sign-in.js?id=29137bc8fb06e2ed374b",
|
"/chunks/sign-in.js": "/chunks/sign-in.js?id=1d2f0d12e71a2eae51f1",
|
||||||
"/chunks/sign-up.js": "/chunks/sign-up.js?id=230f884b2ca601431c5f",
|
"/chunks/sign-up.js": "/chunks/sign-up.js?id=ce15b1156cf37c0a9703",
|
||||||
"/chunks/stripe-credentials.js": "/chunks/stripe-credentials.js?id=e74559b3e99a57c1e8cd",
|
"/chunks/stripe-credentials.js": "/chunks/stripe-credentials.js?id=64b25ff5fc21872e65cd",
|
||||||
"/chunks/subscription-plans.js": "/chunks/subscription-plans.js?id=7b4773335cdeae05969c",
|
"/chunks/subscription-plans.js": "/chunks/subscription-plans.js?id=1d77583cf573b739bf3c",
|
||||||
"/chunks/subscription-service.js": "/chunks/subscription-service.js?id=c8f8dc612426b7050f52",
|
"/chunks/subscription-service.js": "/chunks/subscription-service.js?id=4d93776ddf0f1316227d",
|
||||||
"/chunks/upgrade-billing.js": "/chunks/upgrade-billing.js?id=ea692111d6e9979c2030",
|
"/chunks/upgrade-billing.js": "/chunks/upgrade-billing.js?id=cc5cee225c9b991e6639",
|
||||||
"/chunks/upgrade-plan.js": "/chunks/upgrade-plan.js?id=ad38efd88a8aa202dfde",
|
"/chunks/upgrade-plan.js": "/chunks/upgrade-plan.js?id=35179531a8241da128e9",
|
||||||
"/chunks/user.js": "/chunks/user.js?id=60e539efbc33c9c82059",
|
"/chunks/user.js": "/chunks/user.js?id=3090bfd5b85dd1b200ec",
|
||||||
"/chunks/user-create.js": "/chunks/user-create.js?id=abf60fed012aecc19584",
|
"/chunks/user-create.js": "/chunks/user-create.js?id=e1e6127d661c7edf0793",
|
||||||
"/chunks/user-delete.js": "/chunks/user-delete.js?id=766a4d944f69a74d6058",
|
"/chunks/user-delete.js": "/chunks/user-delete.js?id=8dfec8efd3019616377b",
|
||||||
"/chunks/user-detail.js": "/chunks/user-detail.js?id=c99b973c744355ec1b36",
|
"/chunks/user-detail.js": "/chunks/user-detail.js?id=b9b70e43cf551a574443",
|
||||||
"/chunks/user-invoices.js": "/chunks/user-invoices.js?id=66a0abeb70885486c626",
|
"/chunks/user-invoices.js": "/chunks/user-invoices.js?id=6c4d0e9e058be11dc1f7",
|
||||||
"/chunks/user-password.js": "/chunks/user-password.js?id=f89726ec7c8514d03baa",
|
"/chunks/user-password.js": "/chunks/user-password.js?id=a4b4ab4f4af11533eb4d",
|
||||||
"/chunks/user-storage.js": "/chunks/user-storage.js?id=86e678f25fcd7c0fedb8",
|
"/chunks/user-storage.js": "/chunks/user-storage.js?id=4aec2d7b60ec0bc35fb9",
|
||||||
"/chunks/user-subscription.js": "/chunks/user-subscription.js?id=d143404a61cb1f5b703a",
|
"/chunks/user-subscription.js": "/chunks/user-subscription.js?id=99efdd410910267db66e",
|
||||||
"/chunks/users.js": "/chunks/users.js?id=ce0fcd416f1e7a51688e",
|
"/chunks/users.js": "/chunks/users.js?id=178dc8d8c83a43d6e77f",
|
||||||
"/vendors~chunks/admin~chunks/admin-account~chunks/app-appearance~chunks/app-billings~chunks/app-email~d5ccfc07.js": "/vendors~chunks/admin~chunks/admin-account~chunks/app-appearance~chunks/app-billings~chunks/app-email~d5ccfc07.js?id=2b62263afbefba53c9c6",
|
"/vendors~chunks/admin~chunks/admin-account~chunks/app-appearance~chunks/app-billings~chunks/app-email~d5ccfc07.js": "/vendors~chunks/admin~chunks/admin-account~chunks/app-appearance~chunks/app-billings~chunks/app-email~d5ccfc07.js?id=2b62263afbefba53c9c6",
|
||||||
"/vendors~chunks/admin~chunks/admin-account~chunks/app-appearance~chunks/app-billings~chunks/app-email~f0e94b19.js": "/vendors~chunks/admin~chunks/admin-account~chunks/app-appearance~chunks/app-billings~chunks/app-email~f0e94b19.js?id=d57479525cd6baaf09f3",
|
"/vendors~chunks/admin~chunks/admin-account~chunks/app-appearance~chunks/app-billings~chunks/app-email~f0e94b19.js": "/vendors~chunks/admin~chunks/admin-account~chunks/app-appearance~chunks/app-billings~chunks/app-email~f0e94b19.js?id=d57479525cd6baaf09f3",
|
||||||
"/vendors~chunks/files~chunks/oasis/invoices~chunks/oasis/invoices/list~chunks/platform~chunks/shared~~c9df84c5.js": "/vendors~chunks/files~chunks/oasis/invoices~chunks/oasis/invoices/list~chunks/platform~chunks/shared~~c9df84c5.js?id=4d042d0c0d8477a4f7ac",
|
"/vendors~chunks/files~chunks/oasis/invoices~chunks/oasis/invoices/list~chunks/platform~chunks/shared~~c9df84c5.js": "/vendors~chunks/files~chunks/oasis/invoices~chunks/oasis/invoices/list~chunks/platform~chunks/shared~~c9df84c5.js?id=4d042d0c0d8477a4f7ac",
|
||||||
"/vendors~chunks/oasis/invoices~chunks/oasis/invoices/list~chunks/platform~chunks/shared.js": "/vendors~chunks/oasis/invoices~chunks/oasis/invoices/list~chunks/platform~chunks/shared.js?id=a65f7c48170789f223e5",
|
"/vendors~chunks/oasis/invoices~chunks/oasis/invoices/list~chunks/platform~chunks/shared.js": "/vendors~chunks/oasis/invoices~chunks/oasis/invoices/list~chunks/platform~chunks/shared.js?id=11378342c3b6251c133e"
|
||||||
"/js/main.612f3c8d1593292bb604.hot-update.js": "/js/main.612f3c8d1593292bb604.hot-update.js",
|
|
||||||
"/js/main.c40070c67217a9577042.hot-update.js": "/js/main.c40070c67217a9577042.hot-update.js",
|
|
||||||
"/js/main.5a637a89edb738712213.hot-update.js": "/js/main.5a637a89edb738712213.hot-update.js",
|
|
||||||
"/js/main.0defa764bc20be54df0b.hot-update.js": "/js/main.0defa764bc20be54df0b.hot-update.js",
|
|
||||||
"/js/main.f4334448f6705547cb65.hot-update.js": "/js/main.f4334448f6705547cb65.hot-update.js",
|
|
||||||
"/js/main.6e0bc21a639e2bdced62.hot-update.js": "/js/main.6e0bc21a639e2bdced62.hot-update.js",
|
|
||||||
"/js/main.47040e23d2d2e087e7a3.hot-update.js": "/js/main.47040e23d2d2e087e7a3.hot-update.js",
|
|
||||||
"/js/main.c2a38b7b9d4d7d457b95.hot-update.js": "/js/main.c2a38b7b9d4d7d457b95.hot-update.js",
|
|
||||||
"/js/main.0d5dcf9c19bf0c9c2178.hot-update.js": "/js/main.0d5dcf9c19bf0c9c2178.hot-update.js",
|
|
||||||
"/js/main.3b2f44e5700539c3263a.hot-update.js": "/js/main.3b2f44e5700539c3263a.hot-update.js",
|
|
||||||
"/js/main.13037464882bfb6a04ad.hot-update.js": "/js/main.13037464882bfb6a04ad.hot-update.js",
|
|
||||||
"/js/main.5d89c09ba04fc5493126.hot-update.js": "/js/main.5d89c09ba04fc5493126.hot-update.js",
|
|
||||||
"/js/main.93a5212e152926daeaf8.hot-update.js": "/js/main.93a5212e152926daeaf8.hot-update.js",
|
|
||||||
"/js/main.40c9f15d7b9e2819c284.hot-update.js": "/js/main.40c9f15d7b9e2819c284.hot-update.js",
|
|
||||||
"/js/main.852c3168f53a4c6a0a55.hot-update.js": "/js/main.852c3168f53a4c6a0a55.hot-update.js",
|
|
||||||
"/js/main.30f0091baf9429fcf66f.hot-update.js": "/js/main.30f0091baf9429fcf66f.hot-update.js",
|
|
||||||
"/js/main.0ea3443cfcd4927b7c36.hot-update.js": "/js/main.0ea3443cfcd4927b7c36.hot-update.js",
|
|
||||||
"/js/main.a56d6a0c56954df55bd1.hot-update.js": "/js/main.a56d6a0c56954df55bd1.hot-update.js",
|
|
||||||
"/js/main.ca7092be5e816da9afdd.hot-update.js": "/js/main.ca7092be5e816da9afdd.hot-update.js"
|
|
||||||
}
|
}
|
||||||
|
|||||||
Binary file not shown.
|
After Width: | Height: | Size: 375 KiB |
Vendored
+2
File diff suppressed because one or more lines are too long
+30
@@ -0,0 +1,30 @@
|
|||||||
|
/*!
|
||||||
|
* The buffer module from node.js, for the browser.
|
||||||
|
*
|
||||||
|
* @author Feross Aboukhadijeh <http://feross.org>
|
||||||
|
* @license MIT
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*! Copyright Twitter Inc. and other contributors. Licensed under MIT */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @licstart The following is the entire license notice for the
|
||||||
|
* Javascript code in this page
|
||||||
|
*
|
||||||
|
* Copyright 2020 Mozilla Foundation
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*
|
||||||
|
* @licend The above is the entire license notice for the
|
||||||
|
* Javascript code in this page
|
||||||
|
*/
|
||||||
Vendored
+31
-28
@@ -8,10 +8,6 @@ $border-radius: 15px;
|
|||||||
font-size:(($size*1.6)/16) + 0em;
|
font-size:(($size*1.6)/16) + 0em;
|
||||||
}
|
}
|
||||||
|
|
||||||
body {
|
|
||||||
padding: 25px;
|
|
||||||
}
|
|
||||||
|
|
||||||
* {
|
* {
|
||||||
outline: 0;
|
outline: 0;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
@@ -31,8 +27,9 @@ html {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.row {
|
.row {
|
||||||
display: flex;
|
display: -webkit-flex;
|
||||||
flex-wrap: nowrap;
|
-webkit-flex-wrap: nowrap;
|
||||||
|
width: 100%;
|
||||||
|
|
||||||
&.spaces {
|
&.spaces {
|
||||||
margin: 0 -15px;
|
margin: 0 -15px;
|
||||||
@@ -43,7 +40,7 @@ html {
|
|||||||
}
|
}
|
||||||
|
|
||||||
div[class^='col-'] {
|
div[class^='col-'] {
|
||||||
flex-grow: 1;
|
-webkit-flex-grow: 1;
|
||||||
|
|
||||||
&.align-right {
|
&.align-right {
|
||||||
text-align: right;
|
text-align: right;
|
||||||
@@ -51,19 +48,23 @@ html {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.col-left, .col-right {
|
.col-left, .col-right {
|
||||||
width: 50%;
|
width: 49%;
|
||||||
}
|
}
|
||||||
|
|
||||||
&.align-center div[class^='col-'] {
|
&.align-center div[class^='col-'] {
|
||||||
align-self: center;
|
-webkit-align-self: center;
|
||||||
}
|
}
|
||||||
&.align-bottom div[class^='col-'] {
|
&.align-bottom div[class^='col-'] {
|
||||||
align-self: flex-end;
|
-webkit-align-self: flex-end;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.invoice-header {
|
.invoice-header {
|
||||||
|
|
||||||
|
.col-left, .col-right {
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
|
||||||
.logo {
|
.logo {
|
||||||
margin-bottom: 5px;
|
margin-bottom: 5px;
|
||||||
display: block;
|
display: block;
|
||||||
@@ -117,16 +118,20 @@ html {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.special-wrapper {
|
.special-wrapper {
|
||||||
display: grid;
|
|
||||||
grid-template-columns: 2fr 1fr 1fr 1fr;
|
|
||||||
gap: 20px;
|
|
||||||
padding-bottom: 25px;
|
padding-bottom: 25px;
|
||||||
border-bottom: 1px dashed $border-color;
|
border-bottom: 1px dashed $border-color;
|
||||||
margin-bottom: 25px;
|
margin: 0 -5px 25px;
|
||||||
|
|
||||||
.special-item {
|
.special-item {
|
||||||
background: $background-color;
|
background: $background-color;
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
|
display: inline-block;
|
||||||
|
width: 20.9%;
|
||||||
|
margin: 0 5px;
|
||||||
|
|
||||||
|
&:nth-child(1) {
|
||||||
|
width: 31.5%;
|
||||||
|
}
|
||||||
|
|
||||||
.padding {
|
.padding {
|
||||||
padding: 10px 15px;
|
padding: 10px 15px;
|
||||||
@@ -152,10 +157,11 @@ html {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.table {
|
.table {
|
||||||
|
table-layout: fixed;
|
||||||
|
border-collapse: collapse;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
|
||||||
.table-row {
|
.table-row {
|
||||||
display: flex;
|
|
||||||
|
|
||||||
&:nth-child(even) {
|
&:nth-child(even) {
|
||||||
background-color: $background-color;
|
background-color: $background-color;
|
||||||
@@ -163,17 +169,16 @@ html {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.table-cell {
|
.table-cell {
|
||||||
flex: 1 1 100%;
|
|
||||||
text-align: left;
|
text-align: left;
|
||||||
min-width: 50px;
|
|
||||||
word-break: break-word;
|
word-break: break-word;
|
||||||
|
padding: 5px;
|
||||||
|
|
||||||
span, a {
|
span, a {
|
||||||
word-break: break-word;
|
word-break: break-word;
|
||||||
}
|
}
|
||||||
|
|
||||||
&:first-child {
|
&:first-child {
|
||||||
flex: 0 0 280px;
|
width: 280px;
|
||||||
padding-left: 15px;
|
padding-left: 15px;
|
||||||
padding-right: 15px;
|
padding-right: 15px;
|
||||||
}
|
}
|
||||||
@@ -195,7 +200,6 @@ html {
|
|||||||
background-color: white !important;
|
background-color: white !important;
|
||||||
padding-bottom: 15px;
|
padding-bottom: 15px;
|
||||||
border-bottom: 0;
|
border-bottom: 0;
|
||||||
display: block;
|
|
||||||
|
|
||||||
.table-cell {
|
.table-cell {
|
||||||
|
|
||||||
@@ -209,7 +213,7 @@ html {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.table-cell {
|
.table-cell {
|
||||||
align-self: center;
|
word-break: break-all;
|
||||||
|
|
||||||
span, a {
|
span, a {
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
@@ -226,16 +230,15 @@ html {
|
|||||||
|
|
||||||
li {
|
li {
|
||||||
padding: 2px 0;
|
padding: 2px 0;
|
||||||
|
display: block;
|
||||||
|
|
||||||
.col-full:first-child {
|
b, span {
|
||||||
|
white-space: nowrap;
|
||||||
b, span {
|
|
||||||
white-space: nowrap;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.col-full {
|
.col-full {
|
||||||
width: 50%;
|
width: 50%;
|
||||||
|
display: inline-block;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -255,9 +258,9 @@ html {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.invoice-author {
|
.invoice-author {
|
||||||
display: flex;
|
display: -webkit-flex;
|
||||||
justify-content: space-between;
|
-webkit-justify-content: space-between;
|
||||||
align-items: flex-end;
|
-webkit-align-items: flex-end;
|
||||||
padding-bottom: 25px;
|
padding-bottom: 25px;
|
||||||
|
|
||||||
.sign {
|
.sign {
|
||||||
|
|||||||
@@ -1,28 +1,34 @@
|
|||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8">
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
||||||
<meta http-equiv="Pragma" content="no-cache">
|
<meta http-equiv="Pragma" content="no-cache">
|
||||||
|
|
||||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
<link rel="preconnect" href="https://fonts.gstatic.com">
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Nunito:wght@300;400;600;700;900&display=swap" rel="stylesheet">
|
<link href="https://fonts.googleapis.com/css2?family=Nunito:wght@300;400;600;700;900&display=swap" rel="stylesheet">
|
||||||
|
|
||||||
<link href="{{ mix('css/oasis-invoice.css') }}?v={{ get_version() }}" rel="stylesheet">
|
@if(is_route('invoice-debug'))
|
||||||
|
<link rel="stylesheet" href="{{ mix('css/oasis-invoice.css') }}">
|
||||||
|
|
||||||
|
<style>
|
||||||
|
body {
|
||||||
|
padding: 25px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
@else
|
||||||
|
<link rel="stylesheet" href="{{ public_path('css/oasis-invoice.css') }}">
|
||||||
|
@endif
|
||||||
|
|
||||||
<title>Invoice</title>
|
<title>Invoice</title>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
|
||||||
@php
|
|
||||||
//dd($invoice->user);
|
|
||||||
@endphp
|
|
||||||
|
|
||||||
{{--Invoice header--}}
|
{{--Invoice header--}}
|
||||||
<header class="invoice-header">
|
<header class="invoice-header">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-left">
|
<div class="col-left">
|
||||||
|
|
||||||
{{--TODO: klientske logo--}}
|
{{--TODO: klientske logo--}}
|
||||||
<img class="logo" src="{{ get_setting('app_logo_horizontal') }}">
|
<img class="logo" src="{{ get_storage_path('system/5YDehSGh-vuefilemanager-horizontal-logo.svg') }}">
|
||||||
|
|
||||||
<b class="email">{{ $user->email }}</b>
|
<b class="email">{{ $user->email }}</b>
|
||||||
<b class="phone">{{ $user->settings->phone_number }}</b>
|
<b class="phone">{{ $user->settings->phone_number }}</b>
|
||||||
@@ -144,6 +150,8 @@
|
|||||||
<td class="table-cell">
|
<td class="table-cell">
|
||||||
<span>Celkom</span>
|
<span>Celkom</span>
|
||||||
</td>
|
</td>
|
||||||
|
|
||||||
|
{{--TODO: zmenit dph z klienta na usera--}}
|
||||||
@if($invoice->client['ic_dph'])
|
@if($invoice->client['ic_dph'])
|
||||||
<td class="table-cell">
|
<td class="table-cell">
|
||||||
<span>Sadzba DPH</span>
|
<span>Sadzba DPH</span>
|
||||||
@@ -203,82 +211,58 @@
|
|||||||
|
|
||||||
@if($invoice->discount_type)
|
@if($invoice->discount_type)
|
||||||
<li class="row">
|
<li class="row">
|
||||||
<div class="col-full">
|
<span>Zlava za doklad:</span>
|
||||||
<span>Zlava za doklad:</span>
|
<!-- -32,64-->
|
||||||
</div>
|
<span>-{{ invoice_total_discount($invoice, true) }}</span>
|
||||||
<div class="col-full">
|
|
||||||
<!-- -32,64-->
|
|
||||||
<span>-{{ invoice_total_discount($invoice, true) }}</span>
|
|
||||||
</div>
|
|
||||||
</li>
|
</li>
|
||||||
@endif
|
@endif
|
||||||
|
|
||||||
{{--VAT Payer--}}
|
{{--VAT Payer--}}
|
||||||
@if($invoice->client['ic_dph'] && ! $invoice->discount_type)
|
@if($invoice->client['ic_dph'] && ! $invoice->discount_type)
|
||||||
<li class="row">
|
<li class="row">
|
||||||
<div class="col-full">
|
<span>Cena bez DPH:</span>
|
||||||
<span>Cena bez DPH:</span>
|
<span>{{ format_to_currency($invoice->total_net) }}</span>
|
||||||
</div>
|
|
||||||
<div class="col-full">
|
|
||||||
<span>{{ format_to_currency($invoice->total_net) }}</span>
|
|
||||||
</div>
|
|
||||||
</li>
|
</li>
|
||||||
<li class="row">
|
<li class="row">
|
||||||
<div class="col-full">
|
<span>DPH:</span>
|
||||||
<span>DPH:</span>
|
<span>{{ format_to_currency($invoice->total_tax) }}</span>
|
||||||
</div>
|
|
||||||
<div class="col-full">
|
|
||||||
<span>{{ format_to_currency($invoice->total_tax) }}</span>
|
|
||||||
</div>
|
|
||||||
</li>
|
</li>
|
||||||
@endif
|
@endif
|
||||||
|
|
||||||
{{--VAT Payer with Discount--}}
|
{{--VAT Payer with Discount--}}
|
||||||
@if($invoice->client['ic_dph'] && $invoice->discount_type)
|
@if($invoice->client['ic_dph'] && $invoice->discount_type)
|
||||||
<li class="row">
|
<li class="row">
|
||||||
<div class="col-full">
|
<span>Cena bez DPH:</span>
|
||||||
<span>Cena bez DPH:</span>
|
<span>
|
||||||
</div>
|
|
||||||
<div class="col-full">
|
|
||||||
<span>
|
|
||||||
@if($invoice->discount_type === 'percent')
|
|
||||||
<!--244,80-->
|
|
||||||
{{ format_to_currency($invoice->total_net * ((100 - $invoice->discount_rate) / 100)) }}
|
|
||||||
@endif
|
|
||||||
@if($invoice->discount_type === 'value')
|
|
||||||
<!--263,67-->
|
|
||||||
{{ format_to_currency(($invoice->total_net + invoice_total_tax($invoice)) / ((100 - $invoice->discount_rate) / 100)) }}
|
|
||||||
@endif
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
</li>
|
|
||||||
<li class="row">
|
|
||||||
<div class="col-full">
|
|
||||||
<span>DPH:</span>
|
|
||||||
</div>
|
|
||||||
<div class="col-full">
|
|
||||||
@if($invoice->discount_type === 'percent')
|
@if($invoice->discount_type === 'percent')
|
||||||
<!--48,96-->
|
<!--244,80-->
|
||||||
<span>{{ format_to_currency(invoice_total_tax($invoice) * ((100 - $invoice->discount_rate) / 100)) }}</span>
|
{{ format_to_currency($invoice->total_net * ((100 - $invoice->discount_rate) / 100)) }}
|
||||||
@endif
|
@endif
|
||||||
@if($invoice->discount_type === 'value')
|
@if($invoice->discount_type === 'value')
|
||||||
<!--52,73-->
|
<!--263,67-->
|
||||||
|
{{ format_to_currency(($invoice->total_net + invoice_total_tax($invoice)) / ((100 - $invoice->discount_rate) / 100)) }}
|
||||||
@endif
|
@endif
|
||||||
</div>
|
</span>
|
||||||
|
</li>
|
||||||
|
<li class="row">
|
||||||
|
<span>DPH:</span>
|
||||||
|
@if($invoice->discount_type === 'percent')
|
||||||
|
<!--48,96-->
|
||||||
|
<span>{{ format_to_currency(invoice_total_tax($invoice) * ((100 - $invoice->discount_rate) / 100)) }}</span>
|
||||||
|
@endif
|
||||||
|
@if($invoice->discount_type === 'value')
|
||||||
|
<!--52,73-->
|
||||||
|
@endif
|
||||||
</li>
|
</li>
|
||||||
@endif
|
@endif
|
||||||
|
|
||||||
<li class="row">
|
<li class="row">
|
||||||
<div class="col-full">
|
<b>Spolu k úhrade:</b>
|
||||||
<b>Spolu k úhrade:</b>
|
@if($invoice->client['ic_dph'])
|
||||||
</div>
|
<b>{{ format_to_currency(invoice_total_net($invoice) + invoice_total_tax($invoice)) }}</b>
|
||||||
<div class="col-full">
|
@else
|
||||||
@if($invoice->client['ic_dph'])
|
<b>{{ format_to_currency(invoice_total_net($invoice)) }}</b>
|
||||||
<b>{{ format_to_currency(invoice_total_net($invoice) + invoice_total_tax($invoice)) }}</b>
|
@endif
|
||||||
@else
|
|
||||||
<b>{{ format_to_currency(invoice_total_net($invoice)) }}</b>
|
|
||||||
@endif
|
|
||||||
</div>
|
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
@@ -295,8 +279,10 @@
|
|||||||
@endif
|
@endif
|
||||||
</div>
|
</div>
|
||||||
<div class="sign">
|
<div class="sign">
|
||||||
|
@if(is_route('invoice-debug'))
|
||||||
|
<img src="{{ asset('/stamp.png') }}">
|
||||||
|
@endif
|
||||||
{{--<img src="{{ public_path('/stamp.png') }}">--}}
|
{{--<img src="{{ public_path('/stamp.png') }}">--}}
|
||||||
<img src="{{ asset('/stamp.png') }}">
|
|
||||||
<span class="highlight">Faktúru vystavil:</span> {{ $invoice->user['name'] }}
|
<span class="highlight">Faktúru vystavil:</span> {{ $invoice->user['name'] }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ use App\Http\Controllers\Oasis\AdminController;
|
|||||||
use App\Http\Controllers\Oasis\ClientController;
|
use App\Http\Controllers\Oasis\ClientController;
|
||||||
use App\Http\Controllers\Oasis\InvoiceController;
|
use App\Http\Controllers\Oasis\InvoiceController;
|
||||||
use App\Http\Controllers\Oasis\SubscriptionController;
|
use App\Http\Controllers\Oasis\SubscriptionController;
|
||||||
|
use App\Services\Oasis\OasisDevService;
|
||||||
|
|
||||||
Route::group(['middleware' => 'api', 'prefix' => '/api/oasis'], function () {
|
Route::group(['middleware' => 'api', 'prefix' => '/api/oasis'], function () {
|
||||||
|
|
||||||
@@ -43,3 +44,8 @@ Route::group(['middleware' => 'api', 'prefix' => '/api/oasis'], function () {
|
|||||||
Route::group(['middleware' => 'web', 'prefix' => 'oasis'], function () {
|
Route::group(['middleware' => 'web', 'prefix' => 'oasis'], function () {
|
||||||
Route::post('/subscribe/{order}/set-password', [SubscriptionController::class, 'set_password']);
|
Route::post('/subscribe/{order}/set-password', [SubscriptionController::class, 'set_password']);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Debug routes
|
||||||
|
Route::group(['middleware' => 'web', 'prefix' => 'oasis/debug'], function () {
|
||||||
|
Route::get('/invoice', [OasisDevService::class, 'get_invoice_view'])->name('invoice-debug');
|
||||||
|
});
|
||||||
|
|||||||
@@ -6,12 +6,6 @@ use App\Http\Controllers\App\AppFunctionsController;
|
|||||||
use App\Http\Controllers\Sharing\BrowseShareController;
|
use App\Http\Controllers\Sharing\BrowseShareController;
|
||||||
use App\Http\Controllers\Subscription\StripeWebhookController;
|
use App\Http\Controllers\Subscription\StripeWebhookController;
|
||||||
|
|
||||||
Route::get('/invoice', function () {
|
|
||||||
return view('oasis.invoices.invoice')
|
|
||||||
->with('invoice', \App\Models\Oasis\Invoice::first())
|
|
||||||
->with('user', \App\Models\User::whereEmail('howdy@hi5ve.digital')->first());
|
|
||||||
});
|
|
||||||
|
|
||||||
Route::post('/stripe/webhook', [StripeWebhookController::class, 'handleWebhook']);
|
Route::post('/stripe/webhook', [StripeWebhookController::class, 'handleWebhook']);
|
||||||
Route::post('/admin-setup', [SetupWizardController::class, 'create_admin_account']);
|
Route::post('/admin-setup', [SetupWizardController::class, 'create_admin_account']);
|
||||||
|
|
||||||
|
|||||||
@@ -25,13 +25,13 @@ class OasisInvoiceTest extends TestCase
|
|||||||
|
|
||||||
$this->items = [
|
$this->items = [
|
||||||
[
|
[
|
||||||
'description' => 'Test 1',
|
'description' => "No, I've made up my mind about it; if I'm Mabel, I'll stay.",
|
||||||
'amount' => 1,
|
'amount' => 1,
|
||||||
'tax_rate' => 20,
|
'tax_rate' => 20,
|
||||||
'price' => 200,
|
'price' => 200,
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'description' => 'Test 2',
|
'description' => "I only knew the right words,' said poor Alice, who felt.",
|
||||||
'amount' => 3,
|
'amount' => 3,
|
||||||
'tax_rate' => 20,
|
'tax_rate' => 20,
|
||||||
'price' => 500,
|
'price' => 500,
|
||||||
@@ -204,8 +204,8 @@ class OasisInvoiceTest extends TestCase
|
|||||||
public function user_create_new_invoice_with_storing_new_client()
|
public function user_create_new_invoice_with_storing_new_client()
|
||||||
{
|
{
|
||||||
Notification::fake();
|
Notification::fake();
|
||||||
|
//Storage::fake('local');
|
||||||
Storage::fake('local');
|
//PDF::fake();
|
||||||
|
|
||||||
$avatar = UploadedFile::fake()
|
$avatar = UploadedFile::fake()
|
||||||
->image('fake-image.jpg');
|
->image('fake-image.jpg');
|
||||||
@@ -213,6 +213,16 @@ class OasisInvoiceTest extends TestCase
|
|||||||
$user = User::factory(User::class)
|
$user = User::factory(User::class)
|
||||||
->create(['role' => 'user']);
|
->create(['role' => 'user']);
|
||||||
|
|
||||||
|
$user->settings()->update([
|
||||||
|
'ic_dph' => 'SK2023489457',
|
||||||
|
'dic' => '2023489457',
|
||||||
|
'ico' => '46530045',
|
||||||
|
'bank_name' => 'Fio a.s.',
|
||||||
|
'iban' => 'SK7583300000002000476497',
|
||||||
|
'swift' => 'FIOZSKBAXXX',
|
||||||
|
'registration_notes' => 'Registrácia na OR SR Bratislava I. oddiel: Sro vl. č 91906',
|
||||||
|
]);
|
||||||
|
|
||||||
Sanctum::actingAs($user);
|
Sanctum::actingAs($user);
|
||||||
|
|
||||||
$this->postJson('/api/oasis/invoices', [
|
$this->postJson('/api/oasis/invoices', [
|
||||||
@@ -258,6 +268,11 @@ class OasisInvoiceTest extends TestCase
|
|||||||
Client::first()->getRawOriginal('avatar')
|
Client::first()->getRawOriginal('avatar')
|
||||||
);
|
);
|
||||||
|
|
||||||
|
Storage::disk('local')
|
||||||
|
->assertExists(
|
||||||
|
'files/' . $user->id . '/invoice-' . Invoice::first()->id . '.pdf'
|
||||||
|
);
|
||||||
|
|
||||||
Notification::assertTimesSent(1, InvoiceDeliveryNotification::class);
|
Notification::assertTimesSent(1, InvoiceDeliveryNotification::class);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Vendored
+2
-2
@@ -15,9 +15,9 @@ mix.js('resources/js/main.js', 'public/js')
|
|||||||
.sass('resources/sass/app.scss', 'public/css/app.css', {
|
.sass('resources/sass/app.scss', 'public/css/app.css', {
|
||||||
implementation: require('node-sass')
|
implementation: require('node-sass')
|
||||||
})
|
})
|
||||||
.sass('resources/sass/oasis/invoice.scss', 'public/css/oasis-invoice.css', {
|
/*.sass('resources/sass/oasis/invoice.scss', 'public/css/oasis-invoice.css', {
|
||||||
implementation: require('node-sass')
|
implementation: require('node-sass')
|
||||||
})
|
})*/
|
||||||
.webpackConfig({
|
.webpackConfig({
|
||||||
resolve: {
|
resolve: {
|
||||||
alias: {
|
alias: {
|
||||||
|
|||||||
Reference in New Issue
Block a user