Basic spell page
This commit is contained in:
		
							parent
							
								
									84efa5f654
								
							
						
					
					
						commit
						4a0adb7984
					
				
					 3 changed files with 76 additions and 5 deletions
				
			
		
							
								
								
									
										73
									
								
								src/components/Spell.vue
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										73
									
								
								src/components/Spell.vue
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,73 @@ | |||
| <template> | ||||
|   <div> | ||||
|     <h1> | ||||
|       {{spell.name}} | ||||
|       <span class="label circular bg-primary text-white"> | ||||
|         {{level}} | ||||
|       </span> | ||||
|     </h1> | ||||
|     <ol class="list no-border"> | ||||
|       <li class="item"> | ||||
|         <i class="item-primary">accessibility</i> | ||||
|         <div class="item-content"> | ||||
|           {{classes}} | ||||
|         </div> | ||||
|       </li> | ||||
|       <li class="item"> | ||||
|         <i class="item-primary">group_work</i> | ||||
|         <div class="item-content"> | ||||
|           {{spell.components.raw}} | ||||
|         </div> | ||||
|       </li> | ||||
|       <li class="item"> | ||||
|         <i class="item-primary">school</i> | ||||
|         <div class="item-content"> | ||||
|           {{spell.school}} | ||||
|         </div> | ||||
|       </li> | ||||
|       <li class="item"> | ||||
|         <i class="item-primary">hourglass_full</i> | ||||
|         <div class="item-content"> | ||||
|           {{spell.duration}} | ||||
|         </div> | ||||
|       </li> | ||||
|       <li class="item"> | ||||
|         <i class="item-primary">av_timer</i> | ||||
|         <div class="item-content"> | ||||
|           {{spell.casting_time}} | ||||
|         </div> | ||||
|       </li> | ||||
|       <li class="item"> | ||||
|         <i class="item-primary">short_text</i> | ||||
|         <div class="item-content"> | ||||
|           {{spell.description}} | ||||
|         </div> | ||||
|       </li> | ||||
|     </ol> | ||||
|   </div> | ||||
| </template> | ||||
| 
 | ||||
| <script> | ||||
| import { state } from '../store' | ||||
| import { capitalize } from '../utils' | ||||
| 
 | ||||
| export default { | ||||
|   data () { | ||||
|     return { state } | ||||
|   }, | ||||
|   computed: { | ||||
|     spell () { | ||||
|       return this.state.spells.data.find(spell => spell.name === this.$route.params.name) | ||||
|     }, | ||||
|     level () { | ||||
|       return this.spell.level.toLowerCase() === 'cantrip' ? 'C' : this.spell.level | ||||
|     }, | ||||
|     classes () { | ||||
|       return this.spell.classes.map(cla => capitalize(cla)).join(', ') | ||||
|     } | ||||
|   } | ||||
| } | ||||
| </script> | ||||
| 
 | ||||
| <style> | ||||
| </style> | ||||
|  | @ -33,8 +33,7 @@ | |||
| 
 | ||||
| <script> | ||||
| import { state, dispatch } from '../store' | ||||
| 
 | ||||
| let capitalize = str => str.charAt(0).toUpperCase() + str.slice(1) | ||||
| import { capitalize } from '../utils' | ||||
| 
 | ||||
| export default { | ||||
|   computed: { | ||||
|  | @ -52,9 +51,7 @@ export default { | |||
|     } | ||||
|   }, | ||||
|   data () { | ||||
|     return { | ||||
|       state | ||||
|     } | ||||
|     return { state } | ||||
|   }, | ||||
|   props: [ | ||||
|     'spell' | ||||
|  |  | |||
							
								
								
									
										1
									
								
								src/utils.js
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								src/utils.js
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1 @@ | |||
| export let capitalize = str => str.charAt(0).toUpperCase() + str.slice(1) | ||||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 Joe Wroten
						Joe Wroten