Skip to content

Commit 35744ce

Browse files
committed
fix: code smells
1 parent 2b03435 commit 35744ce

5 files changed

Lines changed: 23 additions & 19 deletions

File tree

resources/css/cedar-base.css

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,12 +59,14 @@
5959
}
6060

6161
.scrollbar-thin {
62-
/* --width-scrollbar: thin; */
62+
--width-scrollbar: thin;
6363
scrollbar-width: var(--width-scrollbar);
6464
}
6565
}
6666

67-
/* @layer base {
67+
/*
68+
Default Cedar-UI Scrollbar code interferes with what I have here
69+
@layer base {
6870
::-webkit-scrollbar {
6971
width: var(--scrollbar-width);
7072
}

resources/js/App.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<script setup lang="ts">
22
import type { ToastPostion } from '@aminnausin/cedar-ui';
33
4-
import { onMounted, onUnmounted, ref, watch } from 'vue';
4+
import { onMounted, onUnmounted, ref } from 'vue';
55
import { DrawerController } from './components/cedar-ui/drawer';
66
import { ToastController } from '@/components/cedar-ui/toast';
77
import { useFullscreen } from '@/composables/useFullscreen';

resources/js/components/cedar-ui/hover-card/HoverCard.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ watch(
7878
<template>
7979
<div @mouseover="hoverCardEnter" @mouseleave="hoverCardLeave">
8080
<slot name="trigger">
81-
<a href="#_" class="hover:underline"></a>
81+
<a href="#_" class="hover:underline">Trigger</a>
8282
</slot>
8383
<Teleport to="body" v-if="init">
8484
<Transition enter-from-class="opacity-0" enter-to-class="opacity-100" leave-from-class="opacity-100" leave-to-class="opacity-0">

resources/js/components/cedar-ui/multi-select/InputMultiChip.vue

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -25,12 +25,15 @@ const select = useMultiSelect(props, { selectableItemsList, selectButton });
2525
const newValue = ref('');
2626
const lastActiveItemId = ref(-1);
2727
28+
const search = computed(() => newValue.value.trim().toLocaleLowerCase());
29+
30+
const selectedNames = computed(() => new Set((select.selectedItems ?? []).map((item: MultiSelectItem) => item.name)));
31+
2832
const filteredItemsList = computed(() => {
29-
return (
30-
select.selectableItems.filter((selectable: MultiSelectItem) => {
31-
return !select.selectedItems?.find((selected: MultiSelectItem) => selectable.name === selected.name) && selectable.name?.includes(newValue.value.toLocaleLowerCase());
32-
}) ?? []
33-
);
33+
return select.selectableItems.filter((selectable: MultiSelectItem) => {
34+
const name = selectable.name?.toLocaleLowerCase() ?? '';
35+
return !selectedNames.value.has(selectable.name) && name.includes(search.value);
36+
});
3437
});
3538
3639
const handleItemClick = (item: any, setFocus = true, triggerSelect = true) => {
@@ -76,26 +79,25 @@ const handleCreate = (e: Event) => {
7679
e.preventDefault();
7780
e.stopPropagation();
7881
79-
const parsedValue = newValue.value?.toLocaleLowerCase().trim();
80-
if (!parsedValue) return;
82+
if (!search.value) return;
8183
82-
if (select.selectableItemActive && (select.selectableItemActive as unknown as MultiSelectItem).name === parsedValue) {
83-
handleItemClick(select.selectableItemActive);
84+
if (selectedNames.value.has(search.value)) {
85+
toast.info('This tag was already added');
8486
return;
8587
}
8688
87-
if (select.selectedItems.some((item: MultiSelectItem) => item.name === parsedValue)) {
88-
toast.info('This tag was already added');
89+
if (select.selectableItemActive && (select.selectableItemActive as unknown as MultiSelectItem).name === search.value) {
90+
handleItemClick(select.selectableItemActive);
8991
return;
9092
}
9193
92-
const selectableFound = select.selectableItems.find((item: MultiSelectItem) => item.name === parsedValue);
94+
const selectableFound = select.selectableItems.find((item: MultiSelectItem) => item.name === search.value);
9395
if (selectableFound) {
9496
handleItemClick(selectableFound);
9597
return;
9698
}
9799
98-
emit('createAction', parsedValue);
100+
emit('createAction', search.value);
99101
100102
newValue.value = '';
101103
select.toggleSelect(false);
@@ -128,7 +130,7 @@ onMounted(() => {
128130
// haha this is inefficient
129131
select.selectedItems = [];
130132
props.options.forEach((element) => {
131-
if (props.defaultItems.find((item) => item.name === element.name)) {
133+
if (props.defaultItems.some((item) => item.name === element.name)) {
132134
handleItemClick(element, false);
133135
}
134136
});

sonar-project.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
sonar.exclusions=resources/js/components/pulse/**,resources/js/components/icons/**,resources/js/components/pulseCards/**
1+
sonar.exclusions=resources/js/components/pulse/**,resources/js/components/icons/**,resources/js/components/pulseCards/**,resources/js/components-archive/**
22

33
sonar.issue.ignore.multicriteria=e1
44
sonar.issue.ignore.multicriteria.e1.ruleKey=typescript:S2686

0 commit comments

Comments
 (0)