- Resources to browse, review and contact coaches
- List all available coaches
- View coach details
- Contact a coach
- Register as a coach
- View incoming requests
-
Coaches
- State: List of Coaches
- COACH:
- id
- firstName
- lastName
- areas
- description
- hourlyRate
- COACH:
- Mutations:
- register new coach (CREATE)
- DB fetch and set coaches (READ)
- State: List of Coaches
-
Requests
- State: List of Requests
- REQUEST:
- coachId
- message
- contact email address
- REQUEST:
- Mutations:
- contact Coach (CREATE request)
- DB fetch and set requests
- State: List of Requests
- Routing + Screen Components
- /coaches -- coachesList
- /coaches/:id -- coachDetail
- /register -- coachRegistration
- /coaches/:id/contact -- contactCoach
- /requests -- requestsReceieved
- PUT to upgrade user to coach on Vuex ACTION ['coaches/registerCoach']
- GET list of coaches on CoachesList load
- GET all requests on RequestsReceived load
- POST new request on Vuex Action ['requests/newRequest']
In main.js, with base-dialog as example...
- import
defineAsyncComponent
from Vue - import(pathToComponent) can be sent as a callback parameter provided to defineAsyncComponent(), which should be referenced by a variable
const BaseDialog = defineAsyncComponent(() => import('./components/ui/BaseDialog.vue'))
- the component is otherwise registered as usual
* same concept, but use webpack dynamic import syntax directly, ex:
* `const Foo = () => import('./Foo.vue')`