This commit is contained in:
Eugene Serb 2022-08-12 17:36:23 +03:00
parent 4c5ee93b76
commit 35ea0420f2
36 changed files with 40 additions and 556 deletions

View File

@ -1,132 +1,11 @@
<!DOCTYPE html>
<html lang="en-us" dir="ltr" xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Wavelovers</title>
<title>Wavelovers Redirect</title>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="theme-color" media="(prefers-color-scheme: light)" content="#EA9AB2" />
<meta name="theme-color" media="(prefers-color-scheme: dark)" content="#E27396" />
<meta name="color-scheme" content="light dark" />
<meta name="robots" content="all" />
<meta name="author" content="Eugene Serb" />
<meta name="copyright" content="Wavelovers, 2022" />
<meta name="publisher-email" content="eugene.serb@gmail.com" />
<meta name="publisher-url" content="https://eugene-serb.github.io/" />
<meta name="description" content="Wavelovers. Page with information about the project and data on donations." />
<meta name="keywords" content="Wavelovers, Wave Lovers, Wavemaster, Wave Master, Vibration Master, Vibration, Gamepad, Gamepad Vibration, Gamepad Massager, Vibrate Gamepad, Phone Vibration, Gamepad Tester, Phone Vibration Tester, Vibration Tester, Massager, Vibrator, Satisfyer, Womanizer, Relax, advertise, геймпад, джойстик, вибратор, вибромассажер, вибро, вибромассажёр из геймпада, тестер вибрации геймпада, тестер вибрации телефона, реклама" />
<meta name="og:title" content="Wavelovers About" />
<meta name="og:description" content="Wavelovers. Page with information about the project and data on donations." />
<meta name="og:url" content="https://wavelovers.ru/about.html" />
<meta property="og:locale" content="en_US" />
<meta property="og:type" content="website" />
<meta property="og:site_name" content="Wavelovers" />
<meta property="og:image" content="https://wavelovers.ru/img/og.png" />
<meta property="vk:image" content="https://wavelovers.ru/img/og.png" />
<meta name="twitter:title" content="Wavelovers About" />
<meta name="twitter:description" content="Wavelovers. Page with information about the project and data on donations." />
<meta name="twitter:card" content="summary" />
<meta name="twitter:creator" content="@eugene_serb" />
<meta name="twitter:image" content="https://wavelovers.ru/img/og.png" />
<link rel="canonical" href="https://wavelovers.ru/about.html" />
<link rel="shortcut icon" type="image/x-icon" href="https://wavelovers.ru/img/favicon.ico" />
<link rel="apple-touch-icon" sizes="180x180" href="https://wavelovers.ru/img/apple-touch-icon.png" />
<link rel="icon" type="image/png" sizes="32x32" href="https://wavelovers.ru/img/favicon-32x32.png" />
<link rel="icon" type="image/png" sizes="16x16" href="https://wavelovers.ru/img/favicon-16x16.png" />
<link rel="manifest" href="https://wavelovers.ru/site.webmanifest" />
<link rel="stylesheet" type="text/css" href="/css/styles.css" />
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-59FM5E4MVD"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag() { dataLayer.push(arguments); }
gtag('js', new Date());
gtag('config', 'G-59FM5E4MVD');
</script>
<!-- Global site tag (gtag.js) - Google Analytics -->
<!-- Yandex.Metrika counter -->
<script type="text/javascript">
(function (m, e, t, r, i, k, a) {
m[i] = m[i] || function () { (m[i].a = m[i].a || []).push(arguments) };
m[i].l = 1 * new Date(); k = e.createElement(t), a = e.getElementsByTagName(t)[0], k.async = 1, k.src = r, a.parentNode.insertBefore(k, a)
})
(window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym");
ym(89252711, "init", {
clickmap: true,
trackLinks: true,
accurateTrackBounce: true,
webvisor: true
});
</script>
<!-- /Yandex.Metrika counter -->
<meta http-equiv="refresh" content="0; URL=https://wavelovers.ru/?about" />
</head>
<body>
<header class="header">
<div class="header-wrapper container">
<div class="logo-wrapper">
<span class="logo-wrapper__logo" translate="no">Wavelovers</span>
</div>
<nav class="menu-wrapper">
<ul class="navigation">
<li class="navigation__item">
<a href="/" target="_self" class="navigation__link">Home</a>
</li>
<li class="navigation__item">
<a href="/faq.html" target="_self" class="navigation__link">FAQ</a>
</li>
<li class="navigation__item">
<a href="/about.html" target="_self" class="navigation__link">About</a>
</li>
<li class="navigation__item">
<a href="/donate.html" target="_self" class="navigation__link">Donate</a>
</li>
</ul>
</nav>
</div>
</header>
<main class="page container">
<h1 class="visually-hidden">Wavelovers About</h1>
<div>
<div class="content-item">
<h2 class="content-item__header">About</h2>
<p>Hi! I am the author and developer of Wavelovers app and I want to thank you for using this app. If you have any ideas or wishes, you can write to me.</p>
<br />
<span>Write me: </span>
<a href="mailto:eugene.serb@gmail.com" target="_blank">eugene.serb@gmail.com</a>
<br />
<span>Visit my homepage: </span>
<a href="https://eugene-serb.github.io/" target="_blank">eugene-serb.github.io</a>
</div>
<div class="content-item">
<h2 class="content-item__header">Advertising</h2>
<span>If you have advertising suggestions, please mail me: </span>
<a href="mailto:eugene.serb@gmail.com" target="_blank">eugene.serb@gmail.com</a>
</div>
</div>
</main>
<footer class="footer">
<div class="footer-wrapper container">
<div class="annotation">
<span class="annotation__text">© 2022 Wavelovers. Content licensed under </span><a href="https://wavelovers.ru/LICENSE.md" target="_blank">GNU General Public License v3.0</a><br>
<span class="annotation__text">This site is open source. </span><a href="https://github.com/eugene-serb/wavelovers/" target="_blank">Improve this page.</a>
</div>
<div class="annotation created-by">
<span class="annotation__text">Created by</span><a href="https://eugene-serb.github.io/" target="_blank" translate="no">Eugene Serb</a>
</div>
</div>
</footer>
<noscript><div><img src="https://mc.yandex.ru/watch/89252711" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
</body>
</html>

View File

@ -0,0 +1 @@
.header{border-bottom:8px solid var(--color-header-borderline);background:var(--color-header-background)}.header ::-moz-selection{background:var(--color-header-selection)}.header ::selection{background:var(--color-header-selection)}.header :focus{border-bottom:2px solid var(--color-header-navigation-link-hover)}.header :focus-visible{outline:2px solid var(--color-header-navigation-link-hover);border-color:transparent}.header-wrapper{padding-top:32px;padding-bottom:16px}.logo-wrapper{text-align:center}.logo-wrapper__logo{font-size:48px;font-weight:500;color:var(--color-header-logo);cursor:default}.menu-wrapper{margin-top:16px;align-self:center}.navigation{padding:0;list-style-type:none;display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between;gap:8px}.navigation__item{font-size:16px;text-transform:uppercase}.navigation__item a{border-color:transparent;color:var(--color-header-navigation-link)}.navigation__item a:hover{border-color:var(--color-header-navigation-link-hover);color:var(--color-header-navigation-link-hover)}@media only screen and (min-width:540px){.header{border-bottom:32px solid var(--color-header-borderline);background:var(--color-header-background)}.header-wrapper{padding-top:64px;padding-bottom:16px}.menu-wrapper{margin-top:32px;align-self:center}}@media only screen and (min-width:720px){.header-wrapper{display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between;gap:64px}.logo-wrapper{width:50%;text-align:left}.menu-wrapper{width:50%;margin-top:0;align-self:flex-end}}@media only screen and (min-width:1024px){.logo-wrapper__logo{font-size:64px}}.footer{border-top:4px solid var(--color-footer-borderline)}.footer span{color:var(--color-footer-text)}.footer-wrapper{padding-top:32px;padding-bottom:32px;display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between;gap:32px}.created-by{align-self:flex-end}.created-by>span{padding-right:8px}.created-by>a{font-size:32px}.navigation-list{display:flex;flex-direction:row;justify-content:flex-start;gap:16px}.navigation-item.router-link-active,.navigation-item.router-link-exact-active{border-bottom:2px solid var(--color-link-hover);color:var(--color-link-hover);transition:all .5s ease;text-decoration:none}.list-item{max-width:100%;padding:16px;border:4px solid var(--color-b);border-radius:4px;justify-content:space-between}.list-item,.list-item__info{display:flex;flex-direction:column}.list-item__info{gap:16px}.list-item_selected .list-item__info span{color:var(--color-white)}.device-list{display:flex;flex-direction:row;justify-content:space-around;gap:16px}.message{width:100%;display:flex;flex-direction:column;justify-content:center;text-align:center;font-size:16px}@media only screen and (min-width:540px){.message{font-size:24px}}.pattern-item{width:100%;height:50px;padding:8px;border-radius:var(--number-border-radius);background:var(--color-pattern-button);display:flex;flex-direction:row;justify-content:flex-start;gap:8px;align-items:center;text-align:center;overflow:hidden;cursor:pointer}@media only screen and (min-width:540px){.pattern-item{width:200px}}.pattern-item ::-moz-selection{background-color:transparent}.pattern-item ::selection{background-color:transparent}.pattern-item_selected{background:var(--color-b)}.pattern-item__icon{font-size:24px}.pattern-item__info-container{display:flex;flex-direction:column;justify-content:space-between;text-align:left}.pattern-item__name{font-size:16px}.pattern-item__name,.pattern-item__type{white-space:nowrap;overflow:hidden;color:var(--color-pattern-text)}.pattern-item__type{font-size:12px}.pattern-list{display:flex;flex-direction:row;justify-content:space-around;flex-wrap:wrap;gap:16px}@media only screen and (min-width:540px){.pattern-list{display:flex;gap:32px}}

View File

@ -1 +0,0 @@
.navigation-list{display:flex;flex-direction:row;justify-content:flex-start;gap:16px}.navigation-item.router-link-active,.navigation-item.router-link-exact-active{border-bottom:2px solid var(--color-link-hover);color:var(--color-link-hover);transition:all .5s ease;text-decoration:none}.list-item{max-width:100%;padding:16px;border:4px solid var(--color-b);border-radius:4px;justify-content:space-between}.list-item,.list-item__info{display:flex;flex-direction:column}.list-item__info{gap:16px}.list-item_selected .list-item__info span{color:var(--color-white)}.device-list{display:flex;flex-direction:row;justify-content:space-around;gap:16px}.message{width:100%;display:flex;flex-direction:column;justify-content:center;text-align:center;font-size:16px}@media only screen and (min-width:540px){.message{font-size:24px}}.pattern-item{width:100%;height:50px;padding:8px;border-radius:var(--number-border-radius);background:var(--color-pattern-button);display:flex;flex-direction:row;justify-content:flex-start;gap:8px;align-items:center;text-align:center;overflow:hidden;cursor:pointer}@media only screen and (min-width:540px){.pattern-item{width:200px}}.pattern-item ::-moz-selection{background-color:transparent}.pattern-item ::selection{background-color:transparent}.pattern-item_selected{background:var(--color-b)}.pattern-item__icon{font-size:24px}.pattern-item__info-container{display:flex;flex-direction:column;justify-content:space-between;text-align:left}.pattern-item__name{font-size:16px}.pattern-item__name,.pattern-item__type{white-space:nowrap;overflow:hidden;color:var(--color-pattern-text)}.pattern-item__type{font-size:12px}.pattern-list{display:flex;flex-direction:row;justify-content:space-around;flex-wrap:wrap;gap:16px}@media only screen and (min-width:540px){.pattern-list{display:flex;gap:32px}}

View File

@ -1,6 +1,6 @@
/* ------------------------------ */
/* Wavelovers styles */
/* version: dated 2022.08.08 */
/* version: dated 2022.08.12 */
/* author: Eugene Serb */
/* ------------------------------ */
@ -408,152 +408,17 @@ table, th, td {
/* COMPONENTS STYLES */
/* ----------------- */
/* ------ */
/* HEADER */
/* ------ */
/* --- */
/* APP */
/* --- */
.header {
border-bottom: 8px solid var(--color-header-borderline);
background: var(--color-header-background);
}
.header ::selection {
background: var(--color-header-selection);
}
.header :focus {
border-bottom: 2px solid var(--color-header-navigation-link-hover);
}
.header :focus-visible {
outline: 2px solid var(--color-header-navigation-link-hover);
border-color: transparent;
}
.header-wrapper {
padding-top: 32px;
padding-bottom: 16px;
}
.logo-wrapper {
text-align: center;
}
.logo-wrapper__logo {
font-size: 48px;
font-weight: 500;
color: var(--color-header-logo);
cursor: default;
}
.menu-wrapper {
margin-top: 16px;
align-self: center;
}
.navigation {
padding: 0;
list-style-type: none;
.app {
min-height: 100vh;
display: flex;
flex-direction: row;
flex-wrap: wrap;
flex-direction: column;
justify-content: space-between;
gap: 8px;
}
.navigation__item {
font-size: 16px;
text-transform: uppercase;
}
.navigation__item a {
border-color: transparent;
color: var(--color-header-navigation-link);
}
.navigation__item a:hover {
border-color: var(--color-header-navigation-link-hover);
color: var(--color-header-navigation-link-hover);
}
@media only screen and (min-width: 540px) {
.header {
border-bottom: 32px solid var(--color-header-borderline);
background: var(--color-header-background);
}
.header-wrapper {
padding-top: 64px;
padding-bottom: 16px;
}
.menu-wrapper {
margin-top: 32px;
align-self: center;
}
}
@media only screen and (min-width: 720px) {
.header-wrapper {
display: flex;
flex-direction: row;
flex-wrap: nowrap;
justify-content: space-between;
gap: 64px;
}
.logo-wrapper {
width: 50%;
text-align: left;
}
.menu-wrapper {
width: 50%;
margin-top: 0px;
align-self: flex-end;
}
}
@media only screen and (min-width: 1024px) {
.logo-wrapper__logo {
font-size: 64px;
}
}
/* ------ */
/* FOOTER */
/* ------ */
.footer {
border-top: 4px solid var(--color-footer-borderline);
}
.footer span {
color: var(--color-footer-text);
}
.footer-wrapper {
padding-top: 32px;
padding-bottom: 32px;
display: flex;
flex-direction: row;
flex-wrap: wrap;
justify-content: space-between;
gap: 32px;
}
.created-by {
align-self: flex-end;
}
.created-by > span {
padding-right: 8px;
}
.created-by > a {
font-size: 32px;
}
/* ---- */
/* PAGE */
/* ---- */
@ -625,10 +490,6 @@ table, th, td {
/* PAGES */
/* ----- */
/* ----------- */
/* WAVELOVERS */
/* ----------- */
.link_hash {
word-break: break-all;
}

View File

@ -1,133 +1,11 @@
<!DOCTYPE html>
<html lang="en-us" dir="ltr" xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Wavelovers</title>
<title>Wavelovers Redirect</title>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="theme-color" media="(prefers-color-scheme: light)" content="#EA9AB2" />
<meta name="theme-color" media="(prefers-color-scheme: dark)" content="#E27396" />
<meta name="color-scheme" content="light dark" />
<meta name="robots" content="all" />
<meta name="author" content="Eugene Serb" />
<meta name="copyright" content="Wavelovers, 2022" />
<meta name="publisher-email" content="eugene.serb@gmail.com" />
<meta name="publisher-url" content="https://eugene-serb.github.io/" />
<meta name="description" content="Wavelovers. Donate to the author." />
<meta name="keywords" content="Wavelovers, Wave Lovers, Wavemaster, Wave Master, Vibration Master, Vibration, Gamepad, Gamepad Vibration, Gamepad Massager, Vibrate Gamepad, Phone Vibration, Gamepad Tester, Phone Vibration Tester, Vibration Tester, Massager, Vibrator, Satisfyer, Womanizer, Relax, Donate, Support, геймпад, джойстик, вибратор, вибромассажер, вибро, вибромассажёр из геймпада, тестер вибрации геймпада, тестер вибрации телефона, задонатить, пожертвовать, помочь, поблагодарить" />
<meta name="og:title" content="Wavelovers Donate" />
<meta name="og:description" content="Wavelovers. Donate to the author." />
<meta name="og:url" content="https://wavelovers.ru/donate.html" />
<meta property="og:locale" content="en_US" />
<meta property="og:type" content="website" />
<meta property="og:site_name" content="Wavelovers" />
<meta property="og:image" content="https://wavelovers.ru/img/og.png" />
<meta property="vk:image" content="https://wavelovers.ru/img/og.png" />
<meta name="twitter:title" content="Wavelovers Donate" />
<meta name="twitter:description" content="Wavelovers. Donate to the author." />
<meta name="twitter:card" content="summary" />
<meta name="twitter:creator" content="@eugene_serb" />
<meta name="twitter:image" content="https://wavelovers.ru/img/og.png" />
<link rel="canonical" href="https://wavelovers.ru/donate.html" />
<link rel="shortcut icon" type="image/x-icon" href="https://wavelovers.ru/img/favicon.ico" />
<link rel="apple-touch-icon" sizes="180x180" href="https://wavelovers.ru/img/apple-touch-icon.png" />
<link rel="icon" type="image/png" sizes="32x32" href="https://wavelovers.ru/img/favicon-32x32.png" />
<link rel="icon" type="image/png" sizes="16x16" href="https://wavelovers.ru/img/favicon-16x16.png" />
<link rel="manifest" href="https://wavelovers.ru/site.webmanifest" />
<link rel="stylesheet" type="text/css" href="/css/styles.css" />
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-59FM5E4MVD"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag() { dataLayer.push(arguments); }
gtag('js', new Date());
gtag('config', 'G-59FM5E4MVD');
</script>
<!-- Global site tag (gtag.js) - Google Analytics -->
<!-- Yandex.Metrika counter -->
<script type="text/javascript">
(function (m, e, t, r, i, k, a) {
m[i] = m[i] || function () { (m[i].a = m[i].a || []).push(arguments) };
m[i].l = 1 * new Date(); k = e.createElement(t), a = e.getElementsByTagName(t)[0], k.async = 1, k.src = r, a.parentNode.insertBefore(k, a)
})
(window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym");
ym(89252711, "init", {
clickmap: true,
trackLinks: true,
accurateTrackBounce: true,
webvisor: true
});
</script>
<!-- /Yandex.Metrika counter -->
<meta http-equiv="refresh" content="0; URL=https://wavelovers.ru/?donate" />
</head>
<body>
<header class="header">
<div class="header-wrapper container">
<div class="logo-wrapper">
<span class="logo-wrapper__logo" translate="no">Wavelovers</span>
</div>
<nav class="menu-wrapper">
<ul class="navigation">
<li class="navigation__item">
<a href="/" target="_self" class="navigation__link">Home</a>
</li>
<li class="navigation__item">
<a href="/faq.html" target="_self" class="navigation__link">FAQ</a>
</li>
<li class="navigation__item">
<a href="/about.html" target="_self" class="navigation__link">About</a>
</li>
<li class="navigation__item">
<a href="/donate.html" target="_self" class="navigation__link">Donate</a>
</li>
</ul>
</nav>
</div>
</header>
<main class="page container">
<h1 class="visually-hidden">Wavelovers Donate</h1>
<div>
<div class="content-item">
<h2 class="content-item__header">Donate</h2>
<span>If you like this app, you can thank me and donate to me.</span><br /><br />
<span>Why should you donate to Wavelovers?</span><br /><br />
<p>
More donation = more money <br />
More money allows me buy more coffee <br />
More coffee makes me write more code <br />
More code means more features <br />
More features make you more happiness and productive <br />
More happiness and productive so you earn more money <br />
More money you earn more donation to me <br />
</p><br />
<span>Bitcoin: </span>
<a href="bitcoin:bc1qspzgj7xrf099s2ej8f5zmm52xu0wkfurpezny5" target="_blank" class="link_hash">bc1qspzgj7xrf099s2ej8f5zmm52xu0wkfurpezny5</a><br />
</div>
</div>
</main>
<footer class="footer">
<div class="footer-wrapper container">
<div class="annotation">
<span class="annotation__text">© 2022 Wavelovers. Content licensed under </span><a href="https://wavelovers.ru/LICENSE.md" target="_blank">GNU General Public License v3.0</a><br>
<span class="annotation__text">This site is open source. </span><a href="https://github.com/eugene-serb/wavelovers/" target="_blank">Improve this page.</a>
</div>
<div class="annotation created-by">
<span class="annotation__text">Created by</span><a href="https://eugene-serb.github.io/" target="_blank" translate="no">Eugene Serb</a>
</div>
</div>
</footer>
<noscript><div><img src="https://mc.yandex.ru/watch/89252711" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
</body>
</html>

View File

@ -1,154 +1,11 @@
<!DOCTYPE html>
<html lang="en-us" dir="ltr" xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Wavelovers</title>
<title>Wavelovers Redirect</title>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="theme-color" media="(prefers-color-scheme: light)" content="#EA9AB2" />
<meta name="theme-color" media="(prefers-color-scheme: dark)" content="#E27396" />
<meta name="color-scheme" content="light dark" />
<meta name="robots" content="all" />
<meta name="author" content="Eugene Serb" />
<meta name="copyright" content="Wavelovers, 2022" />
<meta name="publisher-email" content="eugene.serb@gmail.com" />
<meta name="publisher-url" content="https://eugene-serb.github.io/" />
<meta name="description" content="Wavelovers. Frequently asked questions page." />
<meta name="keywords" content="Wavelovers, Wave Lovers, Wavemaster, Wave Master, Vibration Master, Vibration, Gamepad, Gamepad Vibration, Gamepad Massager, Vibrate Gamepad, Phone Vibration, Gamepad Tester, Phone Vibration Tester, Vibration Tester, Massager, Vibrator, Satisfyer, Womanizer, Relax, FAQ, геймпад, джойстик, вибратор, вибромассажер, вибро, вибромассажёр из геймпада, тестер вибрации геймпада, тестер вибрации телефона, часто задаваемые вопросы" />
<meta name="og:title" content="Wavelovers FAQ" />
<meta name="og:description" content="Wavelovers. Frequently asked questions page." />
<meta name="og:url" content="https://wavelovers.ru/faq.html" />
<meta property="og:locale" content="en_US" />
<meta property="og:type" content="website" />
<meta property="og:site_name" content="Wavelovers" />
<meta property="og:image" content="https://wavelovers.ru/img/og.png" />
<meta property="vk:image" content="https://wavelovers.ru/img/og.png" />
<meta name="twitter:title" content="Wavelovers FAQ" />
<meta name="twitter:description" content="Wavelovers. Frequently asked questions page." />
<meta name="twitter:card" content="summary" />
<meta name="twitter:creator" content="@eugene_serb" />
<meta name="twitter:image" content="https://wavelovers.ru/img/og.png" />
<link rel="canonical" href="https://wavelovers.ru/faq.html" />
<link rel="shortcut icon" type="image/x-icon" href="https://wavelovers.ru/img/favicon.ico" />
<link rel="apple-touch-icon" sizes="180x180" href="https://wavelovers.ru/img/apple-touch-icon.png" />
<link rel="icon" type="image/png" sizes="32x32" href="https://wavelovers.ru/img/favicon-32x32.png" />
<link rel="icon" type="image/png" sizes="16x16" href="https://wavelovers.ru/img/favicon-16x16.png" />
<link rel="manifest" href="https://wavelovers.ru/site.webmanifest" />
<link rel="stylesheet" type="text/css" href="/css/styles.css" />
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-59FM5E4MVD"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag() { dataLayer.push(arguments); }
gtag('js', new Date());
gtag('config', 'G-59FM5E4MVD');
</script>
<!-- Global site tag (gtag.js) - Google Analytics -->
<!-- Yandex.Metrika counter -->
<script type="text/javascript">
(function (m, e, t, r, i, k, a) {
m[i] = m[i] || function () { (m[i].a = m[i].a || []).push(arguments) };
m[i].l = 1 * new Date(); k = e.createElement(t), a = e.getElementsByTagName(t)[0], k.async = 1, k.src = r, a.parentNode.insertBefore(k, a)
})
(window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym");
ym(89252711, "init", {
clickmap: true,
trackLinks: true,
accurateTrackBounce: true,
webvisor: true
});
</script>
<!-- /Yandex.Metrika counter -->
<meta http-equiv="refresh" content="0; URL=https://wavelovers.ru/?faq" />
</head>
<body>
<header class="header">
<div class="header-wrapper container">
<div class="logo-wrapper">
<span class="logo-wrapper__logo" translate="no">Wavelovers</span>
</div>
<nav class="menu-wrapper">
<ul class="navigation">
<li class="navigation__item">
<a href="/" target="_self" class="navigation__link">Home</a>
</li>
<li class="navigation__item">
<a href="/faq.html" target="_self" class="navigation__link">FAQ</a>
</li>
<li class="navigation__item">
<a href="/about.html" target="_self" class="navigation__link">About</a>
</li>
<li class="navigation__item">
<a href="/donate.html" target="_self" class="navigation__link">Donate</a>
</li>
</ul>
</nav>
</div>
</header>
<main class="page container">
<h1 class="visually-hidden">Wavelovers FAQ</h1>
<div>
<div class="content-item">
<h2 class="content-item__header">FAQ</h2>
<dl>
<dt>What is the purpose of this software?</dt>
<dd>Everyone decides for himself, but can be used as a gamepad vibration tester, or as a hand massager.</dd>
<dt>Can I use this software as a hand massager?</dt>
<dd>Yes of course. If you use this as a massager, then before the session I recommend consulting with a doctor.</dd>
<dt>I have a gamepad with vibration, what should I do before using it as a hand massager?</dt>
<dd>I recommend checking the device for correct operation, mechanical damage, and be sure to use an antiseptic.</dd>
<dt>I'm having problems with the app or connecting my device to the app?</dt>
<dd>Go to Troubleshooting.</dd>
</dl>
</div>
<div class="content-item">
<h2 class="content-item__header">Troubleshooting</h2>
<span>If you are having difficulty detecting a gamepad by the browser, you can use the utility </span>
<a href="https://wavelovers.ru/?diagnostic" target="_blank">Wavelovers Diagnostic</a><br /><br />
<dl>
<dt>The app does not see my device.</dt>
<dd>Make sure you have a chromium-based browser, then update the app and reconnect your device.</dd>
<dt>The application sees the gamepad, but writes that the vibration actuator is missing.</dt>
<dd>This problem is specific to mozilla firefox browser and d-input mode. Check the system requirements before using the software.</dd>
<dt>My question is not here.</dt>
<dd>Write me <a href="mailto:eugene.serb@gmail.com" target="_blank">eugene.serb@gmail.com</a></dd>
</dl>
</div>
<div class="content-item">
<h2 class="content-item__header">System Requirements</h2>
<dl>
<dt>Gamepad:</dt>
<dd>X-Input and vibration actuator required.</dd>
<dt>Browser:</dt>
<dd>Google Chrome or any other Chromium-based browser is recommended.</dd>
<dt>Operating System:</dt>
<dd>Windows 7 or higher recommended.</dd>
</dl>
</div>
</div>
</main>
<footer class="footer">
<div class="footer-wrapper container">
<div class="annotation">
<span class="annotation__text">© 2022 Wavelovers. Content licensed under </span><a href="https://wavelovers.ru/LICENSE.md" target="_blank">GNU General Public License v3.0</a><br>
<span class="annotation__text">This site is open source. </span><a href="https://github.com/eugene-serb/wavelovers/" target="_blank">Improve this page.</a>
</div>
<div class="annotation created-by">
<span class="annotation__text">Created by</span><a href="https://eugene-serb.github.io/" target="_blank" translate="no">Eugene Serb</a>
</div>
</div>
</footer>
<noscript><div><img src="https://mc.yandex.ru/watch/89252711" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
</body>
</html>

View File

@ -1,4 +1,4 @@
<!doctype html><html lang="en-us" dir="ltr" xmlns="http://www.w3.org/1999/xhtml"><head><title>Wavelovers</title><meta charset="UTF-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" media="(prefers-color-scheme: light)" content="#EA9AB2"/><meta name="theme-color" media="(prefers-color-scheme: dark)" content="#E27396"/><meta name="color-scheme" content="light dark"/><meta name="robots" content="all"/><meta name="author" content="Eugene Serb"/><meta name="copyright" content="Wavelovers, 2022"/><meta name="publisher-email" content="eugene.serb@gmail.com"/><meta name="publisher-url" content="https://eugene-serb.github.io/"/><meta name="description" content="Wavelovers. Use your device vibration correctly. Make a massager out of a gamepad."/><meta name="keywords" content="Wavelovers, Wave Lovers, Wavemaster, Wave Master, Vibration Master, Vibration, Gamepad, Gamepad Vibration, Gamepad Massager, Vibrate Gamepad, Phone Vibration, Gamepad Tester, Phone Vibration Tester, Vibration Tester, Massager, Vibrator, Satisfyer, Womanizer, Relax, геймпад, джойстик, вибратор, вибромассажер, вибро, вибромассажёр из геймпада, тестер вибрации геймпада, тестер вибрации телефона"/><meta name="og:title" content="Wavelovers"/><meta name="og:description" content="Wavelovers. Use your device vibration correctly. Make a massager out of a gamepad."/><meta name="og:url" content="https://wavelovers.ru/"/><meta property="og:locale" content="en_US"/><meta property="og:type" content="website"/><meta property="og:site_name" content="Wavelovers"/><meta property="og:image" content="https://wavelovers.ru/img/og.png"/><meta property="vk:image" content="https://wavelovers.ru/img/og.png"/><meta name="twitter:title" content="Wavelovers"/><meta name="twitter:description" content="Wavelovers. Use your device vibration correctly. Make a massager out of a gamepad."/><meta name="twitter:card" content="summary"/><meta name="twitter:creator" content="@eugene_serb"/><meta name="twitter:image" content="https://wavelovers.ru/img/og.png"/><link rel="shortcut icon" type="image/x-icon" href="https://wavelovers.ru/img/favicon.ico"/><link rel="apple-touch-icon" sizes="180x180" href="https://wavelovers.ru/img/apple-touch-icon.png"/><link rel="icon" type="image/png" sizes="32x32" href="https://wavelovers.ru/img/favicon-32x32.png"/><link rel="icon" type="image/png" sizes="16x16" href="https://wavelovers.ru/img/favicon-16x16.png"/><link rel="manifest" href="https://wavelovers.ru/site.webmanifest"/><link rel="stylesheet" href="/css/styles.css"/><script async src="https://www.googletagmanager.com/gtag/js?id=G-59FM5E4MVD"></script><script>window.dataLayer = window.dataLayer || [];
<!doctype html><html lang="en-us" dir="ltr" xmlns="http://www.w3.org/1999/xhtml"><head><title>Wavelovers</title><meta charset="UTF-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" media="(prefers-color-scheme: light)" content="#EA9AB2"/><meta name="theme-color" media="(prefers-color-scheme: dark)" content="#E27396"/><meta name="color-scheme" content="light dark"/><meta name="robots" content="all"/><meta name="author" content="Eugene Serb"/><meta name="copyright" content="Wavelovers, 2022"/><meta name="publisher-email" content="eugene.serb@gmail.com"/><meta name="publisher-url" content="https://eugene-serb.github.io/"/><meta property="og:locale" content="en_US"/><meta property="og:type" content="website"/><meta property="og:site_name" content="Wavelovers"/><meta property="og:image" content="https://wavelovers.ru/img/og.png"/><meta property="vk:image" content="https://wavelovers.ru/img/og.png"/><meta name="twitter:card" content="summary"/><meta name="twitter:creator" content="@eugene_serb"/><meta name="twitter:image" content="https://wavelovers.ru/img/og.png"/><link rel="shortcut icon" type="image/x-icon" href="https://wavelovers.ru/img/favicon.ico"/><link rel="apple-touch-icon" sizes="180x180" href="https://wavelovers.ru/img/apple-touch-icon.png"/><link rel="icon" type="image/png" sizes="32x32" href="https://wavelovers.ru/img/favicon-32x32.png"/><link rel="icon" type="image/png" sizes="16x16" href="https://wavelovers.ru/img/favicon-16x16.png"/><link rel="manifest" href="https://wavelovers.ru/site.webmanifest"/><link rel="stylesheet" href="/css/styles.css"/><script async src="https://www.googletagmanager.com/gtag/js?id=G-59FM5E4MVD"></script><script>window.dataLayer = window.dataLayer || [];
function gtag() { dataLayer.push(arguments); }
gtag('js', new Date());
@ -15,4 +15,4 @@
webvisor: true
});</script><style>[v-cloak] {
display: none;
}</style><script defer="defer" src="/js/chunk-vendors.8748c580.js"></script><script defer="defer" src="/js/app.d02896b6.js"></script><link href="/css/app.b1ea1061.css" rel="stylesheet"></head><body><header class="header"><div class="header-wrapper container"><div class="logo-wrapper"><span class="logo-wrapper__logo" translate="no">Wavelovers</span></div><nav class="menu-wrapper"><ul class="navigation"><li class="navigation__item"><a href="/" target="_self" class="navigation__link">Home</a></li><li class="navigation__item"><a href="/faq.html" target="_self" class="navigation__link">FAQ</a></li><li class="navigation__item"><a href="/about.html" target="_self" class="navigation__link">About</a></li><li class="navigation__item"><a href="/donate.html" target="_self" class="navigation__link">Donate</a></li></ul></nav></div></header><main class="page container"><h1 class="visually-hidden">Wavelovers</h1><div id="app" v-cloak></div></main><footer class="footer"><div class="footer-wrapper container"><div class="annotation"><span class="annotation__text">© 2022 Wavelovers. Content licensed under </span><a href="https://wavelovers.ru/LICENSE.md" target="_blank">GNU General Public License v3.0</a><br><span class="annotation__text">This site is open source. </span><a href="https://github.com/eugene-serb/wavelovers/" target="_blank">Improve this page.</a></div><div class="annotation created-by"><span class="annotation__text">Created by</span><a href="https://eugene-serb.github.io/" target="_blank" translate="no">Eugene Serb</a></div></div></footer><noscript>You need to enable JavaScript to run this app.</noscript><noscript><div><img src="https://mc.yandex.ru/watch/89252711" style="position:absolute; left:-9999px;" alt=""/></div></noscript></body></html>
}</style><script defer="defer" src="/js/chunk-vendors.8748c580.js"></script><script defer="defer" src="/js/app.ca590cd4.js"></script><link href="/css/app.7899a601.css" rel="stylesheet"></head><body><div id="app" class="app" v-cloak></div><noscript>You need to enable JavaScript to run this app.</noscript><noscript><div><img src="https://mc.yandex.ru/watch/89252711" style="position:absolute; left:-9999px;" alt=""/></div></noscript></body></html>

View File

@ -1,2 +0,0 @@
"use strict";(self["webpackChunkwavelovers"]=self["webpackChunkwavelovers"]||[]).push([[264],{2264:function(a,t,e){e.r(t),e.d(t,{default:function(){return F}});var s=e(3396);function n(a,t,e,n,u,i){const p=(0,s.up)("AppDiagnostic");return(0,s.wg)(),(0,s.j4)(p)}const u={key:0,class:"content-item"};function i(a,t,e,n,i,p){const d=(0,s.up)("DiagnosticItem");return a.gamepads.length>0?((0,s.wg)(),(0,s.iD)("div",u,[((0,s.wg)(!0),(0,s.iD)(s.HY,null,(0,s.Ko)(a.gamepads,(t=>((0,s.wg)(),(0,s.j4)(d,{key:t.id,gamepad:t,timestamp:a.timestamp},null,8,["gamepad","timestamp"])))),128))])):(0,s.kq)("",!0)}var p=e(1746),d=e(7139);const o={class:"output-gamepad"},l={class:"gamepad-group"};function m(a,t,e,n,u,i){return(0,s.wg)(),(0,s.iD)("div",o,[(0,s._)("h3",null,"#"+(0,d.zw)(a.gamepad.unit.index+1)+". "+(0,d.zw)(a.gamepad.unit.id),1),(0,s._)("div",l,[(0,s._)("div",null,[(0,s._)("span",{class:(0,d.C_)([1===a.gamepad.unit.buttons[0].value?"pressed":""])},"A: "+(0,d.zw)(a.gamepad.unit.buttons[0].value.toFixed(2)),3),(0,s._)("span",{class:(0,d.C_)([1===a.gamepad.unit.buttons[1].value?"pressed":""])},"B: "+(0,d.zw)(a.gamepad.unit.buttons[1].value.toFixed(2)),3),(0,s._)("span",{class:(0,d.C_)([1===a.gamepad.unit.buttons[2].value?"pressed":""])},"X: "+(0,d.zw)(a.gamepad.unit.buttons[2].value.toFixed(2)),3),(0,s._)("span",{class:(0,d.C_)([1===a.gamepad.unit.buttons[3].value?"pressed":""])},"Y: "+(0,d.zw)(a.gamepad.unit.buttons[3].value.toFixed(2)),3)]),(0,s._)("div",null,[(0,s._)("span",{class:(0,d.C_)([1===a.gamepad.unit.buttons[4].value?"pressed":""])},"LB: "+(0,d.zw)(a.gamepad.unit.buttons[4].value.toFixed(2)),3),(0,s._)("span",{class:(0,d.C_)([1===a.gamepad.unit.buttons[5].value?"pressed":""])},"RB: "+(0,d.zw)(a.gamepad.unit.buttons[5].value.toFixed(2)),3),(0,s._)("span",{class:(0,d.C_)([1===a.gamepad.unit.buttons[6].value?"pressed":""])},"LT: "+(0,d.zw)(a.gamepad.unit.buttons[6].value.toFixed(2)),3),(0,s._)("span",{class:(0,d.C_)([1===a.gamepad.unit.buttons[7].value?"pressed":""])},"RT: "+(0,d.zw)(a.gamepad.unit.buttons[7].value.toFixed(2)),3)]),(0,s._)("div",null,[(0,s._)("span",{class:(0,d.C_)([1===a.gamepad.unit.buttons[8].value?"pressed":""])},"Back: "+(0,d.zw)(a.gamepad.unit.buttons[8].value.toFixed(2)),3),(0,s._)("span",{class:(0,d.C_)([1===a.gamepad.unit.buttons[9].value?"pressed":""])},"Start: "+(0,d.zw)(a.gamepad.unit.buttons[9].value.toFixed(2)),3),(0,s._)("span",{class:(0,d.C_)([1===a.gamepad.unit.buttons[10].value?"pressed":""])},"Left Stick: "+(0,d.zw)(a.gamepad.unit.buttons[10].value.toFixed(2)),3),(0,s._)("span",{class:(0,d.C_)([1===a.gamepad.unit.buttons[11].value?"pressed":""])},"Right Stick: "+(0,d.zw)(a.gamepad.unit.buttons[11].value.toFixed(2)),3)]),(0,s._)("div",null,[(0,s._)("span",{class:(0,d.C_)([1===a.gamepad.unit.buttons[12].value?"pressed":""])},"Forward: "+(0,d.zw)(a.gamepad.unit.buttons[12].value.toFixed(2)),3),(0,s._)("span",{class:(0,d.C_)([1===a.gamepad.unit.buttons[13].value?"pressed":""])},"Backward: "+(0,d.zw)(a.gamepad.unit.buttons[13].value.toFixed(2)),3),(0,s._)("span",{class:(0,d.C_)([1===a.gamepad.unit.buttons[14].value?"pressed":""])},"Left: "+(0,d.zw)(a.gamepad.unit.buttons[14].value.toFixed(2)),3),(0,s._)("span",{class:(0,d.C_)([1===a.gamepad.unit.buttons[15].value?"pressed":""])},"Right: "+(0,d.zw)(a.gamepad.unit.buttons[15].value.toFixed(2)),3)]),(0,s._)("div",null,[(0,s._)("span",null,"Left Stick X: "+(0,d.zw)(a.gamepad.unit.axes[0]?a.gamepad.unit.axes[0].toFixed(2):"missing"),1),(0,s._)("span",null,"Left Stick Y: "+(0,d.zw)(a.gamepad.unit.axes[1]?a.gamepad.unit.axes[1].toFixed(2):"missing"),1),(0,s._)("span",null,"Right Stick X: "+(0,d.zw)(a.gamepad.unit.axes[2]?a.gamepad.unit.axes[2].toFixed(2):"missing"),1),(0,s._)("span",null,"Right Stick Y: "+(0,d.zw)(a.gamepad.unit.axes[3]?a.gamepad.unit.axes[3].toFixed(2):"missing"),1)])]),(0,s._)("span",null,"Vibration Actuator: "+(0,d.zw)(a.gamepad.unit.vibrationActuator?"Available":"missing"),1)])}var g=(0,s.aZ)({name:"DiagnosticItem",props:{gamepad:{type:Object},timestamp:{type:Number}}}),r=e(89);const c=(0,r.Z)(g,[["render",m]]);var v=c,_=(0,s.aZ)({name:"AppDiagnostic",components:{DiagnosticItem:v},data:()=>({timestamp:0,interval:0}),computed:{gamepads:function(){const a=this.timestamp,t=p.Z.getters.gamepads;return t.forEach((t=>{t.interval=a})),t}},methods:{updateComputed:function(){this.timestamp=Date.now()}},mounted(){this.interval=setInterval(this.updateComputed,1)},unmounted(){clearInterval(this.interval)}});const b=(0,r.Z)(_,[["render",i]]);var w=b,x=(0,s.aZ)({name:"DiagnosticView",components:{AppDiagnostic:w}});const z=(0,r.Z)(x,[["render",n]]);var F=z}}]);
//# sourceMappingURL=264.5a60390d.js.map

File diff suppressed because one or more lines are too long

2
docs/js/284.e47dcb1b.js Normal file
View File

@ -0,0 +1,2 @@
"use strict";(self["webpackChunkwavelovers"]=self["webpackChunkwavelovers"]||[]).push([[284],{6284:function(e,n,t){t.r(n),t.d(n,{default:function(){return i}});var u=t(3396);const l=(0,u._)("h1",{class:"visually-hidden"},"Wavelovers 404",-1),a={class:"content-item"},s=(0,u._)("h2",null,"404. Page not Found.",-1);function r(e,n,t,r,o,c){const v=(0,u.up)("center");return(0,u.wg)(),(0,u.iD)(u.HY,null,[l,(0,u._)("div",a,[(0,u.Wm)(v,null,{default:(0,u.w5)((()=>[s])),_:1})])],64)}var o=(0,u.aZ)({name:"NotFoundView"}),c=t(89);const v=(0,c.Z)(o,[["render",r]]);var i=v}}]);
//# sourceMappingURL=284.e47dcb1b.js.map

View File

@ -0,0 +1 @@
{"version":3,"file":"js/284.e47dcb1b.js","mappings":"8KAEA,MAAMA,GAA0BC,EAAAA,EAAAA,GAAoB,KAAM,CAAEC,MAAO,mBAAqB,oBAAqB,GACvGC,EAAa,CAAED,MAAO,gBACtBE,GAA0BH,EAAAA,EAAAA,GAAoB,KAAM,KAAM,wBAAyB,GAEnF,SAAUI,EAAOC,EAAUC,EAAYC,EAAYC,EAAYC,EAAWC,GAC9E,MAAMC,GAAoBC,EAAAA,EAAAA,IAAkB,UAE5C,OAAQC,EAAAA,EAAAA,OAAcC,EAAAA,EAAAA,IAAoBC,EAAAA,GAAW,KAAM,CACzDhB,GACAC,EAAAA,EAAAA,GAAoB,MAAOE,EAAY,EACrCc,EAAAA,EAAAA,IAAaL,EAAmB,KAAM,CACpCM,SAASC,EAAAA,EAAAA,KAAS,IAAM,CACtBf,KAEFgB,EAAG,OAGN,GACJ,CCjBG,OAAeC,EAAAA,EAAAA,IAAgB,CAC3BC,KAAM,iB,QCCd,MAAMC,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASlB,KAEpE,O","sources":["webpack://wavelovers/./src/views/NotFoundView.vue?f875","webpack://wavelovers/./src/views/NotFoundView.vue?6f3f","webpack://wavelovers/./src/views/NotFoundView.vue"],"sourcesContent":["import { createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = /*#__PURE__*/_createElementVNode(\"h1\", { class: \"visually-hidden\" }, \"Wavelovers 404\", -1)\nconst _hoisted_2 = { class: \"content-item\" }\nconst _hoisted_3 = /*#__PURE__*/_createElementVNode(\"h2\", null, \"404. Page not Found.\", -1)\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_center = _resolveComponent(\"center\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _hoisted_1,\n _createElementVNode(\"div\", _hoisted_2, [\n _createVNode(_component_center, null, {\n default: _withCtx(() => [\n _hoisted_3\n ]),\n _: 1\n })\n ])\n ], 64))\n}","\r\n import { defineComponent } from 'vue';\r\n\r\n export default defineComponent({\r\n name: 'NotFoundView',\r\n });\r\n","import { render } from \"./NotFoundView.vue?vue&type=template&id=1e848f28&ts=true\"\nimport script from \"./NotFoundView.vue?vue&type=script&lang=ts\"\nexport * from \"./NotFoundView.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"E:\\\\Sources\\\\Repos\\\\wavelovers\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__"],"names":["_hoisted_1","_createElementVNode","class","_hoisted_2","_hoisted_3","render","_ctx","_cache","$props","$setup","$data","$options","_component_center","_resolveComponent","_openBlock","_createElementBlock","_Fragment","_createVNode","default","_withCtx","_","defineComponent","name","__exports__"],"sourceRoot":""}

2
docs/js/34.7ff8bfa5.js Normal file
View File

@ -0,0 +1,2 @@
"use strict";(self["webpackChunkwavelovers"]=self["webpackChunkwavelovers"]||[]).push([[34],{2034:function(e,a,t){t.r(a),t.d(a,{default:function(){return h}});var n=t(3396);const s=(0,n.uE)('<h1 class="visually-hidden">Wavelovers <20> About</h1><div><div class="content-item"><h2 class="content-item__header">About</h2><p>Hi! I am the author and developer of Wavelovers app and I want to thank you for using this app. If you have any ideas or wishes, you can write to me.</p><br><span>Write me: </span><a href="mailto:eugene.serb@gmail.com" target="_blank">eugene.serb@gmail.com</a><br><span>Visit my homepage: </span><a href="https://eugene-serb.github.io/" target="_blank">eugene-serb.github.io</a></div><div class="content-item"><h2 class="content-item__header">Advertising</h2><span>If you have advertising suggestions, please mail me: </span><a href="mailto:eugene.serb@gmail.com" target="_blank">eugene.serb@gmail.com</a></div></div>',2);function i(e,a,t,n,i,r){return s}var r=(0,n.aZ)({name:"AboutView"}),o=t(89);const u=(0,o.Z)(r,[["render",i]]);var h=u}}]);
//# sourceMappingURL=34.7ff8bfa5.js.map

View File

@ -0,0 +1 @@
{"version":3,"file":"js/34.7ff8bfa5.js","mappings":"6KAEA,MAAMA,GAA0BC,EAAAA,EAAAA,IAAmB,4uBAAmwB,GAEhzB,SAAUC,EAAOC,EAAUC,EAAYC,EAAYC,EAAYC,EAAWC,GAC9E,OAAOR,CACR,CCHG,OAAeS,EAAAA,EAAAA,IAAgB,CAC3BC,KAAM,c,QCCd,MAAMC,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAAST,KAEpE,O","sources":["webpack://wavelovers/./src/views/AboutView.vue?10d6","webpack://wavelovers/./src/views/AboutView.vue?f245","webpack://wavelovers/./src/views/AboutView.vue"],"sourcesContent":["import { createElementVNode as _createElementVNode, createStaticVNode as _createStaticVNode } from \"vue\"\n\nconst _hoisted_1 = /*#__PURE__*/_createStaticVNode(\"<h1 class=\\\"visually-hidden\\\">Wavelovers <20> About</h1><div><div class=\\\"content-item\\\"><h2 class=\\\"content-item__header\\\">About</h2><p>Hi! I am the author and developer of Wavelovers app and I want to thank you for using this app. If you have any ideas or wishes, you can write to me.</p><br><span>Write me: </span><a href=\\\"mailto:eugene.serb@gmail.com\\\" target=\\\"_blank\\\">eugene.serb@gmail.com</a><br><span>Visit my homepage: </span><a href=\\\"https://eugene-serb.github.io/\\\" target=\\\"_blank\\\">eugene-serb.github.io</a></div><div class=\\\"content-item\\\"><h2 class=\\\"content-item__header\\\">Advertising</h2><span>If you have advertising suggestions, please mail me: </span><a href=\\\"mailto:eugene.serb@gmail.com\\\" target=\\\"_blank\\\">eugene.serb@gmail.com</a></div></div>\", 2)\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return _hoisted_1\n}","\r\n import { defineComponent } from 'vue';\r\n\r\n export default defineComponent({\r\n name: 'AboutView',\r\n });\r\n","import { render } from \"./AboutView.vue?vue&type=template&id=f16c0d46&ts=true\"\nimport script from \"./AboutView.vue?vue&type=script&lang=ts\"\nexport * from \"./AboutView.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"E:\\\\Sources\\\\Repos\\\\wavelovers\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__"],"names":["_hoisted_1","_createStaticVNode","render","_ctx","_cache","$props","$setup","$data","$options","defineComponent","name","__exports__"],"sourceRoot":""}

2
docs/js/382.2bb7e224.js Normal file
View File

@ -0,0 +1,2 @@
"use strict";(self["webpackChunkwavelovers"]=self["webpackChunkwavelovers"]||[]).push([[382],{382:function(e,t,d){d.r(t),d.d(t,{default:function(){return h}});var a=d(3396);const s=(0,a.uE)('<h1 class="visually-hidden">Wavelovers <20> FAQ</h1><div><div class="content-item"><h2 class="content-item__header">FAQ</h2><dl><dt>What is the purpose of this software?</dt><dd>Everyone decides for himself, but can be used as a gamepad vibration tester, or as a hand massager.</dd><dt>Can I use this software as a hand massager?</dt><dd>Yes of course. If you use this as a massager, then before the session I recommend consulting with a doctor.</dd><dt>I have a gamepad with vibration, what should I do before using it as a hand massager?</dt><dd>I recommend checking the device for correct operation, mechanical damage, and be sure to use an antiseptic.</dd><dt>I&#39;m having problems with the app or connecting my device to the app?</dt><dd>Go to Troubleshooting.</dd></dl></div><div class="content-item"><h2 class="content-item__header">Troubleshooting</h2><span>If you are having difficulty detecting a gamepad by the browser, you can use the utility </span><a href="https://wavelovers.ru/?diagnostic" target="_blank">Wavelovers Diagnostic</a><br><br><dl><dt>The app does not see my device.</dt><dd>Make sure you have a chromium-based browser, then update the app and reconnect your device.</dd><dt>The application sees the gamepad, but writes that the vibration actuator is missing.</dt><dd>This problem is specific to mozilla firefox browser and d-input mode. Check the system requirements before using the software.</dd><dt>My question is not here.</dt><dd>Write me <a href="mailto:eugene.serb@gmail.com" target="_blank">eugene.serb@gmail.com</a></dd></dl></div><div class="content-item"><h2 class="content-item__header">System Requirements</h2><dl><dt>Gamepad:</dt><dd>X-Input and vibration actuator required.</dd><dt>Browser:</dt><dd>Google Chrome or any other Chromium-based browser is recommended.</dd><dt>Operating System:</dt><dd>Windows 7 or higher recommended.</dd></dl></div></div>',2);function o(e,t,d,a,o,r){return s}var r=(0,a.aZ)({name:"FaqView"}),i=d(89);const n=(0,i.Z)(r,[["render",o]]);var h=n}}]);
//# sourceMappingURL=382.2bb7e224.js.map

View File

@ -0,0 +1 @@
{"version":3,"file":"js/382.2bb7e224.js","mappings":"6KAEA,MAAMA,GAA0BC,EAAAA,EAAAA,IAAmB,22DAAk4D,GAE/6D,SAAUC,EAAOC,EAAUC,EAAYC,EAAYC,EAAYC,EAAWC,GAC9E,OAAOR,CACR,CCHG,OAAeS,EAAAA,EAAAA,IAAgB,CAC3BC,KAAM,Y,QCCd,MAAMC,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAAST,KAEpE,O","sources":["webpack://wavelovers/./src/views/FaqView.vue?14dc","webpack://wavelovers/./src/views/FaqView.vue?a581","webpack://wavelovers/./src/views/FaqView.vue"],"sourcesContent":["import { createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, createStaticVNode as _createStaticVNode } from \"vue\"\n\nconst _hoisted_1 = /*#__PURE__*/_createStaticVNode(\"<h1 class=\\\"visually-hidden\\\">Wavelovers <20> FAQ</h1><div><div class=\\\"content-item\\\"><h2 class=\\\"content-item__header\\\">FAQ</h2><dl><dt>What is the purpose of this software?</dt><dd>Everyone decides for himself, but can be used as a gamepad vibration tester, or as a hand massager.</dd><dt>Can I use this software as a hand massager?</dt><dd>Yes of course. If you use this as a massager, then before the session I recommend consulting with a doctor.</dd><dt>I have a gamepad with vibration, what should I do before using it as a hand massager?</dt><dd>I recommend checking the device for correct operation, mechanical damage, and be sure to use an antiseptic.</dd><dt>I&#39;m having problems with the app or connecting my device to the app?</dt><dd>Go to Troubleshooting.</dd></dl></div><div class=\\\"content-item\\\"><h2 class=\\\"content-item__header\\\">Troubleshooting</h2><span>If you are having difficulty detecting a gamepad by the browser, you can use the utility </span><a href=\\\"https://wavelovers.ru/?diagnostic\\\" target=\\\"_blank\\\">Wavelovers Diagnostic</a><br><br><dl><dt>The app does not see my device.</dt><dd>Make sure you have a chromium-based browser, then update the app and reconnect your device.</dd><dt>The application sees the gamepad, but writes that the vibration actuator is missing.</dt><dd>This problem is specific to mozilla firefox browser and d-input mode. Check the system requirements before using the software.</dd><dt>My question is not here.</dt><dd>Write me <a href=\\\"mailto:eugene.serb@gmail.com\\\" target=\\\"_blank\\\">eugene.serb@gmail.com</a></dd></dl></div><div class=\\\"content-item\\\"><h2 class=\\\"content-item__header\\\">System Requirements</h2><dl><dt>Gamepad:</dt><dd>X-Input and vibration actuator required.</dd><dt>Browser:</dt><dd>Google Chrome or any other Chromium-based browser is recommended.</dd><dt>Operating System:</dt><dd>Windows 7 or higher recommended.</dd></dl></div></div>\", 2)\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return _hoisted_1\n}","\r\n import { defineComponent } from 'vue';\r\n\r\n export default defineComponent({\r\n name: 'FaqView',\r\n });\r\n","import { render } from \"./FaqView.vue?vue&type=template&id=d2ad6a14&ts=true\"\nimport script from \"./FaqView.vue?vue&type=script&lang=ts\"\nexport * from \"./FaqView.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"E:\\\\Sources\\\\Repos\\\\wavelovers\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__"],"names":["_hoisted_1","_createStaticVNode","render","_ctx","_cache","$props","$setup","$data","$options","defineComponent","name","__exports__"],"sourceRoot":""}

View File

@ -1,2 +0,0 @@
"use strict";(self["webpackChunkwavelovers"]=self["webpackChunkwavelovers"]||[]).push([[441],{3913:function(t,n,a){var e=a(2482);class s{constructor(t,n,a,s){(0,e.Z)(this,"startDelay",void 0),(0,e.Z)(this,"duration",void 0),(0,e.Z)(this,"weakMagnitude",void 0),(0,e.Z)(this,"strongMagnitude",void 0),this.startDelay=t,this.duration=n,this.weakMagnitude=a,this.strongMagnitude=s}}n["Z"]=s},441:function(t,n,a){a.r(n),a.d(n,{default:function(){return C}});var e=a(3396);function s(t,n,a,s,u,o){const r=(0,e.up)("AppCustom");return(0,e.wg)(),(0,e.j4)(r)}var u=a(9242);const o={class:"content-item app-custom"},r={class:"custom-form"},i={class:"custom-form__input"},l=(0,e._)("span",null,"Start Delay (ms)",-1),d={class:"custom-form__input"},p=(0,e._)("span",null,"Duration (ms)",-1),c={class:"custom-form__input"},m=(0,e._)("span",null,"Weak Magnitude",-1),_={class:"custom-form__input"},g=(0,e._)("span",null,"Strong Magnitude",-1),h={class:"custom-form__buttons"};function f(t,n,a,s,f,w){return(0,e.wg)(),(0,e.iD)("div",o,[(0,e._)("fieldset",r,[(0,e._)("label",i,[l,(0,e.wy)((0,e._)("input",{"onUpdate:modelValue":n[0]||(n[0]=n=>t.startDelay=n),type:"number",placeholder:"Start Delay",min:"0",max:"1000",step:"25",required:""},null,512),[[u.nr,t.startDelay]])]),(0,e._)("label",d,[p,(0,e.wy)((0,e._)("input",{"onUpdate:modelValue":n[1]||(n[1]=n=>t.duration=n),type:"number",placeholder:"Duration",min:"0",max:"1000",step:"25",required:""},null,512),[[u.nr,t.duration]])]),(0,e._)("label",c,[m,(0,e.wy)((0,e._)("input",{"onUpdate:modelValue":n[2]||(n[2]=n=>t.weakMagnitude=n),type:"range",required:"",min:"0.0",max:"1.0",step:"0.01"},null,512),[[u.nr,t.weakMagnitude]])]),(0,e._)("label",_,[g,(0,e.wy)((0,e._)("input",{"onUpdate:modelValue":n[3]||(n[3]=n=>t.strongMagnitude=n),type:"range",required:"",min:"0.0",max:"1.0",step:"0.01"},null,512),[[u.nr,t.strongMagnitude]])]),(0,e._)("div",h,[(0,e._)("button",{onClick:n[4]||(n[4]=(...n)=>t.start&&t.start(...n)),class:"custom-form__button"},"Start"),(0,e._)("button",{onClick:n[5]||(n[5]=(...n)=>t.stop&&t.stop(...n)),class:"custom-form__button"},"Stop")])])])}var w=a(1746),v=a(3913),y=(0,e.aZ)({name:"AppCustom",data:()=>({startDelay:250,duration:250,weakMagnitude:1,strongMagnitude:1}),methods:{start:function(){const t=[new v.Z(this.startDelay,this.duration,this.weakMagnitude,this.strongMagnitude)];w.Z.dispatch("startCustom",t)},stop:function(){w.Z.dispatch("reset")}}}),M=a(89);const b=(0,M.Z)(y,[["render",f]]);var k=b,Z=(0,e.aZ)({name:"CustomView",components:{AppCustom:k}});const D=(0,M.Z)(Z,[["render",s]]);var C=D}}]);
//# sourceMappingURL=441.be7aaf75.js.map

File diff suppressed because one or more lines are too long

2
docs/js/442.d79586f7.js Normal file
View File

@ -0,0 +1,2 @@
"use strict";(self["webpackChunkwavelovers"]=self["webpackChunkwavelovers"]||[]).push([[442],{8442:function(e,o,r){r.r(o),r.d(o,{default:function(){return m}});var n=r(3396);const a=(0,n.uE)('<h1 class="visually-hidden">Wavelovers <20> Donate</h1><div><div class="content-item"><h2 class="content-item__header">Donate</h2><span>If you like this app, you can thank me and donate to me.</span><br><br><span>Why should you donate to Wavelovers?</span><br><br><p> More donation = more money <br> More money allows me buy more coffee <br> More coffee makes me write more code <br> More code means more features <br> More features make you more happiness and productive <br> More happiness and productive so you earn more money <br> More money you earn more donation to me <br></p><br><span>Bitcoin: </span><a href="bitcoin:bc1qspzgj7xrf099s2ej8f5zmm52xu0wkfurpezny5" target="_blank" class="link_hash">bc1qspzgj7xrf099s2ej8f5zmm52xu0wkfurpezny5</a><br></div></div>',2);function s(e,o,r,n,s,t){return a}var t=(0,n.aZ)({name:"DonateView"}),u=r(89);const i=(0,u.Z)(t,[["render",s]]);var m=i}}]);
//# sourceMappingURL=442.d79586f7.js.map

View File

@ -0,0 +1 @@
{"version":3,"file":"js/442.d79586f7.js","mappings":"8KAEA,MAAMA,GAA0BC,EAAAA,EAAAA,IAAmB,8vBAA2wB,GAExzB,SAAUC,EAAOC,EAAUC,EAAYC,EAAYC,EAAYC,EAAWC,GAC9E,OAAOR,CACR,CCHG,OAAeS,EAAAA,EAAAA,IAAgB,CAC3BC,KAAM,e,QCCd,MAAMC,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAAST,KAEpE,O","sources":["webpack://wavelovers/./src/views/DonateView.vue?cadb","webpack://wavelovers/./src/views/DonateView.vue?82fb","webpack://wavelovers/./src/views/DonateView.vue"],"sourcesContent":["import { createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, createStaticVNode as _createStaticVNode } from \"vue\"\n\nconst _hoisted_1 = /*#__PURE__*/_createStaticVNode(\"<h1 class=\\\"visually-hidden\\\">Wavelovers <20> Donate</h1><div><div class=\\\"content-item\\\"><h2 class=\\\"content-item__header\\\">Donate</h2><span>If you like this app, you can thank me and donate to me.</span><br><br><span>Why should you donate to Wavelovers?</span><br><br><p> More donation = more money <br> More money allows me buy more coffee <br> More coffee makes me write more code <br> More code means more features <br> More features make you more happiness and productive <br> More happiness and productive so you earn more money <br> More money you earn more donation to me <br></p><br><span>Bitcoin: </span><a href=\\\"bitcoin:bc1qspzgj7xrf099s2ej8f5zmm52xu0wkfurpezny5\\\" target=\\\"_blank\\\" class=\\\"link_hash\\\">bc1qspzgj7xrf099s2ej8f5zmm52xu0wkfurpezny5</a><br></div></div>\", 2)\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return _hoisted_1\n}","\r\n import { defineComponent } from 'vue';\r\n\r\n export default defineComponent({\r\n name: 'DonateView',\r\n });\r\n","import { render } from \"./DonateView.vue?vue&type=template&id=631a61cc&ts=true\"\nimport script from \"./DonateView.vue?vue&type=script&lang=ts\"\nexport * from \"./DonateView.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"E:\\\\Sources\\\\Repos\\\\wavelovers\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__"],"names":["_hoisted_1","_createStaticVNode","render","_ctx","_cache","$props","$setup","$data","$options","defineComponent","name","__exports__"],"sourceRoot":""}

View File

@ -1,2 +0,0 @@
"use strict";(self["webpackChunkwavelovers"]=self["webpackChunkwavelovers"]||[]).push([[567],{7567:function(n,e,t){t.r(e),t.d(e,{default:function(){return i}});var u=t(3396);const r={class:"content-item"},a=(0,u._)("h2",null,"404. Page not Found...",-1);function o(n,e,t,o,c,s){const l=(0,u.up)("center");return(0,u.wg)(),(0,u.iD)("div",r,[(0,u.Wm)(l,null,{default:(0,u.w5)((()=>[a])),_:1})])}var c=(0,u.aZ)({name:"NotFoundView"}),s=t(89);const l=(0,s.Z)(c,[["render",o]]);var i=l}}]);
//# sourceMappingURL=567.681eca51.js.map

View File

@ -1 +0,0 @@
{"version":3,"file":"js/567.681eca51.js","mappings":"8KAEA,MAAMA,EAAa,CAAEC,MAAO,gBACtBC,GAA0BC,EAAAA,EAAAA,GAAoB,KAAM,KAAM,0BAA2B,GAErF,SAAUC,EAAOC,EAAUC,EAAYC,EAAYC,EAAYC,EAAWC,GAC9E,MAAMC,GAAoBC,EAAAA,EAAAA,IAAkB,UAE5C,OAAQC,EAAAA,EAAAA,OAAcC,EAAAA,EAAAA,IAAoB,MAAOd,EAAY,EAC3De,EAAAA,EAAAA,IAAaJ,EAAmB,KAAM,CACpCK,SAASC,EAAAA,EAAAA,KAAS,IAAM,CACtBf,KAEFgB,EAAG,KAGR,CCbG,OAAeC,EAAAA,EAAAA,IAAgB,CAC3BC,KAAM,iB,QCCd,MAAMC,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASjB,KAEpE,O","sources":["webpack://wavelovers/./src/views/NotFoundView.vue?e76c","webpack://wavelovers/./src/views/NotFoundView.vue?6f3f","webpack://wavelovers/./src/views/NotFoundView.vue"],"sourcesContent":["import { createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"content-item\" }\nconst _hoisted_2 = /*#__PURE__*/_createElementVNode(\"h2\", null, \"404. Page not Found...\", -1)\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_center = _resolveComponent(\"center\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_center, null, {\n default: _withCtx(() => [\n _hoisted_2\n ]),\n _: 1\n })\n ]))\n}","\r\n import { defineComponent } from 'vue';\r\n\r\n export default defineComponent({\r\n name: 'NotFoundView',\r\n });\r\n","import { render } from \"./NotFoundView.vue?vue&type=template&id=e1bb3c6a&ts=true\"\nimport script from \"./NotFoundView.vue?vue&type=script&lang=ts\"\nexport * from \"./NotFoundView.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"E:\\\\Sources\\\\Repos\\\\wavelovers\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__"],"names":["_hoisted_1","class","_hoisted_2","_createElementVNode","render","_ctx","_cache","$props","$setup","$data","$options","_component_center","_resolveComponent","_openBlock","_createElementBlock","_createVNode","default","_withCtx","_","defineComponent","name","__exports__"],"sourceRoot":""}

2
docs/js/835.4e809eb1.js Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

2
docs/js/855.af1ff25f.js Normal file
View File

@ -0,0 +1,2 @@
"use strict";(self["webpackChunkwavelovers"]=self["webpackChunkwavelovers"]||[]).push([[855],{3913:function(t,a,e){var s=e(2482);class n{constructor(t,a,e,n){(0,s.Z)(this,"startDelay",void 0),(0,s.Z)(this,"duration",void 0),(0,s.Z)(this,"weakMagnitude",void 0),(0,s.Z)(this,"strongMagnitude",void 0),this.startDelay=t,this.duration=a,this.weakMagnitude=e,this.strongMagnitude=n}}a["Z"]=n},7855:function(t,a,e){e.r(a),e.d(a,{default:function(){return D}});var s=e(3396);const n=(0,s._)("h1",{class:"visually-hidden"},"Wavelovers <20> Manual",-1);function i(t,a,e,i,d,u){const o=(0,s.up)("AppManual");return(0,s.wg)(),(0,s.iD)(s.HY,null,[n,(0,s.Wm)(o)],64)}var d=e(9242);const u={class:"content-item app-manual"},o={class:"manual-form__input"},p=(0,s._)("span",null,"Weak Magnitude",-1),r={class:"manual-form__input"},l=(0,s._)("span",null,"Strong Magnitude",-1),h=(0,s.uE)('<div class="manual-controls"><div><kbd>RT</kbd><span> Vibrate</span></div><div><kbd>A</kbd><span> Light Mode</span></div><div><kbd>X</kbd><span> Heavy Mode</span></div><div><kbd>Y</kbd><span> Combined Mode</span></div><div><kbd>B</kbd><span> Lock</span></div></div>',1),g=(0,s.Uk)("Press any gamepad button or connect a new gamepad to vibrate.");function m(t,a,e,n,i,m){const c=(0,s.up)("NavigationList"),v=(0,s.up)("GamepadList"),k=(0,s.up)("MessageItem");return(0,s.wg)(),(0,s.iD)(s.HY,null,[(0,s.Wm)(c),(0,s._)("div",u,[(0,s._)("label",o,[p,(0,s.wy)((0,s._)("input",{"onUpdate:modelValue":a[0]||(a[0]=a=>t.weakMagnitude=a),type:"range",required:"",disabled:"",min:"0.0",max:"1.0",step:"0.01"},null,512),[[d.nr,t.weakMagnitude]])]),(0,s._)("label",r,[l,(0,s.wy)((0,s._)("input",{"onUpdate:modelValue":a[1]||(a[1]=a=>t.strongMagnitude=a),type:"range",required:"",disabled:"",min:"0.0",max:"1.0",step:"0.01"},null,512),[[d.nr,t.strongMagnitude]])]),h]),t.gamepads.length>0?((0,s.wg)(),(0,s.j4)(v,{key:0,gamepads:t.gamepads},null,8,["gamepads"])):((0,s.wg)(),(0,s.j4)(k,{key:1},{default:(0,s.w5)((()=>[g])),_:1}))],64)}var c=e(1746),v=e(81),k=e(1850),M=e(2347),b=e(3913),w=(0,s.aZ)({name:"AppCustom",components:{NavigationList:v.Z,GamepadList:k.Z,MessageItem:M.Z},data:()=>({timestamp:0,interval:0,mode:0,lock:!1,startDelay:0,duration:260,weakMagnitude:0,strongMagnitude:0}),computed:{gamepads:function(){const t=this.timestamp,a=c.Z.getters.gamepads;return a.forEach((a=>{a.interval=t})),a}},methods:{start:function(){const t=new b.Z(this.startDelay,this.duration,this.weakMagnitude,this.strongMagnitude);c.Z.dispatch("vibrate",t)},stop:function(){c.Z.dispatch("setIsActive",!1),c.Z.dispatch("setMode",0),c.Z.dispatch("reset")},eventLoop:function(){this.updateComputed(),this.updateMode(),this.updatePattern(),this.handle()},updateComputed:function(){this.timestamp=Date.now()},updateMode:function(){this.gamepads.length>0&&(!0===this.gamepads[0].unit.buttons[1].pressed&&(this.lock=!this.lock),!1===this.lock&&(!0===this.gamepads[0].unit.buttons[0].pressed&&(this.mode=0),!0===this.gamepads[0].unit.buttons[2].pressed&&(this.mode=1),!0===this.gamepads[0].unit.buttons[3].pressed&&(this.mode=2)))},updatePattern:function(){this.gamepads.length>0&&!1===this.lock&&(0===this.mode&&(this.weakMagnitude=this.gamepads[0].unit.buttons[7].value,this.strongMagnitude=this.gamepads[0].unit.buttons[7].value),1===this.mode&&(this.weakMagnitude=0,this.strongMagnitude=this.gamepads[0].unit.buttons[7].value),2===this.mode&&(this.weakMagnitude=this.gamepads[0].unit.buttons[7].value,this.strongMagnitude=0))},handle:function(){this.gamepads.length>0&&this.gamepads.forEach((t=>{t.unit.buttons[7].value>0||!0===this.lock?this.start():this.stop()}))}},mounted(){this.interval=setInterval(this.eventLoop,250)},unmounted(){clearInterval(this.interval)}}),f=e(89);const Z=(0,f.Z)(w,[["render",m]]);var y=Z,_=(0,s.aZ)({name:"ManualView",components:{AppManual:y}});const L=(0,f.Z)(_,[["render",i]]);var D=L}}]);
//# sourceMappingURL=855.af1ff25f.js.map

File diff suppressed because one or more lines are too long

View File

@ -1,2 +0,0 @@
"use strict";(self["webpackChunkwavelovers"]=self["webpackChunkwavelovers"]||[]).push([[941],{3913:function(t,a,e){var s=e(2482);class n{constructor(t,a,e,n){(0,s.Z)(this,"startDelay",void 0),(0,s.Z)(this,"duration",void 0),(0,s.Z)(this,"weakMagnitude",void 0),(0,s.Z)(this,"strongMagnitude",void 0),this.startDelay=t,this.duration=a,this.weakMagnitude=e,this.strongMagnitude=n}}a["Z"]=n},8941:function(t,a,e){e.r(a),e.d(a,{default:function(){return w}});var s=e(3396);function n(t,a,e,n,i,d){const u=(0,s.up)("AppManual");return(0,s.wg)(),(0,s.j4)(u)}var i=e(9242);const d={class:"content-item app-manual"},u={class:"manual-form__input"},o=(0,s._)("span",null,"Weak Magnitude",-1),r={class:"manual-form__input"},p=(0,s._)("span",null,"Strong Magnitude",-1),h=(0,s.uE)('<div class="manual-controls"><div><kbd>RT</kbd><span> Vibrate</span></div><div><kbd>A</kbd><span> Light Mode</span></div><div><kbd>X</kbd><span> Heavy Mode</span></div><div><kbd>Y</kbd><span> Combined Mode</span></div><div><kbd>B</kbd><span> Lock</span></div></div>',1);function l(t,a,e,n,l,g){return(0,s.wg)(),(0,s.iD)("div",d,[(0,s._)("label",u,[o,(0,s.wy)((0,s._)("input",{"onUpdate:modelValue":a[0]||(a[0]=a=>t.weakMagnitude=a),type:"range",required:"",disabled:"",min:"0.0",max:"1.0",step:"0.01"},null,512),[[i.nr,t.weakMagnitude]])]),(0,s._)("label",r,[p,(0,s.wy)((0,s._)("input",{"onUpdate:modelValue":a[1]||(a[1]=a=>t.strongMagnitude=a),type:"range",required:"",disabled:"",min:"0.0",max:"1.0",step:"0.01"},null,512),[[i.nr,t.strongMagnitude]])]),h])}var g=e(1746),m=e(3913),c=(0,s.aZ)({name:"AppCustom",data:()=>({timestamp:0,interval:0,mode:0,lock:!1,startDelay:0,duration:260,weakMagnitude:0,strongMagnitude:0}),computed:{gamepads:function(){const t=this.timestamp,a=g.Z.getters.gamepads;return a.forEach((a=>{a.interval=t})),a}},methods:{start:function(){const t=new m.Z(this.startDelay,this.duration,this.weakMagnitude,this.strongMagnitude);g.Z.dispatch("vibrate",t)},stop:function(){g.Z.dispatch("setIsActive",!1),g.Z.dispatch("setMode",0),g.Z.dispatch("reset")},eventLoop:function(){this.updateComputed(),this.updateMode(),this.updatePattern(),this.handle()},updateComputed:function(){this.timestamp=Date.now()},updateMode:function(){this.gamepads.length>0&&(!0===this.gamepads[0].unit.buttons[1].pressed&&(this.lock=!this.lock),!1===this.lock&&(!0===this.gamepads[0].unit.buttons[0].pressed&&(this.mode=0),!0===this.gamepads[0].unit.buttons[2].pressed&&(this.mode=1),!0===this.gamepads[0].unit.buttons[3].pressed&&(this.mode=2)))},updatePattern:function(){this.gamepads.length>0&&!1===this.lock&&(0===this.mode&&(this.weakMagnitude=this.gamepads[0].unit.buttons[7].value,this.strongMagnitude=this.gamepads[0].unit.buttons[7].value),1===this.mode&&(this.weakMagnitude=0,this.strongMagnitude=this.gamepads[0].unit.buttons[7].value),2===this.mode&&(this.weakMagnitude=this.gamepads[0].unit.buttons[7].value,this.strongMagnitude=0))},handle:function(){this.gamepads.length>0&&this.gamepads.forEach((t=>{t.unit.buttons[7].value>0||!0===this.lock?this.start():this.stop()}))}},mounted(){this.interval=setInterval(this.eventLoop,250)},unmounted(){clearInterval(this.interval)}}),v=e(89);const k=(0,v.Z)(c,[["render",l]]);var M=k,b=(0,s.aZ)({name:"ManualView",components:{AppManual:M}});const f=(0,v.Z)(b,[["render",n]]);var w=f}}]);
//# sourceMappingURL=941.6295b5fd.js.map

File diff suppressed because one or more lines are too long

2
docs/js/991.8ad47257.js Normal file
View File

@ -0,0 +1,2 @@
"use strict";(self["webpackChunkwavelovers"]=self["webpackChunkwavelovers"]||[]).push([[991],{3913:function(t,a,e){var n=e(2482);class s{constructor(t,a,e,s){(0,n.Z)(this,"startDelay",void 0),(0,n.Z)(this,"duration",void 0),(0,n.Z)(this,"weakMagnitude",void 0),(0,n.Z)(this,"strongMagnitude",void 0),this.startDelay=t,this.duration=a,this.weakMagnitude=e,this.strongMagnitude=s}}a["Z"]=s},4991:function(t,a,e){e.r(a),e.d(a,{default:function(){return x}});var n=e(3396);const s=(0,n._)("h1",{class:"visually-hidden"},"Wavelovers <20> Custom",-1);function u(t,a,e,u,o,i){const r=(0,n.up)("AppCustom");return(0,n.wg)(),(0,n.iD)(n.HY,null,[s,(0,n.Wm)(r)],64)}var o=e(9242);const i={class:"content-item app-custom"},r={class:"custom-form"},l={class:"custom-form__input"},d=(0,n._)("span",null,"Start Delay (ms)",-1),m={class:"custom-form__input"},p=(0,n._)("span",null,"Duration (ms)",-1),c={class:"custom-form__input"},g=(0,n._)("span",null,"Weak Magnitude",-1),_={class:"custom-form__input"},h=(0,n._)("span",null,"Strong Magnitude",-1),v={class:"custom-form__buttons"},w=(0,n.Uk)("Press any gamepad button or connect a new gamepad to vibrate.");function f(t,a,e,s,u,f){const y=(0,n.up)("NavigationList"),k=(0,n.up)("GamepadList"),M=(0,n.up)("MessageItem");return(0,n.wg)(),(0,n.iD)(n.HY,null,[(0,n.Wm)(y),(0,n._)("div",i,[(0,n._)("fieldset",r,[(0,n._)("label",l,[d,(0,n.wy)((0,n._)("input",{"onUpdate:modelValue":a[0]||(a[0]=a=>t.startDelay=a),type:"number",placeholder:"Start Delay",min:"0",max:"1000",step:"25",required:""},null,512),[[o.nr,t.startDelay]])]),(0,n._)("label",m,[p,(0,n.wy)((0,n._)("input",{"onUpdate:modelValue":a[1]||(a[1]=a=>t.duration=a),type:"number",placeholder:"Duration",min:"0",max:"1000",step:"25",required:""},null,512),[[o.nr,t.duration]])]),(0,n._)("label",c,[g,(0,n.wy)((0,n._)("input",{"onUpdate:modelValue":a[2]||(a[2]=a=>t.weakMagnitude=a),type:"range",required:"",min:"0.0",max:"1.0",step:"0.01"},null,512),[[o.nr,t.weakMagnitude]])]),(0,n._)("label",_,[h,(0,n.wy)((0,n._)("input",{"onUpdate:modelValue":a[3]||(a[3]=a=>t.strongMagnitude=a),type:"range",required:"",min:"0.0",max:"1.0",step:"0.01"},null,512),[[o.nr,t.strongMagnitude]])]),(0,n._)("div",v,[(0,n._)("button",{onClick:a[4]||(a[4]=(...a)=>t.start&&t.start(...a)),class:"custom-form__button"},"Start"),(0,n._)("button",{onClick:a[5]||(a[5]=(...a)=>t.stop&&t.stop(...a)),class:"custom-form__button"},"Stop")])])]),t.gamepads.length>0?((0,n.wg)(),(0,n.j4)(k,{key:0,gamepads:t.gamepads},null,8,["gamepads"])):((0,n.wg)(),(0,n.j4)(M,{key:1},{default:(0,n.w5)((()=>[w])),_:1}))],64)}var y=e(1746),k=e(81),M=e(1850),Z=e(2347),b=e(3913),D=(0,n.aZ)({name:"AppCustom",components:{NavigationList:k.Z,GamepadList:M.Z,MessageItem:Z.Z},data:()=>({startDelay:250,duration:250,weakMagnitude:1,strongMagnitude:1}),computed:{gamepads:function(){return y.Z.getters.gamepads}},methods:{start:function(){const t=[new b.Z(this.startDelay,this.duration,this.weakMagnitude,this.strongMagnitude)];y.Z.dispatch("startCustom",t)},stop:function(){y.Z.dispatch("reset")}}}),C=e(89);const S=(0,C.Z)(D,[["render",f]]);var U=S,V=(0,n.aZ)({name:"CustomView",components:{AppCustom:U}});const q=(0,C.Z)(V,[["render",u]]);var x=q}}]);
//# sourceMappingURL=991.8ad47257.js.map

File diff suppressed because one or more lines are too long

2
docs/js/app.ca590cd4.js Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long