refactor: simplify internship editor component

This commit is contained in:
Veronika Fehérvíziová
2025-11-01 22:13:56 +01:00
parent 93194ff027
commit 95b72c8866
2 changed files with 12 additions and 46 deletions

View File

@@ -1,6 +1,6 @@
<script setup lang="ts"> <script setup lang="ts">
import type { CompanyData } from '~/types/company_data'; import type { CompanyData } from '~/types/company_data';
import type { NewInternship } from '~/types/internships'; import type { Internship, NewInternship } from '~/types/internships';
import type { User } from '~/types/user'; import type { User } from '~/types/user';
const rules = { const rules = {
@@ -41,51 +41,19 @@ const semester_choices = [
} }
]; ];
const props = defineProps({ const props = defineProps<{
start: { internship?: Internship,
type: String, submit: (new_internship: NewInternship) => void,
required: false, }>();
default: ''
},
end: {
type: String,
required: false,
default: ''
},
year_of_study: {
type: Number,
required: false,
default: 1
},
semester: {
type: String,
required: false,
default: ''
},
company_id: {
type: Number,
required: false,
default: -1
},
description: {
type: String,
required: false,
default: ''
},
submit: {
type: Function as PropType<(internship: NewInternship) => void>,
required: true
}
});
const isValid = ref(false); const isValid = ref(false);
const form = ref({ const form = ref({
start: props.start, start: props.internship?.start || "",
end: props.end, end: props.internship?.end || "",
year_of_study: props.year_of_study, year_of_study: props.internship?.year_of_study || 2025,
semester: props.semester, semester: props.internship?.semester || "WINTER",
company_id: props.company_id === -1 ? null : props.company_id, company_id: props.internship?.company?.id == undefined ? null : props.internship.company.id,
description: props.description, description: props.internship?.position_description || "",
consent: false, consent: false,
}); });

View File

@@ -67,9 +67,7 @@ const { data, error, refresh } = await useSanctumFetch<Internship>(`/api/interns
<div v-else> <div v-else>
<div> <div>
<h2>Základné informácie</h2> <h2>Základné informácie</h2>
<InternshipEditor :start="data?.start" :end="data?.end" :year_of_study="data?.year_of_study" <InternshipEditor :internship="data!" :submit="handleUpdateOfBasicInfo" />
:semester="data?.semester" :company_id="data?.company.id"
:description="data?.position_description" :submit="handleUpdateOfBasicInfo" />
<hr /> <hr />
</div> </div>