Compare commits

..

48 Commits

Author SHA1 Message Date
05d5ce26fd Adds Zip to the required PHP Extension check (#1146)
* Ignore .DS_Store

* Checks for required ZIP extension
2023-02-19 11:42:34 +05:30
393fe20010 Fix incorrect invoice creation message (#1109)
Creation message now includes the views disk in its path.
2022-12-17 18:20:51 +05:30
57bdbd2897 feat: front-end files bulding (#1098)
Co-authored-by: Aramayis <>
2022-12-17 18:19:49 +05:30
7447cc24f9 feat: uffizzi integration (#1091)
Co-authored-by: Aramayis <>
2022-11-21 18:35:59 +05:30
889d22d92c Update php version (#1083)
Version 7.4 no longer works when running docker-compose/setup.sh. Updated to 8.1 in Dockerfile. Issue is now resolved and Crater sets up as expected without version conflicts.
2022-11-03 19:29:16 +05:30
bc8f2cd484 fix tax issue (#953)
* fix tax issue

* remove console log

* update cs fixer package
2022-10-26 19:51:36 +05:30
4e47f58bad fixed - No query results for model [Crater\Models\Currency] (#1070)
* fixed report pdf issue

* Removed telescope service provider file
2022-10-26 19:33:25 +05:30
d8c429912e fix composer issue with pest 2022-10-17 13:04:27 +05:30
0aaf0e7e75 Adding object-fit rules so thumbnail image does not appear stretched. (#1065) 2022-10-13 23:44:39 +05:30
3d0b89bb4d bug: fix missing hyphen in setup.sh (#1067)
Co-authored-by: Aramayis <>
2022-10-13 23:40:07 +05:30
38c4b9ebce Patch setup.sh script to deploy without plugins error. (#1034) 2022-09-13 14:52:51 +05:30
7be59e78e0 Formatting + Netherlands rename (#973)
* Formatting + Netherlands rename

* Revert change
2022-07-09 20:03:08 +05:30
204483836a 🌐Update: support Thai language (#768)
* add thai language config

* update thai translation

* update thai translation

* add THSarabunNew fonts to using in pdf

* update: pdf file to support thai language by checking isLocale('th') and include thai font-family

* update: thai translation

* remove the index.php file (not used)

* move THSarabunNew fonts to resoureces/static/fonts

* Add .gitkeep to storage/fonts to pre-build the fonts directory

Co-authored-by: Ritthikrai (Champ) Wiengchai <ritthikrai.w@aware.co.th>
2022-06-15 18:17:36 +05:30
33bc9ded65 Bump guzzlehttp/guzzle from 7.4.1 to 7.4.3 (#936)
Bumps [guzzlehttp/guzzle](https://github.com/guzzle/guzzle) from 7.4.1 to 7.4.3.
- [Release notes](https://github.com/guzzle/guzzle/releases)
- [Changelog](https://github.com/guzzle/guzzle/blob/master/CHANGELOG.md)
- [Commits](https://github.com/guzzle/guzzle/compare/7.4.1...7.4.3)

---
updated-dependencies:
- dependency-name: guzzlehttp/guzzle
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-05 14:10:27 +05:30
4271ef451e Php 8 compliant (#914) 2022-06-05 14:09:42 +05:30
6eb44fba93 Update cron.dockerfile (#949) 2022-06-05 14:09:11 +05:30
96e7300583 Make unit clearable (#918) 2022-05-28 11:55:09 +05:30
a479d966d1 Update en.json (#925)
Corrected sentence case from "Expiry date" to "Expiry Date"
2022-05-28 11:54:32 +05:30
bca2794c4c New Crowdin updates (#924)
* New translations en.json (Spanish)

* New translations en.json (Portuguese, Brazilian)
2022-05-24 12:54:42 +05:30
cb88c19059 New Crowdin updates (#910)
* New translations en.json (Lithuanian)

* New translations en.json (Greek)

* New translations en.json (Greek)

* New translations en.json (Greek)
2022-05-03 16:34:03 +05:30
946c7efab4 Also replace variables in subject (#893) 2022-04-25 18:02:21 +05:30
d7b1d15f93 New Crowdin updates (#877)
* New translations en.json (Hindi)

* New translations en.json (Hindi)

* New translations en.json (Hindi)

* New translations en.json (Hindi)

* New translations en.json (Hindi)

* New translations en.json (Russian)

* New translations en.json (Russian)

* New translations en.json (German)

* New translations en.json (Russian)

* New translations en.json (Spanish)

* New translations en.json (Spanish)

* New translations en.json (Czech)

* New translations en.json (Czech)

* New translations en.json (Spanish)

* New translations en.json (Spanish)

* New translations en.json (French)

* New translations en.json (French)

* New translations en.json (German)

* New translations en.json (Indonesian)

* New translations en.json (Indonesian)

* New translations en.json (Indonesian)

* New translations en.json (Indonesian)
2022-04-25 14:19:41 +05:30
94e1efe115 New Crowdin updates (#875)
* New translations en.json (Hindi)

* New translations en.json (Hindi)
2022-04-01 17:32:59 +05:30
b0e38b74e9 Bump guzzlehttp/psr7 from 2.1.0 to 2.2.1 (#871)
Bumps [guzzlehttp/psr7](https://github.com/guzzle/psr7) from 2.1.0 to 2.2.1.
- [Release notes](https://github.com/guzzle/psr7/releases)
- [Changelog](https://github.com/guzzle/psr7/blob/master/CHANGELOG.md)
- [Commits](https://github.com/guzzle/psr7/compare/2.1.0...2.2.1)

---
updated-dependencies:
- dependency-name: guzzlehttp/psr7
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-01 17:32:43 +05:30
157559cc05 Improve invoice 1 template css (#872)
There is no class "header" that's why I removed it. Also I fixed some whitespace issues
2022-04-01 13:50:27 +05:30
9d1484d62d Completed missing french translations (#852) 2022-04-01 10:10:18 +05:30
654dd9e64d New Crowdin updates (#874)
* New translations en.json (Hindi)

* New translations en.json (Hindi)
2022-04-01 10:09:02 +05:30
7cde971f8b Module upload validation (#857)
https://huntr.dev/bounties/cb9a0393-be34-4021-a06c-00c7791c7622/
2022-03-29 12:55:35 +05:30
4e7441a5cf add default support for Central African currency (#865) 2022-03-28 13:58:43 +05:30
b714833b06 New Crowdin updates (#862)
* New translations en.json (Russian)

* New translations en.json (Russian)

* New translations en.json (Dutch)

* New translations en.json (Dutch)
2022-03-28 13:58:23 +05:30
88035ea490 Expense attachment validation fix (#855)
https://huntr.dev/bounties/4d7d4fc9-e0cf-42d3-b89c-6ea57a769045/
2022-03-22 16:58:55 +05:30
80847529fa New Crowdin updates (#833)
* New translations en.json (Turkish)

* New translations en.json (Turkish)

* New translations en.json (Turkish)

* New translations en.json (Spanish)

* New translations en.json (Indonesian)
2022-03-20 21:06:58 +05:30
18507ddb6f new build 606 2022-03-06 12:39:21 +05:30
7275f3dd47 Merge branch 'fix-latest-issues' into 'master'
Fix tax per item issue & check currency key

See merge request mohit.panjvani/crater-web!1460
2022-03-06 07:02:58 +00:00
e31f947aba fix conflict 2022-03-06 12:32:24 +05:30
7ba120db31 Merge branch 'fix-invoice-item-create-issue' into 'master'
fix item is not created in invoice->add new item modal

See merge request mohit.panjvani/crater-web!1462
2022-03-06 06:59:07 +00:00
bc73ed8c9e fix conflict 2022-03-06 12:28:51 +05:30
b1689dd2c6 Merge branch 'master' of https://github.com/bytefury/crater 2022-03-06 12:25:44 +05:30
f6c59b7423 New Crowdin updates (#817)
* New translations en.json (Finnish)

* New translations en.json (Italian)

* New translations en.json (Vietnamese)
2022-03-06 10:05:31 +05:30
2cadcad485 Fix currency settings error (#821)
* Fixed issue with currency error on change after transactions

* organized imports
2022-03-06 09:53:31 +05:30
04deade111 fix item is not created in invoice->add new item modal 2022-03-04 17:15:23 +05:30
ee0632f0d3 Merge branch 'fix-default-language-filter-issue' into 'master'
fixed search filter is not working

See merge request mohit.panjvani/crater-web!1461
2022-03-04 10:47:23 +00:00
f6771dafd3 fixed search filter is not working 2022-03-04 15:00:56 +05:30
fadef0ea07 Fix tax per item issue & check currency key 2022-03-04 12:08:03 +05:30
c07e44520a typo: somthing -> something (#820) 2022-03-04 08:21:17 +05:30
6552c4edd6 New translations en.json (Finnish) (#816) 2022-03-03 23:10:11 +05:30
5183a825e6 New Crowdin updates (#815)
* New translations en.json (Romanian)

* New translations en.json (Slovak)

* New translations en.json (Hindi)

* New translations en.json (Latvian)

* New translations en.json (Croatian)

* New translations en.json (Persian)

* New translations en.json (Indonesian)

* New translations en.json (Portuguese, Brazilian)

* New translations en.json (Vietnamese)

* New translations en.json (Chinese Traditional)

* New translations en.json (Turkish)

* New translations en.json (Swedish)

* New translations en.json (Slovenian)

* New translations en.json (Russian)

* New translations en.json (French)

* New translations en.json (Portuguese)

* New translations en.json (Polish)

* New translations en.json (Dutch)

* New translations en.json (Lithuanian)

* New translations en.json (Japanese)

* New translations en.json (Italian)

* New translations en.json (Finnish)

* New translations en.json (Greek)

* New translations en.json (German)

* New translations en.json (Czech)

* New translations en.json (Arabic)

* New translations en.json (Spanish)

* New translations en.json (Serbian (Latin))
2022-03-03 20:39:44 +05:30
83a7c97e9e fix tests 2022-03-03 20:30:05 +05:30
209 changed files with 6098 additions and 4296 deletions

161
.github/workflows/uffizzi-build.yml vendored Normal file
View File

@ -0,0 +1,161 @@
name: Build PR Image
on:
pull_request:
types: [opened,synchronize,reopened,closed]
jobs:
build-application:
name: Build and Push `application`
runs-on: ubuntu-latest
if: ${{ github.event_name != 'pull_request' || github.event.action != 'closed' }}
outputs:
tags: ${{ steps.meta.outputs.tags }}
steps:
- name: Checkout git repo
uses: actions/checkout@v3
- name: Generate UUID image name
id: uuid
run: echo "UUID_TAG_APP=$(uuidgen)" >> $GITHUB_ENV
- name: Docker metadata
id: meta
uses: docker/metadata-action@v3
with:
images: registry.uffizzi.com/${{ env.UUID_TAG_APP }}
tags: type=raw,value=60d
- name: Build and Push Image to registry.uffizzi.com ephemeral registry
uses: docker/build-push-action@v2
with:
push: true
context: ./
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
file: ./uffizzi/Dockerfile
build-nginx:
needs:
- build-application
name: Build and Push `nginx`
runs-on: ubuntu-latest
if: ${{ github.event_name != 'pull_request' || github.event.action != 'closed' }}
outputs:
tags: ${{ steps.meta.outputs.tags }}
steps:
- name: Checkout git repo
uses: actions/checkout@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Generate UUID image name
id: uuid
run: echo "UUID_TAG_NGINX=$(uuidgen)" >> $GITHUB_ENV
- name: Docker metadata
id: meta
uses: docker/metadata-action@v3
with:
images: registry.uffizzi.com/${{ env.UUID_TAG_NGINX }}
tags: type=raw,value=60d
- name: Build and Push Image to Uffizzi ephemeral registry
uses: docker/build-push-action@v2
with:
push: true
context: ./
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
file: ./uffizzi/nginx/Dockerfile
build-args: |
BASE_IMAGE=${{ needs.build-application.outputs.tags }}
cache-from: type=gha
cache-to: type=gha,mode=max
build-crond:
name: Build and Push `crond`
runs-on: ubuntu-latest
if: ${{ github.event_name != 'pull_request' || github.event.action != 'closed' }}
outputs:
tags: ${{ steps.meta.outputs.tags }}
steps:
- name: Checkout git repo
uses: actions/checkout@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Generate UUID image name
id: uuid
run: echo "UUID_TAG_CROND=$(uuidgen)" >> $GITHUB_ENV
- name: Docker metadata
id: meta
uses: docker/metadata-action@v3
with:
images: registry.uffizzi.com/${{ env.UUID_TAG_CROND }}
tags: type=raw,value=60d
- name: Build and Push Image to registry.uffizzi.com ephemeral registry
uses: docker/build-push-action@v2
with:
push: true
context: ./
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
file: ./uffizzi/crond/Dockerfile
cache-from: type=gha
cache-to: type=gha,mode=max
render-compose-file:
name: Render Docker Compose File
# Pass output of this workflow to another triggered by `workflow_run` event.
runs-on: ubuntu-latest
outputs:
compose-file-cache-key: ${{ steps.hash.outputs.hash }}
needs:
- build-application
- build-nginx
- build-crond
steps:
- name: Checkout git repo
uses: actions/checkout@v3
- name: Render Compose File
run: |
APP_IMAGE=$(echo ${{ needs.build-application.outputs.tags }})
export APP_IMAGE
NGINX_IMAGE=$(echo ${{ needs.build-nginx.outputs.tags }})
export NGINX_IMAGE
CROND_IMAGE=$(echo ${{ needs.build-crond.outputs.tags }})
export CROND_IMAGE
# Render simple template from environment variables.
envsubst < ./uffizzi/docker-compose.uffizzi.yml > docker-compose.rendered.yml
cat docker-compose.rendered.yml
- name: Upload Rendered Compose File as Artifact
uses: actions/upload-artifact@v3
with:
name: preview-spec
path: docker-compose.rendered.yml
retention-days: 2
- name: Serialize PR Event to File
run: |
cat << EOF > event.json
${{ toJSON(github.event) }}
EOF
- name: Upload PR Event as Artifact
uses: actions/upload-artifact@v3
with:
name: preview-spec
path: event.json
retention-days: 2
delete-preview:
name: Call for Preview Deletion
runs-on: ubuntu-latest
if: ${{ github.event.action == 'closed' }}
steps:
# If this PR is closing, we will not render a compose file nor pass it to the next workflow.
- name: Serialize PR Event to File
run: echo '${{ toJSON(github.event) }}' > event.json
- name: Upload PR Event as Artifact
uses: actions/upload-artifact@v3
with:
name: preview-spec
path: event.json
retention-days: 2

84
.github/workflows/uffizzi-preview.yml vendored Normal file
View File

@ -0,0 +1,84 @@
name: Deploy Uffizzi Preview
on:
workflow_run:
workflows:
- "Build PR Image"
types:
- completed
jobs:
cache-compose-file:
name: Cache Compose File
runs-on: ubuntu-latest
outputs:
compose-file-cache-key: ${{ env.COMPOSE_FILE_HASH }}
pr-number: ${{ env.PR_NUMBER }}
steps:
- name: 'Download artifacts'
# Fetch output (zip archive) from the workflow run that triggered this workflow.
uses: actions/github-script@v6
with:
script: |
let allArtifacts = await github.rest.actions.listWorkflowRunArtifacts({
owner: context.repo.owner,
repo: context.repo.repo,
run_id: context.payload.workflow_run.id,
});
let matchArtifact = allArtifacts.data.artifacts.filter((artifact) => {
return artifact.name == "preview-spec"
})[0];
let download = await github.rest.actions.downloadArtifact({
owner: context.repo.owner,
repo: context.repo.repo,
artifact_id: matchArtifact.id,
archive_format: 'zip',
});
let fs = require('fs');
fs.writeFileSync(`${process.env.GITHUB_WORKSPACE}/preview-spec.zip`, Buffer.from(download.data));
- name: 'Unzip artifact'
run: unzip preview-spec.zip
- name: Read Event into ENV
run: |
echo 'EVENT_JSON<<EOF' >> $GITHUB_ENV
cat event.json >> $GITHUB_ENV
echo 'EOF' >> $GITHUB_ENV
- name: Hash Rendered Compose File
id: hash
# If the previous workflow was triggered by a PR close event, we will not have a compose file artifact.
if: ${{ fromJSON(env.EVENT_JSON).action != 'closed' }}
run: echo "COMPOSE_FILE_HASH=$(md5sum docker-compose.rendered.yml | awk '{ print $1 }')" >> $GITHUB_ENV
- name: Cache Rendered Compose File
if: ${{ fromJSON(env.EVENT_JSON).action != 'closed' }}
uses: actions/cache@v3
with:
path: docker-compose.rendered.yml
key: ${{ env.COMPOSE_FILE_HASH }}
- name: Read PR Number From Event Object
id: pr
run: echo "PR_NUMBER=${{ fromJSON(env.EVENT_JSON).number }}" >> $GITHUB_ENV
- name: DEBUG - Print Job Outputs
if: ${{ runner.debug }}
run: |
echo "PR number: ${{ env.PR_NUMBER }}"
echo "Compose file hash: ${{ env.COMPOSE_FILE_HASH }}"
cat event.json
deploy-uffizzi-preview:
name: Use Remote Workflow to Preview on Uffizzi
needs:
- cache-compose-file
uses: UffizziCloud/preview-action/.github/workflows/reusable.yaml@v2.6.1
with:
# If this workflow was triggered by a PR close event, cache-key will be an empty string
# and this reusable workflow will delete the preview deployment.
compose-file-cache-key: ${{ needs.cache-compose-file.outputs.compose-file-cache-key }}
compose-file-cache-path: docker-compose.rendered.yml
server: https://app.uffizzi.com/
pr-number: ${{ needs.cache-compose-file.outputs.pr-number }}
permissions:
contents: read
pull-requests: write
id-token: write

2
.gitignore vendored
View File

@ -16,3 +16,5 @@ Homestead.yaml
.gitkeep
/public/docs
/.scribe
!storage/fonts/.gitkeep
.DS_Store

View File

@ -1,4 +1,4 @@
FROM php:7.4-fpm
FROM php:8.1-fpm
# Arguments defined in docker-compose.yml
ARG user

View File

@ -55,7 +55,7 @@ class CreateTemplateCommand extends Command
copy(public_path("/build/img/PDF/{$type}1.png"), public_path("/build/img/PDF/{$templateName}.png"));
copy(resource_path("/static/img/PDF/{$type}1.png"), resource_path("/static/img/PDF/{$templateName}.png"));
$path = resource_path("app/pdf/{$type}/{$templateName}.blade.php");
$path = resource_path("views/app/pdf/{$type}/{$templateName}.blade.php");
$type = ucfirst($type);
$this->info("{$type} Template created successfully at ".$path);

View File

@ -3,18 +3,18 @@
namespace Crater\Http\Controllers\V1\Admin\Modules;
use Crater\Http\Controllers\Controller;
use Crater\Http\Requests\UnzipUpdateRequest;
use Crater\Space\ModuleInstaller;
use Illuminate\Http\Request;
class UnzipModuleController extends Controller
{
/**
* Handle the incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Crater\Http\Requests\UnzipUpdateRequest $request
* @return \Illuminate\Http\Response
*/
public function __invoke(Request $request)
public function __invoke(UnzipUpdateRequest $request)
{
$this->authorize('manage modules');

View File

@ -3,18 +3,18 @@
namespace Crater\Http\Controllers\V1\Admin\Modules;
use Crater\Http\Controllers\Controller;
use Crater\Http\Requests\UploadModuleRequest;
use Crater\Space\ModuleInstaller;
use Illuminate\Http\Request;
class UploadModuleController extends Controller
{
/**
* Handle the incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Crater\Http\Requests\UploadModuleRequest $request
* @return \Illuminate\Http\Response
*/
public function __invoke(Request $request)
public function __invoke(UploadModuleRequest $request)
{
$this->authorize('manage modules');

View File

@ -2,24 +2,25 @@
namespace Crater\Http\Controllers\V1\Admin\Report;
use PDF;
use Carbon\Carbon;
use Crater\Http\Controllers\Controller;
use Crater\Models\Company;
use Crater\Models\CompanySetting;
use Crater\Models\Currency;
use Crater\Models\Customer;
use Illuminate\Http\Request;
use Crater\Models\CompanySetting;
use Illuminate\Support\Facades\App;
use PDF;
use Crater\Http\Controllers\Controller;
class CustomerSalesReportController extends Controller
{
/**
* Handle the incoming request.
*
* @param \Illuminate\Http\Request $request
* @param string $hash
* @return \Illuminate\Http\JsonResponse
*/
* Handle the incoming request.
*
* @param \Illuminate\Http\Request $request
* @param string $hash
* @return \Illuminate\Http\JsonResponse
*/
public function __invoke(Request $request, $hash)
{
$company = Company::where('unique_hash', $hash)->first();
@ -56,6 +57,7 @@ class CustomerSalesReportController extends Controller
$dateFormat = CompanySetting::getSetting('carbon_date_format', $company->id);
$from_date = Carbon::createFromFormat('Y-m-d', $request->from_date)->format($dateFormat);
$to_date = Carbon::createFromFormat('Y-m-d', $request->to_date)->format($dateFormat);
$currency = Currency::findOrFail(CompanySetting::getSetting('currency', $company->id));
$colors = [
'primary_text_color',
@ -80,6 +82,7 @@ class CustomerSalesReportController extends Controller
'company' => $company,
'from_date' => $from_date,
'to_date' => $to_date,
'currency' => $currency,
]);
$pdf = PDF::loadView('app.pdf.reports.sales-customers');

View File

@ -2,24 +2,25 @@
namespace Crater\Http\Controllers\V1\Admin\Report;
use Carbon\Carbon;
use Crater\Http\Controllers\Controller;
use Crater\Models\Company;
use Crater\Models\CompanySetting;
use Crater\Models\Expense;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\App;
use PDF;
use Carbon\Carbon;
use Crater\Models\Company;
use Crater\Models\Expense;
use Crater\Models\Currency;
use Illuminate\Http\Request;
use Crater\Models\CompanySetting;
use Illuminate\Support\Facades\App;
use Crater\Http\Controllers\Controller;
class ExpensesReportController extends Controller
{
/**
* Handle the incoming request.
*
* @param \Illuminate\Http\Request $request
* @param string $hash
* @return \Illuminate\Http\JsonResponse
*/
* Handle the incoming request.
*
* @param \Illuminate\Http\Request $request
* @param string $hash
* @return \Illuminate\Http\JsonResponse
*/
public function __invoke(Request $request, $hash)
{
$company = Company::where('unique_hash', $hash)->first();
@ -43,6 +44,7 @@ class ExpensesReportController extends Controller
$dateFormat = CompanySetting::getSetting('carbon_date_format', $company->id);
$from_date = Carbon::createFromFormat('Y-m-d', $request->from_date)->format($dateFormat);
$to_date = Carbon::createFromFormat('Y-m-d', $request->to_date)->format($dateFormat);
$currency = Currency::findOrFail(CompanySetting::getSetting('currency', $company->id));
$colors = [
'primary_text_color',
@ -66,6 +68,7 @@ class ExpensesReportController extends Controller
'company' => $company,
'from_date' => $from_date,
'to_date' => $to_date,
'currency' => $currency,
]);
$pdf = PDF::loadView('app.pdf.reports.expenses');

View File

@ -2,24 +2,25 @@
namespace Crater\Http\Controllers\V1\Admin\Report;
use Carbon\Carbon;
use Crater\Http\Controllers\Controller;
use Crater\Models\Company;
use Crater\Models\CompanySetting;
use Crater\Models\InvoiceItem;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\App;
use PDF;
use Carbon\Carbon;
use Crater\Models\Company;
use Crater\Models\Currency;
use Illuminate\Http\Request;
use Crater\Models\InvoiceItem;
use Crater\Models\CompanySetting;
use Illuminate\Support\Facades\App;
use Crater\Http\Controllers\Controller;
class ItemSalesReportController extends Controller
{
/**
* Handle the incoming request.
*
* @param \Illuminate\Http\Request $request
* @param string $hash
* @return \Illuminate\Http\JsonResponse
*/
* Handle the incoming request.
*
* @param \Illuminate\Http\Request $request
* @param string $hash
* @return \Illuminate\Http\JsonResponse
*/
public function __invoke(Request $request, $hash)
{
$company = Company::where('unique_hash', $hash)->first();
@ -43,6 +44,7 @@ class ItemSalesReportController extends Controller
$dateFormat = CompanySetting::getSetting('carbon_date_format', $company->id);
$from_date = Carbon::createFromFormat('Y-m-d', $request->from_date)->format($dateFormat);
$to_date = Carbon::createFromFormat('Y-m-d', $request->to_date)->format($dateFormat);
$currency = Currency::findOrFail(CompanySetting::getSetting('currency', $company->id));
$colors = [
'primary_text_color',
@ -66,6 +68,7 @@ class ItemSalesReportController extends Controller
'company' => $company,
'from_date' => $from_date,
'to_date' => $to_date,
'currency' => $currency,
]);
$pdf = PDF::loadView('app.pdf.reports.sales-items');

View File

@ -2,25 +2,26 @@
namespace Crater\Http\Controllers\V1\Admin\Report;
use PDF;
use Carbon\Carbon;
use Crater\Http\Controllers\Controller;
use Crater\Models\Company;
use Crater\Models\CompanySetting;
use Crater\Models\Expense;
use Crater\Models\Payment;
use Crater\Models\Currency;
use Illuminate\Http\Request;
use Crater\Models\CompanySetting;
use Illuminate\Support\Facades\App;
use PDF;
use Crater\Http\Controllers\Controller;
class ProfitLossReportController extends Controller
{
/**
* Handle the incoming request.
*
* @param \Illuminate\Http\Request $request
* @param string $hash
* @return \Illuminate\Http\JsonResponse
*/
* Handle the incoming request.
*
* @param \Illuminate\Http\Request $request
* @param string $hash
* @return \Illuminate\Http\JsonResponse
*/
public function __invoke(Request $request, $hash)
{
$company = Company::where('unique_hash', $hash)->first();
@ -49,6 +50,8 @@ class ProfitLossReportController extends Controller
$dateFormat = CompanySetting::getSetting('carbon_date_format', $company->id);
$from_date = Carbon::createFromFormat('Y-m-d', $request->from_date)->format($dateFormat);
$to_date = Carbon::createFromFormat('Y-m-d', $request->to_date)->format($dateFormat);
$currency = Currency::findOrFail(CompanySetting::getSetting('currency', $company->id));
$colors = [
'primary_text_color',
@ -74,6 +77,7 @@ class ProfitLossReportController extends Controller
'company' => $company,
'from_date' => $from_date,
'to_date' => $to_date,
'currency' => $currency,
]);
$pdf = PDF::loadView('app.pdf.reports.profit-loss');

View File

@ -2,24 +2,25 @@
namespace Crater\Http\Controllers\V1\Admin\Report;
use Carbon\Carbon;
use Crater\Http\Controllers\Controller;
use Crater\Models\Company;
use Crater\Models\CompanySetting;
use Crater\Models\Tax;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\App;
use PDF;
use Carbon\Carbon;
use Crater\Models\Tax;
use Crater\Models\Company;
use Crater\Models\Currency;
use Illuminate\Http\Request;
use Crater\Models\CompanySetting;
use Illuminate\Support\Facades\App;
use Crater\Http\Controllers\Controller;
class TaxSummaryReportController extends Controller
{
/**
* Handle the incoming request.
*
* @param \Illuminate\Http\Request $request
* @param string $hash
* @return \Illuminate\Http\JsonResponse
*/
* Handle the incoming request.
*
* @param \Illuminate\Http\Request $request
* @param string $hash
* @return \Illuminate\Http\JsonResponse
*/
public function __invoke(Request $request, $hash)
{
$company = Company::where('unique_hash', $hash)->first();
@ -44,6 +45,8 @@ class TaxSummaryReportController extends Controller
$dateFormat = CompanySetting::getSetting('carbon_date_format', $company->id);
$from_date = Carbon::createFromFormat('Y-m-d', $request->from_date)->format($dateFormat);
$to_date = Carbon::createFromFormat('Y-m-d', $request->to_date)->format($dateFormat);
$currency = Currency::findOrFail(CompanySetting::getSetting('currency', $company->id));
$colors = [
'primary_text_color',
@ -68,6 +71,7 @@ class TaxSummaryReportController extends Controller
'company' => $company,
'from_date' => $from_date,
'to_date' => $to_date,
'currency' => $currency,
]);
$pdf = PDF::loadView('app.pdf.reports.tax-summary');

View File

@ -6,6 +6,7 @@ use Crater\Http\Controllers\Controller;
use Crater\Http\Requests\UpdateSettingsRequest;
use Crater\Models\Company;
use Crater\Models\CompanySetting;
use Illuminate\Support\Arr;
class UpdateCompanySettingsController extends Controller
{
@ -20,10 +21,13 @@ class UpdateCompanySettingsController extends Controller
$company = Company::find($request->header('company'));
$this->authorize('manage company', $company);
$companyCurrency = CompanySetting::getSetting('currency', $request->header('company'));
$data = $request->settings;
if ($companyCurrency !== $data['currency'] && $company->hasTransactions()) {
if (
Arr::exists($data, 'currency') &&
(CompanySetting::getSetting('currency', $company->id) !== $data['currency']) &&
$company->hasTransactions()
) {
return response()->json([
'success' => false,
'message' => 'Cannot update company currency after transactions are created.'

View File

@ -0,0 +1,37 @@
<?php
namespace Crater\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class UnzipUpdateRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return true;
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
'path' => [
'required',
'regex:/^[\.\/\w\-]+$/'
],
'module' => [
'required',
'string'
]
];
}
}

View File

@ -25,7 +25,7 @@ class UploadExpenseReceiptRequest extends FormRequest
public function rules()
{
return [
'upload_receipt' => [
'attachment_receipt' => [
'nullable',
new Base64Mime(['gif', 'jpg', 'png'])
]

View File

@ -0,0 +1,40 @@
<?php
namespace Crater\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class UploadModuleRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return true;
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
'avatar' => [
'required',
'file',
'mimes:zip',
'max:20000'
],
'module' => [
'required',
'string',
'max:100'
]
];
}
}

View File

@ -217,7 +217,7 @@ class Company extends Model implements HasMedia
'estimate_billing_address_format' => $billingAddressFormat,
'payment_company_address_format' => $companyAddressFormat,
'payment_from_customer_address_format' => $paymentFromCustomerAddress,
'currency' => request()->currency ?? 1,
'currency' => request()->currency ?? 13,
'time_zone' => 'Asia/Kolkata',
'language' => 'en',
'fiscal_year' => '1-12',

View File

@ -443,7 +443,8 @@ class Invoice extends Model implements HasMedia
$data['invoice'] = $this->toArray();
$data['customer'] = $this->customer->toArray();
$data['company'] = Company::find($this->company_id);
$data['body'] = $this->getEmailBody($data['body']);
$data['subject'] = $this->getEmailString($data['subject']);
$data['body'] = $this->getEmailString($data['body']);
$data['attach']['data'] = ($this->getEmailAttachmentSetting()) ? $this->getPDFData() : null;
return $data;
@ -498,6 +499,10 @@ class Invoice extends Model implements HasMedia
if (array_key_exists('taxes', $invoiceItem) && $invoiceItem['taxes']) {
foreach ($invoiceItem['taxes'] as $tax) {
$tax['company_id'] = $invoice->company_id;
$tax['exchange_rate'] = $invoice->exchange_rate;
$tax['base_amount'] = $tax['amount'] * $exchange_rate;
$tax['currency_id'] = $invoice->currency_id;
if (gettype($tax['amount']) !== "NULL") {
if (array_key_exists('recurring_invoice_id', $invoiceItem)) {
unset($invoiceItem['recurring_invoice_id']);
@ -520,7 +525,7 @@ class Invoice extends Model implements HasMedia
foreach ($taxes as $tax) {
$tax['company_id'] = $invoice->company_id;
$tax['exchnage_rate'] = $invoice->exchange_rate;
$tax['exchange_rate'] = $invoice->exchange_rate;
$tax['base_amount'] = $tax['amount'] * $exchange_rate;
$tax['currency_id'] = $invoice->currency_id;
@ -631,7 +636,7 @@ class Invoice extends Model implements HasMedia
return $this->getFormattedString($this->notes);
}
public function getEmailBody($body)
public function getEmailString($body)
{
$values = array_merge($this->getFieldsArray(), $this->getExtraFields());

View File

@ -38,15 +38,15 @@
"barryvdh/laravel-ide-helper": "^2.6",
"beyondcode/laravel-dump-server": "^1.0",
"facade/ignition": "^2.3.6",
"friendsofphp/php-cs-fixer": "^3.0",
"fzaninotto/faker": "^1.9.1",
"friendsofphp/php-cs-fixer": "^3.8",
"fakerphp/faker": "^1.9.1",
"mockery/mockery": "^1.3.1",
"nunomaduro/collision": "^5.0",
"pestphp/pest": "^1.0",
"pestphp/pest-plugin-faker": "^1.0",
"pestphp/pest-plugin-laravel": "^1.0",
"pestphp/pest-plugin-parallel": "^0.2.1",
"phpunit/phpunit": "^9.0"
"phpunit/phpunit": "^9.3"
},
"autoload": {
"psr-4": {
@ -81,11 +81,14 @@
"config": {
"optimize-autoloader": true,
"preferred-install": "dist",
"sort-packages": true
"sort-packages": true,
"allow-plugins": {
"pestphp/pest-plugin": true
}
},
"extra": {
"laravel": {
"dont-discover": []
}
}
}
}

2347
composer.lock generated

File diff suppressed because it is too large Load Diff

View File

@ -71,6 +71,7 @@ return [
["code" => "cs", "name" => "Czech"],
["code" => "el", "name" => "Greek"],
["code" => "hr", "name" => "Crotian"],
["code" => "th", "name" => "ไทย"],
],
/*

View File

@ -27,6 +27,7 @@ return [
'tokenizer',
'JSON',
'cURL',
'zip',
],
'apache' => [
'mod_rewrite',

View File

@ -0,0 +1,38 @@
<?php
use Crater\Models\InvoiceItem;
use Crater\Models\Tax;
use Illuminate\Database\Migrations\Migration;
class CalculateBaseValuesForInvoiceItems extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
$taxes = Tax::whereRelation('invoiceItem', 'base_amount', null)->get();
if ($taxes) {
$taxes->map(function ($tax) {
$invoiceItem = InvoiceItem::find($tax->invoice_item_id);
$exchange_rate = $invoiceItem->exchange_rate;
$tax->exchange_rate = $exchange_rate;
$tax->base_amount = $tax->amount * $exchange_rate;
$tax->save();
});
}
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
//
}
}

View File

@ -0,0 +1,27 @@
<?php
use Crater\Models\Setting;
use Illuminate\Database\Migrations\Migration;
class UpdateCraterVersion606 extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Setting::setSetting('version', '6.0.6');
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
//
}
}

View File

@ -170,7 +170,7 @@ class CountriesTableSeeder extends Seeder
['id' => 152,'code' => 'NR','name' => "Nauru",'phonecode' => 674],
['id' => 153,'code' => 'NP','name' => "Nepal",'phonecode' => 977],
['id' => 154,'code' => 'AN','name' => "Netherlands Antilles",'phonecode' => 599],
['id' => 155,'code' => 'NL','name' => "Netherlands The",'phonecode' => 31],
['id' => 155,'code' => 'NL','name' => "Netherlands",'phonecode' => 31],
['id' => 156,'code' => 'NC','name' => "New Caledonia",'phonecode' => 687],
['id' => 157,'code' => 'NZ','name' => "New Zealand",'phonecode' => 64],
['id' => 158,'code' => 'NI','name' => "Nicaragua",'phonecode' => 505],

View File

@ -275,6 +275,14 @@ class CurrenciesTableSeeder extends Seeder
'thousand_separator' => '.',
'decimal_separator' => ',',
],
[
'name' => 'Central African Franc',
'code' => 'XAF',
'symbol' => 'CFA ',
'precision' => '2',
'thousand_separator' => ',',
'decimal_separator' => '.',
],
[
'name' => 'West African Franc',
'code' => 'XOF',

View File

@ -1,7 +1,7 @@
FROM php:7.4-fpm-alpine
FROM php:8.0-fpm-alpine
RUN apk add --no-cache \
php7-bcmath
php8-bcmath
RUN docker-php-ext-install pdo pdo_mysql bcmath

View File

@ -1 +0,0 @@
var L=Object.defineProperty,P=Object.defineProperties;var T=Object.getOwnPropertyDescriptors;var V=Object.getOwnPropertySymbols;var z=Object.prototype.hasOwnProperty,E=Object.prototype.propertyIsEnumerable;var U=(u,s,i)=>s in u?L(u,s,{enumerable:!0,configurable:!0,writable:!0,value:i}):u[s]=i,S=(u,s)=>{for(var i in s||(s={}))z.call(s,i)&&U(u,i,s[i]);if(V)for(var i of V(s))E.call(s,i)&&U(u,i,s[i]);return u},I=(u,s)=>P(u,T(s));import{J,B,k as y,L as _,M as C,Q,N as H,P as K,a0 as O,T as W,r as m,o as M,e as X,f as r,w as d,u as e,x as Y,l as Z,m as x,j as ee,i as ae,t as se,U as te,h as ne}from"./vendor.d12b5734.js";import{e as oe,d as re,b as le}from"./main.c7bd6c0e.js";const ie=["onSubmit"],ue=ne("span",null,null,-1),ce={setup(u){const s=oe(),i=re(),F=le(),{t:v}=J();let p=B(!1),c=B(null),f=B([]);const $=B(!1);s.currentUser.avatar&&f.value.push({image:s.currentUser.avatar});const q=y(()=>({name:{required:_.withMessage(v("validation.required"),C)},email:{required:_.withMessage(v("validation.required"),C),email:_.withMessage(v("validation.email_incorrect"),Q)},password:{minLength:_.withMessage(v("validation.password_length",{count:8}),H(8))},confirm_password:{sameAsPassword:_.withMessage(v("validation.password_incorrect"),K(t.password))}})),t=O({name:s.currentUser.name,email:s.currentUser.email,language:s.currentUserSettings.language||F.selectedCompanySettings.language,password:"",confirm_password:""}),o=W(q,y(()=>t));function k(l,a){c.value=a}function N(){c.value=null,$.value=!0}async function A(){if(o.value.$touch(),o.value.$invalid)return!0;p.value=!0;let l={name:t.name,email:t.email};try{if(t.password!=null&&t.password!==void 0&&t.password!==""&&(l=I(S({},l),{password:t.password})),s.currentUserSettings.language!==t.language&&await s.updateUserSettings({settings:{language:t.language}}),(await s.updateCurrentUser(l)).data.data){if(p.value=!1,c.value||$.value){let w=new FormData;c.value&&w.append("admin_avatar",c.value),w.append("is_admin_avatar_removed",$.value),await s.uploadAvatar(w),c.value=null,$.value=!1}t.password="",t.confirm_password=""}}catch{return p.value=!1,!0}}return(l,a)=>{const w=m("BaseFileUploader"),g=m("BaseInputGroup"),b=m("BaseInput"),G=m("BaseMultiselect"),D=m("BaseInputGrid"),R=m("BaseIcon"),h=m("BaseButton"),j=m("BaseSettingCard");return M(),X("form",{class:"relative",onSubmit:te(A,["prevent"])},[r(j,{title:l.$t("settings.account_settings.account_settings"),description:l.$t("settings.account_settings.section_description")},{default:d(()=>[r(D,null,{default:d(()=>[r(g,{label:l.$tc("settings.account_settings.profile_picture")},{default:d(()=>[r(w,{modelValue:e(f),"onUpdate:modelValue":a[0]||(a[0]=n=>Y(f)?f.value=n:f=n),avatar:!0,accept:"image/*",onChange:k,onRemove:N},null,8,["modelValue"])]),_:1},8,["label"]),ue,r(g,{label:l.$tc("settings.account_settings.name"),error:e(o).name.$error&&e(o).name.$errors[0].$message,required:""},{default:d(()=>[r(b,{modelValue:e(t).name,"onUpdate:modelValue":a[1]||(a[1]=n=>e(t).name=n),invalid:e(o).name.$error,onInput:a[2]||(a[2]=n=>e(o).name.$touch())},null,8,["modelValue","invalid"])]),_:1},8,["label","error"]),r(g,{label:l.$tc("settings.account_settings.email"),error:e(o).email.$error&&e(o).email.$errors[0].$message,required:""},{default:d(()=>[r(b,{modelValue:e(t).email,"onUpdate:modelValue":a[3]||(a[3]=n=>e(t).email=n),invalid:e(o).email.$error,onInput:a[4]||(a[4]=n=>e(o).email.$touch())},null,8,["modelValue","invalid"])]),_:1},8,["label","error"]),r(g,{error:e(o).password.$error&&e(o).password.$errors[0].$message,label:l.$tc("settings.account_settings.password")},{default:d(()=>[r(b,{modelValue:e(t).password,"onUpdate:modelValue":a[5]||(a[5]=n=>e(t).password=n),type:"password",onInput:a[6]||(a[6]=n=>e(o).password.$touch())},null,8,["modelValue"])]),_:1},8,["error","label"]),r(g,{label:l.$tc("settings.account_settings.confirm_password"),error:e(o).confirm_password.$error&&e(o).confirm_password.$errors[0].$message},{default:d(()=>[r(b,{modelValue:e(t).confirm_password,"onUpdate:modelValue":a[7]||(a[7]=n=>e(t).confirm_password=n),type:"password",onInput:a[8]||(a[8]=n=>e(o).confirm_password.$touch())},null,8,["modelValue"])]),_:1},8,["label","error"]),r(g,{label:l.$tc("settings.language")},{default:d(()=>[r(G,{modelValue:e(t).language,"onUpdate:modelValue":a[9]||(a[9]=n=>e(t).language=n),options:e(i).config.languages,label:"name","value-prop":"code","track-by":"code","open-direction":"top"},null,8,["modelValue","options"])]),_:1},8,["label"])]),_:1}),r(h,{loading:e(p),disabled:e(p),class:"mt-6"},{left:d(n=>[e(p)?ee("",!0):(M(),Z(R,{key:0,name:"SaveIcon",class:x(n.class)},null,8,["class"]))]),default:d(()=>[ae(" "+se(l.$tc("settings.company_info.save")),1)]),_:1},8,["loading","disabled"])]),_:1},8,["title","description"])],40,ie)}}};export{ce as default};

View File

@ -0,0 +1 @@
var L=Object.defineProperty,P=Object.defineProperties;var T=Object.getOwnPropertyDescriptors;var V=Object.getOwnPropertySymbols;var z=Object.prototype.hasOwnProperty,E=Object.prototype.propertyIsEnumerable;var U=(u,s,i)=>s in u?L(u,s,{enumerable:!0,configurable:!0,writable:!0,value:i}):u[s]=i,S=(u,s)=>{for(var i in s||(s={}))z.call(s,i)&&U(u,i,s[i]);if(V)for(var i of V(s))E.call(s,i)&&U(u,i,s[i]);return u},I=(u,s)=>P(u,T(s));import{J,B as b,k as y,L as _,M as C,Q,N as H,P as K,a0 as O,T as W,r as m,o as M,e as X,f as r,w as d,u as e,x as Y,l as Z,m as x,j as ee,i as ae,t as se,U as te,h as ne}from"./vendor.d12b5734.js";import{e as oe,d as re,b as le}from"./main.465728e1.js";const ie=["onSubmit"],ue=ne("span",null,null,-1),ce={setup(u){const s=oe(),i=re(),F=le(),{t:v}=J();let p=b(!1),c=b(null),f=b([]);const $=b(!1);s.currentUser.avatar&&f.value.push({image:s.currentUser.avatar});const q=y(()=>({name:{required:_.withMessage(v("validation.required"),C)},email:{required:_.withMessage(v("validation.required"),C),email:_.withMessage(v("validation.email_incorrect"),Q)},password:{minLength:_.withMessage(v("validation.password_length",{count:8}),H(8))},confirm_password:{sameAsPassword:_.withMessage(v("validation.password_incorrect"),K(t.password))}})),t=O({name:s.currentUser.name,email:s.currentUser.email,language:s.currentUserSettings.language||F.selectedCompanySettings.language,password:"",confirm_password:""}),o=W(q,y(()=>t));function k(l,a){c.value=a}function N(){c.value=null,$.value=!0}async function A(){if(o.value.$touch(),o.value.$invalid)return!0;p.value=!0;let l={name:t.name,email:t.email};try{if(t.password!=null&&t.password!==void 0&&t.password!==""&&(l=I(S({},l),{password:t.password})),s.currentUserSettings.language!==t.language&&await s.updateUserSettings({settings:{language:t.language}}),(await s.updateCurrentUser(l)).data.data){if(p.value=!1,c.value||$.value){let w=new FormData;c.value&&w.append("admin_avatar",c.value),w.append("is_admin_avatar_removed",$.value),await s.uploadAvatar(w),c.value=null,$.value=!1}t.password="",t.confirm_password=""}}catch{return p.value=!1,!0}}return(l,a)=>{const w=m("BaseFileUploader"),g=m("BaseInputGroup"),B=m("BaseInput"),G=m("BaseMultiselect"),D=m("BaseInputGrid"),R=m("BaseIcon"),h=m("BaseButton"),j=m("BaseSettingCard");return M(),X("form",{class:"relative",onSubmit:te(A,["prevent"])},[r(j,{title:l.$t("settings.account_settings.account_settings"),description:l.$t("settings.account_settings.section_description")},{default:d(()=>[r(D,null,{default:d(()=>[r(g,{label:l.$tc("settings.account_settings.profile_picture")},{default:d(()=>[r(w,{modelValue:e(f),"onUpdate:modelValue":a[0]||(a[0]=n=>Y(f)?f.value=n:f=n),avatar:!0,accept:"image/*",onChange:k,onRemove:N},null,8,["modelValue"])]),_:1},8,["label"]),ue,r(g,{label:l.$tc("settings.account_settings.name"),error:e(o).name.$error&&e(o).name.$errors[0].$message,required:""},{default:d(()=>[r(B,{modelValue:e(t).name,"onUpdate:modelValue":a[1]||(a[1]=n=>e(t).name=n),invalid:e(o).name.$error,onInput:a[2]||(a[2]=n=>e(o).name.$touch())},null,8,["modelValue","invalid"])]),_:1},8,["label","error"]),r(g,{label:l.$tc("settings.account_settings.email"),error:e(o).email.$error&&e(o).email.$errors[0].$message,required:""},{default:d(()=>[r(B,{modelValue:e(t).email,"onUpdate:modelValue":a[3]||(a[3]=n=>e(t).email=n),invalid:e(o).email.$error,onInput:a[4]||(a[4]=n=>e(o).email.$touch())},null,8,["modelValue","invalid"])]),_:1},8,["label","error"]),r(g,{error:e(o).password.$error&&e(o).password.$errors[0].$message,label:l.$tc("settings.account_settings.password")},{default:d(()=>[r(B,{modelValue:e(t).password,"onUpdate:modelValue":a[5]||(a[5]=n=>e(t).password=n),type:"password",onInput:a[6]||(a[6]=n=>e(o).password.$touch())},null,8,["modelValue"])]),_:1},8,["error","label"]),r(g,{label:l.$tc("settings.account_settings.confirm_password"),error:e(o).confirm_password.$error&&e(o).confirm_password.$errors[0].$message},{default:d(()=>[r(B,{modelValue:e(t).confirm_password,"onUpdate:modelValue":a[7]||(a[7]=n=>e(t).confirm_password=n),type:"password",onInput:a[8]||(a[8]=n=>e(o).confirm_password.$touch())},null,8,["modelValue"])]),_:1},8,["label","error"]),r(g,{label:l.$tc("settings.language")},{default:d(()=>[r(G,{modelValue:e(t).language,"onUpdate:modelValue":a[9]||(a[9]=n=>e(t).language=n),options:e(i).config.languages,label:"name","value-prop":"code","track-by":"name","open-direction":"top"},null,8,["modelValue","options"])]),_:1},8,["label"])]),_:1}),r(h,{loading:e(p),disabled:e(p),class:"mt-6"},{left:d(n=>[e(p)?ee("",!0):(M(),Z(R,{key:0,name:"SaveIcon",class:x(n.class)},null,8,["class"]))]),default:d(()=>[ae(" "+se(l.$tc("settings.company_info.save")),1)]),_:1},8,["loading","disabled"])]),_:1},8,["title","description"])],40,ie)}}};export{ce as default};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
import{_ as o}from"./main.465728e1.js";import{o as n,e as i,g as l,k as c,r as d,l as m,w as _,j as f,h as $,t as h,s as B}from"./vendor.d12b5734.js";const k={name:"List"},v={class:"list-none"};function x(e,r,t,s,a,p){return n(),i("div",v,[l(e.$slots,"default")])}var L=o(k,[["render",x]]);const y={name:"ListItem",props:{title:{type:String,required:!1,default:""},active:{type:Boolean,required:!0},index:{type:Number,default:null}},setup(e,{slots:r}){const t="cursor-pointer pb-2 pr-0 text-sm font-medium leading-5 flex items-center";let s=c(()=>!!r.icon),a=c(()=>e.active?`${t} text-primary-500`:`${t} text-gray-500`);return{hasIconSlot:s,containerClass:a}}},g={key:0,class:"mr-3"};function C(e,r,t,s,a,p){const u=d("router-link");return n(),m(u,B(e.$attrs,{class:s.containerClass}),{default:_(()=>[s.hasIconSlot?(n(),i("span",g,[l(e.$slots,"icon")])):f("",!0),$("span",null,h(t.title),1)]),_:3},16,["class"])}var b=o(y,[["render",C]]);export{b as B,L as a};

View File

@ -1 +0,0 @@
import{_ as o}from"./main.c7bd6c0e.js";import{o as n,e as c,g as i,k as l,r as u,l as m,w as _,j as f,h as $,t as h,s as B}from"./vendor.d12b5734.js";const k={name:"List"},v={class:"list-none"};function x(e,r,t,s,a,d){return n(),c("div",v,[i(e.$slots,"default")])}var I=o(k,[["render",x]]);const y={name:"ListItem",props:{title:{type:String,required:!1,default:""},active:{type:Boolean,required:!0},index:{type:Number,default:null}},setup(e,{slots:r}){const t="cursor-pointer pb-2 pr-0 text-sm font-medium leading-5 flex items-center";let s=l(()=>!!r.icon),a=l(()=>e.active?`${t} text-primary-500`:`${t} text-gray-500`);return{hasIconSlot:s,containerClass:a}}},g={key:0,class:"mr-3"};function C(e,r,t,s,a,d){const p=u("router-link");return n(),m(p,B(e.$attrs,{class:s.containerClass}),{default:_(()=>[s.hasIconSlot?(n(),c("span",g,[i(e.$slots,"icon")])):f("",!0),$("span",null,h(t.title),1)]),_:3},16,["class"])}var L=o(y,[["render",C]]);export{L as B,I as a};

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
import{J as j,B as k,k as g,L as y,M as N,N as L,S as T,T as q,r as i,o as B,l as b,w as r,h as m,i as f,t as C,u as e,f as n,m as D,j as G,U}from"./vendor.d12b5734.js";import{u as z}from"./category.970a47d6.js";import{c as E}from"./main.c7bd6c0e.js";const A={class:"flex justify-between w-full"},J=["onSubmit"],X={class:"p-8 sm:p-6"},F={class:"z-0 flex justify-end p-4 border-t border-gray-200 border-solid border-modal-bg"},Q={setup(H){const t=z(),u=E(),{t:p}=j();let c=k(!1);const h=g(()=>({currentCategory:{name:{required:y.withMessage(p("validation.required"),N),minLength:y.withMessage(p("validation.name_min_length",{count:3}),L(3))},description:{maxLength:y.withMessage(p("validation.description_maxlength",{count:255}),T(255))}}})),o=q(h,g(()=>t)),w=g(()=>u.active&&u.componentName==="CategoryModal");async function I(){if(o.value.currentCategory.$touch(),o.value.currentCategory.$invalid)return!0;const s=t.isEdit?t.updateCategory:t.addCategory;c.value=!0,await s(t.currentCategory),c.value=!1,u.refreshData&&u.refreshData(),d()}function d(){u.closeModal(),setTimeout(()=>{t.$reset(),o.value.$reset()},300)}return(s,a)=>{const v=i("BaseIcon"),x=i("BaseInput"),_=i("BaseInputGroup"),M=i("BaseTextarea"),V=i("BaseInputGrid"),$=i("BaseButton"),S=i("BaseModal");return B(),b(S,{show:e(w),onClose:d},{header:r(()=>[m("div",A,[f(C(e(u).title)+" ",1),n(v,{name:"XIcon",class:"w-6 h-6 text-gray-500 cursor-pointer",onClick:d})])]),default:r(()=>[m("form",{action:"",onSubmit:U(I,["prevent"])},[m("div",X,[n(V,{layout:"one-column"},{default:r(()=>[n(_,{label:s.$t("expenses.category"),error:e(o).currentCategory.name.$error&&e(o).currentCategory.name.$errors[0].$message,required:""},{default:r(()=>[n(x,{modelValue:e(t).currentCategory.name,"onUpdate:modelValue":a[0]||(a[0]=l=>e(t).currentCategory.name=l),invalid:e(o).currentCategory.name.$error,type:"text",onInput:a[1]||(a[1]=l=>e(o).currentCategory.name.$touch())},null,8,["modelValue","invalid"])]),_:1},8,["label","error"]),n(_,{label:s.$t("expenses.description"),error:e(o).currentCategory.description.$error&&e(o).currentCategory.description.$errors[0].$message},{default:r(()=>[n(M,{modelValue:e(t).currentCategory.description,"onUpdate:modelValue":a[2]||(a[2]=l=>e(t).currentCategory.description=l),rows:"4",cols:"50",onInput:a[3]||(a[3]=l=>e(o).currentCategory.description.$touch())},null,8,["modelValue"])]),_:1},8,["label","error"])]),_:1})]),m("div",F,[n($,{type:"button",variant:"primary-outline",class:"mr-3 text-sm",onClick:d},{default:r(()=>[f(C(s.$t("general.cancel")),1)]),_:1}),n($,{loading:e(c),disabled:e(c),variant:"primary",type:"submit"},{left:r(l=>[e(c)?G("",!0):(B(),b(v,{key:0,name:"SaveIcon",class:D(l.class)},null,8,["class"]))]),default:r(()=>[f(" "+C(e(t).isEdit?s.$t("general.update"):s.$t("general.save")),1)]),_:1},8,["loading","disabled"])])],40,J)]),_:1},8,["show"])}}};export{Q as _};
import{J as j,B as k,k as g,L as y,M as N,N as L,S as T,T as q,r as i,o as B,l as b,w as r,h as m,i as f,t as C,u as e,f as n,m as D,j as G,U}from"./vendor.d12b5734.js";import{u as z}from"./category.c88b90cd.js";import{c as E}from"./main.465728e1.js";const A={class:"flex justify-between w-full"},J=["onSubmit"],X={class:"p-8 sm:p-6"},F={class:"z-0 flex justify-end p-4 border-t border-gray-200 border-solid border-modal-bg"},Q={setup(H){const t=z(),u=E(),{t:p}=j();let c=k(!1);const h=g(()=>({currentCategory:{name:{required:y.withMessage(p("validation.required"),N),minLength:y.withMessage(p("validation.name_min_length",{count:3}),L(3))},description:{maxLength:y.withMessage(p("validation.description_maxlength",{count:255}),T(255))}}})),o=q(h,g(()=>t)),w=g(()=>u.active&&u.componentName==="CategoryModal");async function I(){if(o.value.currentCategory.$touch(),o.value.currentCategory.$invalid)return!0;const s=t.isEdit?t.updateCategory:t.addCategory;c.value=!0,await s(t.currentCategory),c.value=!1,u.refreshData&&u.refreshData(),d()}function d(){u.closeModal(),setTimeout(()=>{t.$reset(),o.value.$reset()},300)}return(s,a)=>{const v=i("BaseIcon"),x=i("BaseInput"),_=i("BaseInputGroup"),M=i("BaseTextarea"),V=i("BaseInputGrid"),$=i("BaseButton"),S=i("BaseModal");return B(),b(S,{show:e(w),onClose:d},{header:r(()=>[m("div",A,[f(C(e(u).title)+" ",1),n(v,{name:"XIcon",class:"w-6 h-6 text-gray-500 cursor-pointer",onClick:d})])]),default:r(()=>[m("form",{action:"",onSubmit:U(I,["prevent"])},[m("div",X,[n(V,{layout:"one-column"},{default:r(()=>[n(_,{label:s.$t("expenses.category"),error:e(o).currentCategory.name.$error&&e(o).currentCategory.name.$errors[0].$message,required:""},{default:r(()=>[n(x,{modelValue:e(t).currentCategory.name,"onUpdate:modelValue":a[0]||(a[0]=l=>e(t).currentCategory.name=l),invalid:e(o).currentCategory.name.$error,type:"text",onInput:a[1]||(a[1]=l=>e(o).currentCategory.name.$touch())},null,8,["modelValue","invalid"])]),_:1},8,["label","error"]),n(_,{label:s.$t("expenses.description"),error:e(o).currentCategory.description.$error&&e(o).currentCategory.description.$errors[0].$message},{default:r(()=>[n(M,{modelValue:e(t).currentCategory.description,"onUpdate:modelValue":a[2]||(a[2]=l=>e(t).currentCategory.description=l),rows:"4",cols:"50",onInput:a[3]||(a[3]=l=>e(o).currentCategory.description.$touch())},null,8,["modelValue"])]),_:1},8,["label","error"])]),_:1})]),m("div",F,[n($,{type:"button",variant:"primary-outline",class:"mr-3 text-sm",onClick:d},{default:r(()=>[f(C(s.$t("general.cancel")),1)]),_:1}),n($,{loading:e(c),disabled:e(c),variant:"primary",type:"submit"},{left:r(l=>[e(c)?G("",!0):(B(),b(v,{key:0,name:"SaveIcon",class:D(l.class)},null,8,["class"]))]),default:r(()=>[f(" "+C(e(t).isEdit?s.$t("general.update"):s.$t("general.save")),1)]),_:1},8,["loading","disabled"])])],40,J)]),_:1},8,["show"])}}};export{Q as _};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
var I=Object.defineProperty,b=Object.defineProperties;var g=Object.getOwnPropertyDescriptors;var y=Object.getOwnPropertySymbols;var q=Object.prototype.hasOwnProperty,h=Object.prototype.propertyIsEnumerable;var f=(e,t,r)=>t in e?I(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,_=(e,t)=>{for(var r in t||(t={}))q.call(t,r)&&f(e,r,t[r]);if(y)for(var r of y(t))h.call(t,r)&&f(e,r,t[r]);return e},v=(e,t)=>b(e,g(t));import{J as j,L as w,O as V,T as L,k as T,aE as F,r as E,o as n,l as m,w as P,aj as O,u as c,_ as S,C as x,e as D,f as A,F as R,y as k,j as B,I as C}from"./vendor.d12b5734.js";import{o as i,m as Y}from"./main.c7bd6c0e.js";function $(e){switch(e){case"./types/DateTimeType.vue":return i(()=>import("./DateTimeType.6886ff98.js"),["assets/DateTimeType.6886ff98.js","assets/vendor.d12b5734.js"]);case"./types/DateType.vue":return i(()=>import("./DateType.12fc8765.js"),["assets/DateType.12fc8765.js","assets/vendor.d12b5734.js"]);case"./types/DropdownType.vue":return i(()=>import("./DropdownType.2d01b840.js"),["assets/DropdownType.2d01b840.js","assets/vendor.d12b5734.js"]);case"./types/InputType.vue":return i(()=>import("./InputType.cf0dfc7c.js"),["assets/InputType.cf0dfc7c.js","assets/vendor.d12b5734.js"]);case"./types/NumberType.vue":return i(()=>import("./NumberType.7b73360f.js"),["assets/NumberType.7b73360f.js","assets/vendor.d12b5734.js"]);case"./types/PhoneType.vue":return i(()=>import("./PhoneType.29ae66c8.js"),["assets/PhoneType.29ae66c8.js","assets/vendor.d12b5734.js"]);case"./types/SwitchType.vue":return i(()=>import("./SwitchType.591a8b07.js"),["assets/SwitchType.591a8b07.js","assets/vendor.d12b5734.js"]);case"./types/TextAreaType.vue":return i(()=>import("./TextAreaType.27565abe.js"),["assets/TextAreaType.27565abe.js","assets/vendor.d12b5734.js"]);case"./types/TimeType.vue":return i(()=>import("./TimeType.8ac8afd1.js"),["assets/TimeType.8ac8afd1.js","assets/vendor.d12b5734.js"]);case"./types/UrlType.vue":return i(()=>import("./UrlType.d123ab64.js"),["assets/UrlType.d123ab64.js","assets/vendor.d12b5734.js"]);default:return new Promise(function(t,r){(typeof queueMicrotask=="function"?queueMicrotask:setTimeout)(r.bind(null,new Error("Unknown variable dynamic import: "+e)))})}}const M={props:{field:{type:Object,required:!0},customFieldScope:{type:String,required:!0},index:{type:Number,required:!0},store:{type:Object,required:!0},storeProp:{type:String,required:!0}},setup(e){const t=e,{t:r}=j(),d={value:{required:w.withMessage(r("validation.required"),V(t.field.is_required))}},a=L(d,T(()=>t.field),{$scope:t.customFieldScope}),o=T(()=>t.field.type?F(()=>$(`./types/${t.field.type}Type.vue`)):!1);return(u,s)=>{const l=E("BaseInputGroup");return n(),m(l,{label:e.field.label,required:!!e.field.is_required,error:c(a).value.$error&&c(a).value.$errors[0].$message},{default:P(()=>[(n(),m(O(c(o)),{modelValue:e.field.value,"onUpdate:modelValue":s[0]||(s[0]=p=>e.field.value=p),options:e.field.options,invalid:c(a).value.$error,placeholder:e.field.placeholder},null,8,["modelValue","options","invalid","placeholder"]))]),_:1},8,["label","required","error"])}}},N={key:0},J={props:{store:{type:Object,required:!0},storeProp:{type:String,required:!0},isEdit:{type:Boolean,default:!1},type:{type:String,default:null},gridLayout:{type:String,default:"two-column"},isLoading:{type:Boolean,default:null},customFieldScope:{type:String,required:!0}},setup(e){const t=e,r=Y();a();function d(){t.isEdit&&t.store[t.storeProp].fields.forEach(o=>{const u=t.store[t.storeProp].customFields.findIndex(s=>s.id===o.custom_field_id);if(u>-1){let s=o.default_answer;s&&o.custom_field.type==="DateTime"&&(s=C(o.default_answer,"YYYY-MM-DD HH:mm:ss").format("YYYY-MM-DD HH:mm")),t.store[t.storeProp].customFields[u]=v(_({},o),{id:o.custom_field_id,value:s,label:o.custom_field.label,options:o.custom_field.options,is_required:o.custom_field.is_required,placeholder:o.custom_field.placeholder,order:o.custom_field.order})}})}async function a(){let u=(await r.fetchCustomFields({type:t.type,limit:"all"})).data.data;u.map(s=>s.value=s.default_answer),t.store[t.storeProp].customFields=S.sortBy(u,s=>s.order),d()}return x(()=>t.store[t.storeProp].fields,o=>{d()}),(o,u)=>{const s=E("BaseInputGrid");return e.store[e.storeProp]&&e.store[e.storeProp].customFields.length>0&&!e.isLoading?(n(),D("div",N,[A(s,{layout:e.gridLayout},{default:P(()=>[(n(!0),D(R,null,k(e.store[e.storeProp].customFields,(l,p)=>(n(),m(M,{key:l.id,"custom-field-scope":e.customFieldScope,store:e.store,"store-prop":e.storeProp,index:p,field:l},null,8,["custom-field-scope","store","store-prop","index","field"]))),128))]),_:1},8,["layout"])])):B("",!0)}}};export{J as _};
var I=Object.defineProperty,b=Object.defineProperties;var g=Object.getOwnPropertyDescriptors;var y=Object.getOwnPropertySymbols;var q=Object.prototype.hasOwnProperty,h=Object.prototype.propertyIsEnumerable;var f=(e,t,r)=>t in e?I(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,_=(e,t)=>{for(var r in t||(t={}))q.call(t,r)&&f(e,r,t[r]);if(y)for(var r of y(t))h.call(t,r)&&f(e,r,t[r]);return e},v=(e,t)=>b(e,g(t));import{J as j,L as w,O as V,T as L,k as T,aE as F,r as E,o as n,l as m,w as P,aj as O,u as c,_ as S,C as x,e as D,f as A,F as R,y as k,j as B,I as C}from"./vendor.d12b5734.js";import{o as i,m as Y}from"./main.465728e1.js";function $(e){switch(e){case"./types/DateTimeType.vue":return i(()=>import("./DateTimeType.6886ff98.js"),["assets/DateTimeType.6886ff98.js","assets/vendor.d12b5734.js"]);case"./types/DateType.vue":return i(()=>import("./DateType.12fc8765.js"),["assets/DateType.12fc8765.js","assets/vendor.d12b5734.js"]);case"./types/DropdownType.vue":return i(()=>import("./DropdownType.2d01b840.js"),["assets/DropdownType.2d01b840.js","assets/vendor.d12b5734.js"]);case"./types/InputType.vue":return i(()=>import("./InputType.cf0dfc7c.js"),["assets/InputType.cf0dfc7c.js","assets/vendor.d12b5734.js"]);case"./types/NumberType.vue":return i(()=>import("./NumberType.7b73360f.js"),["assets/NumberType.7b73360f.js","assets/vendor.d12b5734.js"]);case"./types/PhoneType.vue":return i(()=>import("./PhoneType.29ae66c8.js"),["assets/PhoneType.29ae66c8.js","assets/vendor.d12b5734.js"]);case"./types/SwitchType.vue":return i(()=>import("./SwitchType.591a8b07.js"),["assets/SwitchType.591a8b07.js","assets/vendor.d12b5734.js"]);case"./types/TextAreaType.vue":return i(()=>import("./TextAreaType.27565abe.js"),["assets/TextAreaType.27565abe.js","assets/vendor.d12b5734.js"]);case"./types/TimeType.vue":return i(()=>import("./TimeType.8ac8afd1.js"),["assets/TimeType.8ac8afd1.js","assets/vendor.d12b5734.js"]);case"./types/UrlType.vue":return i(()=>import("./UrlType.d123ab64.js"),["assets/UrlType.d123ab64.js","assets/vendor.d12b5734.js"]);default:return new Promise(function(t,r){(typeof queueMicrotask=="function"?queueMicrotask:setTimeout)(r.bind(null,new Error("Unknown variable dynamic import: "+e)))})}}const M={props:{field:{type:Object,required:!0},customFieldScope:{type:String,required:!0},index:{type:Number,required:!0},store:{type:Object,required:!0},storeProp:{type:String,required:!0}},setup(e){const t=e,{t:r}=j(),d={value:{required:w.withMessage(r("validation.required"),V(t.field.is_required))}},a=L(d,T(()=>t.field),{$scope:t.customFieldScope}),o=T(()=>t.field.type?F(()=>$(`./types/${t.field.type}Type.vue`)):!1);return(u,s)=>{const l=E("BaseInputGroup");return n(),m(l,{label:e.field.label,required:!!e.field.is_required,error:c(a).value.$error&&c(a).value.$errors[0].$message},{default:P(()=>[(n(),m(O(c(o)),{modelValue:e.field.value,"onUpdate:modelValue":s[0]||(s[0]=p=>e.field.value=p),options:e.field.options,invalid:c(a).value.$error,placeholder:e.field.placeholder},null,8,["modelValue","options","invalid","placeholder"]))]),_:1},8,["label","required","error"])}}},N={key:0},J={props:{store:{type:Object,required:!0},storeProp:{type:String,required:!0},isEdit:{type:Boolean,default:!1},type:{type:String,default:null},gridLayout:{type:String,default:"two-column"},isLoading:{type:Boolean,default:null},customFieldScope:{type:String,required:!0}},setup(e){const t=e,r=Y();a();function d(){t.isEdit&&t.store[t.storeProp].fields.forEach(o=>{const u=t.store[t.storeProp].customFields.findIndex(s=>s.id===o.custom_field_id);if(u>-1){let s=o.default_answer;s&&o.custom_field.type==="DateTime"&&(s=C(o.default_answer,"YYYY-MM-DD HH:mm:ss").format("YYYY-MM-DD HH:mm")),t.store[t.storeProp].customFields[u]=v(_({},o),{id:o.custom_field_id,value:s,label:o.custom_field.label,options:o.custom_field.options,is_required:o.custom_field.is_required,placeholder:o.custom_field.placeholder,order:o.custom_field.order})}})}async function a(){let u=(await r.fetchCustomFields({type:t.type,limit:"all"})).data.data;u.map(s=>s.value=s.default_answer),t.store[t.storeProp].customFields=S.sortBy(u,s=>s.order),d()}return x(()=>t.store[t.storeProp].fields,o=>{d()}),(o,u)=>{const s=E("BaseInputGrid");return e.store[e.storeProp]&&e.store[e.storeProp].customFields.length>0&&!e.isLoading?(n(),D("div",N,[A(s,{layout:e.gridLayout},{default:P(()=>[(n(!0),D(R,null,k(e.store[e.storeProp].customFields,(l,p)=>(n(),m(M,{key:l.id,"custom-field-scope":e.customFieldScope,store:e.store,"store-prop":e.storeProp,index:p,field:l},null,8,["custom-field-scope","store","store-prop","index","field"]))),128))]),_:1},8,["layout"])])):B("",!0)}}};export{J as _};

View File

@ -1 +1 @@
import{l as k,u as S,j as C,e as x,g}from"./main.c7bd6c0e.js";import{J as E,G as j,aN as T,ah as N,r as l,o as a,l as s,w as t,u as e,f as n,i as p,t as f,j as y}from"./vendor.d12b5734.js";const V={props:{row:{type:Object,default:null},table:{type:Object,default:null},loadData:{type:Function,default:()=>{}}},setup(i){const w=i,_=k();S();const v=C(),m=x(),{t:u}=E(),h=j();T(),N("utils");function B(r){v.openDialog({title:u("general.are_you_sure"),message:u("customers.confirm_delete",1),yesLabel:u("general.ok"),noLabel:u("general.cancel"),variant:"danger",hideNoButton:!1,size:"lg"}).then(c=>{c&&_.deleteCustomer({ids:[r]}).then(o=>{if(o.data.success)return w.loadData&&w.loadData(),!0})})}return(r,c)=>{const o=l("BaseIcon"),I=l("BaseButton"),d=l("BaseDropdownItem"),D=l("router-link"),b=l("BaseDropdown");return a(),s(b,{"content-loading":e(_).isFetchingViewData},{activator:t(()=>[e(h).name==="customers.view"?(a(),s(I,{key:0,variant:"primary"},{default:t(()=>[n(o,{name:"DotsHorizontalIcon",class:"h-5 text-white"})]),_:1})):(a(),s(o,{key:1,name:"DotsHorizontalIcon",class:"h-5 text-gray-500"}))]),default:t(()=>[e(m).hasAbilities(e(g).EDIT_CUSTOMER)?(a(),s(D,{key:0,to:`/admin/customers/${i.row.id}/edit`},{default:t(()=>[n(d,null,{default:t(()=>[n(o,{name:"PencilIcon",class:"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500"}),p(" "+f(r.$t("general.edit")),1)]),_:1})]),_:1},8,["to"])):y("",!0),e(h).name!=="customers.view"&&e(m).hasAbilities(e(g).VIEW_CUSTOMER)?(a(),s(D,{key:1,to:`customers/${i.row.id}/view`},{default:t(()=>[n(d,null,{default:t(()=>[n(o,{name:"EyeIcon",class:"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500"}),p(" "+f(r.$t("general.view")),1)]),_:1})]),_:1},8,["to"])):y("",!0),e(m).hasAbilities(e(g).DELETE_CUSTOMER)?(a(),s(d,{key:2,onClick:c[0]||(c[0]=$=>B(i.row.id))},{default:t(()=>[n(o,{name:"TrashIcon",class:"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500"}),p(" "+f(r.$t("general.delete")),1)]),_:1})):y("",!0)]),_:1},8,["content-loading"])}}};export{V as _};
import{l as S,u as b,j as C,e as x,g}from"./main.465728e1.js";import{J as E,G as j,aN as T,ah as N,r as l,o as a,l as s,w as t,u as e,f as n,i as p,t as f,j as y}from"./vendor.d12b5734.js";const V={props:{row:{type:Object,default:null},table:{type:Object,default:null},loadData:{type:Function,default:()=>{}}},setup(i){const w=i,_=S();b();const v=C(),m=x(),{t:u}=E(),h=j();T(),N("utils");function B(r){v.openDialog({title:u("general.are_you_sure"),message:u("customers.confirm_delete",1),yesLabel:u("general.ok"),noLabel:u("general.cancel"),variant:"danger",hideNoButton:!1,size:"lg"}).then(c=>{c&&_.deleteCustomer({ids:[r]}).then(o=>{if(o.data.success)return w.loadData&&w.loadData(),!0})})}return(r,c)=>{const o=l("BaseIcon"),I=l("BaseButton"),d=l("BaseDropdownItem"),D=l("router-link"),k=l("BaseDropdown");return a(),s(k,{"content-loading":e(_).isFetchingViewData},{activator:t(()=>[e(h).name==="customers.view"?(a(),s(I,{key:0,variant:"primary"},{default:t(()=>[n(o,{name:"DotsHorizontalIcon",class:"h-5 text-white"})]),_:1})):(a(),s(o,{key:1,name:"DotsHorizontalIcon",class:"h-5 text-gray-500"}))]),default:t(()=>[e(m).hasAbilities(e(g).EDIT_CUSTOMER)?(a(),s(D,{key:0,to:`/admin/customers/${i.row.id}/edit`},{default:t(()=>[n(d,null,{default:t(()=>[n(o,{name:"PencilIcon",class:"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500"}),p(" "+f(r.$t("general.edit")),1)]),_:1})]),_:1},8,["to"])):y("",!0),e(h).name!=="customers.view"&&e(m).hasAbilities(e(g).VIEW_CUSTOMER)?(a(),s(D,{key:1,to:`customers/${i.row.id}/view`},{default:t(()=>[n(d,null,{default:t(()=>[n(o,{name:"EyeIcon",class:"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500"}),p(" "+f(r.$t("general.view")),1)]),_:1})]),_:1},8,["to"])):y("",!0),e(m).hasAbilities(e(g).DELETE_CUSTOMER)?(a(),s(d,{key:2,onClick:c[0]||(c[0]=$=>B(i.row.id))},{default:t(()=>[n(o,{name:"TrashIcon",class:"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500"}),p(" "+f(r.$t("general.delete")),1)]),_:1})):y("",!0)]),_:1},8,["content-loading"])}}};export{V as _};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,4 +1,4 @@
import{aU as $r,aV as Br,aQ as Kr,aW as Hr,o as Wr,e as Xr,h as Yr}from"./vendor.d12b5734.js";import{_ as Vr}from"./main.c7bd6c0e.js";var gr={exports:{}};/**!
import{aU as $r,aV as Br,aQ as Kr,aW as Hr,o as Wr,e as Xr,h as Yr}from"./vendor.d12b5734.js";import{_ as Vr}from"./main.465728e1.js";var gr={exports:{}};/**!
* Sortable 1.14.0
* @author RubaXa <trash@rubaxa.org>
* @author owenm <owen23355@gmail.com>

View File

@ -1 +1 @@
import{_ as r}from"./main.c7bd6c0e.js";import{o as s,e as o,h as C,m as l}from"./vendor.d12b5734.js";const n={},i={width:"50",height:"50",viewBox:"0 0 50 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},_=C("circle",{cx:"25",cy:"25",r:"25",fill:"#FDE4E5"},null,-1),a=C("path",{d:"M27.2031 23.6016C28.349 23.9401 29.2083 24.6562 29.7812 25.75C30.3802 26.8438 30.4714 27.9766 30.0547 29.1484C29.7422 30.0078 29.2083 30.6979 28.4531 31.2188C27.6979 31.7135 26.8516 31.974 25.9141 32V33.875C25.9141 34.0573 25.849 34.2005 25.7188 34.3047C25.6146 34.4349 25.4714 34.5 25.2891 34.5H24.0391C23.8568 34.5 23.7005 34.4349 23.5703 34.3047C23.4661 34.2005 23.4141 34.0573 23.4141 33.875V32C22.1641 32 21.0443 31.6094 20.0547 30.8281C19.8984 30.6979 19.8073 30.5417 19.7812 30.3594C19.7552 30.1771 19.8203 30.0208 19.9766 29.8906L21.3047 28.5625C21.5651 28.3281 21.8255 28.3021 22.0859 28.4844C22.4766 28.7448 22.9193 28.875 23.4141 28.875H25.9922C26.3307 28.875 26.6042 28.7708 26.8125 28.5625C27.0469 28.3281 27.1641 28.0417 27.1641 27.7031C27.1641 27.1302 26.8906 26.7656 26.3438 26.6094L22.3203 25.4375C21.4349 25.1771 20.6927 24.7083 20.0938 24.0312C19.4948 23.3542 19.1432 22.5729 19.0391 21.6875C18.9349 20.4115 19.2995 19.3177 20.1328 18.4062C20.9922 17.4688 22.0599 17 23.3359 17H23.4141V15.125C23.4141 14.9427 23.4661 14.7995 23.5703 14.6953C23.7005 14.5651 23.8568 14.5 24.0391 14.5H25.2891C25.4714 14.5 25.6146 14.5651 25.7188 14.6953C25.849 14.7995 25.9141 14.9427 25.9141 15.125V17C27.1641 17 28.2839 17.3906 29.2734 18.1719C29.4297 18.3021 29.5208 18.4583 29.5469 18.6406C29.5729 18.8229 29.5078 18.9792 29.3516 19.1094L28.0234 20.4375C27.763 20.6719 27.5026 20.6979 27.2422 20.5156C26.8516 20.2552 26.4089 20.125 25.9141 20.125H23.3359C22.9974 20.125 22.7109 20.2422 22.4766 20.4766C22.2682 20.6849 22.1641 20.9583 22.1641 21.2969C22.1641 21.5312 22.2422 21.7526 22.3984 21.9609C22.5547 22.1693 22.75 22.3125 22.9844 22.3906L27.2031 23.6016Z",fill:"#FB7178"},null,-1),h=[_,a];function H(t,e){return s(),o("svg",i,h)}var g=r(n,[["render",H]]);const V=C("circle",{cx:"25",cy:"25",r:"25",fill:"#EAF1FB"},null,-1),d=C("path",{d:"M28.25 24.5V27H20.75V24.5H28.25ZM31.7266 18.6016C31.9089 18.7839 32 19.0052 32 19.2656V19.5H27V14.5H27.2344C27.4948 14.5 27.7161 14.5911 27.8984 14.7734L31.7266 18.6016ZM25.75 19.8125C25.75 20.0729 25.8411 20.2943 26.0234 20.4766C26.2057 20.6589 26.4271 20.75 26.6875 20.75H32V33.5625C32 33.8229 31.9089 34.0443 31.7266 34.2266C31.5443 34.4089 31.3229 34.5 31.0625 34.5H17.9375C17.6771 34.5 17.4557 34.4089 17.2734 34.2266C17.0911 34.0443 17 33.8229 17 33.5625V15.4375C17 15.1771 17.0911 14.9557 17.2734 14.7734C17.4557 14.5911 17.6771 14.5 17.9375 14.5H25.75V19.8125ZM19.5 17.3125V17.9375C19.5 18.1458 19.6042 18.25 19.8125 18.25H22.9375C23.1458 18.25 23.25 18.1458 23.25 17.9375V17.3125C23.25 17.1042 23.1458 17 22.9375 17H19.8125C19.6042 17 19.5 17.1042 19.5 17.3125ZM19.5 19.8125V20.4375C19.5 20.6458 19.6042 20.75 19.8125 20.75H22.9375C23.1458 20.75 23.25 20.6458 23.25 20.4375V19.8125C23.25 19.6042 23.1458 19.5 22.9375 19.5H19.8125C19.6042 19.5 19.5 19.6042 19.5 19.8125ZM29.5 31.6875V31.0625C29.5 30.8542 29.3958 30.75 29.1875 30.75H26.0625C25.8542 30.75 25.75 30.8542 25.75 31.0625V31.6875C25.75 31.8958 25.8542 32 26.0625 32H29.1875C29.3958 32 29.5 31.8958 29.5 31.6875ZM29.5 23.875C29.5 23.6927 29.4349 23.5495 29.3047 23.4453C29.2005 23.3151 29.0573 23.25 28.875 23.25H20.125C19.9427 23.25 19.7865 23.3151 19.6562 23.4453C19.5521 23.5495 19.5 23.6927 19.5 23.875V27.625C19.5 27.8073 19.5521 27.9635 19.6562 28.0938C19.7865 28.1979 19.9427 28.25 20.125 28.25H28.875C29.0573 28.25 29.2005 28.1979 29.3047 28.0938C29.4349 27.9635 29.5 27.8073 29.5 27.625V23.875Z",fill:"currentColor"},null,-1),p=[V,d],v={props:{colorClass:{type:String,default:"text-primary-500"}},setup(t){return(e,c)=>(s(),o("svg",{width:"50",height:"50",viewBox:"0 0 50 50",fill:"none",xmlns:"http://www.w3.org/2000/svg",class:l(t.colorClass)},p,2))}},f=C("circle",{cx:"25",cy:"25",r:"25",fill:"#EAF1FB"},null,-1),u=C("path",{d:"M26.75 19.8125C26.75 20.0729 26.8411 20.2943 27.0234 20.4766C27.2057 20.6589 27.4271 20.75 27.6875 20.75H33V33.5625C33 33.8229 32.9089 34.0443 32.7266 34.2266C32.5443 34.4089 32.3229 34.5 32.0625 34.5H18.9375C18.6771 34.5 18.4557 34.4089 18.2734 34.2266C18.0911 34.0443 18 33.8229 18 33.5625V15.4375C18 15.1771 18.0911 14.9557 18.2734 14.7734C18.4557 14.5911 18.6771 14.5 18.9375 14.5H26.75V19.8125ZM33 19.2656V19.5H28V14.5H28.2344C28.4948 14.5 28.7161 14.5911 28.8984 14.7734L32.7266 18.6016C32.9089 18.7839 33 19.0052 33 19.2656Z",fill:"currentColor"},null,-1),w=[f,u],M={props:{colorClass:{type:String,default:"text-primary-500"}},setup(t){return(e,c)=>(s(),o("svg",{width:"50",height:"50",viewBox:"0 0 50 50",fill:"none",xmlns:"http://www.w3.org/2000/svg",class:l(t.colorClass)},w,2))}};export{g as D,v as _,M as a};
import{_ as r}from"./main.465728e1.js";import{o as s,e as o,h as C,m as l}from"./vendor.d12b5734.js";const n={},i={width:"50",height:"50",viewBox:"0 0 50 50",fill:"none",xmlns:"http://www.w3.org/2000/svg"},_=C("circle",{cx:"25",cy:"25",r:"25",fill:"#FDE4E5"},null,-1),a=C("path",{d:"M27.2031 23.6016C28.349 23.9401 29.2083 24.6562 29.7812 25.75C30.3802 26.8438 30.4714 27.9766 30.0547 29.1484C29.7422 30.0078 29.2083 30.6979 28.4531 31.2188C27.6979 31.7135 26.8516 31.974 25.9141 32V33.875C25.9141 34.0573 25.849 34.2005 25.7188 34.3047C25.6146 34.4349 25.4714 34.5 25.2891 34.5H24.0391C23.8568 34.5 23.7005 34.4349 23.5703 34.3047C23.4661 34.2005 23.4141 34.0573 23.4141 33.875V32C22.1641 32 21.0443 31.6094 20.0547 30.8281C19.8984 30.6979 19.8073 30.5417 19.7812 30.3594C19.7552 30.1771 19.8203 30.0208 19.9766 29.8906L21.3047 28.5625C21.5651 28.3281 21.8255 28.3021 22.0859 28.4844C22.4766 28.7448 22.9193 28.875 23.4141 28.875H25.9922C26.3307 28.875 26.6042 28.7708 26.8125 28.5625C27.0469 28.3281 27.1641 28.0417 27.1641 27.7031C27.1641 27.1302 26.8906 26.7656 26.3438 26.6094L22.3203 25.4375C21.4349 25.1771 20.6927 24.7083 20.0938 24.0312C19.4948 23.3542 19.1432 22.5729 19.0391 21.6875C18.9349 20.4115 19.2995 19.3177 20.1328 18.4062C20.9922 17.4688 22.0599 17 23.3359 17H23.4141V15.125C23.4141 14.9427 23.4661 14.7995 23.5703 14.6953C23.7005 14.5651 23.8568 14.5 24.0391 14.5H25.2891C25.4714 14.5 25.6146 14.5651 25.7188 14.6953C25.849 14.7995 25.9141 14.9427 25.9141 15.125V17C27.1641 17 28.2839 17.3906 29.2734 18.1719C29.4297 18.3021 29.5208 18.4583 29.5469 18.6406C29.5729 18.8229 29.5078 18.9792 29.3516 19.1094L28.0234 20.4375C27.763 20.6719 27.5026 20.6979 27.2422 20.5156C26.8516 20.2552 26.4089 20.125 25.9141 20.125H23.3359C22.9974 20.125 22.7109 20.2422 22.4766 20.4766C22.2682 20.6849 22.1641 20.9583 22.1641 21.2969C22.1641 21.5312 22.2422 21.7526 22.3984 21.9609C22.5547 22.1693 22.75 22.3125 22.9844 22.3906L27.2031 23.6016Z",fill:"#FB7178"},null,-1),h=[_,a];function H(t,e){return s(),o("svg",i,h)}var g=r(n,[["render",H]]);const V=C("circle",{cx:"25",cy:"25",r:"25",fill:"#EAF1FB"},null,-1),d=C("path",{d:"M28.25 24.5V27H20.75V24.5H28.25ZM31.7266 18.6016C31.9089 18.7839 32 19.0052 32 19.2656V19.5H27V14.5H27.2344C27.4948 14.5 27.7161 14.5911 27.8984 14.7734L31.7266 18.6016ZM25.75 19.8125C25.75 20.0729 25.8411 20.2943 26.0234 20.4766C26.2057 20.6589 26.4271 20.75 26.6875 20.75H32V33.5625C32 33.8229 31.9089 34.0443 31.7266 34.2266C31.5443 34.4089 31.3229 34.5 31.0625 34.5H17.9375C17.6771 34.5 17.4557 34.4089 17.2734 34.2266C17.0911 34.0443 17 33.8229 17 33.5625V15.4375C17 15.1771 17.0911 14.9557 17.2734 14.7734C17.4557 14.5911 17.6771 14.5 17.9375 14.5H25.75V19.8125ZM19.5 17.3125V17.9375C19.5 18.1458 19.6042 18.25 19.8125 18.25H22.9375C23.1458 18.25 23.25 18.1458 23.25 17.9375V17.3125C23.25 17.1042 23.1458 17 22.9375 17H19.8125C19.6042 17 19.5 17.1042 19.5 17.3125ZM19.5 19.8125V20.4375C19.5 20.6458 19.6042 20.75 19.8125 20.75H22.9375C23.1458 20.75 23.25 20.6458 23.25 20.4375V19.8125C23.25 19.6042 23.1458 19.5 22.9375 19.5H19.8125C19.6042 19.5 19.5 19.6042 19.5 19.8125ZM29.5 31.6875V31.0625C29.5 30.8542 29.3958 30.75 29.1875 30.75H26.0625C25.8542 30.75 25.75 30.8542 25.75 31.0625V31.6875C25.75 31.8958 25.8542 32 26.0625 32H29.1875C29.3958 32 29.5 31.8958 29.5 31.6875ZM29.5 23.875C29.5 23.6927 29.4349 23.5495 29.3047 23.4453C29.2005 23.3151 29.0573 23.25 28.875 23.25H20.125C19.9427 23.25 19.7865 23.3151 19.6562 23.4453C19.5521 23.5495 19.5 23.6927 19.5 23.875V27.625C19.5 27.8073 19.5521 27.9635 19.6562 28.0938C19.7865 28.1979 19.9427 28.25 20.125 28.25H28.875C29.0573 28.25 29.2005 28.1979 29.3047 28.0938C29.4349 27.9635 29.5 27.8073 29.5 27.625V23.875Z",fill:"currentColor"},null,-1),p=[V,d],v={props:{colorClass:{type:String,default:"text-primary-500"}},setup(t){return(e,c)=>(s(),o("svg",{width:"50",height:"50",viewBox:"0 0 50 50",fill:"none",xmlns:"http://www.w3.org/2000/svg",class:l(t.colorClass)},p,2))}},f=C("circle",{cx:"25",cy:"25",r:"25",fill:"#EAF1FB"},null,-1),u=C("path",{d:"M26.75 19.8125C26.75 20.0729 26.8411 20.2943 27.0234 20.4766C27.2057 20.6589 27.4271 20.75 27.6875 20.75H33V33.5625C33 33.8229 32.9089 34.0443 32.7266 34.2266C32.5443 34.4089 32.3229 34.5 32.0625 34.5H18.9375C18.6771 34.5 18.4557 34.4089 18.2734 34.2266C18.0911 34.0443 18 33.8229 18 33.5625V15.4375C18 15.1771 18.0911 14.9557 18.2734 14.7734C18.4557 14.5911 18.6771 14.5 18.9375 14.5H26.75V19.8125ZM33 19.2656V19.5H28V14.5H28.2344C28.4948 14.5 28.7161 14.5911 28.8984 14.7734L32.7266 18.6016C32.9089 18.7839 33 19.0052 33 19.2656Z",fill:"currentColor"},null,-1),w=[f,u],M={props:{colorClass:{type:String,default:"text-primary-500"}},setup(t){return(e,c)=>(s(),o("svg",{width:"50",height:"50",viewBox:"0 0 50 50",fill:"none",xmlns:"http://www.w3.org/2000/svg",class:l(t.colorClass)},w,2))}};export{g as D,v as _,M as a};

View File

@ -1 +1 @@
import{d as V,b as _}from"./main.c7bd6c0e.js";import{u as D}from"./exchange-rate.70a72e5f.js";import{B as p,k as u,C as l,b1 as F,r as d,K as N,u as n,o as x,l as A,w as h,e as G,q,f as v,m as L,j as C,h as b,t as E}from"./vendor.d12b5734.js";const O={key:0},U={class:"text-gray-500 sm:text-sm"},z={class:"text-gray-400 text-xs mt-2 font-light"},M={props:{v:{type:Object,default:null},isLoading:{type:Boolean,default:!1},store:{type:Object,default:null},storeProp:{type:String,default:""},isEdit:{type:Boolean,default:!1},customerCurrency:{type:[String,Number],default:null}},setup(r){const e=r,m=V(),B=_(),g=D(),f=p(!1);let a=p(!1);m.fetchCurrencies();const s=u(()=>B.selectedCompanyCurrency),c=u(()=>m.currencies.find(t=>t.id===e.store[e.storeProp].currency_id)),P=u(()=>s.value.id!==e.customerCurrency);l(()=>e.store[e.storeProp].customer,t=>{R(t)},{deep:!0}),l(()=>e.store[e.storeProp].currency_id,t=>{$(t)},{immediate:!0}),l(()=>e.customerCurrency,t=>{t&&e.isEdit&&w()},{immediate:!0});function w(){P.value&&g.checkForActiveProvider(e.customerCurrency).then(t=>{t.data.success&&(f.value=!0)})}function R(t){t?e.store[e.storeProp].currency_id=t.currency.id:e.store[e.storeProp].currency_id=s.value.id}async function $(t){t!==s.value.id?(!e.isEdit&&t&&await y(t),e.store.showExchangeRate=!0):e.store.showExchangeRate=!1}function y(t){a.value=!0,g.getCurrentExchangeRate(t).then(o=>{o.data&&!o.data.error?e.store[e.storeProp].exchange_rate=o.data.exchangeRate[0]:e.store[e.storeProp].exchange_rate="",a.value=!1}).catch(o=>{a.value=!1})}return F(()=>{e.store.showExchangeRate=!1}),(t,o)=>{const k=d("BaseIcon"),S=d("BaseInput"),I=d("BaseInputGroup"),j=N("tooltip");return r.store.showExchangeRate&&n(c)?(x(),A(I,{key:0,"content-loading":n(a)&&!r.isEdit,label:t.$t("settings.exchange_rate.exchange_rate"),error:r.v.exchange_rate.$error&&r.v.exchange_rate.$errors[0].$message,required:""},{labelRight:h(()=>[f.value&&r.isEdit?(x(),G("div",O,[q(v(k,{name:"RefreshIcon",class:L(`h-4 w-4 text-primary-500 cursor-pointer outline-none ${n(a)?" animate-spin rotate-180 cursor-not-allowed pointer-events-none ":""}`),onClick:o[0]||(o[0]=i=>y(r.customerCurrency))},null,8,["class"]),[[j,{content:"Fetch Latest Exchange rate"}]])])):C("",!0)]),default:h(()=>[v(S,{modelValue:r.store[r.storeProp].exchange_rate,"onUpdate:modelValue":o[1]||(o[1]=i=>r.store[r.storeProp].exchange_rate=i),"content-loading":n(a)&&!r.isEdit,addon:`1 ${n(c).code} =`,disabled:n(a),onInput:o[2]||(o[2]=i=>r.v.exchange_rate.$touch())},{right:h(()=>[b("span",U,E(n(s).code),1)]),_:1},8,["modelValue","content-loading","addon","disabled"]),b("span",z,E(t.$t("settings.exchange_rate.exchange_help_text",{currency:n(c).code,baseCurrency:n(s).code})),1)]),_:1},8,["content-loading","label","error"])):C("",!0)}}};export{M as _};
import{d as V,b as _}from"./main.465728e1.js";import{u as D}from"./exchange-rate.85b564e2.js";import{B as p,k as u,C as l,b1 as F,r as d,K as N,u as n,o as x,l as A,w as h,e as G,q,f as v,m as L,j as C,h as b,t as E}from"./vendor.d12b5734.js";const O={key:0},U={class:"text-gray-500 sm:text-sm"},z={class:"text-gray-400 text-xs mt-2 font-light"},M={props:{v:{type:Object,default:null},isLoading:{type:Boolean,default:!1},store:{type:Object,default:null},storeProp:{type:String,default:""},isEdit:{type:Boolean,default:!1},customerCurrency:{type:[String,Number],default:null}},setup(r){const e=r,m=V(),B=_(),g=D(),f=p(!1);let a=p(!1);m.fetchCurrencies();const s=u(()=>B.selectedCompanyCurrency),c=u(()=>m.currencies.find(t=>t.id===e.store[e.storeProp].currency_id)),P=u(()=>s.value.id!==e.customerCurrency);l(()=>e.store[e.storeProp].customer,t=>{R(t)},{deep:!0}),l(()=>e.store[e.storeProp].currency_id,t=>{$(t)},{immediate:!0}),l(()=>e.customerCurrency,t=>{t&&e.isEdit&&w()},{immediate:!0});function w(){P.value&&g.checkForActiveProvider(e.customerCurrency).then(t=>{t.data.success&&(f.value=!0)})}function R(t){t?e.store[e.storeProp].currency_id=t.currency.id:e.store[e.storeProp].currency_id=s.value.id}async function $(t){t!==s.value.id?(!e.isEdit&&t&&await y(t),e.store.showExchangeRate=!0):e.store.showExchangeRate=!1}function y(t){a.value=!0,g.getCurrentExchangeRate(t).then(o=>{o.data&&!o.data.error?e.store[e.storeProp].exchange_rate=o.data.exchangeRate[0]:e.store[e.storeProp].exchange_rate="",a.value=!1}).catch(o=>{a.value=!1})}return F(()=>{e.store.showExchangeRate=!1}),(t,o)=>{const k=d("BaseIcon"),S=d("BaseInput"),I=d("BaseInputGroup"),j=N("tooltip");return r.store.showExchangeRate&&n(c)?(x(),A(I,{key:0,"content-loading":n(a)&&!r.isEdit,label:t.$t("settings.exchange_rate.exchange_rate"),error:r.v.exchange_rate.$error&&r.v.exchange_rate.$errors[0].$message,required:""},{labelRight:h(()=>[f.value&&r.isEdit?(x(),G("div",O,[q(v(k,{name:"RefreshIcon",class:L(`h-4 w-4 text-primary-500 cursor-pointer outline-none ${n(a)?" animate-spin rotate-180 cursor-not-allowed pointer-events-none ":""}`),onClick:o[0]||(o[0]=i=>y(r.customerCurrency))},null,8,["class"]),[[j,{content:"Fetch Latest Exchange rate"}]])])):C("",!0)]),default:h(()=>[v(S,{modelValue:r.store[r.storeProp].exchange_rate,"onUpdate:modelValue":o[1]||(o[1]=i=>r.store[r.storeProp].exchange_rate=i),"content-loading":n(a)&&!r.isEdit,addon:`1 ${n(c).code} =`,disabled:n(a),onInput:o[2]||(o[2]=i=>r.v.exchange_rate.$touch())},{right:h(()=>[b("span",U,E(n(s).code),1)]),_:1},8,["modelValue","content-loading","addon","disabled"]),b("span",z,E(t.$t("settings.exchange_rate.exchange_help_text",{currency:n(c).code,baseCurrency:n(s).code})),1)]),_:1},8,["content-loading","label","error"])):C("",!0)}}};export{M as _};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
import{j as v,u as $,e as M,c as S,g as k}from"./main.c7bd6c0e.js";import{u as E}from"./category.970a47d6.js";import{J as I,G as T,ah as z,r as i,o as m,l as p,w as e,u as g,f as n,i as w,t as C,j as N,B as P,k as F,e as V,m as L,h as j,F as A}from"./vendor.d12b5734.js";import{_ as H}from"./CategoryModal.dc91de33.js";const O={props:{row:{type:Object,default:null},table:{type:Object,default:null},loadData:{type:Function,default:null}},setup(y){const d=y,B=v();$();const{t:o}=I(),s=E(),h=T(),_=M(),x=S();z("utils");function b(l){s.fetchCategory(l),x.openModal({title:o("settings.expense_category.edit_category"),componentName:"CategoryModal",refreshData:d.loadData,size:"sm"})}function r(l){B.openDialog({title:o("general.are_you_sure"),message:o("settings.expense_category.confirm_delete"),yesLabel:o("general.ok"),noLabel:o("general.cancel"),variant:"danger",hideNoButton:!1,size:"lg"}).then(async()=>{if((await s.deleteCategory(l)).data.success)return d.loadData&&d.loadData(),!0;d.loadData&&d.loadData()})}return(l,t)=>{const c=i("BaseIcon"),u=i("BaseButton"),f=i("BaseDropdownItem"),a=i("BaseDropdown");return m(),p(a,null,{activator:e(()=>[g(h).name==="expenseCategorys.view"?(m(),p(u,{key:0,variant:"primary"},{default:e(()=>[n(c,{name:"DotsHorizontalIcon",class:"h-5 text-white"})]),_:1})):(m(),p(c,{key:1,name:"DotsHorizontalIcon",class:"h-5 text-gray-500"}))]),default:e(()=>[g(_).hasAbilities(g(k).EDIT_EXPENSE)?(m(),p(f,{key:0,onClick:t[0]||(t[0]=D=>b(y.row.id))},{default:e(()=>[n(c,{name:"PencilIcon",class:"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500"}),w(" "+C(l.$t("general.edit")),1)]),_:1})):N("",!0),g(_).hasAbilities(g(k).DELETE_EXPENSE)?(m(),p(f,{key:1,onClick:t[1]||(t[1]=D=>r(y.row.id))},{default:e(()=>[n(c,{name:"TrashIcon",class:"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500"}),w(" "+C(l.$t("general.delete")),1)]),_:1})):N("",!0)]),_:1})}}},X={class:"w-64"},G={class:"truncate"},K={setup(y){const d=E();v();const B=S(),{t:o}=I(),s=P(null),h=F(()=>[{key:"name",label:o("settings.expense_category.category_name"),thClass:"extra",tdClass:"font-medium text-gray-900"},{key:"description",label:o("settings.expense_category.category_description"),thClass:"extra",tdClass:"font-medium text-gray-900"},{key:"actions",label:"",tdClass:"text-right text-sm font-medium",sortable:!1}]);async function _({page:r,filter:l,sort:t}){let c={orderByField:t.fieldName||"created_at",orderBy:t.order||"desc",page:r},u=await d.fetchCategories(c);return{data:u.data.data,pagination:{totalPages:u.data.meta.last_page,currentPage:r,totalCount:u.data.meta.total,limit:5}}}function x(){B.openModal({title:o("settings.expense_category.add_category"),componentName:"CategoryModal",size:"sm",refreshData:s.value&&s.value.refresh})}async function b(){s.value&&s.value.refresh()}return(r,l)=>{const t=i("BaseIcon"),c=i("BaseButton"),u=i("BaseTable"),f=i("BaseSettingCard");return m(),V(A,null,[n(H),n(f,{title:r.$t("settings.expense_category.title"),description:r.$t("settings.expense_category.description")},{action:e(()=>[n(c,{variant:"primary-outline",type:"button",onClick:x},{left:e(a=>[n(t,{class:L(a.class),name:"PlusIcon"},null,8,["class"])]),default:e(()=>[w(" "+C(r.$t("settings.expense_category.add_new_category")),1)]),_:1})]),default:e(()=>[n(u,{ref:(a,D)=>{D.table=a,s.value=a},data:_,columns:g(h),class:"mt-16"},{"cell-description":e(({row:a})=>[j("div",X,[j("p",G,C(a.data.description),1)])]),"cell-actions":e(({row:a})=>[n(O,{row:a.data,table:s.value,"load-data":b},null,8,["row","table"])]),_:1},8,["columns"])]),_:1},8,["title","description"])],64)}}};export{K as default};
import{j as v,u as $,e as M,c as S,g as k}from"./main.465728e1.js";import{u as E}from"./category.c88b90cd.js";import{J as I,G as T,ah as z,r as i,o as m,l as p,w as e,u as g,f as n,i as w,t as C,j as N,B as P,k as F,e as V,m as L,h as j,F as A}from"./vendor.d12b5734.js";import{_ as H}from"./CategoryModal.6fabb0b3.js";const O={props:{row:{type:Object,default:null},table:{type:Object,default:null},loadData:{type:Function,default:null}},setup(y){const d=y,B=v();$();const{t:o}=I(),s=E(),h=T(),_=M(),b=S();z("utils");function x(l){s.fetchCategory(l),b.openModal({title:o("settings.expense_category.edit_category"),componentName:"CategoryModal",refreshData:d.loadData,size:"sm"})}function r(l){B.openDialog({title:o("general.are_you_sure"),message:o("settings.expense_category.confirm_delete"),yesLabel:o("general.ok"),noLabel:o("general.cancel"),variant:"danger",hideNoButton:!1,size:"lg"}).then(async()=>{if((await s.deleteCategory(l)).data.success)return d.loadData&&d.loadData(),!0;d.loadData&&d.loadData()})}return(l,t)=>{const c=i("BaseIcon"),u=i("BaseButton"),f=i("BaseDropdownItem"),a=i("BaseDropdown");return m(),p(a,null,{activator:e(()=>[g(h).name==="expenseCategorys.view"?(m(),p(u,{key:0,variant:"primary"},{default:e(()=>[n(c,{name:"DotsHorizontalIcon",class:"h-5 text-white"})]),_:1})):(m(),p(c,{key:1,name:"DotsHorizontalIcon",class:"h-5 text-gray-500"}))]),default:e(()=>[g(_).hasAbilities(g(k).EDIT_EXPENSE)?(m(),p(f,{key:0,onClick:t[0]||(t[0]=D=>x(y.row.id))},{default:e(()=>[n(c,{name:"PencilIcon",class:"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500"}),w(" "+C(l.$t("general.edit")),1)]),_:1})):N("",!0),g(_).hasAbilities(g(k).DELETE_EXPENSE)?(m(),p(f,{key:1,onClick:t[1]||(t[1]=D=>r(y.row.id))},{default:e(()=>[n(c,{name:"TrashIcon",class:"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500"}),w(" "+C(l.$t("general.delete")),1)]),_:1})):N("",!0)]),_:1})}}},X={class:"w-64"},G={class:"truncate"},K={setup(y){const d=E();v();const B=S(),{t:o}=I(),s=P(null),h=F(()=>[{key:"name",label:o("settings.expense_category.category_name"),thClass:"extra",tdClass:"font-medium text-gray-900"},{key:"description",label:o("settings.expense_category.category_description"),thClass:"extra",tdClass:"font-medium text-gray-900"},{key:"actions",label:"",tdClass:"text-right text-sm font-medium",sortable:!1}]);async function _({page:r,filter:l,sort:t}){let c={orderByField:t.fieldName||"created_at",orderBy:t.order||"desc",page:r},u=await d.fetchCategories(c);return{data:u.data.data,pagination:{totalPages:u.data.meta.last_page,currentPage:r,totalCount:u.data.meta.total,limit:5}}}function b(){B.openModal({title:o("settings.expense_category.add_category"),componentName:"CategoryModal",size:"sm",refreshData:s.value&&s.value.refresh})}async function x(){s.value&&s.value.refresh()}return(r,l)=>{const t=i("BaseIcon"),c=i("BaseButton"),u=i("BaseTable"),f=i("BaseSettingCard");return m(),V(A,null,[n(H),n(f,{title:r.$t("settings.expense_category.title"),description:r.$t("settings.expense_category.description")},{action:e(()=>[n(c,{variant:"primary-outline",type:"button",onClick:b},{left:e(a=>[n(t,{class:L(a.class),name:"PlusIcon"},null,8,["class"])]),default:e(()=>[w(" "+C(r.$t("settings.expense_category.add_new_category")),1)]),_:1})]),default:e(()=>[n(u,{ref:(a,D)=>{D.table=a,s.value=a},data:_,columns:g(h),class:"mt-16"},{"cell-description":e(({row:a})=>[j("div",X,[j("p",G,C(a.data.description),1)])]),"cell-actions":e(({row:a})=>[n(O,{row:a.data,table:s.value,"load-data":x},null,8,["row","table"])]),_:1},8,["columns"])]),_:1},8,["title","description"])],64)}}};export{K as default};

View File

@ -1 +1 @@
var M=Object.defineProperty,j=Object.defineProperties;var G=Object.getOwnPropertyDescriptors;var h=Object.getOwnPropertySymbols;var N=Object.prototype.hasOwnProperty,C=Object.prototype.propertyIsEnumerable;var b=(a,e,t)=>e in a?M(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,B=(a,e)=>{for(var t in e||(e={}))N.call(e,t)&&b(a,t,e[t]);if(h)for(var t of h(e))C.call(e,t)&&b(a,t,e[t]);return a},$=(a,e)=>j(a,G(e));import{J as D,G as L,a0 as T,B as y,k as U,L as k,M as A,Q as E,T as F,r as u,o as c,e as p,f as m,w as v,u as r,t as _,h as J,i as P,U as Q}from"./vendor.d12b5734.js";import{u as R}from"./auth.a07e0850.js";import"./main.c7bd6c0e.js";const z=["onSubmit"],H={key:0},K={key:1},O={class:"mt-4 mb-4 text-sm"},ee={setup(a){const e=R(),{t}=D(),S=L(),l=T({email:"",company:""}),f=y(!1),n=y(!1),V=U(()=>({email:{required:k.withMessage(t("validation.required"),A),email:k.withMessage(t("validation.email_incorrect"),E)}})),o=F(V,l);function w(i){if(o.value.$touch(),o.value.$invalid)return!0;n.value=!0;let s=$(B({},l),{company:S.params.company});e.forgotPassword(s).then(d=>{n.value=!1}).catch(d=>{n.value=!1}),f.value=!0}return(i,s)=>{const d=u("BaseInput"),I=u("BaseInputGroup"),q=u("BaseButton"),x=u("router-link");return c(),p("form",{id:"loginForm",onSubmit:Q(w,["prevent"])},[m(I,{error:r(o).email.$error&&r(o).email.$errors[0].$message,label:i.$t("login.enter_email"),class:"mb-4",required:""},{default:v(()=>[m(d,{modelValue:r(l).email,"onUpdate:modelValue":s[0]||(s[0]=g=>r(l).email=g),type:"email",name:"email",invalid:r(o).email.$error,onInput:s[1]||(s[1]=g=>r(o).email.$touch())},null,8,["modelValue","invalid"])]),_:1},8,["error","label"]),m(q,{loading:n.value,disabled:n.value,type:"submit",variant:"primary"},{default:v(()=>[f.value?(c(),p("div",K,_(i.$t("validation.not_yet")),1)):(c(),p("div",H,_(i.$t("validation.send_reset_link")),1))]),_:1},8,["loading","disabled"]),J("div",O,[m(x,{to:"login",class:"text-sm text-primary-400 hover:text-gray-700"},{default:v(()=>[P(_(i.$t("general.back_to_login")),1)]),_:1})])],40,z)}}};export{ee as default};
var M=Object.defineProperty,j=Object.defineProperties;var G=Object.getOwnPropertyDescriptors;var h=Object.getOwnPropertySymbols;var N=Object.prototype.hasOwnProperty,C=Object.prototype.propertyIsEnumerable;var b=(a,e,t)=>e in a?M(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,B=(a,e)=>{for(var t in e||(e={}))N.call(e,t)&&b(a,t,e[t]);if(h)for(var t of h(e))C.call(e,t)&&b(a,t,e[t]);return a},$=(a,e)=>j(a,G(e));import{J as D,G as L,a0 as T,B as y,k as U,L as k,M as A,Q as E,T as F,r as u,o as c,e as p,f as m,w as v,u as r,t as _,h as J,i as P,U as Q}from"./vendor.d12b5734.js";import{u as R}from"./auth.c88ceb4c.js";import"./main.465728e1.js";const z=["onSubmit"],H={key:0},K={key:1},O={class:"mt-4 mb-4 text-sm"},ee={setup(a){const e=R(),{t}=D(),S=L(),l=T({email:"",company:""}),f=y(!1),n=y(!1),V=U(()=>({email:{required:k.withMessage(t("validation.required"),A),email:k.withMessage(t("validation.email_incorrect"),E)}})),o=F(V,l);function w(i){if(o.value.$touch(),o.value.$invalid)return!0;n.value=!0;let s=$(B({},l),{company:S.params.company});e.forgotPassword(s).then(d=>{n.value=!1}).catch(d=>{n.value=!1}),f.value=!0}return(i,s)=>{const d=u("BaseInput"),I=u("BaseInputGroup"),q=u("BaseButton"),x=u("router-link");return c(),p("form",{id:"loginForm",onSubmit:Q(w,["prevent"])},[m(I,{error:r(o).email.$error&&r(o).email.$errors[0].$message,label:i.$t("login.enter_email"),class:"mb-4",required:""},{default:v(()=>[m(d,{modelValue:r(l).email,"onUpdate:modelValue":s[0]||(s[0]=g=>r(l).email=g),type:"email",name:"email",invalid:r(o).email.$error,onInput:s[1]||(s[1]=g=>r(o).email.$touch())},null,8,["modelValue","invalid"])]),_:1},8,["error","label"]),m(q,{loading:n.value,disabled:n.value,type:"submit",variant:"primary"},{default:v(()=>[f.value?(c(),p("div",K,_(i.$t("validation.not_yet")),1)):(c(),p("div",H,_(i.$t("validation.send_reset_link")),1))]),_:1},8,["loading","disabled"]),J("div",O,[m(x,{to:"login",class:"text-sm text-primary-400 hover:text-gray-700"},{default:v(()=>[P(_(i.$t("general.back_to_login")),1)]),_:1})])],40,z)}}};export{ee as default};

View File

@ -1 +1 @@
import{J as w,a0 as S,B as _,L as f,M as V,Q as I,T as x,r as n,o as l,e as u,f as r,w as m,u as t,t as d,h as M,i as N,U as q,a as j}from"./vendor.d12b5734.js";import{u as C,h as D}from"./main.c7bd6c0e.js";const E=["onSubmit"],G={key:0},L={key:1},T={class:"mt-4 mb-4 text-sm"},Q={setup(U){const g=C(),{t:c}=w(),i=S({email:""}),p=_(!1),o=_(!1),h={email:{required:f.withMessage(c("validation.required"),V),email:f.withMessage(c("validation.email_incorrect"),I)}},a=x(h,i);async function b(s){if(a.value.$touch(),!a.value.$invalid)try{o.value=!0,(await j.post("/api/v1/auth/password/email",i)).data&&g.showNotification({type:"success",message:"Mail sent successfully"}),p.value=!0,o.value=!1}catch(e){D(e),o.value=!1}}return(s,e)=>{const y=n("BaseInput"),$=n("BaseInputGroup"),B=n("BaseButton"),k=n("router-link");return l(),u("form",{id:"loginForm",onSubmit:q(b,["prevent"])},[r($,{error:t(a).email.$error&&t(a).email.$errors[0].$message,label:s.$t("login.enter_email"),class:"mb-4",required:""},{default:m(()=>[r(y,{modelValue:t(i).email,"onUpdate:modelValue":e[0]||(e[0]=v=>t(i).email=v),invalid:t(a).email.$error,focus:"",type:"email",name:"email",onInput:e[1]||(e[1]=v=>t(a).email.$touch())},null,8,["modelValue","invalid"])]),_:1},8,["error","label"]),r(B,{loading:o.value,disabled:o.value,type:"submit",variant:"primary"},{default:m(()=>[p.value?(l(),u("div",L,d(s.$t("validation.not_yet")),1)):(l(),u("div",G,d(s.$t("validation.send_reset_link")),1))]),_:1},8,["loading","disabled"]),M("div",T,[r(k,{to:"/login",class:"text-sm text-primary-400 hover:text-gray-700"},{default:m(()=>[N(d(s.$t("general.back_to_login")),1)]),_:1})])],40,E)}}};export{Q as default};
import{J as w,a0 as S,B as _,L as f,M as V,Q as I,T as x,r as n,o as l,e as u,f as r,w as m,u as t,t as d,h as M,i as N,U as q,a as j}from"./vendor.d12b5734.js";import{u as C,h as D}from"./main.465728e1.js";const E=["onSubmit"],G={key:0},L={key:1},T={class:"mt-4 mb-4 text-sm"},Q={setup(U){const g=C(),{t:c}=w(),i=S({email:""}),p=_(!1),o=_(!1),h={email:{required:f.withMessage(c("validation.required"),V),email:f.withMessage(c("validation.email_incorrect"),I)}},a=x(h,i);async function y(s){if(a.value.$touch(),!a.value.$invalid)try{o.value=!0,(await j.post("/api/v1/auth/password/email",i)).data&&g.showNotification({type:"success",message:"Mail sent successfully"}),p.value=!0,o.value=!1}catch(e){D(e),o.value=!1}}return(s,e)=>{const $=n("BaseInput"),b=n("BaseInputGroup"),B=n("BaseButton"),k=n("router-link");return l(),u("form",{id:"loginForm",onSubmit:q(y,["prevent"])},[r(b,{error:t(a).email.$error&&t(a).email.$errors[0].$message,label:s.$t("login.enter_email"),class:"mb-4",required:""},{default:m(()=>[r($,{modelValue:t(i).email,"onUpdate:modelValue":e[0]||(e[0]=v=>t(i).email=v),invalid:t(a).email.$error,focus:"",type:"email",name:"email",onInput:e[1]||(e[1]=v=>t(a).email.$touch())},null,8,["modelValue","invalid"])]),_:1},8,["error","label"]),r(B,{loading:o.value,disabled:o.value,type:"submit",variant:"primary"},{default:m(()=>[p.value?(l(),u("div",L,d(s.$t("validation.not_yet")),1)):(l(),u("div",G,d(s.$t("validation.send_reset_link")),1))]),_:1},8,["loading","disabled"]),M("div",T,[r(k,{to:"/login",class:"text-sm text-primary-400 hover:text-gray-700"},{default:m(()=>[N(d(s.$t("general.back_to_login")),1)]),_:1})])],40,E)}}};export{Q as default};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
import{J as A,B as b,a0 as K,ah as O,G as Q,k as I,aR as Y,r as o,o as B,l as h,w as t,f as n,q as P,ag as C,u as l,m as M,i as v,t as c,j as Z,h as g,x as ee}from"./vendor.d12b5734.js";import te from"./BaseTable.d75a6388.js";import{_ as ae}from"./CapsuleIcon.37dfa933.js";import{x as ne,w as le}from"./main.c7bd6c0e.js";import{u as oe}from"./payment.03dd8d5c.js";import{u as se}from"./global.1ac91de5.js";import"./auth.a07e0850.js";const me={class:"relative table-container"},re=["innerHTML"],Be={setup(ce){const{tm:ue,t:u}=A();let i=b(!1);b("created_at");let $=b(!0),y=b(null);const s=K({payment_mode:"",payment_number:""}),D=O("utils");Q();const d=oe(),_=se(),w=I(()=>!d.totalPayments&&!$.value),H=I(()=>_.currency),N=I(()=>[{key:"payment_date",label:u("payments.date"),thClass:"extra",tdClass:"font-medium text-gray-900"},{key:"payment_number",label:u("payments.payment_number")},{key:"payment_mode",label:u("payments.payment_mode")},{key:"invoice_number",label:u("invoices.invoice_number")},{key:"amount",label:u("payments.amount")},{key:"actions",label:"",tdClass:"text-right text-sm font-medium",sortable:!1}]);Y(s,()=>{R()},{debounce:500});async function T(a){return(await d.fetchPaymentModes(a,_.companySlug)).data.data}async function E({page:a,filter:r,sort:p}){let k={payment_method_id:s.payment_mode!==null?s.payment_mode:"",payment_number:s.payment_number,orderByField:p.fieldName||"created_at",orderBy:p.order||"desc",page:a};$.value=!0;let m=await d.fetchPayments(k,_.companySlug);return $.value=!1,{data:m.data.data,pagination:{totalPages:m.data.meta.last_page,currentPage:a,totalCount:m.data.meta.total,limit:10}}}function G(){y.value.refresh()}function R(){G()}function S(){s.customer="",s.payment_mode="",s.payment_number=""}function W(){i.value&&S(),i.value=!i.value}return(a,r)=>{const p=o("BaseBreadcrumbItem"),k=o("BaseBreadcrumb"),m=o("BaseIcon"),x=o("BaseButton"),z=o("BasePageHeader"),L=o("BaseInput"),V=o("BaseInputGroup"),U=o("BaseMultiselect"),q=o("BaseFilterWrapper"),J=o("BaseEmptyPlaceholder"),j=o("router-link"),X=o("BasePage");return B(),h(X,null,{default:t(()=>[n(z,{title:a.$t("payments.title")},{actions:t(()=>[P(n(x,{variant:"primary-outline",onClick:W},{right:t(e=>[l(i)?(B(),h(m,{key:1,class:M(e.class),name:"XIcon"},null,8,["class"])):(B(),h(m,{key:0,class:M(e.class),name:"FilterIcon"},null,8,["class"]))]),default:t(()=>[v(c(a.$t("general.filter"))+" ",1)]),_:1},512),[[C,l(d).totalPayments]])]),default:t(()=>[n(k,{slot:"breadcrumbs"},{default:t(()=>[n(p,{title:a.$t("general.home"),to:`/${l(_).companySlug}/customer/dashboard`},null,8,["title","to"]),n(p,{title:a.$tc("payments.payment",2),to:"#",active:""},null,8,["title"])]),_:1})]),_:1},8,["title"]),P(n(q,{onClear:S},{default:t(()=>[n(V,{label:a.$t("payments.payment_number"),class:"px-3"},{default:t(()=>[n(L,{modelValue:l(s).payment_number,"onUpdate:modelValue":r[0]||(r[0]=e=>l(s).payment_number=e),placeholder:a.$t("payments.payment_number")},null,8,["modelValue","placeholder"])]),_:1},8,["label"]),n(V,{label:a.$t("payments.payment_mode"),class:"px-3"},{default:t(()=>[n(U,{modelValue:l(s).payment_mode,"onUpdate:modelValue":r[1]||(r[1]=e=>l(s).payment_mode=e),"value-prop":"id","track-by":"name","filter-results":!1,label:"name","resolve-on-load":"",delay:100,searchable:"",options:T,placeholder:a.$t("payments.payment_mode")},null,8,["modelValue","placeholder"])]),_:1},8,["label"])]),_:1},512),[[C,l(i)]]),l(w)?(B(),h(J,{key:0,title:a.$t("payments.no_payments"),description:a.$t("payments.list_of_payments")},{default:t(()=>[n(ae,{class:"mt-5 mb-4"})]),_:1},8,["title","description"])):Z("",!0),P(g("div",me,[n(te,{ref:(e,f)=>{f.table=e,ee(y)?y.value=e:y=e},data:E,columns:l(N),"placeholder-count":l(d).totalPayments>=20?10:5,class:"mt-10"},{"cell-payment_date":t(({row:e})=>[v(c(e.data.formatted_payment_date),1)]),"cell-payment_number":t(({row:e})=>[n(j,{to:{path:`payments/${e.data.id}/view`},class:"font-medium text-primary-500"},{default:t(()=>[v(c(e.data.payment_number),1)]),_:2},1032,["to"])]),"cell-payment_mode":t(({row:e})=>[g("span",null,c(e.data.payment_method?e.data.payment_method.name:a.$t("payments.not_selected")),1)]),"cell-invoice_number":t(({row:e})=>{var f,F;return[g("span",null,c(((f=e.data.invoice)==null?void 0:f.invoice_number)?(F=e.data.invoice)==null?void 0:F.invoice_number:a.$t("payments.no_invoice")),1)]}),"cell-amount":t(({row:e})=>[g("div",{innerHTML:l(D).formatMoney(e.data.amount,l(H))},null,8,re)]),"cell-actions":t(({row:e})=>[n(ne,null,{activator:t(()=>[n(m,{name:"DotsHorizontalIcon",class:"w-5 text-gray-500"})]),default:t(()=>[n(j,{to:`payments/${e.data.id}/view`},{default:t(()=>[n(le,null,{default:t(()=>[n(m,{name:"EyeIcon",class:"h-5 mr-3 text-gray-600"}),v(" "+c(a.$t("general.view")),1)]),_:1})]),_:2},1032,["to"])]),_:2},1024)]),_:1},8,["columns","placeholder-count"])],512),[[C,!l(w)]])]),_:1})}}};export{Be as default};
import{J as A,B as b,a0 as K,ah as O,G as Q,k as I,aR as Y,r as o,o as B,l as h,w as t,f as n,q as P,ag as C,u as l,m as M,i as v,t as c,j as Z,h as g,x as ee}from"./vendor.d12b5734.js";import te from"./BaseTable.ec8995dc.js";import{_ as ae}from"./CapsuleIcon.37dfa933.js";import{x as ne,w as le}from"./main.465728e1.js";import{u as oe}from"./payment.e5b74251.js";import{u as se}from"./global.dc565c4e.js";import"./auth.c88ceb4c.js";const me={class:"relative table-container"},re=["innerHTML"],Be={setup(ce){const{tm:ue,t:u}=A();let i=b(!1);b("created_at");let $=b(!0),y=b(null);const s=K({payment_mode:"",payment_number:""}),D=O("utils");Q();const p=oe(),_=se(),w=I(()=>!p.totalPayments&&!$.value),H=I(()=>_.currency),N=I(()=>[{key:"payment_date",label:u("payments.date"),thClass:"extra",tdClass:"font-medium text-gray-900"},{key:"payment_number",label:u("payments.payment_number")},{key:"payment_mode",label:u("payments.payment_mode")},{key:"invoice_number",label:u("invoices.invoice_number")},{key:"amount",label:u("payments.amount")},{key:"actions",label:"",tdClass:"text-right text-sm font-medium",sortable:!1}]);Y(s,()=>{R()},{debounce:500});async function T(a){return(await p.fetchPaymentModes(a,_.companySlug)).data.data}async function E({page:a,filter:r,sort:d}){let k={payment_method_id:s.payment_mode!==null?s.payment_mode:"",payment_number:s.payment_number,orderByField:d.fieldName||"created_at",orderBy:d.order||"desc",page:a};$.value=!0;let m=await p.fetchPayments(k,_.companySlug);return $.value=!1,{data:m.data.data,pagination:{totalPages:m.data.meta.last_page,currentPage:a,totalCount:m.data.meta.total,limit:10}}}function G(){y.value.refresh()}function R(){G()}function S(){s.customer="",s.payment_mode="",s.payment_number=""}function W(){i.value&&S(),i.value=!i.value}return(a,r)=>{const d=o("BaseBreadcrumbItem"),k=o("BaseBreadcrumb"),m=o("BaseIcon"),x=o("BaseButton"),z=o("BasePageHeader"),L=o("BaseInput"),V=o("BaseInputGroup"),U=o("BaseMultiselect"),q=o("BaseFilterWrapper"),J=o("BaseEmptyPlaceholder"),j=o("router-link"),X=o("BasePage");return B(),h(X,null,{default:t(()=>[n(z,{title:a.$t("payments.title")},{actions:t(()=>[P(n(x,{variant:"primary-outline",onClick:W},{right:t(e=>[l(i)?(B(),h(m,{key:1,class:M(e.class),name:"XIcon"},null,8,["class"])):(B(),h(m,{key:0,class:M(e.class),name:"FilterIcon"},null,8,["class"]))]),default:t(()=>[v(c(a.$t("general.filter"))+" ",1)]),_:1},512),[[C,l(p).totalPayments]])]),default:t(()=>[n(k,{slot:"breadcrumbs"},{default:t(()=>[n(d,{title:a.$t("general.home"),to:`/${l(_).companySlug}/customer/dashboard`},null,8,["title","to"]),n(d,{title:a.$tc("payments.payment",2),to:"#",active:""},null,8,["title"])]),_:1})]),_:1},8,["title"]),P(n(q,{onClear:S},{default:t(()=>[n(V,{label:a.$t("payments.payment_number"),class:"px-3"},{default:t(()=>[n(L,{modelValue:l(s).payment_number,"onUpdate:modelValue":r[0]||(r[0]=e=>l(s).payment_number=e),placeholder:a.$t("payments.payment_number")},null,8,["modelValue","placeholder"])]),_:1},8,["label"]),n(V,{label:a.$t("payments.payment_mode"),class:"px-3"},{default:t(()=>[n(U,{modelValue:l(s).payment_mode,"onUpdate:modelValue":r[1]||(r[1]=e=>l(s).payment_mode=e),"value-prop":"id","track-by":"name","filter-results":!1,label:"name","resolve-on-load":"",delay:100,searchable:"",options:T,placeholder:a.$t("payments.payment_mode")},null,8,["modelValue","placeholder"])]),_:1},8,["label"])]),_:1},512),[[C,l(i)]]),l(w)?(B(),h(J,{key:0,title:a.$t("payments.no_payments"),description:a.$t("payments.list_of_payments")},{default:t(()=>[n(ae,{class:"mt-5 mb-4"})]),_:1},8,["title","description"])):Z("",!0),P(g("div",me,[n(te,{ref:(e,f)=>{f.table=e,ee(y)?y.value=e:y=e},data:E,columns:l(N),"placeholder-count":l(p).totalPayments>=20?10:5,class:"mt-10"},{"cell-payment_date":t(({row:e})=>[v(c(e.data.formatted_payment_date),1)]),"cell-payment_number":t(({row:e})=>[n(j,{to:{path:`payments/${e.data.id}/view`},class:"font-medium text-primary-500"},{default:t(()=>[v(c(e.data.payment_number),1)]),_:2},1032,["to"])]),"cell-payment_mode":t(({row:e})=>[g("span",null,c(e.data.payment_method?e.data.payment_method.name:a.$t("payments.not_selected")),1)]),"cell-invoice_number":t(({row:e})=>{var f,F;return[g("span",null,c(((f=e.data.invoice)==null?void 0:f.invoice_number)?(F=e.data.invoice)==null?void 0:F.invoice_number:a.$t("payments.no_invoice")),1)]}),"cell-amount":t(({row:e})=>[g("div",{innerHTML:l(D).formatMoney(e.data.amount,l(H))},null,8,re)]),"cell-actions":t(({row:e})=>[n(ne,null,{activator:t(()=>[n(m,{name:"DotsHorizontalIcon",class:"w-5 text-gray-500"})]),default:t(()=>[n(j,{to:`payments/${e.data.id}/view`},{default:t(()=>[n(le,null,{default:t(()=>[n(m,{name:"EyeIcon",class:"h-5 mr-3 text-gray-600"}),v(" "+c(a.$t("general.view")),1)]),_:1})]),_:2},1032,["to"])]),_:2},1024)]),_:1},8,["columns","placeholder-count"])],512),[[C,!l(w)]])]),_:1})}}};export{Be as default};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
import{J as O,G as j,aN as z,ah as R,r as I,o as r,l,w as o,u as c,f as s,q as M,ag as P,i as d,t as m,j as v}from"./vendor.d12b5734.js";import{i as F,c as U,u as q,j as H,e as W,g as y}from"./main.c7bd6c0e.js";const K={props:{row:{type:Object,default:null},table:{type:Object,default:null},loadData:{type:Function,default:()=>{}}},setup(a){const f=a,p=F(),N=U(),$=q(),b=H(),g=W(),{t:i}=O(),w=j(),C=z(),x=R("utils");function _(e){return(e.status=="SENT"||e.status=="VIEWED")&&g.hasAbilities(y.SEND_INVOICE)}function D(e){return e.status=="DRAFT"&&w.name!=="invoices.view"&&g.hasAbilities(y.SEND_INVOICE)}async function B(e){b.openDialog({title:i("general.are_you_sure"),message:i("invoices.confirm_delete"),yesLabel:i("general.ok"),noLabel:i("general.cancel"),variant:"danger",hideNoButton:!1,size:"lg"}).then(n=>{e=e,n&&p.deleteInvoice({ids:[e]}).then(t=>{t.data.success&&(C.push("/admin/invoices"),f.table&&f.table.refresh(),p.$patch(h=>{h.selectedInvoices=[],h.selectAllField=!1}))})})}async function A(e){b.openDialog({title:i("general.are_you_sure"),message:i("invoices.confirm_clone"),yesLabel:i("general.ok"),noLabel:i("general.cancel"),variant:"primary",hideNoButton:!1,size:"lg"}).then(n=>{n&&p.cloneInvoice(e).then(t=>{C.push(`/admin/invoices/${t.data.data.id}/edit`)})})}async function T(e){b.openDialog({title:i("general.are_you_sure"),message:i("invoices.invoice_mark_as_sent"),yesLabel:i("general.ok"),noLabel:i("general.cancel"),variant:"primary",hideNoButton:!1,size:"lg"}).then(n=>{const t={id:e,status:"SENT"};n&&p.markAsSent(t).then(h=>{f.table&&f.table.refresh()})})}async function E(e){N.openModal({title:i("invoices.send_invoice"),componentName:"SendInvoiceModal",id:e.id,data:e,variant:"sm"})}function V(){let e=`${window.location.origin}/invoices/pdf/${f.row.unique_hash}`;x.copyTextToClipboard(e),$.showNotification({type:"success",message:i("general.copied_pdf_url_clipboard")})}return(e,n)=>{const t=I("BaseIcon"),h=I("BaseButton"),u=I("BaseDropdownItem"),S=I("router-link"),L=I("BaseDropdown");return r(),l(L,null,{activator:o(()=>[c(w).name==="invoices.view"?(r(),l(h,{key:0,variant:"primary"},{default:o(()=>[s(t,{name:"DotsHorizontalIcon",class:"h-5 text-white"})]),_:1})):(r(),l(t,{key:1,name:"DotsHorizontalIcon",class:"h-5 text-gray-500"}))]),default:o(()=>[c(g).hasAbilities(c(y).EDIT_INVOICE)?(r(),l(S,{key:0,to:`/admin/invoices/${a.row.id}/edit`},{default:o(()=>[M(s(u,null,{default:o(()=>[s(t,{name:"PencilIcon",class:"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500"}),d(" "+m(e.$t("general.edit")),1)]),_:1},512),[[P,a.row.allow_edit]])]),_:1},8,["to"])):v("",!0),c(w).name==="invoices.view"?(r(),l(u,{key:1,onClick:V},{default:o(()=>[s(t,{name:"LinkIcon",class:"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500"}),d(" "+m(e.$t("general.copy_pdf_url")),1)]),_:1})):v("",!0),c(w).name!=="invoices.view"&&c(g).hasAbilities(c(y).VIEW_INVOICE)?(r(),l(S,{key:2,to:`/admin/invoices/${a.row.id}/view`},{default:o(()=>[s(u,null,{default:o(()=>[s(t,{name:"EyeIcon",class:"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500"}),d(" "+m(e.$t("general.view")),1)]),_:1})]),_:1},8,["to"])):v("",!0),D(a.row)?(r(),l(u,{key:3,onClick:n[0]||(n[0]=k=>E(a.row))},{default:o(()=>[s(t,{name:"PaperAirplaneIcon",class:"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500"}),d(" "+m(e.$t("invoices.send_invoice")),1)]),_:1})):v("",!0),_(a.row)?(r(),l(u,{key:4,onClick:n[1]||(n[1]=k=>E(a.row))},{default:o(()=>[s(t,{name:"PaperAirplaneIcon",class:"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500"}),d(" "+m(e.$t("invoices.resend_invoice")),1)]),_:1})):v("",!0),s(S,{to:`/admin/payments/${a.row.id}/create`},{default:o(()=>[a.row.status=="SENT"&&c(w).name!=="invoices.view"?(r(),l(u,{key:0},{default:o(()=>[s(t,{name:"CreditCardIcon",class:"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500"}),d(" "+m(e.$t("invoices.record_payment")),1)]),_:1})):v("",!0)]),_:1},8,["to"]),D(a.row)?(r(),l(u,{key:5,onClick:n[2]||(n[2]=k=>T(a.row.id))},{default:o(()=>[s(t,{name:"CheckCircleIcon",class:"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500"}),d(" "+m(e.$t("invoices.mark_as_sent")),1)]),_:1})):v("",!0),c(g).hasAbilities(c(y).CREATE_INVOICE)?(r(),l(u,{key:6,onClick:n[3]||(n[3]=k=>A(a.row))},{default:o(()=>[s(t,{name:"DocumentTextIcon",class:"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500"}),d(" "+m(e.$t("invoices.clone_invoice")),1)]),_:1})):v("",!0),c(g).hasAbilities(c(y).DELETE_INVOICE)?(r(),l(u,{key:7,onClick:n[4]||(n[4]=k=>B(a.row.id))},{default:o(()=>[s(t,{name:"TrashIcon",class:"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500"}),d(" "+m(e.$t("general.delete")),1)]),_:1})):v("",!0)]),_:1})}}};export{K as _};
import{J as O,G as j,aN as z,ah as R,r as I,o as r,l,w as o,u as c,f as s,q as M,ag as P,i as d,t as m,j as v}from"./vendor.d12b5734.js";import{i as F,c as U,u as q,j as H,e as W,g as y}from"./main.465728e1.js";const K={props:{row:{type:Object,default:null},table:{type:Object,default:null},loadData:{type:Function,default:()=>{}}},setup(a){const f=a,p=F(),N=U(),$=q(),b=H(),g=W(),{t:i}=O(),w=j(),C=z(),x=R("utils");function _(e){return(e.status=="SENT"||e.status=="VIEWED")&&g.hasAbilities(y.SEND_INVOICE)}function D(e){return e.status=="DRAFT"&&w.name!=="invoices.view"&&g.hasAbilities(y.SEND_INVOICE)}async function B(e){b.openDialog({title:i("general.are_you_sure"),message:i("invoices.confirm_delete"),yesLabel:i("general.ok"),noLabel:i("general.cancel"),variant:"danger",hideNoButton:!1,size:"lg"}).then(n=>{e=e,n&&p.deleteInvoice({ids:[e]}).then(t=>{t.data.success&&(C.push("/admin/invoices"),f.table&&f.table.refresh(),p.$patch(h=>{h.selectedInvoices=[],h.selectAllField=!1}))})})}async function A(e){b.openDialog({title:i("general.are_you_sure"),message:i("invoices.confirm_clone"),yesLabel:i("general.ok"),noLabel:i("general.cancel"),variant:"primary",hideNoButton:!1,size:"lg"}).then(n=>{n&&p.cloneInvoice(e).then(t=>{C.push(`/admin/invoices/${t.data.data.id}/edit`)})})}async function T(e){b.openDialog({title:i("general.are_you_sure"),message:i("invoices.invoice_mark_as_sent"),yesLabel:i("general.ok"),noLabel:i("general.cancel"),variant:"primary",hideNoButton:!1,size:"lg"}).then(n=>{const t={id:e,status:"SENT"};n&&p.markAsSent(t).then(h=>{f.table&&f.table.refresh()})})}async function E(e){N.openModal({title:i("invoices.send_invoice"),componentName:"SendInvoiceModal",id:e.id,data:e,variant:"sm"})}function V(){let e=`${window.location.origin}/invoices/pdf/${f.row.unique_hash}`;x.copyTextToClipboard(e),$.showNotification({type:"success",message:i("general.copied_pdf_url_clipboard")})}return(e,n)=>{const t=I("BaseIcon"),h=I("BaseButton"),u=I("BaseDropdownItem"),S=I("router-link"),L=I("BaseDropdown");return r(),l(L,null,{activator:o(()=>[c(w).name==="invoices.view"?(r(),l(h,{key:0,variant:"primary"},{default:o(()=>[s(t,{name:"DotsHorizontalIcon",class:"h-5 text-white"})]),_:1})):(r(),l(t,{key:1,name:"DotsHorizontalIcon",class:"h-5 text-gray-500"}))]),default:o(()=>[c(g).hasAbilities(c(y).EDIT_INVOICE)?(r(),l(S,{key:0,to:`/admin/invoices/${a.row.id}/edit`},{default:o(()=>[M(s(u,null,{default:o(()=>[s(t,{name:"PencilIcon",class:"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500"}),d(" "+m(e.$t("general.edit")),1)]),_:1},512),[[P,a.row.allow_edit]])]),_:1},8,["to"])):v("",!0),c(w).name==="invoices.view"?(r(),l(u,{key:1,onClick:V},{default:o(()=>[s(t,{name:"LinkIcon",class:"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500"}),d(" "+m(e.$t("general.copy_pdf_url")),1)]),_:1})):v("",!0),c(w).name!=="invoices.view"&&c(g).hasAbilities(c(y).VIEW_INVOICE)?(r(),l(S,{key:2,to:`/admin/invoices/${a.row.id}/view`},{default:o(()=>[s(u,null,{default:o(()=>[s(t,{name:"EyeIcon",class:"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500"}),d(" "+m(e.$t("general.view")),1)]),_:1})]),_:1},8,["to"])):v("",!0),D(a.row)?(r(),l(u,{key:3,onClick:n[0]||(n[0]=k=>E(a.row))},{default:o(()=>[s(t,{name:"PaperAirplaneIcon",class:"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500"}),d(" "+m(e.$t("invoices.send_invoice")),1)]),_:1})):v("",!0),_(a.row)?(r(),l(u,{key:4,onClick:n[1]||(n[1]=k=>E(a.row))},{default:o(()=>[s(t,{name:"PaperAirplaneIcon",class:"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500"}),d(" "+m(e.$t("invoices.resend_invoice")),1)]),_:1})):v("",!0),s(S,{to:`/admin/payments/${a.row.id}/create`},{default:o(()=>[a.row.status=="SENT"&&c(w).name!=="invoices.view"?(r(),l(u,{key:0},{default:o(()=>[s(t,{name:"CreditCardIcon",class:"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500"}),d(" "+m(e.$t("invoices.record_payment")),1)]),_:1})):v("",!0)]),_:1},8,["to"]),D(a.row)?(r(),l(u,{key:5,onClick:n[2]||(n[2]=k=>T(a.row.id))},{default:o(()=>[s(t,{name:"CheckCircleIcon",class:"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500"}),d(" "+m(e.$t("invoices.mark_as_sent")),1)]),_:1})):v("",!0),c(g).hasAbilities(c(y).CREATE_INVOICE)?(r(),l(u,{key:6,onClick:n[3]||(n[3]=k=>A(a.row))},{default:o(()=>[s(t,{name:"DocumentTextIcon",class:"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500"}),d(" "+m(e.$t("invoices.clone_invoice")),1)]),_:1})):v("",!0),c(g).hasAbilities(c(y).DELETE_INVOICE)?(r(),l(u,{key:7,onClick:n[4]||(n[4]=k=>B(a.row.id))},{default:o(()=>[s(t,{name:"TrashIcon",class:"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500"}),d(" "+m(e.$t("general.delete")),1)]),_:1})):v("",!0)]),_:1})}}};export{K as _};

View File

@ -1 +1 @@
import{J as S,B as V,k as h,L as b,M as C,N as k,T as N,r as i,o as g,l as B,w as r,h as d,i as p,t as f,u as e,f as l,m as j,j as x,U as q}from"./vendor.d12b5734.js";import{p as z,c as D}from"./main.c7bd6c0e.js";const L={class:"flex justify-between w-full"},T=["onSubmit"],E={class:"p-8 sm:p-6"},G={class:"z-0 flex justify-end p-4 border-t border-gray-200 border-solid border-modal-bg"},F={setup(J){const t=z(),a=D(),{t:v}=S();let s=V(!1);const $=h(()=>({name:{required:b.withMessage(v("validation.required"),C),minLength:b.withMessage(v("validation.name_min_length",{count:3}),k(3))}})),n=N($,h(()=>t.currentItemUnit));async function U(){if(n.value.$touch(),n.value.$invalid)return!0;try{const o=t.isItemUnitEdit?t.updateItemUnit:t.addItemUnit;s.value=!0,await o(t.currentItemUnit),a.refreshData&&a.refreshData(),u(),s.value=!1}catch{return s.value=!1,!0}}function u(){a.closeModal(),setTimeout(()=>{t.currentItemUnit={id:null,name:""},a.$reset(),n.value.$reset()},300)}return(o,m)=>{const _=i("BaseIcon"),y=i("BaseInput"),w=i("BaseInputGroup"),I=i("BaseButton"),M=i("BaseModal");return g(),B(M,{show:e(a).active&&e(a).componentName==="ItemUnitModal",onClose:u},{header:r(()=>[d("div",L,[p(f(e(a).title)+" ",1),l(_,{name:"XIcon",class:"w-6 h-6 text-gray-500 cursor-pointer",onClick:u})])]),default:r(()=>[d("form",{action:"",onSubmit:q(U,["prevent"])},[d("div",E,[l(w,{label:o.$t("settings.customization.items.unit_name"),error:e(n).name.$error&&e(n).name.$errors[0].$message,variant:"horizontal",required:""},{default:r(()=>[l(y,{modelValue:e(t).currentItemUnit.name,"onUpdate:modelValue":m[0]||(m[0]=c=>e(t).currentItemUnit.name=c),invalid:e(n).name.$error,type:"text",onInput:m[1]||(m[1]=c=>e(n).name.$touch())},null,8,["modelValue","invalid"])]),_:1},8,["label","error"])]),d("div",G,[l(I,{type:"button",variant:"primary-outline",class:"mr-3 text-sm",onClick:u},{default:r(()=>[p(f(o.$t("general.cancel")),1)]),_:1}),l(I,{loading:e(s),disabled:e(s),variant:"primary",type:"submit"},{left:r(c=>[e(s)?x("",!0):(g(),B(_,{key:0,name:"SaveIcon",class:j(c.class)},null,8,["class"]))]),default:r(()=>[p(" "+f(e(t).isItemUnitEdit?o.$t("general.update"):o.$t("general.save")),1)]),_:1},8,["loading","disabled"])])],40,T)]),_:1},8,["show"])}}};export{F as _};
import{J as S,B as V,k as h,L as g,M as C,N as k,T as N,r as i,o as b,l as B,w as r,h as c,i as p,t as f,u as e,f as l,m as j,j as x,U as q}from"./vendor.d12b5734.js";import{p as z,c as D}from"./main.465728e1.js";const L={class:"flex justify-between w-full"},T=["onSubmit"],E={class:"p-8 sm:p-6"},G={class:"z-0 flex justify-end p-4 border-t border-gray-200 border-solid border-modal-bg"},F={setup(J){const t=z(),a=D(),{t:v}=S();let s=V(!1);const $=h(()=>({name:{required:g.withMessage(v("validation.required"),C),minLength:g.withMessage(v("validation.name_min_length",{count:3}),k(3))}})),n=N($,h(()=>t.currentItemUnit));async function U(){if(n.value.$touch(),n.value.$invalid)return!0;try{const o=t.isItemUnitEdit?t.updateItemUnit:t.addItemUnit;s.value=!0,await o(t.currentItemUnit),a.refreshData&&a.refreshData(),u(),s.value=!1}catch{return s.value=!1,!0}}function u(){a.closeModal(),setTimeout(()=>{t.currentItemUnit={id:null,name:""},a.$reset(),n.value.$reset()},300)}return(o,m)=>{const _=i("BaseIcon"),y=i("BaseInput"),w=i("BaseInputGroup"),I=i("BaseButton"),M=i("BaseModal");return b(),B(M,{show:e(a).active&&e(a).componentName==="ItemUnitModal",onClose:u},{header:r(()=>[c("div",L,[p(f(e(a).title)+" ",1),l(_,{name:"XIcon",class:"w-6 h-6 text-gray-500 cursor-pointer",onClick:u})])]),default:r(()=>[c("form",{action:"",onSubmit:q(U,["prevent"])},[c("div",E,[l(w,{label:o.$t("settings.customization.items.unit_name"),error:e(n).name.$error&&e(n).name.$errors[0].$message,variant:"horizontal",required:""},{default:r(()=>[l(y,{modelValue:e(t).currentItemUnit.name,"onUpdate:modelValue":m[0]||(m[0]=d=>e(t).currentItemUnit.name=d),invalid:e(n).name.$error,type:"text",onInput:m[1]||(m[1]=d=>e(n).name.$touch())},null,8,["modelValue","invalid"])]),_:1},8,["label","error"])]),c("div",G,[l(I,{type:"button",variant:"primary-outline",class:"mr-3 text-sm",onClick:u},{default:r(()=>[p(f(o.$t("general.cancel")),1)]),_:1}),l(I,{loading:e(s),disabled:e(s),variant:"primary",type:"submit"},{left:r(d=>[e(s)?x("",!0):(b(),B(_,{key:0,name:"SaveIcon",class:j(d.class)},null,8,["class"]))]),default:r(()=>[p(" "+f(e(t).isItemUnitEdit?o.$t("general.update"):o.$t("general.save")),1)]),_:1},8,["loading","disabled"])])],40,T)]),_:1},8,["show"])}}};export{F as _};

View File

@ -0,0 +1 @@
import{N as t}from"./NotificationRoot.5fd2c2c8.js";import{r as s,o as r,e as a,f as o,h as c}from"./vendor.d12b5734.js";import"./main.465728e1.js";const n={class:"h-screen overflow-y-auto text-base"},i={class:"container mx-auto px-4"},u={setup(_){return(m,p)=>{const e=s("router-view");return r(),a("div",n,[o(t),c("div",i,[o(e)])])}}};export{u as default};

View File

@ -1 +0,0 @@
import{N as t}from"./NotificationRoot.b2aa5501.js";import{r as s,o as a,e as r,f as o,h as c}from"./vendor.d12b5734.js";import"./main.c7bd6c0e.js";const n={class:"h-screen overflow-y-auto text-base"},i={class:"container mx-auto px-4"},u={setup(_){return(m,p)=>{const e=s("router-view");return a(),r("div",n,[o(t),c("div",i,[o(e)])])}}};export{u as default};

View File

@ -1 +1 @@
import{N as r}from"./NotificationRoot.b2aa5501.js";import{f as l}from"./main.c7bd6c0e.js";import{k as i,r as n,o,e,f as a,h as s,u as c,l as u}from"./vendor.d12b5734.js";const d={class:"min-h-screen bg-gray-200 flex flex-col justify-center py-12 sm:px-6 lg:px-8"},p={class:"sm:mx-auto sm:w-full sm:max-w-md px-4 sm:px-0"},_=["src"],x={class:"mt-8 sm:mx-auto sm:w-full sm:max-w-md px-4 sm:px-0"},f={class:"bg-white py-8 px-4 shadow rounded-lg sm:px-10"},b={setup(w){const t=i(()=>window.customer_logo?window.customer_logo:!1);return(h,g)=>{const m=n("router-view");return o(),e("div",d,[a(r),s("div",p,[c(t)?(o(),e("img",{key:1,src:c(t),class:"block w-48 h-auto max-w-full text-primary-400 mx-auto"},null,8,_)):(o(),u(l,{key:0,class:"block w-48 h-auto max-w-full text-primary-400 mx-auto"}))]),s("div",x,[s("div",f,[a(m)])])])}}};export{b as default};
import{N as r}from"./NotificationRoot.5fd2c2c8.js";import{f as l}from"./main.465728e1.js";import{k as i,r as n,o,e,f as a,h as s,u as c,l as u}from"./vendor.d12b5734.js";const d={class:"min-h-screen bg-gray-200 flex flex-col justify-center py-12 sm:px-6 lg:px-8"},p={class:"sm:mx-auto sm:w-full sm:max-w-md px-4 sm:px-0"},_=["src"],x={class:"mt-8 sm:mx-auto sm:w-full sm:max-w-md px-4 sm:px-0"},f={class:"bg-white py-8 px-4 shadow rounded-lg sm:px-10"},b={setup(w){const t=i(()=>window.customer_logo?window.customer_logo:!1);return(h,g)=>{const m=n("router-view");return o(),e("div",d,[a(r),s("div",p,[c(t)?(o(),e("img",{key:1,src:c(t),class:"block w-48 h-auto max-w-full text-primary-400 mx-auto"},null,8,_)):(o(),u(l,{key:0,class:"block w-48 h-auto max-w-full text-primary-400 mx-auto"}))]),s("div",x,[s("div",f,[a(m)])])])}}};export{b as default};

View File

@ -1,4 +1,4 @@
import{aQ as Zi,ah as Ji,B as Qi,k as eo,a7 as to,D as ro,a0 as ea,o as ao,e as no,h as io}from"./vendor.d12b5734.js";import{b as oo}from"./main.c7bd6c0e.js";var ta={exports:{}};/*!
import{aQ as Zi,ah as Ji,B as Qi,k as eo,a7 as to,D as ro,a0 as ea,o as ao,e as no,h as io}from"./vendor.d12b5734.js";import{b as oo}from"./main.465728e1.js";var ta={exports:{}};/*!
* Chart.js v2.9.4
* https://www.chartjs.org
* (c) 2020 Chart.js Contributors

View File

@ -1 +1 @@
import{_ as e}from"./main.c7bd6c0e.js";import{o as c,e as s,h as o}from"./vendor.d12b5734.js";const t={},r={xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24"},n=o("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"},null,-1),a=o("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"},null,-1),l=[n,a];function i(_,d){return c(),s("svg",r,l)}var p=e(t,[["render",i]]);export{p as L};
import{_ as e}from"./main.465728e1.js";import{o as s,e as t,h as o}from"./vendor.d12b5734.js";const c={},r={xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24"},n=o("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"},null,-1),a=o("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"},null,-1),l=[n,a];function i(_,d){return s(),t("svg",r,l)}var p=e(c,[["render",i]]);export{p as L};

View File

@ -1 +1 @@
import{J as C,aN as M,B as w,L as p,M as $,Q as E,T as L,k as y,r as l,o as c,e as T,f as n,w as u,u as e,l as b,x as B,h as _,i as h,t as I,U,a as j}from"./vendor.d12b5734.js";import{u as G,a as R}from"./main.c7bd6c0e.js";const A=["onSubmit"],F={class:"mt-5 mb-8"},J={class:"mb-4"},z={setup(O){const k=G(),s=R(),{t:m}=C(),V=M(),d=w(!1);let o=w(!1);const x={email:{required:p.withMessage(m("validation.required"),$),email:p.withMessage(m("validation.email_incorrect"),E)},password:{required:p.withMessage(m("validation.required"),$)}},a=L(x,y(()=>s.loginData)),S=y(()=>o.value?"text":"password");async function q(){if(j.defaults.withCredentials=!0,a.value.$touch(),a.value.$invalid)return!0;d.value=!0;try{d.value=!0,await s.login(s.loginData),V.push("/admin/dashboard"),k.showNotification({type:"success",message:"Logged in successfully."})}catch{d.value=!1}}return(i,t)=>{const g=l("BaseInput"),f=l("BaseInputGroup"),v=l("BaseIcon"),D=l("router-link"),N=l("BaseButton");return c(),T("form",{id:"loginForm",class:"mt-12 text-left",onSubmit:U(q,["prevent"])},[n(f,{error:e(a).email.$error&&e(a).email.$errors[0].$message,label:i.$t("login.email"),class:"mb-4",required:""},{default:u(()=>[n(g,{modelValue:e(s).loginData.email,"onUpdate:modelValue":t[0]||(t[0]=r=>e(s).loginData.email=r),invalid:e(a).email.$error,focus:"",type:"email",name:"email",onInput:t[1]||(t[1]=r=>e(a).email.$touch())},null,8,["modelValue","invalid"])]),_:1},8,["error","label"]),n(f,{error:e(a).password.$error&&e(a).password.$errors[0].$message,label:i.$t("login.password"),class:"mb-4",required:""},{default:u(()=>[n(g,{modelValue:e(s).loginData.password,"onUpdate:modelValue":t[4]||(t[4]=r=>e(s).loginData.password=r),invalid:e(a).password.$error,type:e(S),name:"password",onInput:t[5]||(t[5]=r=>e(a).password.$touch())},{right:u(()=>[e(o)?(c(),b(v,{key:0,name:"EyeOffIcon",class:"w-5 h-5 mr-1 text-gray-500 cursor-pointer",onClick:t[2]||(t[2]=r=>B(o)?o.value=!e(o):o=!e(o))})):(c(),b(v,{key:1,name:"EyeIcon",class:"w-5 h-5 mr-1 text-gray-500 cursor-pointer",onClick:t[3]||(t[3]=r=>B(o)?o.value=!e(o):o=!e(o))}))]),_:1},8,["modelValue","invalid","type"])]),_:1},8,["error","label"]),_("div",F,[_("div",J,[n(D,{to:"forgot-password",class:"text-sm text-primary-400 hover:text-gray-700"},{default:u(()=>[h(I(i.$t("login.forgot_password")),1)]),_:1})])]),n(N,{loading:d.value,type:"submit"},{default:u(()=>[h(I(i.$t("login.login")),1)]),_:1},8,["loading"])],40,A)}}};export{z as default};
import{J as C,aN as M,B as w,L as p,M as $,Q as E,T as L,k as y,r as l,o as c,e as T,f as n,w as u,u as e,l as B,x as _,h as b,i as h,t as I,U,a as j}from"./vendor.d12b5734.js";import{u as G,a as R}from"./main.465728e1.js";const A=["onSubmit"],F={class:"mt-5 mb-8"},J={class:"mb-4"},z={setup(O){const k=G(),s=R(),{t:m}=C(),V=M(),d=w(!1);let o=w(!1);const x={email:{required:p.withMessage(m("validation.required"),$),email:p.withMessage(m("validation.email_incorrect"),E)},password:{required:p.withMessage(m("validation.required"),$)}},a=L(x,y(()=>s.loginData)),S=y(()=>o.value?"text":"password");async function q(){if(j.defaults.withCredentials=!0,a.value.$touch(),a.value.$invalid)return!0;d.value=!0;try{d.value=!0,await s.login(s.loginData),V.push("/admin/dashboard"),k.showNotification({type:"success",message:"Logged in successfully."})}catch{d.value=!1}}return(i,t)=>{const g=l("BaseInput"),f=l("BaseInputGroup"),v=l("BaseIcon"),D=l("router-link"),N=l("BaseButton");return c(),T("form",{id:"loginForm",class:"mt-12 text-left",onSubmit:U(q,["prevent"])},[n(f,{error:e(a).email.$error&&e(a).email.$errors[0].$message,label:i.$t("login.email"),class:"mb-4",required:""},{default:u(()=>[n(g,{modelValue:e(s).loginData.email,"onUpdate:modelValue":t[0]||(t[0]=r=>e(s).loginData.email=r),invalid:e(a).email.$error,focus:"",type:"email",name:"email",onInput:t[1]||(t[1]=r=>e(a).email.$touch())},null,8,["modelValue","invalid"])]),_:1},8,["error","label"]),n(f,{error:e(a).password.$error&&e(a).password.$errors[0].$message,label:i.$t("login.password"),class:"mb-4",required:""},{default:u(()=>[n(g,{modelValue:e(s).loginData.password,"onUpdate:modelValue":t[4]||(t[4]=r=>e(s).loginData.password=r),invalid:e(a).password.$error,type:e(S),name:"password",onInput:t[5]||(t[5]=r=>e(a).password.$touch())},{right:u(()=>[e(o)?(c(),B(v,{key:0,name:"EyeOffIcon",class:"w-5 h-5 mr-1 text-gray-500 cursor-pointer",onClick:t[2]||(t[2]=r=>_(o)?o.value=!e(o):o=!e(o))})):(c(),B(v,{key:1,name:"EyeIcon",class:"w-5 h-5 mr-1 text-gray-500 cursor-pointer",onClick:t[3]||(t[3]=r=>_(o)?o.value=!e(o):o=!e(o))}))]),_:1},8,["modelValue","invalid","type"])]),_:1},8,["error","label"]),b("div",F,[b("div",J,[n(D,{to:"forgot-password",class:"text-sm text-primary-400 hover:text-gray-700"},{default:u(()=>[h(I(i.$t("login.forgot_password")),1)]),_:1})])]),n(N,{loading:d.value,type:"submit"},{default:u(()=>[h(I(i.$t("login.login")),1)]),_:1},8,["loading"])],40,A)}}};export{z as default};

View File

@ -1 +1 @@
var E=Object.defineProperty,G=Object.defineProperties;var L=Object.getOwnPropertyDescriptors;var D=Object.getOwnPropertySymbols;var U=Object.prototype.hasOwnProperty,O=Object.prototype.propertyIsEnumerable;var b=(s,a,t)=>a in s?E(s,a,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[a]=t,B=(s,a)=>{for(var t in a||(a={}))U.call(a,t)&&b(s,t,a[t]);if(D)for(var t of D(a))O.call(a,t)&&b(s,t,a[t]);return s},I=(s,a)=>G(s,L(a));import{aN as P,G as R,J as z,B as _,k as h,L as f,M as k,Q as A,T as F,r as c,o as w,e as J,f as i,w as m,u as e,l as V,h as S,i as q,t as x,m as Q,U as H}from"./vendor.d12b5734.js";import{u as K}from"./auth.a07e0850.js";import"./main.c7bd6c0e.js";const W=["onSubmit"],X={class:"flex items-center justify-between"},oe={setup(s){const a=P(),t=R(),l=K(),{t:g}=z();let p=_(!1);const u=_(!1),C=h(()=>u.value?"text":"password"),j=h(()=>({loginData:{email:{required:f.withMessage(g("validation.required"),k),email:f.withMessage(g("validation.email_incorrect"),A)},password:{required:f.withMessage(g("validation.required"),k)}}})),r=F(j,l);async function M(){if(r.value.loginData.$touch(),r.value.loginData.$invalid)return!0;p.value=!0;let d=I(B({},l.loginData),{company:t.params.company});try{return await l.login(d),p.value=!1,a.push({name:"customer.dashboard"});l.$reset()}catch{p.value=!1}}return(d,o)=>{const $=c("BaseInput"),y=c("BaseInputGroup"),v=c("BaseIcon"),N=c("router-link"),T=c("BaseButton");return w(),J("form",{id:"loginForm",class:"space-y-6",action:"#",method:"POST",onSubmit:H(M,["prevent"])},[i(y,{error:e(r).loginData.email.$error&&e(r).loginData.email.$errors[0].$message,label:d.$t("login.email"),class:"mb-4",required:""},{default:m(()=>[i($,{modelValue:e(l).loginData.email,"onUpdate:modelValue":o[0]||(o[0]=n=>e(l).loginData.email=n),type:"email",invalid:e(r).loginData.email.$error,onInput:o[1]||(o[1]=n=>e(r).loginData.email.$touch())},null,8,["modelValue","invalid"])]),_:1},8,["error","label"]),i(y,{error:e(r).loginData.password.$error&&e(r).loginData.password.$errors[0].$message,label:d.$t("login.password"),class:"mb-4",required:""},{default:m(()=>[i($,{modelValue:e(l).loginData.password,"onUpdate:modelValue":o[4]||(o[4]=n=>e(l).loginData.password=n),type:e(C),invalid:e(r).loginData.password.$error,onInput:o[5]||(o[5]=n=>e(r).loginData.password.$touch())},{right:m(()=>[u.value?(w(),V(v,{key:0,name:"EyeOffIcon",class:"w-5 h-5 mr-1 text-gray-500 cursor-pointer",onClick:o[2]||(o[2]=n=>u.value=!u.value)})):(w(),V(v,{key:1,name:"EyeIcon",class:"w-5 h-5 mr-1 text-gray-500 cursor-pointer",onClick:o[3]||(o[3]=n=>u.value=!u.value)}))]),_:1},8,["modelValue","type","invalid"])]),_:1},8,["error","label"]),S("div",X,[i(N,{to:{name:"customer.forgot-password"},class:"text-sm text-primary-600 hover:text-gray-500"},{default:m(()=>[q(x(d.$t("login.forgot_password")),1)]),_:1},8,["to"])]),S("div",null,[i(T,{loading:e(p),disabled:e(p),type:"submit",class:"w-full justify-center"},{left:m(n=>[i(v,{name:"LockClosedIcon",class:Q(n.class)},null,8,["class"])]),default:m(()=>[q(" "+x(d.$t("login.login")),1)]),_:1},8,["loading","disabled"])])],40,W)}}};export{oe as default};
var E=Object.defineProperty,G=Object.defineProperties;var L=Object.getOwnPropertyDescriptors;var D=Object.getOwnPropertySymbols;var U=Object.prototype.hasOwnProperty,O=Object.prototype.propertyIsEnumerable;var b=(s,a,t)=>a in s?E(s,a,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[a]=t,B=(s,a)=>{for(var t in a||(a={}))U.call(a,t)&&b(s,t,a[t]);if(D)for(var t of D(a))O.call(a,t)&&b(s,t,a[t]);return s},I=(s,a)=>G(s,L(a));import{aN as P,G as R,J as z,B as _,k as h,L as f,M as k,Q as A,T as F,r as c,o as w,e as J,f as i,w as m,u as e,l as V,h as S,i as q,t as x,m as Q,U as H}from"./vendor.d12b5734.js";import{u as K}from"./auth.c88ceb4c.js";import"./main.465728e1.js";const W=["onSubmit"],X={class:"flex items-center justify-between"},oe={setup(s){const a=P(),t=R(),l=K(),{t:g}=z();let p=_(!1);const u=_(!1),C=h(()=>u.value?"text":"password"),j=h(()=>({loginData:{email:{required:f.withMessage(g("validation.required"),k),email:f.withMessage(g("validation.email_incorrect"),A)},password:{required:f.withMessage(g("validation.required"),k)}}})),r=F(j,l);async function M(){if(r.value.loginData.$touch(),r.value.loginData.$invalid)return!0;p.value=!0;let d=I(B({},l.loginData),{company:t.params.company});try{return await l.login(d),p.value=!1,a.push({name:"customer.dashboard"});l.$reset()}catch{p.value=!1}}return(d,o)=>{const $=c("BaseInput"),y=c("BaseInputGroup"),v=c("BaseIcon"),N=c("router-link"),T=c("BaseButton");return w(),J("form",{id:"loginForm",class:"space-y-6",action:"#",method:"POST",onSubmit:H(M,["prevent"])},[i(y,{error:e(r).loginData.email.$error&&e(r).loginData.email.$errors[0].$message,label:d.$t("login.email"),class:"mb-4",required:""},{default:m(()=>[i($,{modelValue:e(l).loginData.email,"onUpdate:modelValue":o[0]||(o[0]=n=>e(l).loginData.email=n),type:"email",invalid:e(r).loginData.email.$error,onInput:o[1]||(o[1]=n=>e(r).loginData.email.$touch())},null,8,["modelValue","invalid"])]),_:1},8,["error","label"]),i(y,{error:e(r).loginData.password.$error&&e(r).loginData.password.$errors[0].$message,label:d.$t("login.password"),class:"mb-4",required:""},{default:m(()=>[i($,{modelValue:e(l).loginData.password,"onUpdate:modelValue":o[4]||(o[4]=n=>e(l).loginData.password=n),type:e(C),invalid:e(r).loginData.password.$error,onInput:o[5]||(o[5]=n=>e(r).loginData.password.$touch())},{right:m(()=>[u.value?(w(),V(v,{key:0,name:"EyeOffIcon",class:"w-5 h-5 mr-1 text-gray-500 cursor-pointer",onClick:o[2]||(o[2]=n=>u.value=!u.value)})):(w(),V(v,{key:1,name:"EyeIcon",class:"w-5 h-5 mr-1 text-gray-500 cursor-pointer",onClick:o[3]||(o[3]=n=>u.value=!u.value)}))]),_:1},8,["modelValue","type","invalid"])]),_:1},8,["error","label"]),S("div",X,[i(N,{to:{name:"customer.forgot-password"},class:"text-sm text-primary-600 hover:text-gray-500"},{default:m(()=>[q(x(d.$t("login.forgot_password")),1)]),_:1},8,["to"])]),S("div",null,[i(T,{loading:e(p),disabled:e(p),type:"submit",class:"w-full justify-center"},{left:m(n=>[i(v,{name:"LockClosedIcon",class:Q(n.class)},null,8,["class"])]),default:m(()=>[q(" "+x(d.$t("login.login")),1)]),_:1},8,["loading","disabled"])])],40,W)}}};export{oe as default};

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
import{J as k,G as $,ah as T,r,o as p,l as f,w as t,u as c,f as u,i as S,t as z,j as C,B as E,k as O,e as F,m as G,F as P,a0 as V}from"./vendor.d12b5734.js";import{j as x,u as I,e as M,c as j,g as D}from"./main.c7bd6c0e.js";import{u as A,_ as H}from"./NoteModal.c9605dba.js";import"./payment.2b6f850e.js";const L={props:{row:{type:Object,default:null},table:{type:Object,default:null},loadData:{type:Function,default:null}},setup(g){const d=g,h=x(),_=I(),{t:a}=k(),o=A(),N=$(),y=M(),b=j();T("utils");function w(n){o.fetchNote(n),b.openModal({title:a("settings.customization.notes.edit_note"),componentName:"NoteModal",size:"md",refreshData:d.loadData})}function s(n){h.openDialog({title:a("general.are_you_sure"),message:a("settings.customization.notes.note_confirm_delete"),yesLabel:a("general.yes"),noLabel:a("general.no"),variant:"danger",hideNoButton:!1,size:"lg"}).then(async()=>{(await o.deleteNote(n)).data.success?_.showNotification({type:"success",message:a("settings.customization.notes.deleted_message")}):_.showNotification({type:"error",message:a("settings.customization.notes.already_in_use")}),d.loadData&&d.loadData()})}return(n,e)=>{const i=r("BaseIcon"),m=r("BaseButton"),B=r("BaseDropdownItem"),l=r("BaseDropdown");return p(),f(l,null,{activator:t(()=>[c(N).name==="notes.view"?(p(),f(m,{key:0,variant:"primary"},{default:t(()=>[u(i,{name:"DotsHorizontalIcon",class:"h-5 text-white"})]),_:1})):(p(),f(i,{key:1,name:"DotsHorizontalIcon",class:"h-5 text-gray-500"}))]),default:t(()=>[c(y).hasAbilities(c(D).MANAGE_NOTE)?(p(),f(B,{key:0,onClick:e[0]||(e[0]=v=>w(g.row.id))},{default:t(()=>[u(i,{name:"PencilIcon",class:"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500"}),S(" "+z(n.$t("general.edit")),1)]),_:1})):C("",!0),c(y).hasAbilities(c(D).MANAGE_NOTE)?(p(),f(B,{key:1,onClick:e[1]||(e[1]=v=>s(g.row.id))},{default:t(()=>[u(i,{name:"TrashIcon",class:"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500"}),S(" "+z(n.$t("general.delete")),1)]),_:1})):C("",!0)]),_:1})}}},K={setup(g){const{t:d}=k(),h=j();x();const _=A();I();const a=M(),o=E(""),N=O(()=>[{key:"name",label:d("settings.customization.notes.name"),thClass:"extra",tdClass:"font-medium text-gray-900"},{key:"type",label:d("settings.customization.notes.type"),thClass:"extra",tdClass:"font-medium text-gray-900"},{key:"actions",label:"",tdClass:"text-right text-sm font-medium",sortable:!1}]);async function y({page:s,filter:n,sort:e}){let i=V({orderByField:e.fieldName||"created_at",orderBy:e.order||"desc",page:s}),m=await _.fetchNotes(i);return{data:m.data.data,pagination:{totalPages:m.data.meta.last_page,currentPage:s,totalCount:m.data.meta.total,limit:5}}}async function b(){await h.openModal({title:d("settings.customization.notes.add_note"),componentName:"NoteModal",size:"md",refreshData:o.value&&o.value.refresh})}async function w(){o.value&&o.value.refresh()}return(s,n)=>{const e=r("BaseIcon"),i=r("BaseButton"),m=r("BaseTable"),B=r("BaseSettingCard");return p(),F(P,null,[u(H),u(B,{title:s.$t("settings.customization.notes.title"),description:s.$t("settings.customization.notes.description")},{action:t(()=>[c(a).hasAbilities(c(D).MANAGE_NOTE)?(p(),f(i,{key:0,variant:"primary-outline",onClick:b},{left:t(l=>[u(e,{class:G(l.class),name:"PlusIcon"},null,8,["class"])]),default:t(()=>[S(" "+z(s.$t("settings.customization.notes.add_note")),1)]),_:1})):C("",!0)]),default:t(()=>[u(m,{ref:(l,v)=>{v.table=l,o.value=l},data:y,columns:c(N),class:"mt-14"},{"cell-actions":t(({row:l})=>[u(L,{row:l.data,table:o.value,"load-data":w},null,8,["row","table"])]),_:1},8,["columns"])]),_:1},8,["title","description"])],64)}}};export{K as default};
import{J as k,G as $,ah as T,r,o as p,l as f,w as t,u as c,f as u,i as S,t as z,j as C,B as E,k as O,e as F,m as G,F as P,a0 as V}from"./vendor.d12b5734.js";import{j as x,u as I,e as M,c as j,g as D}from"./main.465728e1.js";import{u as A,_ as H}from"./NoteModal.ebe10cf0.js";import"./payment.93619753.js";const L={props:{row:{type:Object,default:null},table:{type:Object,default:null},loadData:{type:Function,default:null}},setup(g){const d=g,h=x(),_=I(),{t:a}=k(),o=A(),N=$(),y=M(),b=j();T("utils");function w(n){o.fetchNote(n),b.openModal({title:a("settings.customization.notes.edit_note"),componentName:"NoteModal",size:"md",refreshData:d.loadData})}function s(n){h.openDialog({title:a("general.are_you_sure"),message:a("settings.customization.notes.note_confirm_delete"),yesLabel:a("general.yes"),noLabel:a("general.no"),variant:"danger",hideNoButton:!1,size:"lg"}).then(async()=>{(await o.deleteNote(n)).data.success?_.showNotification({type:"success",message:a("settings.customization.notes.deleted_message")}):_.showNotification({type:"error",message:a("settings.customization.notes.already_in_use")}),d.loadData&&d.loadData()})}return(n,e)=>{const i=r("BaseIcon"),m=r("BaseButton"),B=r("BaseDropdownItem"),l=r("BaseDropdown");return p(),f(l,null,{activator:t(()=>[c(N).name==="notes.view"?(p(),f(m,{key:0,variant:"primary"},{default:t(()=>[u(i,{name:"DotsHorizontalIcon",class:"h-5 text-white"})]),_:1})):(p(),f(i,{key:1,name:"DotsHorizontalIcon",class:"h-5 text-gray-500"}))]),default:t(()=>[c(y).hasAbilities(c(D).MANAGE_NOTE)?(p(),f(B,{key:0,onClick:e[0]||(e[0]=v=>w(g.row.id))},{default:t(()=>[u(i,{name:"PencilIcon",class:"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500"}),S(" "+z(n.$t("general.edit")),1)]),_:1})):C("",!0),c(y).hasAbilities(c(D).MANAGE_NOTE)?(p(),f(B,{key:1,onClick:e[1]||(e[1]=v=>s(g.row.id))},{default:t(()=>[u(i,{name:"TrashIcon",class:"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500"}),S(" "+z(n.$t("general.delete")),1)]),_:1})):C("",!0)]),_:1})}}},K={setup(g){const{t:d}=k(),h=j();x();const _=A();I();const a=M(),o=E(""),N=O(()=>[{key:"name",label:d("settings.customization.notes.name"),thClass:"extra",tdClass:"font-medium text-gray-900"},{key:"type",label:d("settings.customization.notes.type"),thClass:"extra",tdClass:"font-medium text-gray-900"},{key:"actions",label:"",tdClass:"text-right text-sm font-medium",sortable:!1}]);async function y({page:s,filter:n,sort:e}){let i=V({orderByField:e.fieldName||"created_at",orderBy:e.order||"desc",page:s}),m=await _.fetchNotes(i);return{data:m.data.data,pagination:{totalPages:m.data.meta.last_page,currentPage:s,totalCount:m.data.meta.total,limit:5}}}async function b(){await h.openModal({title:d("settings.customization.notes.add_note"),componentName:"NoteModal",size:"md",refreshData:o.value&&o.value.refresh})}async function w(){o.value&&o.value.refresh()}return(s,n)=>{const e=r("BaseIcon"),i=r("BaseButton"),m=r("BaseTable"),B=r("BaseSettingCard");return p(),F(P,null,[u(H),u(B,{title:s.$t("settings.customization.notes.title"),description:s.$t("settings.customization.notes.description")},{action:t(()=>[c(a).hasAbilities(c(D).MANAGE_NOTE)?(p(),f(i,{key:0,variant:"primary-outline",onClick:b},{left:t(l=>[u(e,{class:G(l.class),name:"PlusIcon"},null,8,["class"])]),default:t(()=>[S(" "+z(s.$t("settings.customization.notes.add_note")),1)]),_:1})):C("",!0)]),default:t(()=>[u(m,{ref:(l,v)=>{v.table=l,o.value=l},data:y,columns:c(N),class:"mt-14"},{"cell-actions":t(({row:l})=>[u(L,{row:l.data,table:o.value,"load-data":w},null,8,["row","table"])]),_:1},8,["columns"])]),_:1},8,["title","description"])],64)}}};export{K as default};

View File

@ -1 +1 @@
import{B as w,k as d,D as g,o as a,e as c,h as t,u as e,j as m,m as u,t as p,U as y,r as k,f as N,w as C,F as M,y as z,l as B,aM as L}from"./vendor.d12b5734.js";import{u as v,_ as b}from"./main.c7bd6c0e.js";const S=["onClick"],$={class:"overflow-hidden rounded-lg shadow-xs"},j={class:"p-4"},T={class:"flex items-start"},O={class:"shrink-0"},V={key:0,class:"w-6 h-6 text-green-400",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},I=t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"},null,-1),D=[I],E={key:1,class:"w-6 h-6 text-blue-400",fill:"currentColor",viewBox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg"},F=t("path",{"fill-rule":"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7 4a1 1 0 11-2 0 1 1 0 012 0zm-1-9a1 1 0 00-1 1v4a1 1 0 102 0V6a1 1 0 00-1-1z","clip-rule":"evenodd"},null,-1),A=[F],G={key:2,class:"w-6 h-6 text-red-400",fill:"currentColor",viewBox:"0 0 24 24"},R=t("path",{"fill-rule":"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z","clip-rule":"evenodd"},null,-1),U=[R],q={class:"flex-1 w-0 ml-3 text-left"},H={class:"flex shrink-0"},J=t("svg",{class:"w-6 h-6",fill:"currentColor",viewBox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg"},[t("path",{"fill-rule":"evenodd",d:"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z","clip-rule":"evenodd"})],-1),K=[J],P={props:{notification:{type:Object,default:null}},setup(o){const i=o,f=v();let l=w("");const s=d(()=>i.notification.type=="success"),h=d(()=>i.notification.type=="error"),n=d(()=>i.notification.type=="info");function r(){f.hideNotification(i.notification)}function x(){clearTimeout(l)}function _(){l=setTimeout(()=>{f.hideNotification(i.notification)},i.notification.time||5e3)}return g(()=>{_()}),(Y,Z)=>(a(),c("div",{class:u([e(s)||e(n)?"bg-white":"bg-red-50","max-w-sm mb-3 rounded-lg shadow-lg cursor-pointer pointer-events-auto w-full md:w-96"]),onClick:y(r,["stop"]),onMouseenter:x,onMouseleave:_},[t("div",$,[t("div",j,[t("div",T,[t("div",O,[e(s)?(a(),c("svg",V,D)):m("",!0),e(n)?(a(),c("svg",E,A)):m("",!0),e(h)?(a(),c("svg",G,U)):m("",!0)]),t("div",q,[t("p",{class:u(`text-sm leading-5 font-medium ${e(s)||e(n)?"text-gray-900":"text-red-800"}`)},p(o.notification.title?o.notification.title:e(s)?"Success!":"Error"),3),t("p",{class:u(`mt-1 text-sm leading-5 ${e(s)||e(n)?"text-gray-500":"text-red-700"}`)},p(o.notification.message?o.notification.message:e(s)?"Successful":"Somthing went wrong"),3)]),t("div",H,[t("button",{class:u([e(s)||e(n)?" text-gray-400 focus:text-gray-500":"text-red-400 focus:text-red-500","inline-flex w-5 h-5 transition duration-150 ease-in-out focus:outline-none"]),onClick:r},K,2)])])])])],42,S))}},Q={components:{NotificationItem:P},setup(){const o=v();return{notifications:d(()=>o.notifications)}}},W={class:"fixed inset-0 z-50 flex flex-col items-end justify-start w-full px-4 py-6 pointer-events-none sm:p-6"};function X(o,i,f,l,s,h){const n=k("NotificationItem");return a(),c("div",W,[N(L,{"enter-active-class":"transition duration-300 ease-out","enter-from-class":"translate-y-2 opacity-0 sm:translate-y-0 sm:translate-x-2","enter-to-class":"translate-y-0 opacity-100 sm:translate-x-0","leave-active-class":"transition duration-100 ease-in","leave-from-class":"opacity-100","leave-to-class":"opacity-0"},{default:C(()=>[(a(!0),c(M,null,z(l.notifications,r=>(a(),B(n,{key:r.id,notification:r},null,8,["notification"]))),128))]),_:1})])}var ot=b(Q,[["render",X]]);export{ot as N};
import{B as w,k as d,D as g,o as a,e as c,h as t,u as e,j as m,m as u,t as p,U as y,r as k,f as N,w as C,F as M,y as z,l as B,aM as L}from"./vendor.d12b5734.js";import{u as v,_ as b}from"./main.465728e1.js";const S=["onClick"],$={class:"overflow-hidden rounded-lg shadow-xs"},j={class:"p-4"},T={class:"flex items-start"},O={class:"shrink-0"},V={key:0,class:"w-6 h-6 text-green-400",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},I=t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"},null,-1),D=[I],E={key:1,class:"w-6 h-6 text-blue-400",fill:"currentColor",viewBox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg"},F=t("path",{"fill-rule":"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7 4a1 1 0 11-2 0 1 1 0 012 0zm-1-9a1 1 0 00-1 1v4a1 1 0 102 0V6a1 1 0 00-1-1z","clip-rule":"evenodd"},null,-1),A=[F],G={key:2,class:"w-6 h-6 text-red-400",fill:"currentColor",viewBox:"0 0 24 24"},R=t("path",{"fill-rule":"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z","clip-rule":"evenodd"},null,-1),U=[R],q={class:"flex-1 w-0 ml-3 text-left"},H={class:"flex shrink-0"},J=t("svg",{class:"w-6 h-6",fill:"currentColor",viewBox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg"},[t("path",{"fill-rule":"evenodd",d:"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z","clip-rule":"evenodd"})],-1),K=[J],P={props:{notification:{type:Object,default:null}},setup(o){const i=o,f=v();let l=w("");const s=d(()=>i.notification.type=="success"),h=d(()=>i.notification.type=="error"),n=d(()=>i.notification.type=="info");function r(){f.hideNotification(i.notification)}function x(){clearTimeout(l)}function _(){l=setTimeout(()=>{f.hideNotification(i.notification)},i.notification.time||5e3)}return g(()=>{_()}),(Y,Z)=>(a(),c("div",{class:u([e(s)||e(n)?"bg-white":"bg-red-50","max-w-sm mb-3 rounded-lg shadow-lg cursor-pointer pointer-events-auto w-full md:w-96"]),onClick:y(r,["stop"]),onMouseenter:x,onMouseleave:_},[t("div",$,[t("div",j,[t("div",T,[t("div",O,[e(s)?(a(),c("svg",V,D)):m("",!0),e(n)?(a(),c("svg",E,A)):m("",!0),e(h)?(a(),c("svg",G,U)):m("",!0)]),t("div",q,[t("p",{class:u(`text-sm leading-5 font-medium ${e(s)||e(n)?"text-gray-900":"text-red-800"}`)},p(o.notification.title?o.notification.title:e(s)?"Success!":"Error"),3),t("p",{class:u(`mt-1 text-sm leading-5 ${e(s)||e(n)?"text-gray-500":"text-red-700"}`)},p(o.notification.message?o.notification.message:e(s)?"Successful":"Something went wrong"),3)]),t("div",H,[t("button",{class:u([e(s)||e(n)?" text-gray-400 focus:text-gray-500":"text-red-400 focus:text-red-500","inline-flex w-5 h-5 transition duration-150 ease-in-out focus:outline-none"]),onClick:r},K,2)])])])])],42,S))}},Q={components:{NotificationItem:P},setup(){const o=v();return{notifications:d(()=>o.notifications)}}},W={class:"fixed inset-0 z-50 flex flex-col items-end justify-start w-full px-4 py-6 pointer-events-none sm:p-6"};function X(o,i,f,l,s,h){const n=k("NotificationItem");return a(),c("div",W,[N(L,{"enter-active-class":"transition duration-300 ease-out","enter-from-class":"translate-y-2 opacity-0 sm:translate-y-0 sm:translate-x-2","enter-to-class":"translate-y-0 opacity-100 sm:translate-x-0","leave-active-class":"transition duration-100 ease-in","leave-from-class":"opacity-100","leave-to-class":"opacity-0"},{default:C(()=>[(a(!0),c(M,null,z(l.notifications,r=>(a(),B(n,{key:r.id,notification:r},null,8,["notification"]))),128))]),_:1})])}var ot=b(Q,[["render",X]]);export{ot as N};

View File

@ -1 +1 @@
import{B as M,J as k,a0 as q,k as m,L as y,M as E,Q as F,T as U,r as o,o as w,l as S,w as u,h as v,f as d,u as i,m as Y,j,i as D,t as G,U as O,x as B}from"./vendor.d12b5734.js";import{b as T}from"./main.c7bd6c0e.js";const z=["onSubmit"],J={class:"grid-cols-2 col-span-1 mt-14"},L={class:"divide-y divide-gray-200"},H={setup(Q){const s=T();let r=M(!1);const{t:f}=k(),n=q({notify_invoice_viewed:s.selectedCompanySettings.notify_invoice_viewed,notify_estimate_viewed:s.selectedCompanySettings.notify_estimate_viewed,notification_email:s.selectedCompanySettings.notification_email}),$=m(()=>({notification_email:{required:y.withMessage(f("validation.required"),E),email:y.withMessage(f("validation.email_incorrect"),F)}})),l=U($,m(()=>n)),_=m({get:()=>n.notify_invoice_viewed==="YES",set:async e=>{const t=e?"YES":"NO";let c={settings:{notify_invoice_viewed:t}};n.notify_invoice_viewed=t,await s.updateCompanySettings({data:c,message:"general.setting_updated"})}}),p=m({get:()=>n.notify_estimate_viewed==="YES",set:async e=>{const t=e?"YES":"NO";let c={settings:{notify_estimate_viewed:t}};n.notify_estimate_viewed=t,await s.updateCompanySettings({data:c,message:"general.setting_updated"})}});async function V(){if(l.value.$touch(),l.value.$invalid)return!0;r.value=!0;const e={settings:{notification_email:n.notification_email}};await s.updateCompanySettings({data:e,message:"settings.notification.email_save_message"}),r.value=!1}return(e,t)=>{const c=o("BaseInput"),C=o("BaseInputGroup"),b=o("BaseIcon"),I=o("BaseButton"),N=o("BaseDivider"),g=o("BaseSwitchSection"),h=o("BaseSettingCard");return w(),S(h,{title:e.$t("settings.notification.title"),description:e.$t("settings.notification.description")},{default:u(()=>[v("form",{action:"",onSubmit:O(V,["prevent"])},[v("div",J,[d(C,{error:i(l).notification_email.$error&&i(l).notification_email.$errors[0].$message,label:e.$t("settings.notification.email"),class:"my-2",required:""},{default:u(()=>[d(c,{modelValue:i(n).notification_email,"onUpdate:modelValue":t[0]||(t[0]=a=>i(n).notification_email=a),modelModifiers:{trim:!0},invalid:i(l).notification_email.$error,type:"email",onInput:t[1]||(t[1]=a=>i(l).notification_email.$touch())},null,8,["modelValue","invalid"])]),_:1},8,["error","label"]),d(I,{disabled:i(r),loading:i(r),variant:"primary",type:"submit",class:"mt-6"},{left:u(a=>[i(r)?j("",!0):(w(),S(b,{key:0,class:Y(a.class),name:"SaveIcon"},null,8,["class"]))]),default:u(()=>[D(" "+G(e.$tc("settings.notification.save")),1)]),_:1},8,["disabled","loading"])])],40,z),d(N,{class:"mt-6 mb-2"}),v("ul",L,[d(g,{modelValue:i(_),"onUpdate:modelValue":t[2]||(t[2]=a=>B(_)?_.value=a:null),title:e.$t("settings.notification.invoice_viewed"),description:e.$t("settings.notification.invoice_viewed_desc")},null,8,["modelValue","title","description"]),d(g,{modelValue:i(p),"onUpdate:modelValue":t[3]||(t[3]=a=>B(p)?p.value=a:null),title:e.$t("settings.notification.estimate_viewed"),description:e.$t("settings.notification.estimate_viewed_desc")},null,8,["modelValue","title","description"])])]),_:1},8,["title","description"])}}};export{H as default};
import{B as M,J as k,a0 as q,k as m,L as y,M as E,Q as F,T as U,r as o,o as w,l as S,w as u,h as v,f as d,u as i,m as Y,j,i as D,t as G,U as O,x as B}from"./vendor.d12b5734.js";import{b as T}from"./main.465728e1.js";const z=["onSubmit"],J={class:"grid-cols-2 col-span-1 mt-14"},L={class:"divide-y divide-gray-200"},H={setup(Q){const s=T();let r=M(!1);const{t:f}=k(),n=q({notify_invoice_viewed:s.selectedCompanySettings.notify_invoice_viewed,notify_estimate_viewed:s.selectedCompanySettings.notify_estimate_viewed,notification_email:s.selectedCompanySettings.notification_email}),$=m(()=>({notification_email:{required:y.withMessage(f("validation.required"),E),email:y.withMessage(f("validation.email_incorrect"),F)}})),l=U($,m(()=>n)),_=m({get:()=>n.notify_invoice_viewed==="YES",set:async e=>{const t=e?"YES":"NO";let c={settings:{notify_invoice_viewed:t}};n.notify_invoice_viewed=t,await s.updateCompanySettings({data:c,message:"general.setting_updated"})}}),p=m({get:()=>n.notify_estimate_viewed==="YES",set:async e=>{const t=e?"YES":"NO";let c={settings:{notify_estimate_viewed:t}};n.notify_estimate_viewed=t,await s.updateCompanySettings({data:c,message:"general.setting_updated"})}});async function V(){if(l.value.$touch(),l.value.$invalid)return!0;r.value=!0;const e={settings:{notification_email:n.notification_email}};await s.updateCompanySettings({data:e,message:"settings.notification.email_save_message"}),r.value=!1}return(e,t)=>{const c=o("BaseInput"),C=o("BaseInputGroup"),b=o("BaseIcon"),I=o("BaseButton"),N=o("BaseDivider"),g=o("BaseSwitchSection"),h=o("BaseSettingCard");return w(),S(h,{title:e.$t("settings.notification.title"),description:e.$t("settings.notification.description")},{default:u(()=>[v("form",{action:"",onSubmit:O(V,["prevent"])},[v("div",J,[d(C,{error:i(l).notification_email.$error&&i(l).notification_email.$errors[0].$message,label:e.$t("settings.notification.email"),class:"my-2",required:""},{default:u(()=>[d(c,{modelValue:i(n).notification_email,"onUpdate:modelValue":t[0]||(t[0]=a=>i(n).notification_email=a),modelModifiers:{trim:!0},invalid:i(l).notification_email.$error,type:"email",onInput:t[1]||(t[1]=a=>i(l).notification_email.$touch())},null,8,["modelValue","invalid"])]),_:1},8,["error","label"]),d(I,{disabled:i(r),loading:i(r),variant:"primary",type:"submit",class:"mt-6"},{left:u(a=>[i(r)?j("",!0):(w(),S(b,{key:0,class:Y(a.class),name:"SaveIcon"},null,8,["class"]))]),default:u(()=>[D(" "+G(e.$tc("settings.notification.save")),1)]),_:1},8,["disabled","loading"])])],40,z),d(N,{class:"mt-6 mb-2"}),v("ul",L,[d(g,{modelValue:i(_),"onUpdate:modelValue":t[2]||(t[2]=a=>B(_)?_.value=a:null),title:e.$t("settings.notification.invoice_viewed"),description:e.$t("settings.notification.invoice_viewed_desc")},null,8,["modelValue","title","description"]),d(g,{modelValue:i(p),"onUpdate:modelValue":t[3]||(t[3]=a=>B(p)?p.value=a:null),title:e.$t("settings.notification.estimate_viewed"),description:e.$t("settings.notification.estimate_viewed_desc")},null,8,["modelValue","title","description"])])]),_:1},8,["title","description"])}}};export{H as default};

View File

@ -1 +1 @@
import{J as I,B as S,k as p,L as P,M as V,N as C,T as j,r as u,o as k,l as N,w as r,h as c,i as y,t as f,u as t,f as s,m as q,U as x}from"./vendor.d12b5734.js";import{u as D}from"./payment.2b6f850e.js";import{c as L}from"./main.c7bd6c0e.js";const T={class:"flex justify-between w-full"},z=["onSubmit"],G={class:"p-4 sm:p-6"},U={class:"z-0 flex justify-end p-4 border-t border-gray-200 border-solid"},F={setup(A){const o=L(),e=D(),{t:v}=I(),l=S(!1),h=p(()=>({currentPaymentMode:{name:{required:P.withMessage(v("validation.required"),V),minLength:P.withMessage(v("validation.name_min_length",{count:3}),C(3))}}})),a=j(h,p(()=>e)),b=p(()=>o.active&&o.componentName==="PaymentModeModal");async function g(){if(a.value.currentPaymentMode.$touch(),a.value.currentPaymentMode.$invalid)return!0;try{const n=e.currentPaymentMode.id?e.updatePaymentMode:e.addPaymentMode;l.value=!0,await n(e.currentPaymentMode),l.value=!1,o.refreshData&&o.refreshData(),d()}catch{return l.value=!1,!0}}function d(){o.closeModal(),setTimeout(()=>{a.value.$reset(),e.currentPaymentMode={id:"",name:null}})}return(n,m)=>{const M=u("BaseIcon"),B=u("BaseInput"),$=u("BaseInputGroup"),_=u("BaseButton"),w=u("BaseModal");return k(),N(w,{show:t(b),onClose:d},{header:r(()=>[c("div",T,[y(f(t(o).title)+" ",1),s(M,{name:"XIcon",class:"w-6 h-6 text-gray-500 cursor-pointer",onClick:d})])]),default:r(()=>[c("form",{action:"",onSubmit:x(g,["prevent"])},[c("div",G,[s($,{label:n.$t("settings.payment_modes.mode_name"),error:t(a).currentPaymentMode.name.$error&&t(a).currentPaymentMode.name.$errors[0].$message,required:""},{default:r(()=>[s(B,{modelValue:t(e).currentPaymentMode.name,"onUpdate:modelValue":m[0]||(m[0]=i=>t(e).currentPaymentMode.name=i),invalid:t(a).currentPaymentMode.name.$error,onInput:m[1]||(m[1]=i=>t(a).currentPaymentMode.name.$touch())},null,8,["modelValue","invalid"])]),_:1},8,["label","error"])]),c("div",U,[s(_,{variant:"primary-outline",class:"mr-3",type:"button",onClick:d},{default:r(()=>[y(f(n.$t("general.cancel")),1)]),_:1}),s(_,{loading:l.value,disabled:l.value,variant:"primary",type:"submit"},{left:r(i=>[s(M,{name:"SaveIcon",class:q(i.class)},null,8,["class"])]),default:r(()=>[y(" "+f(t(e).currentPaymentMode.id?n.$t("general.update"):n.$t("general.save")),1)]),_:1},8,["loading","disabled"])])],40,z)]),_:1},8,["show"])}}};export{F as _};
import{J as I,B as S,k as p,L as P,M as V,N as C,T as j,r as u,o as k,l as N,w as r,h as c,i as y,t as v,u as t,f as s,m as q,U as x}from"./vendor.d12b5734.js";import{u as D}from"./payment.93619753.js";import{c as L}from"./main.465728e1.js";const T={class:"flex justify-between w-full"},z=["onSubmit"],G={class:"p-4 sm:p-6"},U={class:"z-0 flex justify-end p-4 border-t border-gray-200 border-solid"},F={setup(A){const o=L(),e=D(),{t:M}=I(),l=S(!1),h=p(()=>({currentPaymentMode:{name:{required:P.withMessage(M("validation.required"),V),minLength:P.withMessage(M("validation.name_min_length",{count:3}),C(3))}}})),a=j(h,p(()=>e)),g=p(()=>o.active&&o.componentName==="PaymentModeModal");async function B(){if(a.value.currentPaymentMode.$touch(),a.value.currentPaymentMode.$invalid)return!0;try{const n=e.currentPaymentMode.id?e.updatePaymentMode:e.addPaymentMode;l.value=!0,await n(e.currentPaymentMode),l.value=!1,o.refreshData&&o.refreshData(),d()}catch{return l.value=!1,!0}}function d(){o.closeModal(),setTimeout(()=>{a.value.$reset(),e.currentPaymentMode={id:"",name:null}})}return(n,m)=>{const f=u("BaseIcon"),b=u("BaseInput"),$=u("BaseInputGroup"),_=u("BaseButton"),w=u("BaseModal");return k(),N(w,{show:t(g),onClose:d},{header:r(()=>[c("div",T,[y(v(t(o).title)+" ",1),s(f,{name:"XIcon",class:"w-6 h-6 text-gray-500 cursor-pointer",onClick:d})])]),default:r(()=>[c("form",{action:"",onSubmit:x(B,["prevent"])},[c("div",G,[s($,{label:n.$t("settings.payment_modes.mode_name"),error:t(a).currentPaymentMode.name.$error&&t(a).currentPaymentMode.name.$errors[0].$message,required:""},{default:r(()=>[s(b,{modelValue:t(e).currentPaymentMode.name,"onUpdate:modelValue":m[0]||(m[0]=i=>t(e).currentPaymentMode.name=i),invalid:t(a).currentPaymentMode.name.$error,onInput:m[1]||(m[1]=i=>t(a).currentPaymentMode.name.$touch())},null,8,["modelValue","invalid"])]),_:1},8,["label","error"])]),c("div",U,[s(_,{variant:"primary-outline",class:"mr-3",type:"button",onClick:d},{default:r(()=>[y(v(n.$t("general.cancel")),1)]),_:1}),s(_,{loading:l.value,disabled:l.value,variant:"primary",type:"submit"},{left:r(i=>[s(f,{name:"SaveIcon",class:q(i.class)},null,8,["class"])]),default:r(()=>[y(" "+v(t(e).currentPaymentMode.id?n.$t("general.update"):n.$t("general.save")),1)]),_:1},8,["loading","disabled"])])],40,z)]),_:1},8,["show"])}}};export{F as _};

View File

@ -1 +1 @@
import{J as D,G as I,ah as x,r as d,o as p,l as b,w as a,u as M,f as t,i as v,t as w,B as $,k as j,e as N,m as z,F as T}from"./vendor.d12b5734.js";import{u as P}from"./payment.2b6f850e.js";import{j as C,u as F,e as H,c as S}from"./main.c7bd6c0e.js";import{_ as L}from"./PaymentModeModal.2e1f1512.js";const O={props:{row:{type:Object,default:null},table:{type:Object,default:null},loadData:{type:Function,default:null}},setup(u){const c=u,y=C();F();const{t:s}=D(),o=P(),f=I();H();const _=S();x("utils");function g(e){o.fetchPaymentMode(e),_.openModal({title:s("settings.payment_modes.edit_payment_mode"),componentName:"PaymentModeModal",refreshData:c.loadData&&c.loadData,size:"sm"})}function B(e){y.openDialog({title:s("general.are_you_sure"),message:s("settings.payment_modes.payment_mode_confirm_delete"),yesLabel:s("general.ok"),noLabel:s("general.cancel"),variant:"danger",hideNoButton:!1,size:"lg"}).then(async l=>{l&&(await o.deletePaymentMode(e),c.loadData&&c.loadData())})}return(e,l)=>{const n=d("BaseIcon"),i=d("BaseButton"),r=d("BaseDropdownItem"),h=d("BaseDropdown");return p(),b(h,null,{activator:a(()=>[M(f).name==="paymentModes.view"?(p(),b(i,{key:0,variant:"primary"},{default:a(()=>[t(n,{name:"DotsHorizontalIcon",class:"h-5 text-white"})]),_:1})):(p(),b(n,{key:1,name:"DotsHorizontalIcon",class:"h-5 text-gray-500"}))]),default:a(()=>[t(r,{onClick:l[0]||(l[0]=m=>g(u.row.id))},{default:a(()=>[t(n,{name:"PencilIcon",class:"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500"}),v(" "+w(e.$t("general.edit")),1)]),_:1}),t(r,{onClick:l[1]||(l[1]=m=>B(u.row.id))},{default:a(()=>[t(n,{name:"TrashIcon",class:"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500"}),v(" "+w(e.$t("general.delete")),1)]),_:1})]),_:1})}}},R={setup(u){const c=S();C();const y=P(),{t:s}=D(),o=$(null),f=j(()=>[{key:"name",label:s("settings.payment_modes.mode_name"),thClass:"extra",tdClass:"font-medium text-gray-900"},{key:"actions",label:"",tdClass:"text-right text-sm font-medium",sortable:!1}]);async function _(){o.value&&o.value.refresh()}async function g({page:e,filter:l,sort:n}){let i={orderByField:n.fieldName||"created_at",orderBy:n.order||"desc",page:e},r=await y.fetchPaymentModes(i);return{data:r.data.data,pagination:{totalPages:r.data.meta.last_page,currentPage:e,totalCount:r.data.meta.total,limit:5}}}function B(){c.openModal({title:s("settings.payment_modes.add_payment_mode"),componentName:"PaymentModeModal",refreshData:o.value&&o.value.refresh,size:"sm"})}return(e,l)=>{const n=d("BaseIcon"),i=d("BaseButton"),r=d("BaseTable"),h=d("BaseSettingCard");return p(),N(T,null,[t(L),t(h,{title:e.$t("settings.payment_modes.title"),description:e.$t("settings.payment_modes.description")},{action:a(()=>[t(i,{type:"submit",variant:"primary-outline",onClick:B},{left:a(m=>[t(n,{class:z(m.class),name:"PlusIcon"},null,8,["class"])]),default:a(()=>[v(" "+w(e.$t("settings.payment_modes.add_payment_mode")),1)]),_:1})]),default:a(()=>[t(r,{ref:(m,k)=>{k.table=m,o.value=m},data:g,columns:M(f),class:"mt-16"},{"cell-actions":a(({row:m})=>[t(O,{row:m.data,table:o.value,"load-data":_},null,8,["row","table"])]),_:1},8,["columns"])]),_:1},8,["title","description"])],64)}}};export{R as default};
import{J as D,G as I,ah as x,r as d,o as p,l as b,w as a,u as M,f as t,i as v,t as w,B as $,k as j,e as N,m as z,F as T}from"./vendor.d12b5734.js";import{u as P}from"./payment.93619753.js";import{j as C,u as F,e as H,c as S}from"./main.465728e1.js";import{_ as L}from"./PaymentModeModal.a0b58785.js";const O={props:{row:{type:Object,default:null},table:{type:Object,default:null},loadData:{type:Function,default:null}},setup(u){const i=u,y=C();F();const{t:s}=D(),o=P(),f=I();H();const _=S();x("utils");function g(e){o.fetchPaymentMode(e),_.openModal({title:s("settings.payment_modes.edit_payment_mode"),componentName:"PaymentModeModal",refreshData:i.loadData&&i.loadData,size:"sm"})}function B(e){y.openDialog({title:s("general.are_you_sure"),message:s("settings.payment_modes.payment_mode_confirm_delete"),yesLabel:s("general.ok"),noLabel:s("general.cancel"),variant:"danger",hideNoButton:!1,size:"lg"}).then(async l=>{l&&(await o.deletePaymentMode(e),i.loadData&&i.loadData())})}return(e,l)=>{const n=d("BaseIcon"),c=d("BaseButton"),r=d("BaseDropdownItem"),h=d("BaseDropdown");return p(),b(h,null,{activator:a(()=>[M(f).name==="paymentModes.view"?(p(),b(c,{key:0,variant:"primary"},{default:a(()=>[t(n,{name:"DotsHorizontalIcon",class:"h-5 text-white"})]),_:1})):(p(),b(n,{key:1,name:"DotsHorizontalIcon",class:"h-5 text-gray-500"}))]),default:a(()=>[t(r,{onClick:l[0]||(l[0]=m=>g(u.row.id))},{default:a(()=>[t(n,{name:"PencilIcon",class:"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500"}),v(" "+w(e.$t("general.edit")),1)]),_:1}),t(r,{onClick:l[1]||(l[1]=m=>B(u.row.id))},{default:a(()=>[t(n,{name:"TrashIcon",class:"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500"}),v(" "+w(e.$t("general.delete")),1)]),_:1})]),_:1})}}},R={setup(u){const i=S();C();const y=P(),{t:s}=D(),o=$(null),f=j(()=>[{key:"name",label:s("settings.payment_modes.mode_name"),thClass:"extra",tdClass:"font-medium text-gray-900"},{key:"actions",label:"",tdClass:"text-right text-sm font-medium",sortable:!1}]);async function _(){o.value&&o.value.refresh()}async function g({page:e,filter:l,sort:n}){let c={orderByField:n.fieldName||"created_at",orderBy:n.order||"desc",page:e},r=await y.fetchPaymentModes(c);return{data:r.data.data,pagination:{totalPages:r.data.meta.last_page,currentPage:e,totalCount:r.data.meta.total,limit:5}}}function B(){i.openModal({title:s("settings.payment_modes.add_payment_mode"),componentName:"PaymentModeModal",refreshData:o.value&&o.value.refresh,size:"sm"})}return(e,l)=>{const n=d("BaseIcon"),c=d("BaseButton"),r=d("BaseTable"),h=d("BaseSettingCard");return p(),N(T,null,[t(L),t(h,{title:e.$t("settings.payment_modes.title"),description:e.$t("settings.payment_modes.description")},{action:a(()=>[t(c,{type:"submit",variant:"primary-outline",onClick:B},{left:a(m=>[t(n,{class:z(m.class),name:"PlusIcon"},null,8,["class"])]),default:a(()=>[v(" "+w(e.$t("settings.payment_modes.add_payment_mode")),1)]),_:1})]),default:a(()=>[t(r,{ref:(m,k)=>{k.table=m,o.value=m},data:g,columns:M(f),class:"mt-16"},{"cell-actions":a(({row:m})=>[t(O,{row:m.data,table:o.value,"load-data":_},null,8,["row","table"])]),_:1},8,["columns"])]),_:1},8,["title","description"])],64)}}};export{R as default};

View File

@ -1 +1 @@
import{J as D,G as E,aN as k,ah as C,r as c,o as a,l as n,w as o,u as t,f as r,i as p,t as I,j as v}from"./vendor.d12b5734.js";import{t as x,u as S,j as V,e as j,g as y}from"./main.c7bd6c0e.js";const G={props:{row:{type:Object,default:null},table:{type:Object,default:null},loadData:{type:Function,default:()=>{}}},setup(l){const _=l,g=x(),h=S(),N=V(),m=j(),{t:s}=D(),w=E();k(),C("utils");async function b(i=null){N.openDialog({title:s("general.are_you_sure"),message:s("invoices.confirm_delete"),yesLabel:s("general.ok"),noLabel:s("general.cancel"),variant:"danger",hideNoButton:!1,size:"lg"}).then(async u=>{u&&await g.deleteMultipleRecurringInvoices(i).then(e=>{e.data.success?(_.table&&_.table.refresh(),g.$patch(d=>{d.selectedRecurringInvoices=[],d.selectAllField=!1}),h.showNotification({type:"success",message:s("recurring_invoices.deleted_message",2)})):e.data.error&&h.showNotification({type:"error",message:e.data.message})})})}return(i,u)=>{const e=c("BaseIcon"),d=c("BaseButton"),f=c("BaseDropdownItem"),R=c("router-link"),B=c("BaseDropdown");return a(),n(B,{"content-loading":t(g).isFetchingViewData},{activator:o(()=>[t(w).name==="recurring-invoices.view"?(a(),n(d,{key:0,variant:"primary"},{default:o(()=>[r(e,{name:"DotsHorizontalIcon",class:"h-5 text-white"})]),_:1})):(a(),n(e,{key:1,name:"DotsHorizontalIcon",class:"h-5 text-gray-500"}))]),default:o(()=>[t(m).hasAbilities(t(y).EDIT_RECURRING_INVOICE)?(a(),n(R,{key:0,to:`/admin/recurring-invoices/${l.row.id}/edit`},{default:o(()=>[r(f,null,{default:o(()=>[r(e,{name:"PencilIcon",class:"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500"}),p(" "+I(i.$t("general.edit")),1)]),_:1})]),_:1},8,["to"])):v("",!0),t(w).name!=="recurring-invoices.view"&&t(m).hasAbilities(t(y).VIEW_RECURRING_INVOICE)?(a(),n(R,{key:1,to:`recurring-invoices/${l.row.id}/view`},{default:o(()=>[r(f,null,{default:o(()=>[r(e,{name:"EyeIcon",class:"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500"}),p(" "+I(i.$t("general.view")),1)]),_:1})]),_:1},8,["to"])):v("",!0),t(m).hasAbilities(t(y).DELETE_RECURRING_INVOICE)?(a(),n(f,{key:2,onClick:u[0]||(u[0]=$=>b(l.row.id))},{default:o(()=>[r(e,{name:"TrashIcon",class:"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500"}),p(" "+I(i.$t("general.delete")),1)]),_:1})):v("",!0)]),_:1},8,["content-loading"])}}};export{G as _};
import{J as b,G as E,aN as k,ah as C,r as c,o as a,l as n,w as o,u as t,f as r,i as p,t as I,j as v}from"./vendor.d12b5734.js";import{t as x,u as S,j as V,e as j,g as y}from"./main.465728e1.js";const G={props:{row:{type:Object,default:null},table:{type:Object,default:null},loadData:{type:Function,default:()=>{}}},setup(l){const _=l,g=x(),h=S(),N=V(),m=j(),{t:s}=b(),w=E();k(),C("utils");async function B(i=null){N.openDialog({title:s("general.are_you_sure"),message:s("invoices.confirm_delete"),yesLabel:s("general.ok"),noLabel:s("general.cancel"),variant:"danger",hideNoButton:!1,size:"lg"}).then(async u=>{u&&await g.deleteMultipleRecurringInvoices(i).then(e=>{e.data.success?(_.table&&_.table.refresh(),g.$patch(d=>{d.selectedRecurringInvoices=[],d.selectAllField=!1}),h.showNotification({type:"success",message:s("recurring_invoices.deleted_message",2)})):e.data.error&&h.showNotification({type:"error",message:e.data.message})})})}return(i,u)=>{const e=c("BaseIcon"),d=c("BaseButton"),f=c("BaseDropdownItem"),R=c("router-link"),D=c("BaseDropdown");return a(),n(D,{"content-loading":t(g).isFetchingViewData},{activator:o(()=>[t(w).name==="recurring-invoices.view"?(a(),n(d,{key:0,variant:"primary"},{default:o(()=>[r(e,{name:"DotsHorizontalIcon",class:"h-5 text-white"})]),_:1})):(a(),n(e,{key:1,name:"DotsHorizontalIcon",class:"h-5 text-gray-500"}))]),default:o(()=>[t(m).hasAbilities(t(y).EDIT_RECURRING_INVOICE)?(a(),n(R,{key:0,to:`/admin/recurring-invoices/${l.row.id}/edit`},{default:o(()=>[r(f,null,{default:o(()=>[r(e,{name:"PencilIcon",class:"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500"}),p(" "+I(i.$t("general.edit")),1)]),_:1})]),_:1},8,["to"])):v("",!0),t(w).name!=="recurring-invoices.view"&&t(m).hasAbilities(t(y).VIEW_RECURRING_INVOICE)?(a(),n(R,{key:1,to:`recurring-invoices/${l.row.id}/view`},{default:o(()=>[r(f,null,{default:o(()=>[r(e,{name:"EyeIcon",class:"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500"}),p(" "+I(i.$t("general.view")),1)]),_:1})]),_:1},8,["to"])):v("",!0),t(m).hasAbilities(t(y).DELETE_RECURRING_INVOICE)?(a(),n(f,{key:2,onClick:u[0]||(u[0]=$=>B(l.row.id))},{default:o(()=>[r(e,{name:"TrashIcon",class:"w-5 h-5 mr-3 text-gray-400 group-hover:text-gray-500"}),p(" "+I(i.$t("general.delete")),1)]),_:1})):v("",!0)]),_:1},8,["content-loading"])}}};export{G as _};

View File

@ -1 +1 @@
import{G as S,aN as M,J as E,a0 as j,B as $,k as x,L as m,M as g,Q as C,N as G,P as L,T as N,r as u,o as c,e as P,f as n,w as p,u as e,l as _,x as y,i as U,t as A,U as R}from"./vendor.d12b5734.js";import{u as D}from"./global.1ac91de5.js";import{u as O}from"./auth.a07e0850.js";import"./main.c7bd6c0e.js";const T=["onSubmit"],K={setup(F){const f=S(),b=M(),B=O(),{t:i}=E(),r=j({email:"",password:"",password_confirmation:""});D();let a=$(!1),v=$(!1);const I=x(()=>({email:{required:m.withMessage(i("validation.required"),g),email:m.withMessage(i("validation.email_incorrect"),C)},password:{required:m.withMessage(i("validation.required"),g),minLength:m.withMessage(i("validation.password_min_length",{count:8}),G(8))},password_confirmation:{sameAsPassword:m.withMessage(i("validation.password_incorrect"),L(r.password))}})),s=N(I,r);async function V(l){if(s.value.$touch(),!s.value.$invalid){let o={email:r.email,password:r.password,password_confirmation:r.password_confirmation,token:f.params.token};v.value=!0;let d=B.resetPassword(o,f.params.company);v.value=!1,d.data&&b.push({name:"customer.login"})}}return(l,o)=>{const d=u("BaseInput"),w=u("BaseInputGroup"),k=u("EyeOffIcon"),h=u("EyeIcon"),q=u("BaseButton");return c(),P("form",{id:"loginForm",onSubmit:R(V,["prevent"])},[n(w,{error:e(s).email.$error&&e(s).email.$errors[0].$message,label:l.$t("login.email"),class:"mb-4",required:""},{default:p(()=>[n(d,{modelValue:e(r).email,"onUpdate:modelValue":o[0]||(o[0]=t=>e(r).email=t),type:"email",name:"email",invalid:e(s).email.$error,onInput:o[1]||(o[1]=t=>e(s).email.$touch())},null,8,["modelValue","invalid"])]),_:1},8,["error","label"]),n(w,{error:e(s).password.$error&&e(s).password.$errors[0].$message,label:l.$t("login.password"),class:"mb-4",required:""},{default:p(()=>[n(d,{modelValue:e(r).password,"onUpdate:modelValue":o[4]||(o[4]=t=>e(r).password=t),type:e(a)?"text":"password",name:"password",invalid:e(s).password.$error,onInput:o[5]||(o[5]=t=>e(s).password.$touch())},{right:p(()=>[e(a)?(c(),_(k,{key:0,class:"w-5 h-5 mr-1 text-gray-500 cursor-pointer",onClick:o[2]||(o[2]=t=>y(a)?a.value=!e(a):a=!e(a))})):(c(),_(h,{key:1,class:"w-5 h-5 mr-1 text-gray-500 cursor-pointer",onClick:o[3]||(o[3]=t=>y(a)?a.value=!e(a):a=!e(a))}))]),_:1},8,["modelValue","type","invalid"])]),_:1},8,["error","label"]),n(w,{error:e(s).password_confirmation.$error&&e(s).password_confirmation.$errors[0].$message,label:l.$t("login.retype_password"),class:"mb-4",required:""},{default:p(()=>[n(d,{modelValue:e(r).password_confirmation,"onUpdate:modelValue":o[6]||(o[6]=t=>e(r).password_confirmation=t),type:"password",name:"password",invalid:e(s).password_confirmation.$error,onInput:o[7]||(o[7]=t=>e(s).password_confirmation.$touch())},null,8,["modelValue","invalid"])]),_:1},8,["error","label"]),n(q,{type:"submit",variant:"primary"},{default:p(()=>[U(A(l.$t("login.reset_password")),1)]),_:1})],40,T)}}};export{K as default};
import{G as S,aN as M,J as E,a0 as j,B as $,k as x,L as m,M as g,Q as C,N as G,P as L,T as N,r as u,o as c,e as P,f as n,w as p,u as e,l as _,x as y,i as U,t as A,U as R}from"./vendor.d12b5734.js";import{u as D}from"./global.dc565c4e.js";import{u as O}from"./auth.c88ceb4c.js";import"./main.465728e1.js";const T=["onSubmit"],K={setup(F){const f=S(),b=M(),B=O(),{t:i}=E(),r=j({email:"",password:"",password_confirmation:""});D();let a=$(!1),v=$(!1);const I=x(()=>({email:{required:m.withMessage(i("validation.required"),g),email:m.withMessage(i("validation.email_incorrect"),C)},password:{required:m.withMessage(i("validation.required"),g),minLength:m.withMessage(i("validation.password_min_length",{count:8}),G(8))},password_confirmation:{sameAsPassword:m.withMessage(i("validation.password_incorrect"),L(r.password))}})),s=N(I,r);async function V(l){if(s.value.$touch(),!s.value.$invalid){let o={email:r.email,password:r.password,password_confirmation:r.password_confirmation,token:f.params.token};v.value=!0;let d=B.resetPassword(o,f.params.company);v.value=!1,d.data&&b.push({name:"customer.login"})}}return(l,o)=>{const d=u("BaseInput"),w=u("BaseInputGroup"),k=u("EyeOffIcon"),h=u("EyeIcon"),q=u("BaseButton");return c(),P("form",{id:"loginForm",onSubmit:R(V,["prevent"])},[n(w,{error:e(s).email.$error&&e(s).email.$errors[0].$message,label:l.$t("login.email"),class:"mb-4",required:""},{default:p(()=>[n(d,{modelValue:e(r).email,"onUpdate:modelValue":o[0]||(o[0]=t=>e(r).email=t),type:"email",name:"email",invalid:e(s).email.$error,onInput:o[1]||(o[1]=t=>e(s).email.$touch())},null,8,["modelValue","invalid"])]),_:1},8,["error","label"]),n(w,{error:e(s).password.$error&&e(s).password.$errors[0].$message,label:l.$t("login.password"),class:"mb-4",required:""},{default:p(()=>[n(d,{modelValue:e(r).password,"onUpdate:modelValue":o[4]||(o[4]=t=>e(r).password=t),type:e(a)?"text":"password",name:"password",invalid:e(s).password.$error,onInput:o[5]||(o[5]=t=>e(s).password.$touch())},{right:p(()=>[e(a)?(c(),_(k,{key:0,class:"w-5 h-5 mr-1 text-gray-500 cursor-pointer",onClick:o[2]||(o[2]=t=>y(a)?a.value=!e(a):a=!e(a))})):(c(),_(h,{key:1,class:"w-5 h-5 mr-1 text-gray-500 cursor-pointer",onClick:o[3]||(o[3]=t=>y(a)?a.value=!e(a):a=!e(a))}))]),_:1},8,["modelValue","type","invalid"])]),_:1},8,["error","label"]),n(w,{error:e(s).password_confirmation.$error&&e(s).password_confirmation.$errors[0].$message,label:l.$t("login.retype_password"),class:"mb-4",required:""},{default:p(()=>[n(d,{modelValue:e(r).password_confirmation,"onUpdate:modelValue":o[6]||(o[6]=t=>e(r).password_confirmation=t),type:"password",name:"password",invalid:e(s).password_confirmation.$error,onInput:o[7]||(o[7]=t=>e(s).password_confirmation.$touch())},null,8,["modelValue","invalid"])]),_:1},8,["error","label"]),n(q,{type:"submit",variant:"primary"},{default:p(()=>[U(A(l.$t("login.reset_password")),1)]),_:1})],40,T)}}};export{K as default};

Some files were not shown because too many files have changed in this diff Show More