FourLabs-UN2 commited on
Commit
af3e6b0
·
verified ·
1 Parent(s): 3e4c968

Faça um kanban profissional e completo separado por projeto

Browse files
Files changed (2) hide show
  1. README.md +8 -5
  2. index.html +301 -18
README.md CHANGED
@@ -1,10 +1,13 @@
1
  ---
2
- title: Taskflow Kanban Master
3
- emoji: 🏆
4
- colorFrom: red
5
- colorTo: pink
6
  sdk: static
7
  pinned: false
 
 
8
  ---
9
 
10
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
 
1
  ---
2
+ title: TaskFlow Kanban Master 🏗️
3
+ colorFrom: green
4
+ colorTo: gray
5
+ emoji: 🐳
6
  sdk: static
7
  pinned: false
8
+ tags:
9
+ - deepsite-v3
10
  ---
11
 
12
+ # Welcome to your new DeepSite project!
13
+ This project was created with [DeepSite](https://deepsite.hf.co).
index.html CHANGED
@@ -1,19 +1,302 @@
1
- <!doctype html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8" />
5
- <meta name="viewport" content="width=device-width" />
6
- <title>My static Space</title>
7
- <link rel="stylesheet" href="style.css" />
8
- </head>
9
- <body>
10
- <div class="card">
11
- <h1>Welcome to your static Space!</h1>
12
- <p>You can modify this app directly by editing <i>index.html</i> in the Files and versions tab.</p>
13
- <p>
14
- Also don't forget to check the
15
- <a href="https://huggingface.co/docs/hub/spaces" target="_blank">Spaces documentation</a>.
16
- </p>
17
- </div>
18
- </body>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
19
  </html>
 
1
+ <!DOCTYPE html>
2
+ <html lang="pt-BR">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>TaskFlow Kanban</title>
7
+ <script src="https://cdn.tailwindcss.com"></script>
8
+ <script src="https://unpkg.com/feather-icons"></script>
9
+ <script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
10
+ <script src="https://cdn.jsdelivr.net/npm/sortablejs@1.14.0/Sortable.min.js"></script>
11
+ <style>
12
+ .kanban-column {
13
+ min-height: 70vh;
14
+ }
15
+ .task-card {
16
+ transition: all 0.2s ease;
17
+ }
18
+ .task-card:hover {
19
+ transform: translateY(-2px);
20
+ box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
21
+ }
22
+ #vanta-bg {
23
+ position: fixed;
24
+ top: 0;
25
+ left: 0;
26
+ width: 100%;
27
+ height: 100%;
28
+ z-index: -1;
29
+ opacity: 0.15;
30
+ }
31
+ </style>
32
+ </head>
33
+ <body class="bg-gray-50">
34
+ <div id="vanta-bg"></div>
35
+
36
+ <header class="bg-indigo-600 text-white shadow-lg">
37
+ <div class="container mx-auto px-4 py-6">
38
+ <div class="flex justify-between items-center">
39
+ <div class="flex items-center space-x-4">
40
+ <i data-feather="trello" class="w-8 h-8"></i>
41
+ <h1 class="text-2xl font-bold">TaskFlow Kanban</h1>
42
+ </div>
43
+ <button id="new-project-btn" class="bg-indigo-700 hover:bg-indigo-800 px-4 py-2 rounded-lg flex items-center space-x-2">
44
+ <i data-feather="plus" class="w-5 h-5"></i>
45
+ <span>Novo Projeto</span>
46
+ </button>
47
+ </div>
48
+ </div>
49
+ </header>
50
+
51
+ <main class="container mx-auto px-4 py-8">
52
+ <!-- Project Selector -->
53
+ <div class="mb-8">
54
+ <div class="flex items-center space-x-4">
55
+ <label for="project-select" class="text-lg font-semibold text-gray-700">Projeto Atual:</label>
56
+ <select id="project-select" class="bg-white border border-gray-300 rounded-lg px-4 py-2 focus:outline-none focus:ring-2 focus:ring-indigo-500">
57
+ <option value="project-1">Website Redesign</option>
58
+ <option value="project-2">App Development</option>
59
+ <option value="project-3">Marketing Campaign</option>
60
+ </select>
61
+ </div>
62
+ </div>
63
+
64
+ <!-- Kanban Board -->
65
+ <div class="grid grid-cols-1 md:grid-cols-3 gap-6">
66
+ <!-- Backlog Column -->
67
+ <div class="bg-gray-100 rounded-lg shadow overflow-hidden">
68
+ <div class="bg-gray-700 text-white px-4 py-3 flex justify-between items-center">
69
+ <h2 class="font-bold">Backlog</h2>
70
+ <span class="bg-gray-600 text-xs px-2 py-1 rounded-full">3</span>
71
+ </div>
72
+ <div id="backlog-column" class="kanban-column p-4 space-y-4">
73
+ <!-- Task Cards -->
74
+ <div class="task-card bg-white p-4 rounded-lg shadow cursor-move" draggable="true">
75
+ <div class="flex justify-between items-start">
76
+ <h3 class="font-medium text-gray-800">Criar wireframes</h3>
77
+ <div class="flex space-x-2">
78
+ <span class="bg-blue-100 text-blue-800 text-xs px-2 py-1 rounded">Design</span>
79
+ </div>
80
+ </div>
81
+ <p class="text-gray-600 text-sm mt-2">Criar wireframes para as novas páginas do site</p>
82
+ <div class="flex justify-between items-center mt-4">
83
+ <div class="flex -space-x-2">
84
+ <img class="w-8 h-8 rounded-full border-2 border-white" src="http://static.photos/people/200x200/1" alt="User 1">
85
+ <img class="w-8 h-8 rounded-full border-2 border-white" src="http://static.photos/people/200x200/2" alt="User 2">
86
+ </div>
87
+ <span class="text-xs text-gray-500">3 dias atrás</span>
88
+ </div>
89
+ </div>
90
+
91
+ <div class="task-card bg-white p-4 rounded-lg shadow cursor-move" draggable="true">
92
+ <div class="flex justify-between items-start">
93
+ <h3 class="font-medium text-gray-800">Pesquisa de concorrência</h3>
94
+ <div class="flex space-x-2">
95
+ <span class="bg-purple-100 text-purple-800 text-xs px-2 py-1 rounded">Pesquisa</span>
96
+ </div>
97
+ </div>
98
+ <p class="text-gray-600 text-sm mt-2">Analisar os principais concorrentes no mercado</p>
99
+ <div class="flex justify-between items-center mt-4">
100
+ <div class="flex -space-x-2">
101
+ <img class="w-8 h-8 rounded-full border-2 border-white" src="http://static.photos/people/200x200/3" alt="User 3">
102
+ </div>
103
+ <span class="text-xs text-gray-500">1 semana atrás</span>
104
+ </div>
105
+ </div>
106
+ </div>
107
+ <button class="w-full bg-gray-200 hover:bg-gray-300 text-gray-700 py-2 flex items-center justify-center space-x-2">
108
+ <i data-feather="plus" class="w-4 h-4"></i>
109
+ <span>Adicionar Tarefa</span>
110
+ </button>
111
+ </div>
112
+
113
+ <!-- In Progress Column -->
114
+ <div class="bg-gray-100 rounded-lg shadow overflow-hidden">
115
+ <div class="bg-blue-600 text-white px-4 py-3 flex justify-between items-center">
116
+ <h2 class="font-bold">Em Progresso</h2>
117
+ <span class="bg-blue-500 text-xs px-2 py-1 rounded-full">2</span>
118
+ </div>
119
+ <div id="progress-column" class="kanban-column p-4 space-y-4">
120
+ <div class="task-card bg-white p-4 rounded-lg shadow cursor-move" draggable="true">
121
+ <div class="flex justify-between items-start">
122
+ <h3 class="font-medium text-gray-800">Desenvolver API</h3>
123
+ <div class="flex space-x-2">
124
+ <span class="bg-green-100 text-green-800 text-xs px-2 py-1 rounded">Desenvolvimento</span>
125
+ <span class="bg-yellow-100 text-yellow-800 text-xs px-2 py-1 rounded">Urgente</span>
126
+ </div>
127
+ </div>
128
+ <p class="text-gray-600 text-sm mt-2">Criar endpoints para o novo sistema</p>
129
+ <div class="flex justify-between items-center mt-4">
130
+ <div class="flex -space-x-2">
131
+ <img class="w-8 h-8 rounded-full border-2 border-white" src="http://static.photos/people/200x200/4" alt="User 4">
132
+ <img class="w-8 h-8 rounded-full border-2 border-white" src="http://static.photos/people/200x200/5" alt="User 5">
133
+ </div>
134
+ <span class="text-xs text-gray-500">2 dias atrás</span>
135
+ </div>
136
+ </div>
137
+
138
+ <div class="task-card bg-white p-4 rounded-lg shadow cursor-move" draggable="true">
139
+ <div class="flex justify-between items-start">
140
+ <h3 class="font-medium text-gray-800">Revisão de conteúdo</h3>
141
+ <div class="flex space-x-2">
142
+ <span class="bg-pink-100 text-pink-800 text-xs px-2 py-1 rounded">Copywriting</span>
143
+ </div>
144
+ </div>
145
+ <p class="text-gray-600 text-sm mt-2">Revisar todos os textos do novo site</p>
146
+ <div class="flex justify-between items-center mt-4">
147
+ <div class="flex -space-x-2">
148
+ <img class="w-8 h-8 rounded-full border-2 border-white" src="http://static.photos/people/200x200/6" alt="User 6">
149
+ </div>
150
+ <span class="text-xs text-gray-500">Ontem</span>
151
+ </div>
152
+ </div>
153
+ </div>
154
+ <button class="w-full bg-gray-200 hover:bg-gray-300 text-gray-700 py-2 flex items-center justify-center space-x-2">
155
+ <i data-feather="plus" class="w-4 h-4"></i>
156
+ <span>Adicionar Tarefa</span>
157
+ </button>
158
+ </div>
159
+
160
+ <!-- Done Column -->
161
+ <div class="bg-gray-100 rounded-lg shadow overflow-hidden">
162
+ <div class="bg-green-600 text-white px-4 py-3 flex justify-between items-center">
163
+ <h2 class="font-bold">Concluído</h2>
164
+ <span class="bg-green-500 text-xs px-2 py-1 rounded-full">4</span>
165
+ </div>
166
+ <div id="done-column" class="kanban-column p-4 space-y-4">
167
+ <div class="task-card bg-white p-4 rounded-lg shadow cursor-move" draggable="true">
168
+ <div class="flex justify-between items-start">
169
+ <h3 class="font-medium text-gray-800">Briefing inicial</h3>
170
+ <div class="flex space-x-2">
171
+ <span class="bg-gray-100 text-gray-800 text-xs px-2 py-1 rounded">Reunião</span>
172
+ </div>
173
+ </div>
174
+ <p class="text-gray-600 text-sm mt-2">Definir escopo inicial do projeto</p>
175
+ <div class="flex justify-between items-center mt-4">
176
+ <div class="flex -space-x-2">
177
+ <img class="w-8 h-8 rounded-full border-2 border-white" src="http://static.photos/people/200x200/7" alt="User 7">
178
+ <img class="w-8 h-8 rounded-full border-2 border-white" src="http://static.photos/people/200x200/8" alt="User 8">
179
+ </div>
180
+ <span class="text-xs text-gray-500">2 semanas atrás</span>
181
+ </div>
182
+ </div>
183
+
184
+ <div class="task-card bg-white p-4 rounded-lg shadow cursor-move" draggable="true">
185
+ <div class="flex justify-between items-start">
186
+ <h3 class="font-medium text-gray-800">Configurar servidor</h3>
187
+ <div class="flex space-x-2">
188
+ <span class="bg-red-100 text-red-800 text-xs px-2 py-1 rounded">DevOps</span>
189
+ </div>
190
+ </div>
191
+ <p class="text-gray-600 text-sm mt-2">Preparar ambiente de desenvolvimento</p>
192
+ <div class="flex justify-between items-center mt-4">
193
+ <div class="flex -space-x-2">
194
+ <img class="w-8 h-8 rounded-full border-2 border-white" src="http://static.photos/people/200x200/9" alt="User 9">
195
+ </div>
196
+ <span class="text-xs text-gray-500">5 dias atrás</span>
197
+ </div>
198
+ </div>
199
+ </div>
200
+ <button class="w-full bg-gray-200 hover:bg-gray-300 text-gray-700 py-2 flex items-center justify-center space-x-2">
201
+ <i data-feather="plus" class="w-4 h-4"></i>
202
+ <span>Adicionar Tarefa</span>
203
+ </button>
204
+ </div>
205
+ </div>
206
+ </main>
207
+
208
+ <!-- New Project Modal -->
209
+ <div id="project-modal" class="fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center hidden">
210
+ <div class="bg-white rounded-lg p-6 w-full max-w-md">
211
+ <div class="flex justify-between items-center mb-4">
212
+ <h3 class="text-xl font-bold text-gray-800">Novo Projeto</h3>
213
+ <button id="close-modal-btn" class="text-gray-500 hover:text-gray-700">
214
+ <i data-feather="x" class="w-6 h-6"></i>
215
+ </button>
216
+ </div>
217
+ <form id="new-project-form">
218
+ <div class="space-y-4">
219
+ <div>
220
+ <label for="project-name" class="block text-sm font-medium text-gray-700 mb-1">Nome do Projeto</label>
221
+ <input type="text" id="project-name" class="w-full border border-gray-300 rounded-lg px-3 py-2 focus:outline-none focus:ring-2 focus:ring-indigo-500">
222
+ </div>
223
+ <div>
224
+ <label for="project-description" class="block text-sm font-medium text-gray-700 mb-1">Descrição</label>
225
+ <textarea id="project-description" rows="3" class="w-full border border-gray-300 rounded-lg px-3 py-2 focus:outline-none focus:ring-2 focus:ring-indigo-500"></textarea>
226
+ </div>
227
+ <div>
228
+ <label for="project-team" class="block text-sm font-medium text-gray-700 mb-1">Membros da Equipe</label>
229
+ <input type="text" id="project-team" class="w-full border border-gray-300 rounded-lg px-3 py-2 focus:outline-none focus:ring-2 focus:ring-indigo-500" placeholder="Digite emails separados por vírgulas">
230
+ </div>
231
+ </div>
232
+ <div class="mt-6 flex justify-end space-x-3">
233
+ <button type="button" id="cancel-project-btn" class="px-4 py-2 border border-gray-300 rounded-lg text-gray-700 hover:bg-gray-100">Cancelar</button>
234
+ <button type="submit" class="px-4 py-2 bg-indigo-600 text-white rounded-lg hover:bg-indigo-700">Criar Projeto</button>
235
+ </div>
236
+ </form>
237
+ </div>
238
+ </div>
239
+
240
+ <script>
241
+ // Initialize feather icons
242
+ feather.replace();
243
+
244
+ // Initialize sortable kanban columns
245
+ document.addEventListener('DOMContentLoaded', function() {
246
+ // Make columns sortable
247
+ new Sortable(document.getElementById('backlog-column'), {
248
+ group: 'kanban',
249
+ animation: 150,
250
+ ghostClass: 'sortable-ghost'
251
+ });
252
+
253
+ new Sortable(document.getElementById('progress-column'), {
254
+ group: 'kanban',
255
+ animation: 150,
256
+ ghostClass: 'sortable-ghost'
257
+ });
258
+
259
+ new Sortable(document.getElementById('done-column'), {
260
+ group: 'kanban',
261
+ animation: 150,
262
+ ghostClass: 'sortable-ghost'
263
+ });
264
+
265
+ // Modal handling
266
+ const modal = document.getElementById('project-modal');
267
+ const newProjectBtn = document.getElementById('new-project-btn');
268
+ const closeModalBtn = document.getElementById('close-modal-btn');
269
+ const cancelProjectBtn = document.getElementById('cancel-project-btn');
270
+
271
+ newProjectBtn.addEventListener('click', () => {
272
+ modal.classList.remove('hidden');
273
+ });
274
+
275
+ closeModalBtn.addEventListener('click', () => {
276
+ modal.classList.add('hidden');
277
+ });
278
+
279
+ cancelProjectBtn.addEventListener('click', () => {
280
+ modal.classList.add('hidden');
281
+ });
282
+
283
+ // Handle form submission
284
+ document.getElementById('new-project-form').addEventListener('submit', function(e) {
285
+ e.preventDefault();
286
+ const projectName = document.getElementById('project-name').value;
287
+ // Here you would normally save the project to your backend
288
+ console.log('Novo projeto criado:', projectName);
289
+ modal.classList.add('hidden');
290
+ // Reset form
291
+ this.reset();
292
+ // For demo purposes, just add to the dropdown
293
+ const select = document.getElementById('project-select');
294
+ const newOption = document.createElement('option');
295
+ newOption.value = 'project-' + (select.options.length + 1);
296
+ newOption.textContent = projectName;
297
+ select.appendChild(newOption);
298
+ });
299
+ });
300
+ </script>
301
+ </body>
302
  </html>