Unify form styling across invoice, estimate, and recurring invoice pages

Apply consistent rounded-xl shadow border-line-light to customer
selector, date/number fields card, items table, totals card, editor,
tax popup, and view page sidebars. Wrap right-side basic fields in
card container matching the customer card.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Darko Gjorgjijoski
2026-04-04 02:18:00 +02:00
parent 88adfe0e50
commit 350068706c
8 changed files with 25 additions and 22 deletions

View File

@@ -37,8 +37,8 @@
<div <div
class=" class="
overflow-hidden overflow-hidden
rounded-md rounded-xl
shadow-lg shadow
ring-1 ring-black/5 ring-1 ring-black/5
" "
> >
@@ -64,7 +64,7 @@
overflow-auto overflow-auto
list list
max-h-36 max-h-36
border-t border-line-default border-t border-line-light
" "
> >
<div <div
@@ -80,7 +80,7 @@
class=" class="
px-6 px-6
py-4 py-4
border-b border-line-default border-solid border-b border-line-light border-solid
cursor-pointer cursor-pointer
hover:bg-surface-tertiary hover:cursor-pointer hover:bg-surface-tertiary hover:cursor-pointer
last:border-b-0 last:border-b-0

View File

@@ -266,7 +266,7 @@
class=" class="
flex-1 flex-1
border border-gray-400 border-solid border border-gray-400 border-solid
rounded-md rounded-xl
bg-surface bg-surface
frame-style frame-style
" "

View File

@@ -8,7 +8,7 @@
class="col-span-5 pr-0" class="col-span-5 pr-0"
/> />
<BaseInputGrid class="col-span-7"> <BaseInputGrid class="col-span-7 rounded-xl shadow border border-line-light bg-surface p-5">
<BaseInputGroup <BaseInputGroup
:label="$t('reports.estimates.estimate_date')" :label="$t('reports.estimates.estimate_date')"
:content-loading="isLoading" :content-loading="isLoading"

View File

@@ -508,7 +508,7 @@ onSearched = debounce(onSearched, 500)
flex-1 flex-1
border border-gray-400 border-solid border border-gray-400 border-solid
bg-surface bg-surface
rounded-md rounded-xl
frame-style frame-style
" "
/> />

View File

@@ -8,7 +8,7 @@
class="col-span-12 lg:col-span-5 pr-0" class="col-span-12 lg:col-span-5 pr-0"
/> />
<BaseInputGrid class="col-span-12 lg:col-span-7"> <BaseInputGrid class="col-span-12 lg:col-span-7 rounded-xl shadow border border-line-light bg-surface p-5">
<BaseInputGroup <BaseInputGroup
:label="$t('invoices.invoice_date')" :label="$t('invoices.invoice_date')"
:content-loading="isLoading" :content-loading="isLoading"

View File

@@ -36,6 +36,7 @@
gap-4 gap-4
mt-8 mt-8
lg:gap-6 lg:mt-0 lg:grid-cols-2 lg:gap-6 lg:mt-0 lg:grid-cols-2
rounded-xl shadow border border-line-light bg-surface p-5
" "
> >
<BaseInputGroup <BaseInputGroup

View File

@@ -17,9 +17,10 @@
flex flex-col flex flex-col
p-4 p-4
bg-surface bg-surface
border border-line-default border-solid border border-line-light border-solid
min-h-[170px] min-h-[170px]
rounded-md rounded-xl
shadow
" "
@click.stop @click.stop
> >
@@ -169,7 +170,7 @@
</div> </div>
</div> </div>
<Popover v-else v-slot="{ open }" class="relative flex flex-col rounded-md"> <Popover v-else v-slot="{ open }" class="relative flex flex-col rounded-xl">
<PopoverButton <PopoverButton
:class="{ :class="{
'': open, '': open,
@@ -177,7 +178,7 @@
valid.$error, valid.$error,
'focus:ring-2 focus:ring-primary-400': !valid.$error, 'focus:ring-2 focus:ring-primary-400': !valid.$error,
}" }"
class="w-full outline-hidden rounded-md" class="w-full outline-hidden rounded-xl"
> >
<div <div
class=" class="
@@ -188,8 +189,9 @@
p-0 p-0
py-16 py-16
bg-surface bg-surface
border border-line-default border-solid border border-line-light border-solid
rounded-md rounded-xl
shadow
min-h-[170px] min-h-[170px]
" "
> >
@@ -241,8 +243,8 @@
static static
class=" class="
overflow-hidden overflow-hidden
rounded-md rounded-xl
shadow-lg shadow
ring-1 ring-black/5 ring-1 ring-black/5
bg-surface bg-surface
" "
@@ -263,7 +265,7 @@
flex flex-col flex flex-col
overflow-auto overflow-auto
list list
border-t border-line-default border-t border-line-light
" "
> >
<li <li
@@ -274,7 +276,7 @@
flex flex
px-6 px-6
py-2 py-2
border-b border-line-default border-solid border-b border-line-light border-solid
cursor-pointer cursor-pointer
hover:cursor-pointer hover:bg-hover-strong hover:cursor-pointer hover:bg-hover-strong
focus:outline-hidden focus:bg-surface-tertiary focus:outline-hidden focus:bg-surface-tertiary

View File

@@ -8,10 +8,10 @@
</BaseContentPlaceholders> </BaseContentPlaceholders>
<div <div
v-else v-else
class="box-border w-full text-sm leading-8 text-left bg-surface border border-line-default rounded-md min-h-[200px] overflow-hidden" class="box-border w-full text-sm leading-8 text-left bg-surface border border-line-light rounded-xl shadow min-h-[200px] overflow-hidden"
> >
<div v-if="editor" class="editor-content"> <div v-if="editor" class="editor-content">
<div class="flex justify-end p-2 border-b border-line-default md:hidden"> <div class="flex justify-end p-2 border-b border-line-light md:hidden">
<BaseDropdown width-class="w-48"> <BaseDropdown width-class="w-48">
<template #activator> <template #activator>
<div <div
@@ -40,7 +40,7 @@
</div> </div>
</BaseDropdown> </BaseDropdown>
</div> </div>
<div class="hidden p-2 border-b border-line-default md:flex"> <div class="hidden p-2 border-b border-line-light md:flex">
<div class="flex flex-wrap space-x-1"> <div class="flex flex-wrap space-x-1">
<button <button
v-for="button in editorButtons" v-for="button in editorButtons"
@@ -180,7 +180,7 @@ export default {
min-height: 200px; min-height: 200px;
padding: 8px 12px; padding: 8px 12px;
outline: none; outline: none;
@apply rounded-md rounded-tl-none rounded-tr-none border border-transparent; @apply rounded-xl rounded-tl-none rounded-tr-none border border-transparent;
h1 { h1 {
font-size: 2em; font-size: 2em;