Compare commits

..

1 Commits

Author SHA1 Message Date
0d606c1afa feat: make late fee optional + don't include logo placeholder and empty client in the PDF (#31)
* fix: don't include the placeholder logo in PDF

* feat: make late fee optional

* fix: don't include the empty Client text in PDF
2025-09-27 02:47:47 +02:00
5 changed files with 11 additions and 75 deletions

View File

@ -1,64 +0,0 @@
# 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

View File

@ -5,7 +5,7 @@
ref="button"
:tabindex="tabindex"
@click="toggleOpen">
<span v-if="!value">{{ $t('client') }}</span>
<span v-if="!value" class="d-print-none">{{ $t('client') }}</span>
<span v-else>{{ value }}</span>
</div>
<div class="search-popover__overlay" v-if="isOpen" @click="toggleOpen"></div>

View File

@ -37,6 +37,7 @@
:inline="true"
field="due_at"/>
</BModal>
<span :class="{'d-print-none': !invoice.late_fee}">
<br>{{ $t('late_fee') }}
<AppEditable :value="invoice.late_fee | currency"
:errors="errors"
@ -44,6 +45,7 @@
field="late_fee"
:placeholder="$t('add_late_fee')"
@change="updateProp({ late_fee: $event })"/>
</span>
</div>
</template>
<script>

View File

@ -4,7 +4,7 @@
class="pointer"
@click="openModal"
:src="team.logo_url" style="width:100%; max-width:200px;">
<button class="btn btn-sm" @click="openModal" v-else>
<button class="btn btn-sm d-print-none" @click="openModal" v-else>
<i class="material-icons material-icons-round md-36">file_upload</i>
</button>
<AppError :errors="errors" field="logo_url"/>

View File

@ -19,7 +19,6 @@ class InvoiceService {
async updateInvoice(invoice) {
const requiredFields = {
currency: 'Currency',
late_fee: 'Late Fee',
issued_at: 'Issued At',
due_at: 'Due At',
number: 'Number',
@ -40,7 +39,6 @@ class InvoiceService {
async bookInvoice(invoice) {
const requiredFields = {
currency: 'Currency',
late_fee: 'Late fee',
issued_at: 'Issued at',
due_at: 'Due at',
number: 'Number',