thedesk/src/views/About.vue

114 lines
2.3 KiB
Vue
Raw Normal View History

2019-04-08 01:14:32 +09:00
<template>
<div id="about">
<div id="brand">
<div id="logo">
<img :alt="productName+' logo'" src="@/assets/logo.png" width="194" draggable="false">
</div>
<p id="app-name">{{ productName }}</p>
2019-04-08 05:00:05 +09:00
<p id="web-site">
<BaseLink :href="homePage">
2019-04-08 05:00:05 +09:00
Web site
</BaseLink>
2019-04-08 05:00:05 +09:00
</p>
2019-04-08 01:14:32 +09:00
</div>
<dl class="version">
<template v-for="(version, i) in versions">
<dt :key="'name-'+i">{{ version.name }}</dt>
<dd :key="'ver-'+i">{{ version.version }}</dd>
2019-04-08 01:14:32 +09:00
</template>
</dl>
<div id="copyright">
<small>{{ copyright }}</small>
</div>
</div>
</template>
<style lang="postcss">
body {
margin: 0;
font-family: 'Avenir', Helvetica, Arial, sans-serif;
-webkit-font-smoothing: antialiased;
-webkit-app-region: drag;
user-select: none;
}
#about {
padding: .5em;
text-align: center;
}
#brand {
2019-04-08 05:00:05 +09:00
margin-top: .5em;
2019-04-08 01:14:32 +09:00
& > p {
2019-04-08 05:00:05 +09:00
margin: 0;
2019-04-08 01:14:32 +09:00
}
}
#app-name {
font-weight: bold;
}
2019-04-08 05:00:05 +09:00
#web-site {
-webkit-app-region: no-drag;
user-select: auto;
}
2019-04-08 01:14:32 +09:00
dl.version {
margin: 0;
display: grid;
grid-template-columns: repeat(2, 1fr);
grid-auto-rows: 1.5em;
text-align: left;
-webkit-app-region: no-drag;
user-select: text;
2019-04-08 01:14:32 +09:00
padding: .5em;
dt, dd {
margin-left: 0;
line-height: 1.5em;
}
}
</style>
<script lang="ts">
import { Component, Vue } from 'vue-property-decorator';
import { ipcRenderer } from 'electron'
2019-04-08 01:14:32 +09:00
interface Version {
name: string
version: string
}
@Component
export default class About extends Vue {
public productName: string
public homePage: string
public copyright: string
public versions: Version[]
constructor() {
super()
let { productName, homePage, copyright, codeName, versions } = ipcRenderer.sendSync('thedesk-info')
this.productName = productName
this.homePage = homePage
this.copyright = copyright
this.versions = [
{
name: "Code Name",
version: codeName,
},
{
name: "Internal Version",
version: versions.internal,
2019-04-08 01:14:32 +09:00
},
{
name: "Chromium",
version: versions.chrome,
},
{
name: "Electron",
version: versions.electron,
},
{
name: "Node.js",
version: versions.node,
},
]
}
2019-04-08 01:14:32 +09:00
}
</script>