fix: visual fixes

This commit is contained in:
Livio Bieri 2024-02-06 14:54:12 +01:00
parent 5d510e0d04
commit 162f8a50a9
4 changed files with 25 additions and 3 deletions

View File

@ -2,6 +2,7 @@
import { computed } from "vue"; import { computed } from "vue";
import { import {
type FeedbackRequest, type FeedbackRequest,
getFeedbackReceivedCaption,
getSelfEvaluationCaption, getSelfEvaluationCaption,
getSmiley, getSmiley,
} from "@/services/selfEvaluationFeedback"; } from "@/services/selfEvaluationFeedback";
@ -49,7 +50,7 @@ const feedbackProviderName = computed(() => {
</div> </div>
<div class="flex items-center justify-start space-x-2 bg-gray-200"> <div class="flex items-center justify-start space-x-2 bg-gray-200">
<component :is="getSmiley(criteria.feedback_assessment)" class="h-6 w-6" /> <component :is="getSmiley(criteria.feedback_assessment)" class="h-6 w-6" />
<span>{{ getSelfEvaluationCaption(criteria.feedback_assessment) }}</span> <span>{{ getFeedbackReceivedCaption(criteria.feedback_assessment) }}</span>
</div> </div>
</div> </div>
</div> </div>

View File

@ -1,7 +1,7 @@
<script setup lang="ts"> <script setup lang="ts">
import type { DropdownSelectable } from "@/types"; import type { DropdownSelectable } from "@/types";
import { Listbox, ListboxButton, ListboxOption, ListboxOptions } from "@headlessui/vue"; import { Listbox, ListboxButton, ListboxOption, ListboxOptions } from "@headlessui/vue";
import { computed } from "vue"; import { computed } from "vue"; // https://stackoverflow.com/questions/64775876/vue-3-pass-reactive-object-to-component-with-two-way-binding
// https://stackoverflow.com/questions/64775876/vue-3-pass-reactive-object-to-component-with-two-way-binding // https://stackoverflow.com/questions/64775876/vue-3-pass-reactive-object-to-component-with-two-way-binding
interface Props { interface Props {
@ -11,6 +11,7 @@ interface Props {
}; };
items?: DropdownSelectable[]; items?: DropdownSelectable[];
borderless?: boolean; borderless?: boolean;
placeholderText?: string | null;
} }
const emit = defineEmits<{ const emit = defineEmits<{
@ -25,6 +26,7 @@ const props = withDefaults(defineProps<Props>(), {
}; };
}, },
items: () => [], items: () => [],
placeholderText: null,
}); });
const dropdownSelected = computed<DropdownSelectable>({ const dropdownSelected = computed<DropdownSelectable>({
@ -47,7 +49,12 @@ const dropdownSelected = computed<DropdownSelectable>({
<span v-if="dropdownSelected.iconName" class="mr-4"> <span v-if="dropdownSelected.iconName" class="mr-4">
<component :is="dropdownSelected.iconName"></component> <component :is="dropdownSelected.iconName"></component>
</span> </span>
<span class="block truncate">{{ dropdownSelected.name }}</span> <span class="block truncate">
{{ dropdownSelected.name }}
<span v-if="placeholderText && !dropdownSelected.name" class="text-gray-900">
{{ placeholderText }}
</span>
</span>
<span <span
class="pointer-events-none absolute inset-y-0 right-0 flex items-center pr-2" class="pointer-events-none absolute inset-y-0 right-0 flex items-center pr-2"
> >

View File

@ -91,6 +91,7 @@ const onRequestFeedback = async () => {
</p> </p>
<ItDropdownSelect <ItDropdownSelect
v-model="currentSessionRequestedMentor" v-model="currentSessionRequestedMentor"
:placeholder-text="`${$t('a.Lernbegleitung auswählen')}…`"
class="mt-6 w-80" class="mt-6 w-80"
:items="mentors" :items="mentors"
></ItDropdownSelect> ></ItDropdownSelect>

View File

@ -150,6 +150,19 @@ export const getSelfEvaluationCaption = (
} }
}; };
export const getFeedbackReceivedCaption = (
assessment: "FAIL" | "SUCCESS" | "UNKNOWN"
) => {
switch (assessment) {
case "SUCCESS":
return t("receivedEvaluation.yes");
case "FAIL":
return t("receivedEvaluation.no");
case "UNKNOWN":
return t("a.Nicht bewertet");
}
};
export const getFeedbackEvaluationCaption = ( export const getFeedbackEvaluationCaption = (
assessment: "FAIL" | "SUCCESS" | "UNKNOWN", assessment: "FAIL" | "SUCCESS" | "UNKNOWN",
requester: User requester: User