91 lines
1.7 KiB
Vue
91 lines
1.7 KiB
Vue
<template>
|
|
<div class="habits-container">
|
|
<h3>My Habits</h3>
|
|
<div class="habits-list">
|
|
<!-- Mock Habit Card 1 -->
|
|
<div class="habit-card">
|
|
<div class="habit-info">
|
|
<h4>Practice Nuxt</h4>
|
|
<p>Active: Mon, Wed, Fri</p>
|
|
</div>
|
|
<button class="complete-btn">Complete</button>
|
|
</div>
|
|
|
|
<!-- Mock Habit Card 2 -->
|
|
<div class="habit-card">
|
|
<div class="habit-info">
|
|
<h4>Walk 5,000 steps</h4>
|
|
<p>Active: Everyday</p>
|
|
</div>
|
|
<button class="complete-btn">Complete</button>
|
|
</div>
|
|
|
|
<!-- Mock Habit Card 3 -->
|
|
<div class="habit-card">
|
|
<div class="habit-info">
|
|
<h4>Read a chapter</h4>
|
|
<p>Active: Tue, Thu, Sat, Sun</p>
|
|
</div>
|
|
<button class="complete-btn completed">Done</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
|
|
<script setup lang="ts">
|
|
// No logic, just visual placeholders
|
|
</script>
|
|
|
|
<style scoped>
|
|
.habits-container {
|
|
max-width: 600px;
|
|
margin: 0 auto;
|
|
}
|
|
|
|
h3 {
|
|
text-align: center;
|
|
margin-bottom: 20px;
|
|
}
|
|
|
|
.habits-list {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 15px;
|
|
}
|
|
|
|
.habit-card {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
padding: 15px;
|
|
background-color: #fff;
|
|
border-radius: 8px;
|
|
box-shadow: 0 2px 4px rgba(0,0,0,0.05);
|
|
}
|
|
|
|
.habit-info h4 {
|
|
margin: 0 0 5px 0;
|
|
font-size: 1.1em;
|
|
}
|
|
|
|
.habit-info p {
|
|
margin: 0;
|
|
color: #666;
|
|
font-size: 0.9em;
|
|
}
|
|
|
|
.complete-btn {
|
|
padding: 8px 12px;
|
|
border: none;
|
|
border-radius: 5px;
|
|
background-color: #88c0d0;
|
|
color: white;
|
|
cursor: pointer;
|
|
}
|
|
|
|
.complete-btn.completed {
|
|
background-color: #a3be8c;
|
|
cursor: not-allowed;
|
|
}
|
|
</style>
|