commit f720c6973409b52e71a9054fb2e44668bc306474
Author: root <root@hub.scroll.pub> Date: 2024-12-29 04:43:47 +0000 Subject: Initial commit diff --git a/body.html b/body.html new file mode 100644 index 0000000..fb97efe --- /dev/null +++ b/body.html @@ -0,0 +1,49 @@ +<header> + <h1>Task Tracker</h1> + <nav> + <a href="#progress">Progress</a> + <a href="#leaderboard">Leaderboard</a> + <a href="#login">Login</a> + </nav> +</header> + +<main> + <section id="progress"> + <h2>Overall Progress</h2> + <div class="progress-bar"> + <div class="progress" style="width: 25%;"></div> + </div> + <p>25% Complete</p> + </section> + + <section id="leaderboard"> + <h2>Leaderboard</h2> + <div class="tabs"> + <button class="tab active" data-tab="daily">Daily</button> + <button class="tab" data-tab="weekly">Weekly</button> + <button class="tab" data-tab="monthly">Monthly</button> + <button class="tab" data-tab="total">Total</button> + </div> + <div class="charts"> + <canvas id="dailyChart"></canvas> + <canvas id="weeklyChart"></canvas> + <canvas id="monthlyChart"></canvas> + <canvas id="totalChart"></canvas> + </div> + </section> + + <section id="login"> + <h2>Login</h2> + <form id="loginForm"> + <label for="username">Username:</label> + <input type="text" id="username" required> + <label for="password">Password:</label> + <input type="password" id="password" required> + <button type="submit">Login</button> + </form> + </section> +</main> + +<footer> + <p>Task Tracker - Streamline Your Workflow</p> +</footer> \ No newline at end of file diff --git a/index.scroll b/index.scroll new file mode 100644 index 0000000..31255cd --- /dev/null +++ b/index.scroll @@ -0,0 +1,8 @@ +buildHtml +baseUrl https://tasktracker.scroll.pub +metaTags +editButton /edit.html +title Task Tracker - Manage Your Workflow +style.css +body.html +script.js \ No newline at end of file diff --git a/prompt.json b/prompt.json new file mode 100644 index 0000000..4495175 --- /dev/null +++ b/prompt.json @@ -0,0 +1,25 @@ +{ + "id": "6bc346b3-e39d-412b-8722-41ba4234f324", + "object": "chat.completion", + "created": 1735447404, + "model": "deepseek-chat", + "choices": [ + { + "index": 0, + "message": { + "role": "assistant", + "content": "---domain---\ntasktracker.scroll.pub\n---index.scroll---\nbuildHtml\nbaseUrl https://tasktracker.scroll.pub\nmetaTags\neditButton /edit.html\ntitle Task Tracker - Manage Your Workflow\nstyle.css\nbody.html\nscript.js\n---body.html---\n<header>\n <h1>Task Tracker</h1>\n <nav>\n <a href=\"#progress\">Progress</a>\n <a href=\"#leaderboard\">Leaderboard</a>\n <a href=\"#login\">Login</a>\n </nav>\n</header>\n\n<main>\n <section id=\"progress\">\n <h2>Overall Progress</h2>\n <div class=\"progress-bar\">\n <div class=\"progress\" style=\"width: 25%;\"></div>\n </div>\n <p>25% Complete</p>\n </section>\n\n <section id=\"leaderboard\">\n <h2>Leaderboard</h2>\n <div class=\"tabs\">\n <button class=\"tab active\" data-tab=\"daily\">Daily</button>\n <button class=\"tab\" data-tab=\"weekly\">Weekly</button>\n <button class=\"tab\" data-tab=\"monthly\">Monthly</button>\n <button class=\"tab\" data-tab=\"total\">Total</button>\n </div>\n <div class=\"charts\">\n <canvas id=\"dailyChart\"></canvas>\n <canvas id=\"weeklyChart\"></canvas>\n <canvas id=\"monthlyChart\"></canvas>\n <canvas id=\"totalChart\"></canvas>\n </div>\n </section>\n\n <section id=\"login\">\n <h2>Login</h2>\n <form id=\"loginForm\">\n <label for=\"username\">Username:</label>\n <input type=\"text\" id=\"username\" required>\n <label for=\"password\">Password:</label>\n <input type=\"password\" id=\"password\" required>\n <button type=\"submit\">Login</button>\n </form>\n </section>\n</main>\n\n<footer>\n <p>Task Tracker - Streamline Your Workflow</p>\n</footer>\n---style.css---\n:root {\n --primary-color: #4CAF50;\n --secondary-color: #333;\n --background-color: #f4f4f4;\n --text-color: #333;\n --progress-bar-color: #ddd;\n}\n\nbody {\n font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;\n margin: 0;\n padding: 0;\n background-color: var(--background-color);\n color: var(--text-color);\n line-height: 1.6;\n}\n\nheader {\n background-color: var(--primary-color);\n color: white;\n padding: 1rem;\n text-align: center;\n}\n\nnav {\n display: flex;\n justify-content: center;\n gap: 1rem;\n margin-top: 1rem;\n}\n\nnav a {\n color: white;\n text-decoration: none;\n font-weight: bold;\n}\n\nmain {\n padding: 2rem;\n}\n\nsection {\n margin-bottom: 2rem;\n}\n\n.progress-bar {\n background-color: var(--progress-bar-color);\n border-radius: 5px;\n height: 20px;\n overflow: hidden;\n}\n\n.progress {\n background-color: var(--primary-color);\n height: 100%;\n}\n\n.tabs {\n display: flex;\n gap: 1rem;\n margin-bottom: 1rem;\n}\n\n.tab {\n padding: 0.5rem 1rem;\n border: none;\n background-color: var(--primary-color);\n color: white;\n cursor: pointer;\n border-radius: 5px;\n}\n\n.tab.active {\n background-color: var(--secondary-color);\n}\n\n.charts {\n position: relative;\n height: 300px;\n}\n\ncanvas {\n display: none;\n width: 100%;\n height: 100%;\n}\n\ncanvas.active {\n display: block;\n}\n\nform {\n display: flex;\n flex-direction: column;\n gap: 1rem;\n max-width: 300px;\n margin: 0 auto;\n}\n\ninput {\n padding: 0.5rem;\n border: 1px solid var(--secondary-color);\n border-radius: 5px;\n}\n\nbutton {\n padding: 0.5rem 1rem;\n background-color: var(--primary-color);\n color: white;\n border: none;\n border-radius: 5px;\n cursor: pointer;\n}\n\nfooter {\n text-align: center;\n padding: 1rem;\n background-color: var(--secondary-color);\n color: white;\n}\n\n@media (max-width: 768px) {\n nav {\n flex-direction: column;\n }\n\n .tabs {\n flex-direction: column;\n }\n}\n---script.js---\ndocument.addEventListener('DOMContentLoaded', function() {\n const tabs = document.querySelectorAll('.tab');\n const charts = document.querySelectorAll('canvas');\n\n tabs.forEach(tab => {\n tab.addEventListener('click', function() {\n tabs.forEach(t => t.classList.remove('active'));\n this.classList.add('active');\n\n charts.forEach(chart => chart.classList.remove('active'));\n const chartId = this.dataset.tab + 'Chart';\n document.getElementById(chartId).classList.add('active');\n });\n });\n\n const dailyData = {\n labels: ['Alice', 'Bob', 'Charlie', 'Diana'],\n datasets: [{\n label: 'Daily Points',\n data: [5, 3, 7, 2],\n backgroundColor: '#4CAF50'\n }]\n };\n\n const weeklyData = {\n labels: ['Alice', 'Bob', 'Charlie', 'Diana'],\n datasets: [{\n label: 'Weekly Points',\n data: [25, 18, 30, 15],\n backgroundColor: '#4CAF50'\n }]\n };\n\n const monthlyData = {\n labels: ['Alice', 'Bob', 'Charlie', 'Diana'],\n datasets: [{\n label: 'Monthly Points',\n data: [80, 65, 95, 70],\n backgroundColor: '#4CAF50'\n }]\n };\n\n const totalData = {\n labels: ['Alice', 'Bob', 'Charlie', 'Diana'],\n datasets: [{\n label: 'Total Points',\n data: [200, 150, 250, 180],\n backgroundColor: '#4CAF50'\n }]\n };\n\n const dailyChart = new Chart(document.getElementById('dailyChart'), {\n type: 'bar',\n data: dailyData,\n options: {\n responsive: true,\n maintainAspectRatio: false\n }\n });\n\n const weeklyChart = new Chart(document.getElementById('weeklyChart'), {\n type: 'bar',\n data: weeklyData,\n options: {\n responsive: true,\n maintainAspectRatio: false\n }\n });\n\n const monthlyChart = new Chart(document.getElementById('monthlyChart'), {\n type: 'bar',\n data: monthlyData,\n options: {\n responsive: true,\n maintainAspectRatio: false\n }\n });\n\n const totalChart = new Chart(document.getElementById('totalChart'), {\n type: 'bar',\n data: totalData,\n options: {\n responsive: true,\n maintainAspectRatio: false\n }\n });\n\n document.getElementById('loginForm').addEventListener('submit', function(e) {\n e.preventDefault();\n alert('Login functionality coming soon!');\n });\n});\n---end---" + }, + "logprobs": null, + "finish_reason": "stop" + } + ], + "usage": { + "prompt_tokens": 313, + "completion_tokens": 1633, + "total_tokens": 1946, + "prompt_cache_hit_tokens": 64, + "prompt_cache_miss_tokens": 249 + }, + "system_fingerprint": "fp_f1afce2943" +} \ No newline at end of file diff --git a/readme.scroll b/readme.scroll new file mode 100644 index 0000000..cdcb481 --- /dev/null +++ b/readme.scroll @@ -0,0 +1,2 @@ +# tasktracker2.scroll.pub +Website generated by DeepSeek from prompt: 我要创建一个专项工作,有一定数量的工作,分为8个步骤完成,每人分配一个账户,首页显示总的完成进度,登录账户后可以看到每个人的待办、在办和办结项目信息。首页提供积分榜,包括日积分榜、周积分榜、月积分榜和总积分榜,每完成一个节点积一分,,积分用柱状图表示。。 \ No newline at end of file diff --git a/script.js b/script.js new file mode 100644 index 0000000..98e9045 --- /dev/null +++ b/script.js @@ -0,0 +1,92 @@ +document.addEventListener('DOMContentLoaded', function() { + const tabs = document.querySelectorAll('.tab'); + const charts = document.querySelectorAll('canvas'); + + tabs.forEach(tab => { + tab.addEventListener('click', function() { + tabs.forEach(t => t.classList.remove('active')); + this.classList.add('active'); + + charts.forEach(chart => chart.classList.remove('active')); + const chartId = this.dataset.tab + 'Chart'; + document.getElementById(chartId).classList.add('active'); + }); + }); + + const dailyData = { + labels: ['Alice', 'Bob', 'Charlie', 'Diana'], + datasets: [{ + label: 'Daily Points', + data: [5, 3, 7, 2], + backgroundColor: '#4CAF50' + }] + }; + + const weeklyData = { + labels: ['Alice', 'Bob', 'Charlie', 'Diana'], + datasets: [{ + label: 'Weekly Points', + data: [25, 18, 30, 15], + backgroundColor: '#4CAF50' + }] + }; + + const monthlyData = { + labels: ['Alice', 'Bob', 'Charlie', 'Diana'], + datasets: [{ + label: 'Monthly Points', + data: [80, 65, 95, 70], + backgroundColor: '#4CAF50' + }] + }; + + const totalData = { + labels: ['Alice', 'Bob', 'Charlie', 'Diana'], + datasets: [{ + label: 'Total Points', + data: [200, 150, 250, 180], + backgroundColor: '#4CAF50' + }] + }; + + const dailyChart = new Chart(document.getElementById('dailyChart'), { + type: 'bar', + data: dailyData, + options: { + responsive: true, + maintainAspectRatio: false + } + }); + + const weeklyChart = new Chart(document.getElementById('weeklyChart'), { + type: 'bar', + data: weeklyData, + options: { + responsive: true, + maintainAspectRatio: false + } + }); + + const monthlyChart = new Chart(document.getElementById('monthlyChart'), { + type: 'bar', + data: monthlyData, + options: { + responsive: true, + maintainAspectRatio: false + } + }); + + const totalChart = new Chart(document.getElementById('totalChart'), { + type: 'bar', + data: totalData, + options: { + responsive: true, + maintainAspectRatio: false + } + }); + + document.getElementById('loginForm').addEventListener('submit', function(e) { + e.preventDefault(); + alert('Login functionality coming soon!'); + }); +}); \ No newline at end of file diff --git a/style.css b/style.css new file mode 100644 index 0000000..717f71d --- /dev/null +++ b/style.css @@ -0,0 +1,130 @@ +:root { + --primary-color: #4CAF50; + --secondary-color: #333; + --background-color: #f4f4f4; + --text-color: #333; + --progress-bar-color: #ddd; +} + +body { + font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; + margin: 0; + padding: 0; + background-color: var(--background-color); + color: var(--text-color); + line-height: 1.6; +} + +header { + background-color: var(--primary-color); + color: white; + padding: 1rem; + text-align: center; +} + +nav { + display: flex; + justify-content: center; + gap: 1rem; + margin-top: 1rem; +} + +nav a { + color: white; + text-decoration: none; + font-weight: bold; +} + +main { + padding: 2rem; +} + +section { + margin-bottom: 2rem; +} + +.progress-bar { + background-color: var(--progress-bar-color); + border-radius: 5px; + height: 20px; + overflow: hidden; +} + +.progress { + background-color: var(--primary-color); + height: 100%; +} + +.tabs { + display: flex; + gap: 1rem; + margin-bottom: 1rem; +} + +.tab { + padding: 0.5rem 1rem; + border: none; + background-color: var(--primary-color); + color: white; + cursor: pointer; + border-radius: 5px; +} + +.tab.active { + background-color: var(--secondary-color); +} + +.charts { + position: relative; + height: 300px; +} + +canvas { + display: none; + width: 100%; + height: 100%; +} + +canvas.active { + display: block; +} + +form { + display: flex; + flex-direction: column; + gap: 1rem; + max-width: 300px; + margin: 0 auto; +} + +input { + padding: 0.5rem; + border: 1px solid var(--secondary-color); + border-radius: 5px; +} + +button { + padding: 0.5rem 1rem; + background-color: var(--primary-color); + color: white; + border: none; + border-radius: 5px; + cursor: pointer; +} + +footer { + text-align: center; + padding: 1rem; + background-color: var(--secondary-color); + color: white; +} + +@media (max-width: 768px) { + nav { + flex-direction: column; + } + + .tabs { + flex-direction: column; + } +} \ No newline at end of file