mirror of
				https://github.com/crater-invoice/crater.git
				synced 2025-10-30 13:11:08 -04:00 
			
		
		
		
	Add dark mode in all StatusBadge (#1198)
* Add dark mode in all StatusBadge * add dark mode in InvoiceInformationCard * fix padding issue
This commit is contained in:
		| @ -1,33 +1,40 @@ | ||||
| <template> | ||||
|   <div class="bg-white shadow overflow-hidden rounded-lg mt-6"> | ||||
|   <div class="bg-white shadow overflow-hidden rounded-lg mt-6 dark:bg-gray-800"> | ||||
|     <div class="px-4 py-5 sm:px-6"> | ||||
|       <h3 class="text-lg leading-6 font-medium text-gray-900"> | ||||
|       <h3 class="text-lg leading-6 font-medium text-gray-900 dark:text-gray-100"> | ||||
|         {{ $t('invoices.invoice_information') }} | ||||
|       </h3> | ||||
|     </div> | ||||
|     <div v-if="invoice" class="border-t border-gray-200 px-4 py-5 sm:p-0"> | ||||
|       <dl class="sm:divide-y sm:divide-gray-200"> | ||||
|     <div v-if="invoice" | ||||
|       class=" | ||||
|         border-t | ||||
|         border-gray-200 | ||||
|         px-4 py-5 sm:p-0 | ||||
|         dark:border-gray-600 | ||||
|       " | ||||
|     > | ||||
|       <dl class="sm:divide-y sm:divide-gray-200 sm:dark:divide-gray-500"> | ||||
|         <div class="py-4 sm:py-5 sm:grid sm:grid-cols-3 sm:gap-4 sm:px-6"> | ||||
|           <dt class="text-sm font-medium text-gray-500"> | ||||
|           <dt class="text-sm font-medium text-gray-500 dark:dark:text-gray-400"> | ||||
|             {{ $t('general.from') }} | ||||
|           </dt> | ||||
|           <dd class="mt-1 text-sm text-gray-900 sm:mt-0 sm:col-span-2"> | ||||
|           <dd class="mt-1 text-sm text-gray-900 sm:mt-0 sm:col-span-2 dark:text-gray-100"> | ||||
|             {{ invoice.company.name }} | ||||
|           </dd> | ||||
|         </div> | ||||
|         <div class="py-4 sm:py-5 sm:grid sm:grid-cols-3 sm:gap-4 sm:px-6"> | ||||
|           <dt class="text-sm font-medium text-gray-500"> | ||||
|           <dt class="text-sm font-medium text-gray-500 dark:dark:text-gray-400"> | ||||
|             {{ $t('general.to') }} | ||||
|           </dt> | ||||
|           <dd class="mt-1 text-sm text-gray-900 sm:mt-0 sm:col-span-2"> | ||||
|           <dd class="mt-1 text-sm text-gray-900 sm:mt-0 sm:col-span-2 dark:text-gray-100"> | ||||
|             {{ invoice.customer.name }} | ||||
|           </dd> | ||||
|         </div> | ||||
|         <div class="py-4 sm:py-5 sm:grid sm:grid-cols-3 sm:gap-4 sm:px-6"> | ||||
|           <dt class="text-sm font-medium text-gray-500 capitalize"> | ||||
|           <dt class="text-sm font-medium text-gray-500 capitalize dark:dark:text-gray-400"> | ||||
|             {{ $t('invoices.paid_status').toLowerCase() }} | ||||
|           </dt> | ||||
|           <dd class="mt-1 text-sm text-gray-900 sm:mt-0 sm:col-span-2"> | ||||
|           <dd class="mt-1 text-sm text-gray-900 sm:mt-0 sm:col-span-2 dark:text-gray-100"> | ||||
|             <BaseInvoiceStatusBadge | ||||
|               :status="invoice.paid_status" | ||||
|               class="px-3 py-1" | ||||
| @ -37,10 +44,10 @@ | ||||
|           </dd> | ||||
|         </div> | ||||
|         <div class="py-4 sm:py-5 sm:grid sm:grid-cols-3 sm:gap-4 sm:px-6"> | ||||
|           <dt class="text-sm font-medium text-gray-500"> | ||||
|           <dt class="text-sm font-medium text-gray-500 dark:dark:text-gray-400"> | ||||
|             {{ $t('invoices.total') }} | ||||
|           </dt> | ||||
|           <dd class="mt-1 text-sm text-gray-900 sm:mt-0 sm:col-span-2"> | ||||
|           <dd class="mt-1 text-sm text-gray-900 sm:mt-0 sm:col-span-2 dark:text-gray-100"> | ||||
|             <BaseFormatMoney | ||||
|               :currency="invoice.currency" | ||||
|               :amount="invoice.total" | ||||
|  | ||||
| @ -18,17 +18,17 @@ const props = defineProps({ | ||||
| const badgeColorClasses = computed(() => { | ||||
|   switch (props.status) { | ||||
|     case 'DRAFT': | ||||
|       return 'bg-yellow-300 bg-opacity-25 px-2  py-1 text-sm  text-yellow-800 uppercase font-normal text-center ' | ||||
|       return 'bg-yellow-300 bg-opacity-25 px-2  py-1 text-sm  text-yellow-800 uppercase font-normal text-center dark:bg-transparent dark:border dark:border-yellow-500 dark:text-yellow-500' | ||||
|     case 'SENT': | ||||
|       return ' bg-yellow-500 bg-opacity-25 px-2 py-1 text-sm  text-yellow-900 uppercase font-normal text-center ' | ||||
|       return ' bg-yellow-500 bg-opacity-25 px-2 py-1 text-sm  text-yellow-900 uppercase font-normal text-center dark:bg-transparent dark:border dark:border-yellow-200 dark:text-yellow-200' | ||||
|     case 'VIEWED': | ||||
|       return 'bg-blue-400 bg-opacity-25 px-2  py-1 text-sm  text-blue-900 uppercase font-normal text-center' | ||||
|       return 'bg-blue-400 bg-opacity-25 px-2  py-1 text-sm  text-blue-900 uppercase font-normal text-center dark:bg-transparent dark:border dark:border-blue-300 dark:text-blue-300' | ||||
|     case 'EXPIRED': | ||||
|       return 'bg-red-300 bg-opacity-25 px-2 py-1 text-sm  text-red-800 uppercase font-normal text-center' | ||||
|       return 'bg-red-300 bg-opacity-25 px-2 py-1 text-sm  text-red-800 uppercase font-normal text-center dark:bg-transparent dark:border dark:border-red-500 dark:text-red-500' | ||||
|     case 'ACCEPTED': | ||||
|       return 'bg-green-400 bg-opacity-25 px-2 py-1 text-sm  text-green-800 uppercase font-normal text-center' | ||||
|       return 'bg-green-500 bg-opacity-25 px-2 py-1 text-sm  text-green-900 uppercase font-normal text-center dark:bg-transparent dark:border dark:border-green-400 dark:text-green-400' | ||||
|     case 'REJECTED': | ||||
|       return 'bg-purple-300 bg-opacity-25 px-2 py-1 text-sm  text-purple-800 uppercase font-normal text-center' | ||||
|       return 'bg-purple-300 bg-opacity-25 px-2 py-1 text-sm  text-purple-800 uppercase font-normal text-center dark:bg-transparent dark:border dark:border-purple-400 dark:text-purple-400' | ||||
|     default: | ||||
|       return 'bg-gray-500 bg-opacity-25 px-2 py-1 text-sm  text-gray-900 uppercase font-normal text-center' | ||||
|   } | ||||
|  | ||||
| @ -20,25 +20,25 @@ export default { | ||||
|     const badgeColorClasses = computed(() => { | ||||
|       switch (props.status) { | ||||
|         case 'DRAFT': | ||||
|           return 'bg-yellow-300 bg-opacity-25 px-2  py-1 text-sm  text-yellow-800 uppercase font-normal text-center' | ||||
|           return 'bg-yellow-300 bg-opacity-25 px-2  py-1 text-sm  text-yellow-800 uppercase font-normal text-center dark:bg-transparent dark:border dark:border-yellow-500 dark:text-yellow-500' | ||||
|         case 'SENT': | ||||
|           return ' bg-yellow-500 bg-opacity-25 px-2 py-1 text-sm  text-yellow-900 uppercase font-normal text-center ' | ||||
|           return ' bg-yellow-500 bg-opacity-25 px-2 py-1 text-sm  text-yellow-900 uppercase font-normal text-center dark:bg-transparent dark:border dark:border-lime-200 dark:text-yellow-200' | ||||
|         case 'VIEWED': | ||||
|           return 'bg-blue-400 bg-opacity-25 px-2  py-1 text-sm  text-blue-900 uppercase font-normal text-center' | ||||
|           return 'bg-blue-400 bg-opacity-25 px-2  py-1 text-sm  text-blue-900 uppercase font-normal text-center dark:bg-transparent dark:border dark:border-blue-300 dark:text-blue-300' | ||||
|         case 'COMPLETED': | ||||
|           return 'bg-green-500 bg-opacity-25 px-2  py-1 text-sm  text-green-900 uppercase font-normal text-center' | ||||
|           return 'bg-green-500 bg-opacity-25 px-2  py-1 text-sm  text-green-900 uppercase font-normal text-center dark:bg-transparent dark:border dark:border-green-400 dark:text-green-400' | ||||
|         case 'DUE': | ||||
|           return 'bg-yellow-500 bg-opacity-25 px-2  py-1 text-sm  text-yellow-900 uppercase font-normal text-center' | ||||
|           return 'bg-yellow-500 bg-opacity-25 px-2  py-1 text-sm  text-yellow-900 uppercase font-normal text-center dark:bg-transparent dark:border dark:border-yellow-500 dark:text-yellow-500' | ||||
|         case 'OVERDUE': | ||||
|           return 'bg-red-300 bg-opacity-50 px-2  py-1 text-sm  text-red-900 uppercase font-normal text-center' | ||||
|           return 'bg-red-300 bg-opacity-50 px-2  py-1 text-sm  text-red-900 uppercase font-normal text-center dark:bg-transparent dark:border dark:border-red-500 dark:text-red-500' | ||||
|         case 'UNPAID': | ||||
|           return 'bg-yellow-500 bg-opacity-25 px-2 py-1 text-sm  text-yellow-900 uppercase font-normal text-center' | ||||
|           return 'bg-yellow-500 bg-opacity-25 px-2 py-1 text-sm  text-yellow-900 uppercase font-normal text-center dark:bg-transparent dark:border dark:border-yellow-500 dark:text-yellow-500' | ||||
|         case 'PARTIALLY_PAID': | ||||
|           return 'bg-blue-400 bg-opacity-25 px-2  py-1 text-sm  text-blue-900 uppercase font-normal text-center' | ||||
|           return 'bg-blue-400 bg-opacity-25 px-2  py-1 text-sm  text-blue-900 uppercase font-normal text-center dark:bg-transparent dark:border dark:border-blue-300 dark:text-blue-300' | ||||
|         case 'PAID': | ||||
|           return 'bg-green-500 bg-opacity-25 px-2 py-1 text-sm  text-green-900 uppercase font-normal text-center' | ||||
|           return 'bg-green-500 bg-opacity-25 px-2 py-1 text-sm  text-green-900 uppercase font-normal text-center dark:bg-transparent dark:border dark:border-green-400 dark:text-green-400' | ||||
|         default: | ||||
|           return 'bg-gray-500 bg-opacity-25 px-2 py-1 text-sm  text-gray-900 uppercase font-normal text-center' | ||||
|           return 'bg-gray-500 bg-opacity-25 px-2 py-1 text-sm  text-gray-900 uppercase font-normal text-center dark:bg-transparent dark:border dark:border-gray-502 dark:text-gray-200' | ||||
|       } | ||||
|     }) | ||||
|     return { badgeColorClasses } | ||||
|  | ||||
| @ -24,15 +24,15 @@ export default { | ||||
|     const badgeColorClasses = computed(() => { | ||||
|       switch (props.status) { | ||||
|         case 'PAID': | ||||
|           return 'bg-primary-300 bg-opacity-25 text-primary-800 uppercase font-normal text-center' | ||||
|           return 'bg-primary-300 bg-opacity-25 text-primary-800 uppercase font-normal text-center dark:bg-transparent dark:border dark:border-indigo-400 dark:text-indigo-400' | ||||
|         case 'UNPAID': | ||||
|           return ' bg-yellow-500 bg-opacity-25 text-yellow-900 uppercase font-normal text-center ' | ||||
|           return ' bg-yellow-500 bg-opacity-25 text-yellow-900 uppercase font-normal text-center dark:bg-transparent dark:border dark:border-orange-300 dark:text-orange-300' | ||||
|         case 'PARTIALLY_PAID': | ||||
|           return 'bg-blue-400 bg-opacity-25 text-blue-900 uppercase font-normal text-center' | ||||
|           return 'bg-blue-400 bg-opacity-25 text-blue-900 uppercase font-normal text-center dark:bg-transparent dark:border dark:border-blue-300 dark:text-blue-300' | ||||
|         case 'OVERDUE': | ||||
|           return 'bg-red-300 bg-opacity-50 px-2  py-1 text-sm  text-red-900 uppercase font-normal text-center' | ||||
|           return 'bg-red-300 bg-opacity-50 px-2  py-1 text-sm  text-red-900 uppercase font-normal text-center dark:bg-transparent dark:border dark:border-red-500 dark:text-red-500' | ||||
|         default: | ||||
|           return 'bg-gray-500 bg-opacity-25 text-gray-900 uppercase font-normal text-center' | ||||
|           return 'bg-gray-500 bg-opacity-25 text-gray-900 uppercase font-normal text-center dark:bg-transparent dark:border dark:border-gray-300 dark:text-gray-300' | ||||
|       } | ||||
|     }) | ||||
|     return { badgeColorClasses } | ||||
|  | ||||
| @ -20,11 +20,11 @@ export default { | ||||
|     const badgeColorClasses = computed(() => { | ||||
|       switch (props.status) { | ||||
|         case 'COMPLETED': | ||||
|           return 'bg-green-500 bg-opacity-25 px-2  py-1 text-sm  text-green-900 uppercase font-normal text-center' | ||||
|           return 'bg-green-500 bg-opacity-25 px-2  py-1 text-sm  text-green-900 uppercase font-normal text-center dark:bg-transparent dark:border dark:border-green-400 dark:text-green-400' | ||||
|         case 'ON_HOLD': | ||||
|           return 'bg-yellow-500 bg-opacity-25 px-2  py-1 text-sm  text-yellow-900 uppercase font-normal text-center' | ||||
|           return 'bg-yellow-500 bg-opacity-25 px-2  py-1 text-sm  text-yellow-900 uppercase font-normal text-center dark:bg-transparent dark:border dark:border-yellow-200 dark:text-yellow-200' | ||||
|         case 'ACTIVE': | ||||
|           return 'bg-blue-400 bg-opacity-25 px-2  py-1 text-sm  text-blue-900 uppercase font-normal text-center' | ||||
|           return 'bg-blue-400 bg-opacity-25 px-2  py-1 text-sm  text-blue-900 uppercase font-normal text-center dark:bg-transparent dark:border dark:border-blue-300 dark:text-blue-300' | ||||
|         default: | ||||
|           return 'bg-gray-500 bg-opacity-25 px-2 py-1 text-sm  text-gray-900 uppercase font-normal text-center' | ||||
|       } | ||||
|  | ||||
		Reference in New Issue
	
	Block a user