Add "first time" and "updated" pages templates.
This commit is contained in:
parent
66169ddeb1
commit
4c0aca48fd
214
src/install/first-time/App.vue
Normal file
214
src/install/first-time/App.vue
Normal file
@ -0,0 +1,214 @@
|
||||
<template>
|
||||
<div class="flex flex-column h100">
|
||||
<div class="header flex-nogrow flex-noshrink">
|
||||
Ultrawidify has been updated.
|
||||
</div>
|
||||
<div class="body flex-grow">
|
||||
<h1>Where do you want to use Ultrawidify?</h1>
|
||||
<div class="flex flex-row">
|
||||
<div class=""
|
||||
@click="() => {}"
|
||||
>
|
||||
All sites<br/>
|
||||
<small>(Some sites are disabled by default. Requires access to all sites)</small>
|
||||
</div>
|
||||
<div>
|
||||
Default sites and sites I explicitly allow
|
||||
</div>
|
||||
<div>
|
||||
Only the sites I explicitly allow
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h1>Try to automatically detect aspect ratio?</h1>
|
||||
<div class="flex flex-row">
|
||||
<div class="">
|
||||
Yes
|
||||
</div>
|
||||
<div>
|
||||
Only on sites I allow
|
||||
</div>
|
||||
<div class="">
|
||||
Never
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h1>Do you want to see update notes when extension receives updates?</h1>
|
||||
<p>Update notes will open a new tab, just like this one.</p>
|
||||
<div class="flex flex-row">
|
||||
<div class="">
|
||||
Yes, even for the tiniest changes
|
||||
</div>
|
||||
<div class="">
|
||||
Yes, but only for the big/important ones
|
||||
</div>
|
||||
<div class="">
|
||||
No, never.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer flex-nogrow flex-noshrink">
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import Debug from '../../ext/conf/Debug';
|
||||
import BrowserDetect from '../../ext/conf/BrowserDetect';
|
||||
import Logger from '../../ext/lib/Logger';
|
||||
|
||||
export default {
|
||||
data () {
|
||||
return {
|
||||
selectedTab: 'video',
|
||||
selectedFrame: '__all',
|
||||
selectedSite: '',
|
||||
activeFrames: [],
|
||||
activeSites: [],
|
||||
port: BrowserDetect.firefox ? browser.runtime.connect({name: 'popup-port'}) : chrome.runtime.connect({name: 'popup-port'}),
|
||||
comms: new Comms(),
|
||||
frameStore: {},
|
||||
frameStoreCount: 0,
|
||||
performance: {},
|
||||
site: null,
|
||||
currentZoom: 1,
|
||||
execAction: new ExecAction(),
|
||||
settings: {},
|
||||
settingsInitialized: false,
|
||||
logger: {},
|
||||
siteTabDisabled: false,
|
||||
videoTabDisabled: false,
|
||||
canShowVideoTab: {canShow: true, warning: true},
|
||||
showWhatsNew: false,
|
||||
}
|
||||
},
|
||||
async created() {
|
||||
this.logger = new Logger();
|
||||
await this.logger.init({
|
||||
allowLogging: true,
|
||||
});
|
||||
|
||||
this.settings = new Settings({updateCallback: () => this.updateConfig(), logger: this.logger});
|
||||
await this.settings.init();
|
||||
this.settingsInitialized = true;
|
||||
},
|
||||
components: {
|
||||
},
|
||||
methods: {
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style src="../../res/css/font/overpass.css"></style>
|
||||
<style src="../../res/css/font/overpass-mono.css"></style>
|
||||
<style src="../../res/css/flex.css"></style>
|
||||
<style src="../../res/css/common.scss"></style>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
html, body {
|
||||
width: 800px !important;
|
||||
max-width: 800px !important;
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
#tablist {
|
||||
min-width: 275px;
|
||||
}
|
||||
|
||||
.header {
|
||||
overflow: hidden;
|
||||
background-color: #7f1416;
|
||||
color: #fff;
|
||||
margin: 0px;
|
||||
margin-top: 0px;
|
||||
padding-top: 8px;
|
||||
padding-left: 15px;
|
||||
padding-bottom: 1px;
|
||||
font-size: 2.7em;
|
||||
}
|
||||
|
||||
|
||||
.menu-item-inline-desc{
|
||||
font-size: 0.60em;
|
||||
font-weight: 300;
|
||||
font-variant: normal;
|
||||
}
|
||||
|
||||
.menu-item {
|
||||
flex-grow: 0;
|
||||
padding-left: 15px;
|
||||
padding-top: 5px;
|
||||
padding-bottom: 5px;
|
||||
font-variant: small-caps;
|
||||
border-left: transparent 5px solid;
|
||||
cursor: pointer;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
.menu-item-darker {
|
||||
color: #999;
|
||||
}
|
||||
|
||||
.suboption {
|
||||
display: block;
|
||||
padding-left: 15px;
|
||||
padding-right: 15px;
|
||||
padding-top: 5px;
|
||||
padding-bottom: 20px;
|
||||
min-height: 250px;
|
||||
}
|
||||
|
||||
|
||||
#no-videos-display {
|
||||
height: 100%;
|
||||
padding-top: 50px;
|
||||
/* text-align: center; */
|
||||
}
|
||||
|
||||
.tabitem-container {
|
||||
padding-top: 0.5em;
|
||||
}
|
||||
|
||||
.selected-tab {
|
||||
background-color: initial;
|
||||
border-left: #f18810 5px solid;
|
||||
}
|
||||
|
||||
.tabitem {
|
||||
font-variant: normal;
|
||||
// font-size: 0.69em;
|
||||
// margin-left: 16px;
|
||||
border-left: transparent 3px solid;
|
||||
padding-left: 12px;
|
||||
margin-left: -10px;
|
||||
}
|
||||
|
||||
.site-list {
|
||||
max-height: 200px;
|
||||
}
|
||||
|
||||
.tabitem-selected {
|
||||
color: #fff !important;
|
||||
background-color: initial;
|
||||
border-left: #f0c089 3px solid !important;
|
||||
}
|
||||
.tabitem-selected::before {
|
||||
padding-right: 8px;
|
||||
}
|
||||
|
||||
.tabitem-disabled {
|
||||
color: #cc3b0f !important;
|
||||
}
|
||||
|
||||
.tabitem-iframe::after {
|
||||
content: "</>";
|
||||
padding-left: 0.33em;
|
||||
}
|
||||
|
||||
.popup {
|
||||
// max-width: 780px;
|
||||
// width: 800px;
|
||||
height: 600px;
|
||||
}
|
||||
</style>
|
18
src/install/first-time/first-time.html
Normal file
18
src/install/first-time/first-time.html
Normal file
@ -0,0 +1,18 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Title</title>
|
||||
<link rel="stylesheet" href="popup.css">
|
||||
|
||||
<% if (NODE_ENV === 'development') { %>
|
||||
<!-- Load some resources only in development environment -->
|
||||
<% } %>
|
||||
</head>
|
||||
<body style="width: 800px; height: 600px; overflow: hidden !important">
|
||||
<div id="app">
|
||||
|
||||
</div>
|
||||
<script src="first-time.js"></script>
|
||||
</body>
|
||||
</html>
|
11
src/install/first-time/first-time.js
Normal file
11
src/install/first-time/first-time.js
Normal file
@ -0,0 +1,11 @@
|
||||
import Vue from 'vue'
|
||||
import App from './App'
|
||||
|
||||
// global.browser = require('webextension-polyfill')
|
||||
// Vue.prototype.$browser = global.browser
|
||||
|
||||
/* eslint-disable no-new */
|
||||
new Vue({
|
||||
el: '#app',
|
||||
render: h => h(App)
|
||||
})
|
215
src/install/updated/App.vue
Normal file
215
src/install/updated/App.vue
Normal file
@ -0,0 +1,215 @@
|
||||
<template>
|
||||
<div class="flex flex-column h100">
|
||||
<div class="header flex-nogrow flex-noshrink">
|
||||
Thank you for installing Ultrawidify.
|
||||
</div>
|
||||
<div class="body flex-grow">
|
||||
<p>Before we're ready to go, there are three quick questions. You will be able to change these later.</p>
|
||||
<h1>Where do you want to use Ultrawidify?</h1>
|
||||
<div class="flex flex-row">
|
||||
<div class=""
|
||||
@click="() => {}"
|
||||
>
|
||||
All sites<br/>
|
||||
<small>(Some sites are disabled by default. Requires access to all sites)</small>
|
||||
</div>
|
||||
<div>
|
||||
Default sites and sites I explicitly allow
|
||||
</div>
|
||||
<div>
|
||||
Only the sites I explicitly allow
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h1>Should Ultrawidify automatically detect aspect ratio where possible?</h1>
|
||||
<div class="flex flex-row">
|
||||
<div class="">
|
||||
Yes
|
||||
</div>
|
||||
<div>
|
||||
Only on sites I allow
|
||||
</div>
|
||||
<div class="">
|
||||
Never
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h1>Do you want to see update notes when extension receives updates?</h1>
|
||||
<p>Update notes will open a new tab, just like this one.</p>
|
||||
<div class="flex flex-row">
|
||||
<div class="">
|
||||
Yes, even for the tiniest changes
|
||||
</div>
|
||||
<div class="">
|
||||
Yes, but only for the big/important ones
|
||||
</div>
|
||||
<div class="">
|
||||
No, never.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer flex-nogrow flex-noshrink">
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import Debug from '../../ext/conf/Debug';
|
||||
import BrowserDetect from '../../ext/conf/BrowserDetect';
|
||||
import Logger from '../../ext/lib/Logger';
|
||||
|
||||
export default {
|
||||
data () {
|
||||
return {
|
||||
selectedTab: 'video',
|
||||
selectedFrame: '__all',
|
||||
selectedSite: '',
|
||||
activeFrames: [],
|
||||
activeSites: [],
|
||||
port: BrowserDetect.firefox ? browser.runtime.connect({name: 'popup-port'}) : chrome.runtime.connect({name: 'popup-port'}),
|
||||
comms: new Comms(),
|
||||
frameStore: {},
|
||||
frameStoreCount: 0,
|
||||
performance: {},
|
||||
site: null,
|
||||
currentZoom: 1,
|
||||
execAction: new ExecAction(),
|
||||
settings: {},
|
||||
settingsInitialized: false,
|
||||
logger: {},
|
||||
siteTabDisabled: false,
|
||||
videoTabDisabled: false,
|
||||
canShowVideoTab: {canShow: true, warning: true},
|
||||
showWhatsNew: false,
|
||||
}
|
||||
},
|
||||
async created() {
|
||||
this.logger = new Logger();
|
||||
await this.logger.init({
|
||||
allowLogging: true,
|
||||
});
|
||||
|
||||
this.settings = new Settings({updateCallback: () => this.updateConfig(), logger: this.logger});
|
||||
await this.settings.init();
|
||||
this.settingsInitialized = true;
|
||||
},
|
||||
components: {
|
||||
},
|
||||
methods: {
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style src="../../res/css/font/overpass.css"></style>
|
||||
<style src="../../res/css/font/overpass-mono.css"></style>
|
||||
<style src="../../res/css/flex.css"></style>
|
||||
<style src="../../res/css/common.scss"></style>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
html, body {
|
||||
width: 800px !important;
|
||||
max-width: 800px !important;
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
#tablist {
|
||||
min-width: 275px;
|
||||
}
|
||||
|
||||
.header {
|
||||
overflow: hidden;
|
||||
background-color: #7f1416;
|
||||
color: #fff;
|
||||
margin: 0px;
|
||||
margin-top: 0px;
|
||||
padding-top: 8px;
|
||||
padding-left: 15px;
|
||||
padding-bottom: 1px;
|
||||
font-size: 2.7em;
|
||||
}
|
||||
|
||||
|
||||
.menu-item-inline-desc{
|
||||
font-size: 0.60em;
|
||||
font-weight: 300;
|
||||
font-variant: normal;
|
||||
}
|
||||
|
||||
.menu-item {
|
||||
flex-grow: 0;
|
||||
padding-left: 15px;
|
||||
padding-top: 5px;
|
||||
padding-bottom: 5px;
|
||||
font-variant: small-caps;
|
||||
border-left: transparent 5px solid;
|
||||
cursor: pointer;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
.menu-item-darker {
|
||||
color: #999;
|
||||
}
|
||||
|
||||
.suboption {
|
||||
display: block;
|
||||
padding-left: 15px;
|
||||
padding-right: 15px;
|
||||
padding-top: 5px;
|
||||
padding-bottom: 20px;
|
||||
min-height: 250px;
|
||||
}
|
||||
|
||||
|
||||
#no-videos-display {
|
||||
height: 100%;
|
||||
padding-top: 50px;
|
||||
/* text-align: center; */
|
||||
}
|
||||
|
||||
.tabitem-container {
|
||||
padding-top: 0.5em;
|
||||
}
|
||||
|
||||
.selected-tab {
|
||||
background-color: initial;
|
||||
border-left: #f18810 5px solid;
|
||||
}
|
||||
|
||||
.tabitem {
|
||||
font-variant: normal;
|
||||
// font-size: 0.69em;
|
||||
// margin-left: 16px;
|
||||
border-left: transparent 3px solid;
|
||||
padding-left: 12px;
|
||||
margin-left: -10px;
|
||||
}
|
||||
|
||||
.site-list {
|
||||
max-height: 200px;
|
||||
}
|
||||
|
||||
.tabitem-selected {
|
||||
color: #fff !important;
|
||||
background-color: initial;
|
||||
border-left: #f0c089 3px solid !important;
|
||||
}
|
||||
.tabitem-selected::before {
|
||||
padding-right: 8px;
|
||||
}
|
||||
|
||||
.tabitem-disabled {
|
||||
color: #cc3b0f !important;
|
||||
}
|
||||
|
||||
.tabitem-iframe::after {
|
||||
content: "</>";
|
||||
padding-left: 0.33em;
|
||||
}
|
||||
|
||||
.popup {
|
||||
// max-width: 780px;
|
||||
// width: 800px;
|
||||
height: 600px;
|
||||
}
|
||||
</style>
|
18
src/install/updated/first-time.html
Normal file
18
src/install/updated/first-time.html
Normal file
@ -0,0 +1,18 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Title</title>
|
||||
<link rel="stylesheet" href="popup.css">
|
||||
|
||||
<% if (NODE_ENV === 'development') { %>
|
||||
<!-- Load some resources only in development environment -->
|
||||
<% } %>
|
||||
</head>
|
||||
<body style="width: 800px; height: 600px; overflow: hidden !important">
|
||||
<div id="app">
|
||||
|
||||
</div>
|
||||
<script src="first-time.js"></script>
|
||||
</body>
|
||||
</html>
|
11
src/install/updated/first-time.js
Normal file
11
src/install/updated/first-time.js
Normal file
@ -0,0 +1,11 @@
|
||||
import Vue from 'vue'
|
||||
import App from './App'
|
||||
|
||||
// global.browser = require('webextension-polyfill')
|
||||
// Vue.prototype.$browser = global.browser
|
||||
|
||||
/* eslint-disable no-new */
|
||||
new Vue({
|
||||
el: '#app',
|
||||
render: h => h(App)
|
||||
})
|
Loading…
Reference in New Issue
Block a user