This commit is contained in:
f4ilji
2024-11-13 13:38:58 +05:00
parent 462680ba77
commit f091b29b63
22 changed files with 488 additions and 418 deletions
@@ -0,0 +1,60 @@
<!-- NavLink.vue -->
<template>
<div>
<h2 :id="generateSlug(title)" class="mb-3 font-medium text-gray-800 dark:text-neutral-200">
{{ title }}
</h2>
<template v-for="education in educations">
<div class="grid grid-cols-1 sm:grid-cols-1 my-4">
<div class="p-4 border border-gray-200 rounded-lg dark:border-neutral-700">
<h3 class="mb-1 text-xs text-gray-600 dark:text-neutral-400">
{{ education.year }}
</h3>
<p class="font-semibold text-sm text-gray-800 dark:text-neutral-200">
{{ education.content }}
</p>
<p class="mt-1 text-sm text-gray-600 dark:text-neutral-400">
{{ education.institution }}
</p>
</div>
</div>
</template>
</div>
</template>
<script>
import slugify from "slugify";
export default {
name: 'EducationBlock',
props: {
educations: {
type: Object,
required: true
},
title: {
type: String,
required: true
}
},
methods: {
generateSlug(text) {
return slugify(text, {
lower: true,
strict: true,
locale: "ru",
});
},
}
}
</script>
<style scoped>
/* Добавьте стили, если это необходимо */
</style>
@@ -0,0 +1,46 @@
<!-- NavLink.vue -->
<template>
<div>
<h2 :id="generateSlug(nameList)" class="mb-3 font-medium text-gray-800 dark:text-neutral-200">
{{ nameList }}
</h2>
<ul class="list-disc ms-6 mt-3 space-y-1.5">
<template v-for="el in list">
<li class="ps-1 text-sm text-gray-600 dark:text-neutral-400">
{{ el.item }}
</li>
</template>
</ul>
</div>
</template>
<script>
import slugify from "slugify";
export default {
name: 'ListBlock',
props: {
list: {
type: String,
required: true
},
nameList: {
type: String,
required: true,
},
},
methods: {
generateSlug(text) {
return slugify(text, {
lower: true,
strict: true,
locale: "ru",
});
},
}
}
</script>
<style scoped>
/* Добавьте стили, если это необходимо */
</style>
@@ -0,0 +1,42 @@
<!-- NavLink.vue -->
<template>
<div>
<h2 :id="generateSlug(nameList)" class="mb-3 font-medium text-gray-800 dark:text-neutral-200">
{{ nameList }}
</h2>
<BaseBuilder :blocks="blocks" />
</div>
</template>
<script>
import slugify from "slugify";
import BaseBuilder from "@/Components/BaseComponents/BaseBuilderUi/BaseBuilder.vue";
export default {
name: 'OtherBlock',
components: {BaseBuilder},
props: {
blocks: {
type: String,
required: true
},
nameList: {
type: String,
required: true,
},
},
methods: {
generateSlug(text) {
return slugify(text, {
lower: true,
strict: true,
locale: "ru",
});
},
}
}
</script>
<style scoped>
/* Добавьте стили, если это необходимо */
</style>
@@ -0,0 +1,49 @@
<!-- NavLink.vue -->
<template>
<h2 :id="generateSlug(title)" class="mb-3 font-medium text-gray-800 dark:text-neutral-200">
{{ title }}
</h2>
<div class="grid grid-cols-1 sm:grid-cols-1 gap-3">
<p class="mt-1 text-sm text-gray-600 dark:text-neutral-400">
Стаж работы: {{ workExpTotal }}
</p>
<p class="mt-1 text-sm text-gray-600 dark:text-neutral-400">
Стаж по специальности: {{ workExpByProf }}
</p>
</div>
</template>
<script>
import slugify from "slugify";
export default {
name: 'WorkExperienceBlock',
props: {
workExpTotal: {
type: String,
required: true
},
workExpByProf: {
type: String,
required: true
},
title: {
type: String,
required: true
},
},
methods: {
generateSlug(text) {
return slugify(text, {
lower: true,
strict: true,
locale: "ru",
});
},
}
}
</script>
<style scoped>
/* Добавьте стили, если это необходимо */
</style>
@@ -0,0 +1,40 @@
<!-- NavLink.vue -->
<template>
<a :class="linkClass"
class="duration-150 block py-1 px-2 leading-[1.6] rounded-md"
:href="href">
{{ label }}
</a>
</template>
<script>
export default {
name: 'PersonNavLink',
props: {
label: {
type: String,
required: true
},
href: {
type: String,
required: true
},
isActive: {
type: Boolean,
default: false
}
},
computed: {
linkClass() {
return {
'translate-x-2 text-[#135aae]': this.isActive,
'bg-transperant text-gray-600 hover:text-gray-900': !this.isActive
};
}
}
}
</script>
<style scoped>
/* Добавьте стили, если это необходимо */
</style>