---
Alias: ["Dashboard"]
Date: 2021-11-20
DocType: "Note"
ChildrenType: ["Task", "Note"]
Hierarchy: "Root"
TimeStamp:
location:
CollapseMetaTable: Yes
---
Parent:: [[Life Admin]]
---
 
```button
name Create Note
type append template
action NewFile
id CreateNote
```
^button-DailytrackerNewTask
```button
name Save
type command
action Save current file
id Save
```
^button-DailytrackerSave
 
```jsx:
< center > < Clock / > < / center >
```
 
```jsx:
const C = props=>{
const ref = useRef();
useEffect(()=>{
(async ()=>{
let iframe = ref.current;
//replace outdated api keys
const response =await fetch("https://unpkg.com/vue-weather-widget@3.0.2/dist/js/vue-weather-widget.js");
let js = await response.text();
js = js.replaceAll("c3bb8aa0a56b21122dea6a2a8ada70c8", "7f9c71310f410847fceb9537a83f3882");
const dataUri = 'data:text/javascript;charset=utf-8,'
+ encodeURIComponent(js);
var html = `
<!-- Requirements -->
< script
src="https://code.jquery.com/jquery-3.2.1.min.js"
integrity="sha256-hwg4gsxgFZhOsEEamdOYGBf13FyQuiTwlAQgxVSNgt4="
crossorigin="anonymous"
>< / script >
< script
type="text/javascript"
src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.4.0/vue.js"
>< / script >
<!-- vue - weather - widget -->
< script type = "text/javascript" src = "${dataUri}" > < / script >
< link href = "https://unpkg.com/vue-weather-widget@3.0.2/dist/css/vue-weather-widget.css" rel = "stylesheet" / >
<!-- Vue app -->
< div id = "app" >
< weather
api-key="e20753dfcaae902ab091fbb4925d432a"
latitude="47.3667"
longitude="8.55"
language="en"
units="ca"
>
< / weather >
< / div >
< script >
new Vue({
el: "#app",
components: {
weather: VueWeatherWidget,
},
});
< / script >
`;
iframe.contentWindow.document.open();
iframe.contentWindow.document.write(html);
iframe.contentWindow.document.close();
})()
})
return < iframe ref = {ref} width = "100%" height = "300" frameBorder = "0" / >
}
< C / >
```
 
# Main dashboard
 
```ad-abstract
title: Summary
collapse: open
This space is the main dashboard of my vault.
```
 
```toc
style: number
```
 
---
 
### Next 5 birthdays
 
```tasks
not done
path includes Family
description includes :birthday:
limit to 5 tasks
sort by due
hide backlink
hide task count
```
 
---
 
### Task management
 
#### Main Tasks
```dataviewjs
const {taskFunc} = customJS
taskFunc.getAllTasks({app, dv, luxon, that:this, theme: "LifeHacks"})
```
 
#### Next 5 recurring to-dos
```tasks
not done
is recurring
description does not include :birthday:
sort by due
limit to 5 tasks
hide backlinks
hide task count
```
 
#### Next 5 one-off to-dos
```tasks
not done
is not recurring
path does not include Templates
limit to 5 tasks
hide backlinks
hide task count
```
 
---
 
### Current reading
 
```dataview
Table without id "![](" + Source.Cover + ")" as "Cover", file.link as "Title", Source.Author as "Author", Source.Published as "Publication Date", Source.Language as "Language"
where Source.Type = "Book"
where ReadingState = "In progress"
```
 
---
 
### 3 Recipe ideas to try
 
`dice: #NotYetTested|link`
`dice: #NotYetTested|link`
`dice: #NotYetTested|link`
 
---
 
### Obsidian Activity
```ActivityHistory
/
```