main
html 69 lines 2.15 KB
Raw
1 <html>
2 <head>
3 <title>Project Skills</title>
4 <script type="module">
5 import { store } from "/components/projects/projects-store.js";
6 import { store as skillsStore } from "/components/settings/skills/skills-import-store.js";
7 </script>
8 </head>
9 <body>
10 <div x-data>
11 <template x-if="$store.projects && $store.projects.selectedProject">
12 <div class="project-skills-section">
13 <p class="skills-description">
14 Add skills for this project only. Global skills are inherited automatically by every project.
15 </p>
16
17 <div class="skills-actions">
18 <button type="button" class="button" @click="$store.projects.openSelectedProjectSkillsImport()">
19 <x-icon class="icon" name="upload"></x-icon>
20 Import Skills
21 </button>
22 <button type="button" class="button" @click="$store.projects.openSelectedProjectSkillsFolder()">
23 <x-icon class="icon" name="folder_open"></x-icon>
24 Open Folder
25 </button>
26 </div>
27
28 <p class="skills-path">
29 Project-only skills live in <code x-text="$store.projects.getSelectedProjectSkillsPath()"></code>
30 </p>
31 </div>
32 </template>
33 </div>
34
35 <style>
36 .project-skills-section {
37 display: flex;
38 flex-direction: column;
39 gap: 1rem;
40 }
41
42 .skills-description {
43 color: var(--color-text-secondary);
44 font-size: 0.9rem;
45 line-height: 1.4;
46 margin: 0;
47 }
48
49 .skills-actions {
50 display: flex;
51 gap: 0.5rem;
52 flex-wrap: wrap;
53 }
54
55 .skills-path {
56 color: var(--color-text-secondary);
57 font-size: 0.85rem;
58 margin: 0;
59 }
60
61 .skills-path code {
62 background: var(--color-bg-tertiary);
63 padding: 0.1rem 0.3rem;
64 border-radius: 3px;
65 font-size: 0.85em;
66 }
67 </style>
68 </body>
69 </html>