feat: add chore, kindness, and penalty management components
All checks were successful
Chore App Build, Test, and Push Docker Images / build-and-push (push) Successful in 2m34s

- Implemented ChoreAssignView for assigning chores to children.
- Created ChoreConfirmDialog for confirming chore completion.
- Developed KindnessAssignView for assigning kindness acts.
- Added PenaltyAssignView for assigning penalties.
- Introduced ChoreEditView and ChoreView for editing and viewing chores.
- Created KindnessEditView and KindnessView for managing kindness acts.
- Developed PenaltyEditView and PenaltyView for managing penalties.
- Added TaskSubNav for navigation between chores, kindness acts, and penalties.
This commit is contained in:
2026-02-28 11:25:56 -05:00
parent 65e987ceb6
commit d7316bb00a
61 changed files with 7364 additions and 647 deletions

View File

@@ -5,12 +5,19 @@ import ParentLayout from '../layout/ParentLayout.vue'
import ChildrenListView from '../components/shared/ChildrenListView.vue'
import ChildView from '../components/child/ChildView.vue'
import ParentView from '../components/child/ParentView.vue'
import TaskView from '../components/task/TaskView.vue'
import TaskSubNav from '../components/task/TaskSubNav.vue'
import ChoreView from '../components/task/ChoreView.vue'
import KindnessView from '../components/task/KindnessView.vue'
import PenaltyView from '../components/task/PenaltyView.vue'
import ChoreEditView from '@/components/task/ChoreEditView.vue'
import KindnessEditView from '@/components/task/KindnessEditView.vue'
import PenaltyEditView from '@/components/task/PenaltyEditView.vue'
import RewardView from '../components/reward/RewardView.vue'
import TaskEditView from '@/components/task/TaskEditView.vue'
import RewardEditView from '@/components/reward/RewardEditView.vue'
import ChildEditView from '@/components/child/ChildEditView.vue'
import TaskAssignView from '@/components/child/TaskAssignView.vue'
import ChoreAssignView from '@/components/child/ChoreAssignView.vue'
import KindnessAssignView from '@/components/child/KindnessAssignView.vue'
import PenaltyAssignView from '@/components/child/PenaltyAssignView.vue'
import RewardAssignView from '@/components/child/RewardAssignView.vue'
import NotificationView from '@/components/notification/NotificationView.vue'
import AuthLayout from '@/layout/AuthLayout.vue'
@@ -109,19 +116,61 @@ const routes = [
},
{
path: 'tasks',
name: 'TaskView',
component: TaskView,
props: false,
component: TaskSubNav,
children: [
{
path: '',
name: 'TaskView',
redirect: { name: 'ChoreView' },
},
{
path: 'chores',
name: 'ChoreView',
component: ChoreView,
},
{
path: 'kindness',
name: 'KindnessView',
component: KindnessView,
},
{
path: 'penalties',
name: 'PenaltyView',
component: PenaltyView,
},
],
},
{
path: 'tasks/create',
name: 'CreateTask',
component: TaskEditView,
path: 'tasks/chores/create',
name: 'CreateChore',
component: ChoreEditView,
},
{
path: 'tasks/:id/edit',
name: 'EditTask',
component: TaskEditView,
path: 'tasks/chores/:id/edit',
name: 'EditChore',
component: ChoreEditView,
props: true,
},
{
path: 'tasks/kindness/create',
name: 'CreateKindness',
component: KindnessEditView,
},
{
path: 'tasks/kindness/:id/edit',
name: 'EditKindness',
component: KindnessEditView,
props: true,
},
{
path: 'tasks/penalties/create',
name: 'CreatePenalty',
component: PenaltyEditView,
},
{
path: 'tasks/penalties/:id/edit',
name: 'EditPenalty',
component: PenaltyEditView,
props: true,
},
{
@@ -142,9 +191,21 @@ const routes = [
props: true,
},
{
path: ':id/assign-tasks/:type?',
name: 'TaskAssignView',
component: TaskAssignView,
path: ':id/assign-chores',
name: 'ChoreAssignView',
component: ChoreAssignView,
props: true,
},
{
path: ':id/assign-kindness',
name: 'KindnessAssignView',
component: KindnessAssignView,
props: true,
},
{
path: ':id/assign-penalties',
name: 'PenaltyAssignView',
component: PenaltyAssignView,
props: true,
},
{