mirror of
				https://github.com/crater-invoice/crater.git
				synced 2025-10-28 04:01:10 -04:00 
			
		
		
		
	Compare commits
	
		
			3 Commits
		
	
	
		
			dark-base-
			...
			dark-base-
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| b1e42cfe6a | |||
| 604aafe520 | |||
| ddd4ed77dc | 
| @ -7,11 +7,18 @@ | |||||||
|             relative |             relative | ||||||
|             overflow-hidden |             overflow-hidden | ||||||
|             bg-white |             bg-white | ||||||
|             border-b border-gray-200 |             border-b | ||||||
|  |             border-gray-200 | ||||||
|             shadow |             shadow | ||||||
|             sm:rounded-lg |             sm:rounded-lg | ||||||
|           " |             dark:shadow-glass | ||||||
|  |             dark:border | ||||||
|  |             dark:border-white/10 | ||||||
|  |             dark:bg-gray-800/70 | ||||||
|  |             " | ||||||
|         > |         > | ||||||
|  |           <BaseDarkHighlight v-if="darkHighlight" class="z-[-1]" /> | ||||||
|  |  | ||||||
|           <slot name="header" /> |           <slot name="header" /> | ||||||
|           <table :class="tableClass"> |           <table :class="tableClass"> | ||||||
|             <thead :class="theadClass"> |             <thead :class="theadClass"> | ||||||
| @ -51,7 +58,11 @@ | |||||||
|               <tr |               <tr | ||||||
|                 v-for="placeRow in placeholderCount" |                 v-for="placeRow in placeholderCount" | ||||||
|                 :key="placeRow" |                 :key="placeRow" | ||||||
|                 :class="placeRow % 2 === 0 ? 'bg-white' : 'bg-gray-50'" |                 :class=" | ||||||
|  |                   placeRow % 2 === 0 | ||||||
|  |                     ? 'bg-white dark:bg-gray-800' | ||||||
|  |                     : 'bg-gray-50 dark:bg-gray-800' | ||||||
|  |                 " | ||||||
|               > |               > | ||||||
|                 <td |                 <td | ||||||
|                   v-for="column in columns" |                   v-for="column in columns" | ||||||
| @ -75,7 +86,11 @@ | |||||||
|               <tr |               <tr | ||||||
|                 v-for="(row, index) in sortedRows" |                 v-for="(row, index) in sortedRows" | ||||||
|                 :key="index" |                 :key="index" | ||||||
|                 :class="index % 2 === 0 ? 'bg-white' : 'bg-gray-50'" |                 :class=" | ||||||
|  |                   index % 2 === 0 | ||||||
|  |                     ? 'bg-white dark:bg-transparent' | ||||||
|  |                     : 'bg-gray-50 dark:bg-gray-700/20 dark:border-y dark:border-gray-600' | ||||||
|  |                 " | ||||||
|               > |               > | ||||||
|                 <td |                 <td | ||||||
|                   v-for="column in columns" |                   v-for="column in columns" | ||||||
| @ -103,7 +118,10 @@ | |||||||
|               justify-center |               justify-center | ||||||
|               w-full |               w-full | ||||||
|               h-full |               h-full | ||||||
|               bg-white bg-opacity-60 |               bg-white | ||||||
|  |               bg-opacity-60 | ||||||
|  |               dark:bg-gray-700 | ||||||
|  |               dark:bg-opacity-60 | ||||||
|             " |             " | ||||||
|           > |           > | ||||||
|             <SpinnerIcon class="w-10 h-10 text-primary-500" /> |             <SpinnerIcon class="w-10 h-10 text-primary-500" /> | ||||||
| @ -163,9 +181,12 @@ const props = defineProps({ | |||||||
|   sortOrder: { type: String, default: '' }, |   sortOrder: { type: String, default: '' }, | ||||||
|   tableClass: { |   tableClass: { | ||||||
|     type: String, |     type: String, | ||||||
|     default: 'min-w-full divide-y divide-gray-200', |     default: 'min-w-full divide-y divide-gray-200 dark:divide-gray-600', | ||||||
|  |   }, | ||||||
|  |   theadClass: { | ||||||
|  |     type: String, | ||||||
|  |     default: 'bg-gray-50 dark:bg-gray-800 dark:text-white', | ||||||
|   }, |   }, | ||||||
|   theadClass: { type: String, default: 'bg-gray-50' }, |  | ||||||
|   tbodyClass: { type: String, default: '' }, |   tbodyClass: { type: String, default: '' }, | ||||||
|   noResultsMessage: { |   noResultsMessage: { | ||||||
|     type: String, |     type: String, | ||||||
| @ -186,6 +207,10 @@ const props = defineProps({ | |||||||
|     type: Number, |     type: Number, | ||||||
|     default: 3, |     default: 3, | ||||||
|   }, |   }, | ||||||
|  |   darkHighlight: { | ||||||
|  |     type: Boolean, | ||||||
|  |     default: false, | ||||||
|  |   }, | ||||||
| }) | }) | ||||||
|  |  | ||||||
| let rows = reactive([]) | let rows = reactive([]) | ||||||
| @ -236,7 +261,7 @@ function getColumn(columnName) { | |||||||
|  |  | ||||||
| function getThClass(column) { | function getThClass(column) { | ||||||
|   let classes = |   let classes = | ||||||
|     'whitespace-nowrap px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider' |     'whitespace-nowrap px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider dark:text-white' | ||||||
|  |  | ||||||
|   if (column.defaultThClass) { |   if (column.defaultThClass) { | ||||||
|     classes = column.defaultThClass |     classes = column.defaultThClass | ||||||
| @ -256,7 +281,8 @@ function getThClass(column) { | |||||||
| } | } | ||||||
|  |  | ||||||
| function getTdClass(column) { | function getTdClass(column) { | ||||||
|   let classes = 'px-6 py-4 text-sm text-gray-500 whitespace-nowrap' |   let classes = | ||||||
|  |     'px-6 py-4 text-sm text-gray-500 whitespace-nowrap dark:text-gray-300' | ||||||
|  |  | ||||||
|   if (column.defaultTdClass) { |   if (column.defaultTdClass) { | ||||||
|     classes = column.defaultTdClass |     classes = column.defaultTdClass | ||||||
| @ -309,6 +335,7 @@ function changeSorting(column) { | |||||||
|   } |   } | ||||||
|  |  | ||||||
|   if (!usesLocalData.value) { |   if (!usesLocalData.value) { | ||||||
|  |     if (pagination.value) pagination.value.currentPage = 1 | ||||||
|     mapDataToRows() |     mapDataToRows() | ||||||
|   } |   } | ||||||
| } | } | ||||||
| @ -326,7 +353,9 @@ async function pageChange(page) { | |||||||
|   await mapDataToRows() |   await mapDataToRows() | ||||||
| } | } | ||||||
|  |  | ||||||
| async function refresh() { | async function refresh(isPreservePage = false) { | ||||||
|  |   if (pagination.value && !isPreservePage) pagination.value.currentPage = 1 | ||||||
|  |  | ||||||
|   await mapDataToRows() |   await mapDataToRows() | ||||||
| } | } | ||||||
|  |  | ||||||
|  | |||||||
		Reference in New Issue
	
	Block a user
	