thedesk/src/views/About.vue

113 lines
2.2 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">
2019-04-10 00:26:04 +09:00
<a :href="homePage">Web site</a>
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;
2019-04-10 00:26:04 +09:00
font-family: "Avenir", Helvetica, Arial, sans-serif;
2019-04-08 01:14:32 +09:00
-webkit-font-smoothing: antialiased;
-webkit-app-region: drag;
user-select: none;
}
#about {
2019-04-10 00:26:04 +09:00
padding: 0.5em;
2019-04-08 01:14:32 +09:00
text-align: center;
}
#brand {
2019-04-10 00:26:04 +09:00
margin-top: 0.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-10 00:26:04 +09:00
padding: 0.5em;
dt,
dd {
2019-04-08 01:14:32 +09:00
margin-left: 0;
line-height: 1.5em;
}
}
</style>
<script lang="ts">
2019-04-10 00:26:04 +09:00
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>