mirror of
				https://github.com/Fabio286/antares.git
				synced 2025-06-05 21:59:22 +02:00 
			
		
		
		
	feat: accent color based on folder color, closes #762
This commit is contained in:
		| @@ -99,7 +99,7 @@ onMounted(() => { | ||||
|   display: flex; | ||||
|   justify-content: center; | ||||
|   align-items: center; | ||||
|   background: $primary-color; | ||||
|   background: var(--primary-color); | ||||
|   border-radius: 50%; | ||||
|   box-shadow: 0 0 5px 1px darken($body-font-color-dark, 40%); | ||||
| } | ||||
|   | ||||
| @@ -360,7 +360,7 @@ onBeforeUnmount(() => { | ||||
|   outline: none; | ||||
|  | ||||
|   &:focus { | ||||
|     box-shadow: 0 0 3px 0.1rem rgba($primary-color, 80%); | ||||
|     box-shadow: 0 0 3px 0.1rem rgba(var(--primary-color), 80%); | ||||
|   } | ||||
|  | ||||
|   &:hover { | ||||
|   | ||||
| @@ -204,7 +204,7 @@ onBeforeUnmount(() => { | ||||
|          cursor: pointer; | ||||
|  | ||||
|          &.selected { | ||||
|             outline: 2px solid $primary-color; | ||||
|             outline: 2px solid var(--primary-color); | ||||
|             border-radius: 8px; | ||||
|          } | ||||
|      } | ||||
|   | ||||
| @@ -287,7 +287,7 @@ onBeforeUnmount(() => { | ||||
|       max-width: 100%; | ||||
|       display: inline-block; | ||||
|       font-size: 100%; | ||||
|       // color: $primary-color; | ||||
|       // color: var(--primary-color); | ||||
|       opacity: 0.8; | ||||
|       font-weight: 600; | ||||
|     } | ||||
|   | ||||
| @@ -703,7 +703,7 @@ onBeforeUnmount(() => { | ||||
|  | ||||
|           &.selected { | ||||
|             img { | ||||
|               box-shadow: 0 0 0 3px $primary-color; | ||||
|               box-shadow: 0 0 0 3px var(--primary-color); | ||||
|             } | ||||
|           } | ||||
|  | ||||
| @@ -731,7 +731,7 @@ onBeforeUnmount(() => { | ||||
|  | ||||
|       .badge-update::after { | ||||
|         bottom: initial; | ||||
|         background: $primary-color; | ||||
|         background: var(--primary-color); | ||||
|       } | ||||
|  | ||||
|       .form-label { | ||||
|   | ||||
| @@ -409,7 +409,7 @@ defineExpose({ editor }); | ||||
|     position: absolute; | ||||
|     left: 3px; | ||||
|     top: 2px; | ||||
|     color: $primary-color; | ||||
|     color: var(--primary-color); | ||||
|     display: inline-block; | ||||
|     font: normal normal normal 24px/1 "Material Design Icons", sans-serif; | ||||
|     font-size: inherit; | ||||
|   | ||||
| @@ -85,10 +85,11 @@ | ||||
| <script setup lang="ts"> | ||||
| import { shell } from 'electron'; | ||||
| import { storeToRefs } from 'pinia'; | ||||
| import { computed, ComputedRef } from 'vue'; | ||||
| import { computed, ComputedRef, watch } from 'vue'; | ||||
| import { useI18n } from 'vue-i18n'; | ||||
|  | ||||
| import BaseIcon from '@/components/BaseIcon.vue'; | ||||
| import { hexToRGBA } from '@/libs/hexToRgba'; | ||||
| import { useApplicationStore } from '@/stores/application'; | ||||
| import { useConnectionsStore } from '@/stores/connections'; | ||||
| import { useConsoleStore } from '@/stores/console'; | ||||
| @@ -117,7 +118,11 @@ const { getWorkspace } = workspacesStore; | ||||
| const { getConnectionFolder, getConnectionByUid } = connectionsStore; | ||||
|  | ||||
| const workspace = computed(() => getWorkspace(workspaceUid.value)); | ||||
| const footerColor = computed(() => getConnectionFolder(workspaceUid.value)?.color || '#E36929'); | ||||
| const footerColor = computed(() => { | ||||
|    if (getConnectionFolder(workspaceUid.value)?.color) | ||||
|       return getConnectionFolder(workspaceUid.value).color; | ||||
|    return '#E36929'; | ||||
| }); | ||||
| const connectionInfos = computed(() => getConnectionByUid(workspaceUid.value)); | ||||
| const version: ComputedRef<DatabaseInfos> = computed(() => { | ||||
|    return getWorkspace(workspaceUid.value) ? workspace.value.version : null; | ||||
| @@ -129,6 +134,11 @@ const versionString = computed(() => { | ||||
|    return ''; | ||||
| }); | ||||
|  | ||||
| watch(footerColor, () => { | ||||
|    document.querySelector<HTMLBodyElement>(':root').style.setProperty('--primary-color', footerColor.value); | ||||
|    document.querySelector<HTMLBodyElement>(':root').style.setProperty('--primary-color-shadow', hexToRGBA(footerColor.value, 0.2)); | ||||
| }); | ||||
|  | ||||
| const openOutside = (link: string) => shell.openExternal(link); | ||||
| </script> | ||||
|  | ||||
|   | ||||
| @@ -233,6 +233,7 @@ if (!connectionsArr.value.length) | ||||
|          border-radius: 0; | ||||
|          padding: 0; | ||||
|          position: relative; | ||||
|          border: none; | ||||
|  | ||||
|          &:hover { | ||||
|             opacity: 1; | ||||
|   | ||||
| @@ -501,7 +501,7 @@ const toggleSearchMethod = () => { | ||||
|     transition: background 0.2s; | ||||
|  | ||||
|     &:hover { | ||||
|       background: rgba($primary-color, 50%); | ||||
|       background: rgba(var(--primary-color), 50%); | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   | ||||
| @@ -145,7 +145,7 @@ onMounted(() => { | ||||
|     transition: background 0.2s; | ||||
|  | ||||
|     &:hover { | ||||
|       background: rgba($primary-color, 50%); | ||||
|       background: rgba(var(--primary-color), 50%); | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   | ||||
| @@ -821,7 +821,7 @@ onBeforeUnmount(() => { | ||||
|       transition: background 0.2s; | ||||
|  | ||||
|       &:hover { | ||||
|         background: rgba($primary-color, 50%); | ||||
|         background: rgba(var(--primary-color), 50%); | ||||
|       } | ||||
|     } | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user