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">
|
2019-04-10 04:10:24 +09:00
|
|
|
<template v-for="(version, name, i) in versions">
|
|
|
|
<dt :key="'name-'+i">{{ name }}</dt>
|
|
|
|
<dd :key="'ver-'+i">{{ version }}</dd>
|
2019-04-08 01:14:32 +09:00
|
|
|
</template>
|
|
|
|
</dl>
|
|
|
|
<div id="copyright">
|
|
|
|
<small>{{ copyright }}</small>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</template>
|
|
|
|
|
2019-04-10 04:10:24 +09:00
|
|
|
<script lang="ts">
|
|
|
|
import { Component, Vue } from "vue-property-decorator"
|
|
|
|
import { ipcRenderer } from "electron"
|
|
|
|
|
|
|
|
type Versions = {[key: string]: string}
|
|
|
|
|
|
|
|
@Component
|
|
|
|
export default class About extends Vue {
|
|
|
|
public productName: string
|
|
|
|
public homePage: string
|
|
|
|
public copyright: string
|
|
|
|
public versions: Versions
|
|
|
|
|
|
|
|
constructor() {
|
|
|
|
super()
|
|
|
|
let { productName, homePage, copyright, codeName, versions } = ipcRenderer.sendSync('thedesk-info')
|
|
|
|
this.productName = productName
|
|
|
|
this.homePage = homePage
|
|
|
|
this.copyright = copyright
|
|
|
|
this.versions = {
|
|
|
|
"Code Name": codeName,
|
|
|
|
"Internal Version": versions.internal,
|
|
|
|
"Chromium": versions.chrome,
|
|
|
|
"Electron": versions.electron,
|
|
|
|
"Node.js": versions.node,
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
</script>
|
|
|
|
|
2019-04-08 01:14:32 +09:00
|
|
|
<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;
|
2019-04-09 22:52:07 +09:00
|
|
|
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;
|
|
|
|
}
|
|
|
|
}
|
2019-04-10 04:10:24 +09:00
|
|
|
</style>
|