mirror of
https://github.com/mokuappio/serverless-invoices.git
synced 2025-10-27 16:01:07 -04:00
Compare commits
14 Commits
main
...
b38091c84e
| Author | SHA1 | Date | |
|---|---|---|---|
| b38091c84e | |||
| 5d9fa9da41 | |||
| 75ff3956ed | |||
| c2c64d20cf | |||
| d358d5e227 | |||
| f19c5fefac | |||
| 8dd69ea999 | |||
| 1136d12261 | |||
| c12d269607 | |||
| e7dd359c19 | |||
| 9c8ebb7d5a | |||
| 44216604a8 | |||
| 0c0b7c4a76 | |||
| 6f25cec5fe |
64
.github/workflows/main.yml
vendored
Normal file
64
.github/workflows/main.yml
vendored
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
# Simple workflow for deploying static content to GitHub Pages
|
||||||
|
name: Deploy static content to Pages
|
||||||
|
|
||||||
|
on:
|
||||||
|
# Runs on pushes targeting the default branch
|
||||||
|
push:
|
||||||
|
branches: ["main"]
|
||||||
|
|
||||||
|
# Allows you to run this workflow manually from the Actions tab
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
pages: write
|
||||||
|
id-token: write
|
||||||
|
|
||||||
|
# Allow one concurrent deployment
|
||||||
|
concurrency:
|
||||||
|
group: "pages"
|
||||||
|
cancel-in-progress: true
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
# Single deploy job since we're just deploying
|
||||||
|
deploy:
|
||||||
|
environment:
|
||||||
|
name: github-pages
|
||||||
|
url: ${{ steps.deployment.outputs.page_url }}
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
- name: Setup Pages
|
||||||
|
uses: actions/configure-pages@v5
|
||||||
|
- name: Use Node.js
|
||||||
|
uses: actions/setup-node@v4
|
||||||
|
with:
|
||||||
|
node-version: "16.18"
|
||||||
|
- name: cache node_modules
|
||||||
|
id: node-modules
|
||||||
|
uses: actions/cache/restore@v4
|
||||||
|
with:
|
||||||
|
path: node_modules
|
||||||
|
key: ${{ runner.os }}-node_modules
|
||||||
|
restore-keys: ${{ runner.os }}-node_modules
|
||||||
|
- name: npm install
|
||||||
|
run: npm ci --force
|
||||||
|
- name: config
|
||||||
|
run: |
|
||||||
|
cp src/config/app.config.example.js src/config/app.config.js
|
||||||
|
cp vue.config.js.example vue.config.js
|
||||||
|
sed -i "s|publicPath: '/'|publicPath: '/serverless-invoices'|" vue.config.js
|
||||||
|
cat vue.config.js
|
||||||
|
sed -i "s|};|base_url: '/serverless-invoices'};|" src/config/app.config.js
|
||||||
|
cat src/config/app.config.js
|
||||||
|
- name: building
|
||||||
|
run: npm run build
|
||||||
|
- name: Upload artifact
|
||||||
|
uses: actions/upload-pages-artifact@v3
|
||||||
|
with:
|
||||||
|
path: "dist"
|
||||||
|
- name: Deploy to GitHub Pages
|
||||||
|
id: deployment
|
||||||
|
uses: actions/deploy-pages@v4
|
||||||
@ -5,7 +5,7 @@
|
|||||||
ref="button"
|
ref="button"
|
||||||
:tabindex="tabindex"
|
:tabindex="tabindex"
|
||||||
@click="toggleOpen">
|
@click="toggleOpen">
|
||||||
<span v-if="!value" class="d-print-none">{{ $t('client') }}</span>
|
<span v-if="!value">{{ $t('client') }}</span>
|
||||||
<span v-else>{{ value }}</span>
|
<span v-else>{{ value }}</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="search-popover__overlay" v-if="isOpen" @click="toggleOpen"></div>
|
<div class="search-popover__overlay" v-if="isOpen" @click="toggleOpen"></div>
|
||||||
|
|||||||
@ -37,15 +37,13 @@
|
|||||||
:inline="true"
|
:inline="true"
|
||||||
field="due_at"/>
|
field="due_at"/>
|
||||||
</BModal>
|
</BModal>
|
||||||
<span :class="{'d-print-none': !invoice.late_fee}">
|
<br>{{ $t('late_fee') }}
|
||||||
<br>{{ $t('late_fee') }}
|
<AppEditable :value="invoice.late_fee | currency"
|
||||||
<AppEditable :value="invoice.late_fee | currency"
|
:errors="errors"
|
||||||
:errors="errors"
|
suffix="%"
|
||||||
suffix="%"
|
field="late_fee"
|
||||||
field="late_fee"
|
:placeholder="$t('add_late_fee')"
|
||||||
:placeholder="$t('add_late_fee')"
|
@change="updateProp({ late_fee: $event })"/>
|
||||||
@change="updateProp({ late_fee: $event })"/>
|
|
||||||
</span>
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
class="pointer"
|
class="pointer"
|
||||||
@click="openModal"
|
@click="openModal"
|
||||||
:src="team.logo_url" style="width:100%; max-width:200px;">
|
:src="team.logo_url" style="width:100%; max-width:200px;">
|
||||||
<button class="btn btn-sm d-print-none" @click="openModal" v-else>
|
<button class="btn btn-sm" @click="openModal" v-else>
|
||||||
<i class="material-icons material-icons-round md-36">file_upload</i>
|
<i class="material-icons material-icons-round md-36">file_upload</i>
|
||||||
</button>
|
</button>
|
||||||
<AppError :errors="errors" field="logo_url"/>
|
<AppError :errors="errors" field="logo_url"/>
|
||||||
|
|||||||
@ -19,6 +19,7 @@ class InvoiceService {
|
|||||||
async updateInvoice(invoice) {
|
async updateInvoice(invoice) {
|
||||||
const requiredFields = {
|
const requiredFields = {
|
||||||
currency: 'Currency',
|
currency: 'Currency',
|
||||||
|
late_fee: 'Late Fee',
|
||||||
issued_at: 'Issued At',
|
issued_at: 'Issued At',
|
||||||
due_at: 'Due At',
|
due_at: 'Due At',
|
||||||
number: 'Number',
|
number: 'Number',
|
||||||
@ -39,6 +40,7 @@ class InvoiceService {
|
|||||||
async bookInvoice(invoice) {
|
async bookInvoice(invoice) {
|
||||||
const requiredFields = {
|
const requiredFields = {
|
||||||
currency: 'Currency',
|
currency: 'Currency',
|
||||||
|
late_fee: 'Late fee',
|
||||||
issued_at: 'Issued at',
|
issued_at: 'Issued at',
|
||||||
due_at: 'Due at',
|
due_at: 'Due at',
|
||||||
number: 'Number',
|
number: 'Number',
|
||||||
|
|||||||
Reference in New Issue
Block a user