wip
This commit is contained in:
		| @@ -263,11 +263,25 @@ | ||||
|           <template #form="{ element, index }"> | ||||
|             <div class="gap-4 md:grid md:grid-cols-2 "> | ||||
|               <div class="py-4"> | ||||
|                 <Combobox | ||||
|                   v-model="element.name" | ||||
|                   label="Język" | ||||
|                   :items="languages" | ||||
|                 /> | ||||
|                 <label | ||||
|                   :for="`language-${index}-level`" | ||||
|                   class="block text-sm font-medium text-gray-700" | ||||
|                 > | ||||
|                   Język | ||||
|                 </label> | ||||
|                 <div class="mt-2"> | ||||
|                   <Combobox | ||||
|                     :id="`language-${index}-level`" | ||||
|                     v-model="element.name" | ||||
|                     :items="languages" | ||||
|                   /> | ||||
|                   <p | ||||
|                     v-if="form.errors[`languages.${index}.name`]" | ||||
|                     class="mt-2 text-sm text-red-600" | ||||
|                   > | ||||
|                     {{ form.errors[`languages.${index}.name`] }} | ||||
|                   </p> | ||||
|                 </div> | ||||
|               </div> | ||||
|               <div class="py-4"> | ||||
|                 <label | ||||
| @@ -313,11 +327,25 @@ | ||||
|           <template #form="{ element, index }"> | ||||
|             <div class="gap-4 md:grid md:grid-cols-2 "> | ||||
|               <div class="py-4"> | ||||
|                 <Combobox | ||||
|                   v-model="element.name" | ||||
|                   label="Technologia" | ||||
|                   :items="technologies" | ||||
|                 /> | ||||
|                 <label | ||||
|                   :for="`technology-${index}-level`" | ||||
|                   class="block text-sm font-medium text-gray-700" | ||||
|                 > | ||||
|                   Technologia | ||||
|                 </label> | ||||
|                 <div class="mt-2"> | ||||
|                   <Combobox | ||||
|                     :id="`technology-${index}-level`" | ||||
|                     v-model="element.name" | ||||
|                     :items="technologies" | ||||
|                   /> | ||||
|                   <p | ||||
|                     v-if="form.errors[`technologies.${index}.name`]" | ||||
|                     class="mt-2 text-sm text-red-600" | ||||
|                   > | ||||
|                     {{ form.errors[`technologies.${index}.name`] }} | ||||
|                   </p> | ||||
|                 </div> | ||||
|               </div> | ||||
|               <div class="py-4"> | ||||
|                 <label | ||||
| @@ -367,6 +395,7 @@ | ||||
|                 <textarea | ||||
|                   :id="`project-description-${index}`" | ||||
|                   v-model="element.description" | ||||
|                   rows="5" | ||||
|                   class="block w-full rounded-md shadow-sm sm:text-sm" | ||||
|                   :class="{ 'border-red-300 text-red-900 focus:outline-none focus:ring-red-500 focus:border-red-500': form.errors[`projects.${index}.description`], 'focus:ring-blumilk-500 focus:border-blumilk-500 sm:text-sm border-gray-300': !form.errors[`projects.${index}.description`] }" | ||||
|                 /> | ||||
| @@ -386,13 +415,11 @@ | ||||
|                 Technologie | ||||
|               </label> | ||||
|               <div class="mt-1 sm:mt-0"> | ||||
|                 <input | ||||
|                 <MultipleCombobox | ||||
|                   :id="`project-technologies-${index}`" | ||||
|                   v-model="element.technologies" | ||||
|                   type="text" | ||||
|                   class="block w-full rounded-md shadow-sm sm:text-sm" | ||||
|                   :class="{ 'border-red-300 text-red-900 focus:outline-none focus:ring-red-500 focus:border-red-500': form.errors[`projects.${index}.technologies`], 'focus:ring-blumilk-500 focus:border-blumilk-500 sm:text-sm border-gray-300': !form.errors[`projects.${index}.technologies`] }" | ||||
|                 > | ||||
|                   :items="technologies" | ||||
|                 /> | ||||
|                 <p | ||||
|                   v-if="form.errors[`projects.${index}.technologies`]" | ||||
|                   class="mt-2 text-sm text-red-600" | ||||
| @@ -458,6 +485,7 @@ | ||||
|                 <textarea | ||||
|                   :id="`project-tasks-${index}`" | ||||
|                   v-model="element.tasks" | ||||
|                   rows="5" | ||||
|                   class="block w-full rounded-md shadow-sm sm:text-sm" | ||||
|                   :class="{ 'border-red-300 text-red-900 focus:outline-none focus:ring-red-500 focus:border-red-500': form.errors[`projects.${index}.tasks`], 'focus:ring-blumilk-500 focus:border-blumilk-500 sm:text-sm border-gray-300': !form.errors[`projects.${index}.tasks`] }" | ||||
|                 /> | ||||
| @@ -495,10 +523,12 @@ | ||||
| <script setup> | ||||
| import { Listbox, ListboxOption, ListboxOptions, ListboxLabel, ListboxButton } from '@headlessui/vue' | ||||
| import { SelectorIcon, CheckIcon } from '@heroicons/vue/outline' | ||||
| import { ExclamationCircleIcon } from '@heroicons/vue/solid' | ||||
| import { useForm } from '@inertiajs/inertia-vue3' | ||||
| import FlatPickr from 'vue-flatpickr-component' | ||||
| import DynamicSection from '@/Shared/Forms/DynamicSection' | ||||
| import Combobox from '@/Shared/Forms/Combobox' | ||||
| import MultipleCombobox from '@/Shared/Forms/MultipleCombobox' | ||||
| import LevelPicker from '@/Shared/Forms/LevelPicker' | ||||
| import useLevels from '@/Composables/useLevels' | ||||
|  | ||||
| @@ -527,7 +557,7 @@ const form = useForm({ | ||||
| function addProject() { | ||||
|   form.projects.push({ | ||||
|     description: null, | ||||
|     technologies: null, | ||||
|     technologies: [], | ||||
|     tasks: null, | ||||
|     startDate: null, | ||||
|     endDate: null, | ||||
|   | ||||
| @@ -263,17 +263,25 @@ | ||||
|           <template #form="{ element, index }"> | ||||
|             <div class="gap-4 md:grid md:grid-cols-2 "> | ||||
|               <div class="py-4"> | ||||
|                 <Combobox | ||||
|                   v-model="element.name" | ||||
|                   label="Język" | ||||
|                   :items="languages" | ||||
|                 /> | ||||
|                 <p | ||||
|                   v-if="form.errors[`languages.${index}.name`]" | ||||
|                   class="mt-2 text-sm text-red-600" | ||||
|                 <label | ||||
|                   :for="`language-${index}-level`" | ||||
|                   class="block text-sm font-medium text-gray-700" | ||||
|                 > | ||||
|                   {{ form.errors[`languages.${index}.name`] }} | ||||
|                 </p> | ||||
|                   Język | ||||
|                 </label> | ||||
|                 <div class="mt-2"> | ||||
|                   <Combobox | ||||
|                     :id="`language-${index}-level`" | ||||
|                     v-model="element.name" | ||||
|                     :items="languages" | ||||
|                   /> | ||||
|                   <p | ||||
|                     v-if="form.errors[`languages.${index}.name`]" | ||||
|                     class="mt-2 text-sm text-red-600" | ||||
|                   > | ||||
|                     {{ form.errors[`languages.${index}.name`] }} | ||||
|                   </p> | ||||
|                 </div> | ||||
|               </div> | ||||
|               <div class="py-4"> | ||||
|                 <label | ||||
| @@ -319,17 +327,25 @@ | ||||
|           <template #form="{ element, index }"> | ||||
|             <div class="gap-4 md:grid md:grid-cols-2 "> | ||||
|               <div class="py-4"> | ||||
|                 <Combobox | ||||
|                   v-model="element.name" | ||||
|                   label="Technologia" | ||||
|                   :items="technologies" | ||||
|                 /> | ||||
|                 <p | ||||
|                   v-if="form.errors[`technologies.${index}.name`]" | ||||
|                   class="mt-2 text-sm text-red-600" | ||||
|                 <label | ||||
|                   :for="`technology-${index}-level`" | ||||
|                   class="block text-sm font-medium text-gray-700" | ||||
|                 > | ||||
|                   {{ form.errors[`technologies.${index}.name`] }} | ||||
|                 </p> | ||||
|                   Technologia | ||||
|                 </label> | ||||
|                 <div class="mt-2"> | ||||
|                   <Combobox | ||||
|                     :id="`technology-${index}-level`" | ||||
|                     v-model="element.name" | ||||
|                     :items="technologies" | ||||
|                   /> | ||||
|                   <p | ||||
|                     v-if="form.errors[`technologies.${index}.name`]" | ||||
|                     class="mt-2 text-sm text-red-600" | ||||
|                   > | ||||
|                     {{ form.errors[`technologies.${index}.name`] }} | ||||
|                   </p> | ||||
|                 </div> | ||||
|               </div> | ||||
|               <div class="py-4"> | ||||
|                 <label | ||||
| @@ -379,6 +395,7 @@ | ||||
|                 <textarea | ||||
|                   :id="`project-description-${index}`" | ||||
|                   v-model="element.description" | ||||
|                   rows="5" | ||||
|                   class="block w-full rounded-md shadow-sm sm:text-sm" | ||||
|                   :class="{ 'border-red-300 text-red-900 focus:outline-none focus:ring-red-500 focus:border-red-500': form.errors[`projects.${index}.description`], 'focus:ring-blumilk-500 focus:border-blumilk-500 sm:text-sm border-gray-300': !form.errors[`projects.${index}.description`] }" | ||||
|                 /> | ||||
| @@ -398,13 +415,11 @@ | ||||
|                 Technologie | ||||
|               </label> | ||||
|               <div class="mt-1 sm:mt-0"> | ||||
|                 <input | ||||
|                 <MultipleCombobox | ||||
|                   :id="`project-technologies-${index}`" | ||||
|                   v-model="element.technologies" | ||||
|                   type="text" | ||||
|                   class="block w-full rounded-md shadow-sm sm:text-sm" | ||||
|                   :class="{ 'border-red-300 text-red-900 focus:outline-none focus:ring-red-500 focus:border-red-500': form.errors[`projects.${index}.technologies`], 'focus:ring-blumilk-500 focus:border-blumilk-500 sm:text-sm border-gray-300': !form.errors[`projects.${index}.technologies`] }" | ||||
|                 > | ||||
|                   :items="technologies" | ||||
|                 /> | ||||
|                 <p | ||||
|                   v-if="form.errors[`projects.${index}.technologies`]" | ||||
|                   class="mt-2 text-sm text-red-600" | ||||
| @@ -470,7 +485,7 @@ | ||||
|                 <textarea | ||||
|                   :id="`project-tasks-${index}`" | ||||
|                   v-model="element.tasks" | ||||
|                   rows="3" | ||||
|                   rows="5" | ||||
|                   class="block w-full rounded-md shadow-sm sm:text-sm" | ||||
|                   :class="{ 'border-red-300 text-red-900 focus:outline-none focus:ring-red-500 focus:border-red-500': form.errors[`projects.${index}.tasks`], 'focus:ring-blumilk-500 focus:border-blumilk-500 sm:text-sm border-gray-300': !form.errors[`projects.${index}.tasks`] }" | ||||
|                 /> | ||||
| @@ -513,6 +528,7 @@ import { useForm } from '@inertiajs/inertia-vue3' | ||||
| import FlatPickr from 'vue-flatpickr-component' | ||||
| import DynamicSection from '@/Shared/Forms/DynamicSection' | ||||
| import Combobox from '@/Shared/Forms/Combobox' | ||||
| import MultipleCombobox from '@/Shared/Forms/MultipleCombobox' | ||||
| import LevelPicker from '@/Shared/Forms/LevelPicker' | ||||
| import useLevels from '@/Composables/useLevels' | ||||
|  | ||||
| @@ -548,7 +564,7 @@ const form = useForm({ | ||||
| function addProject() { | ||||
|   form.projects.push({ | ||||
|     description: null, | ||||
|     technologies: null, | ||||
|     technologies: [], | ||||
|     tasks: null, | ||||
|     startDate: null, | ||||
|     endDate: null, | ||||
|   | ||||
| @@ -25,12 +25,6 @@ | ||||
|               > | ||||
|                 Użytkownik | ||||
|               </th> | ||||
|               <th | ||||
|                 scope="col" | ||||
|                 class="py-3 px-4 text-xs font-semibold tracking-wider text-left text-gray-500 uppercase whitespace-nowrap" | ||||
|               > | ||||
|                 Opis | ||||
|               </th> | ||||
|               <th | ||||
|                 scope="col" | ||||
|                 class="py-3 px-4 text-xs font-semibold tracking-wider text-left text-gray-500 uppercase whitespace-nowrap" | ||||
| @@ -43,6 +37,30 @@ | ||||
|               > | ||||
|                 Data aktualizacji | ||||
|               </th> | ||||
|               <th | ||||
|                 scope="col" | ||||
|                 class="py-3 px-4 text-xs font-semibold tracking-wider text-left text-gray-500 uppercase whitespace-nowrap" | ||||
|               > | ||||
|                 Szkoły | ||||
|               </th> | ||||
|               <th | ||||
|                 scope="col" | ||||
|                 class="py-3 px-4 text-xs font-semibold tracking-wider text-left text-gray-500 uppercase whitespace-nowrap" | ||||
|               > | ||||
|                 Języki | ||||
|               </th> | ||||
|               <th | ||||
|                 scope="col" | ||||
|                 class="py-3 px-4 text-xs font-semibold tracking-wider text-left text-gray-500 uppercase whitespace-nowrap" | ||||
|               > | ||||
|                 Technologie | ||||
|               </th> | ||||
|               <th | ||||
|                 scope="col" | ||||
|                 class="py-3 px-4 text-xs font-semibold tracking-wider text-left text-gray-500 uppercase whitespace-nowrap" | ||||
|               > | ||||
|                 Projekty | ||||
|               </th> | ||||
|               <th | ||||
|                 scope="col" | ||||
|                 class="py-3 px-4 text-xs font-semibold tracking-wider text-left text-gray-500 uppercase whitespace-nowrap" | ||||
| @@ -76,18 +94,27 @@ | ||||
|                   </div> | ||||
|                 </div> | ||||
|                 <template v-else> | ||||
|                   {{ resume.name }} | ||||
|                   <span class="text-sm font-medium text-gray-900 break-all">{{ resume.name }}</span> | ||||
|                 </template> | ||||
|               </td> | ||||
|               <td class="p-4 text-sm text-gray-500 whitespace-nowrap"> | ||||
|                 {{ resume.description ?? '-' }} | ||||
|               </td> | ||||
|               <td class="p-4 text-sm text-gray-500 whitespace-nowrap"> | ||||
|                 {{ resume.createdAt }} | ||||
|               </td> | ||||
|               <td class="p-4 text-sm text-gray-500 whitespace-nowrap"> | ||||
|                 {{ resume.updatedAt }} | ||||
|               </td> | ||||
|               <td class="p-4 text-sm text-gray-500 whitespace-nowrap"> | ||||
|                 {{ resume.educationCount }} | ||||
|               </td> | ||||
|               <td class="p-4 text-sm text-gray-500 whitespace-nowrap"> | ||||
|                 {{ resume.languageCount }} | ||||
|               </td> | ||||
|               <td class="p-4 text-sm text-gray-500 whitespace-nowrap"> | ||||
|                 {{ resume.technologyCount }} | ||||
|               </td> | ||||
|               <td class="p-4 text-sm text-gray-500 whitespace-nowrap"> | ||||
|                 {{ resume.projectCount }} | ||||
|               </td> | ||||
|               <td class="p-4 text-sm text-right text-gray-500 whitespace-nowrap"> | ||||
|                 <Menu | ||||
|                   as="div" | ||||
|   | ||||
		Reference in New Issue
	
	Block a user