Skip to content

Add basic Vue.js example - #28

Closed
elivlo wants to merge 14 commits into
overwolf:masterfrom
elivlo:feature-vue-example
Closed

Add basic Vue.js example#28
elivlo wants to merge 14 commits into
overwolf:masterfrom
elivlo:feature-vue-example

Conversation

@elivlo

@elivloelivlo commented Aug 7, 2021

Copy link
Copy Markdown

Hi 😃,

I was surprised that there was no Vue.js example. So I created a basic frame/example that should help creating Vue.js overwolf apps.

@eransharv

Copy link
Copy Markdown
Contributor

@elivlo Hi!

Thanks for your contribution! A React, Angular, and View versions are on our roadmap, but as it's a "lower" priority, it takes time to get into it, so a contribution like yours can help implement and achieve these goals!
Of course, to put it on this "official" repository, I will have to forward it to the R&D for inspection to approve it.
Note that we have the code snippets page in the dev site and the community gists repo - places for "unofficial" community content that does not need our approval.

  1. Note that another dev already uploaded a Vue version of the old sample app - What do you think about this version? (I'm not too familiar with Vue)
  2. Can you tell me if your Vue version changed the minimal required changes from the official version? I want to make sure that all the versions will pretty much be close to each other if you know what I mean.
    Thanks

@elivlo

Copy link
Copy Markdown
Author

Hi @eransharv!

Yes, I noticed that Vue.js example but since it is over one year old I decided to make a newer version.
This PR also does not contain any working functionality to demonstrate how a Vue - OW app works and has a different appearance than the previous examples.

  • I basically took the Typescript example and converted it. Since I have no experience coding an Overwolf app so far, I just tried to make a basic/minimal workspace on what interested developers can build on.
  • The file structure of the old sample app is completely different to my structure.
    • The old sample app has three different yarn projects for the three windows it implements. This code has one npmjs project containing the three windows background, desktop and in_game.
    • I also include @overwolf/types and @overwolf/overwolf-api-ts by npm so they are not hard coded.
    • This file is now converted to Vue.js prototypes for access by every component. See here
    • And last I included the framework Vuetify that provides material design UI elements.

To summarize, I have a few proposals:

  • I will draft this PR.
  • Make this example a "real" example to demonstrate the functionality.
  • Clean up some npm dependencies.

@elivlo
elivlo marked this pull request as draft August 8, 2021 11:42
@eransharv

Copy link
Copy Markdown
Contributor

@elivlo Hey,

OK, now it's clearer, and it sounds good. I will forward it to the R&D for review (As they are busy, that can take some time). Basically, as I mentioned, I want to make sure that it fits our standards, as I want to include this in this "official" repo and not in the "community" repo.

Can you please clarify what do you mean by "Make this example a real example"? The Vue version of the sample app must have the same functionality as the ts and native versions. No different features or UI - the only thing that should be different is the adjustments to Vue. The whole point is to show the same app in different "flavors" - Vue, React, etc.

Having said that, it's ok to depend on our "official" npm packages like the "types," or make use of the Vuetify, etc.

I hope that it's clear and makes sense.

@elivlo

Copy link
Copy Markdown
Author

Can you please clarify what do you mean by "Make this example a real example"? The Vue version of the sample app must have the same functionality as the ts and native versions. No different features or UI - the only thing that should be different is the adjustments to Vue. The whole point is to show the same app in different "flavors" - Vue, React, etc.

With "Make this example a real example" I meant that the vue example app is not ready to deliver the same features as the native and ts sample apps do. So I will implement all the basic example app features and then remove the "draft" from this PR.

@eransharv

Copy link
Copy Markdown
Contributor

@elivlo thanks. We will review it, and I will update you here. That might take some time. Thanks for your contribution!

@elivlo
elivloforce-pushed the feature-vue-example branch from 232fb73 to 8c04d27CompareAugust 10, 2021 10:48
@elivlo
elivloforce-pushed the feature-vue-example branch from 4bf529c to 7e76e43CompareAugust 10, 2021 11:22
@elivlo
elivlo marked this pull request as ready for review August 12, 2021 17:56
@elivlo

Copy link
Copy Markdown
Author

@elivlo thanks. We will review it, and I will update you here. That might take some time. Thanks for your contribution!

ACK
I just finished the vue example. It is ready for review now.

@eransharv

Copy link
Copy Markdown
Contributor

@elivlo Thanks! Appriciated! We will review it (some of the team are on Aug. holiday, so that might take longer than usual. But we are on it). Thanks!

@OskarD

Copy link
Copy Markdown

@eransharv are any of them back from their holiday 3 years ago yet? 😜

It would be great if they could also take a look at #51 and #53

@elivlo

Copy link
Copy Markdown
Author

I will close this issue because it is really outdated by now

@elivloelivlo closed this Feb 10, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@elivlo@eransharv@OskarD
, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Add basic Vue.js example by elivlo · Pull Request #28 · overwolf/sample-app · GitHub
Skip to content

Add basic Vue.js example - #28

Closed
elivlo wants to merge 14 commits into
overwolf:masterfrom
elivlo:feature-vue-example
Closed

Add basic Vue.js example#28
elivlo wants to merge 14 commits into
overwolf:masterfrom
elivlo:feature-vue-example

Conversation

@elivlo

@elivloelivlo commented Aug 7, 2021

Copy link
Copy Markdown

Hi 😃,

I was surprised that there was no Vue.js example. So I created a basic frame/example that should help creating Vue.js overwolf apps.

@eransharv

Copy link
Copy Markdown
Contributor

@elivlo Hi!

Thanks for your contribution! A React, Angular, and View versions are on our roadmap, but as it's a "lower" priority, it takes time to get into it, so a contribution like yours can help implement and achieve these goals!
Of course, to put it on this "official" repository, I will have to forward it to the R&D for inspection to approve it.
Note that we have the code snippets page in the dev site and the community gists repo - places for "unofficial" community content that does not need our approval.

  1. Note that another dev already uploaded a Vue version of the old sample app - What do you think about this version? (I'm not too familiar with Vue)
  2. Can you tell me if your Vue version changed the minimal required changes from the official version? I want to make sure that all the versions will pretty much be close to each other if you know what I mean.
    Thanks

@elivlo

Copy link
Copy Markdown
Author

Hi @eransharv!

Yes, I noticed that Vue.js example but since it is over one year old I decided to make a newer version.
This PR also does not contain any working functionality to demonstrate how a Vue - OW app works and has a different appearance than the previous examples.

  • I basically took the Typescript example and converted it. Since I have no experience coding an Overwolf app so far, I just tried to make a basic/minimal workspace on what interested developers can build on.
  • The file structure of the old sample app is completely different to my structure.
    • The old sample app has three different yarn projects for the three windows it implements. This code has one npmjs project containing the three windows background, desktop and in_game.
    • I also include @overwolf/types and @overwolf/overwolf-api-ts by npm so they are not hard coded.
    • This file is now converted to Vue.js prototypes for access by every component. See here
    • And last I included the framework Vuetify that provides material design UI elements.

To summarize, I have a few proposals:

  • I will draft this PR.
  • Make this example a "real" example to demonstrate the functionality.
  • Clean up some npm dependencies.

@elivlo
elivlo marked this pull request as draft August 8, 2021 11:42
@eransharv

Copy link
Copy Markdown
Contributor

@elivlo Hey,

OK, now it's clearer, and it sounds good. I will forward it to the R&D for review (As they are busy, that can take some time). Basically, as I mentioned, I want to make sure that it fits our standards, as I want to include this in this "official" repo and not in the "community" repo.

Can you please clarify what do you mean by "Make this example a real example"? The Vue version of the sample app must have the same functionality as the ts and native versions. No different features or UI - the only thing that should be different is the adjustments to Vue. The whole point is to show the same app in different "flavors" - Vue, React, etc.

Having said that, it's ok to depend on our "official" npm packages like the "types," or make use of the Vuetify, etc.

I hope that it's clear and makes sense.

@elivlo

Copy link
Copy Markdown
Author

Can you please clarify what do you mean by "Make this example a real example"? The Vue version of the sample app must have the same functionality as the ts and native versions. No different features or UI - the only thing that should be different is the adjustments to Vue. The whole point is to show the same app in different "flavors" - Vue, React, etc.

With "Make this example a real example" I meant that the vue example app is not ready to deliver the same features as the native and ts sample apps do. So I will implement all the basic example app features and then remove the "draft" from this PR.

@eransharv

Copy link
Copy Markdown
Contributor

@elivlo thanks. We will review it, and I will update you here. That might take some time. Thanks for your contribution!

@elivlo
elivloforce-pushed the feature-vue-example branch from 232fb73 to 8c04d27CompareAugust 10, 2021 10:48
@elivlo
elivloforce-pushed the feature-vue-example branch from 4bf529c to 7e76e43CompareAugust 10, 2021 11:22
@elivlo
elivlo marked this pull request as ready for review August 12, 2021 17:56
@elivlo

Copy link
Copy Markdown
Author

@elivlo thanks. We will review it, and I will update you here. That might take some time. Thanks for your contribution!

ACK
I just finished the vue example. It is ready for review now.

@eransharv

Copy link
Copy Markdown
Contributor

@elivlo Thanks! Appriciated! We will review it (some of the team are on Aug. holiday, so that might take longer than usual. But we are on it). Thanks!

@OskarD

Copy link
Copy Markdown

@eransharv are any of them back from their holiday 3 years ago yet? 😜

It would be great if they could also take a look at #51 and #53

@elivlo

Copy link
Copy Markdown
Author

I will close this issue because it is really outdated by now

@elivloelivlo closed this Feb 10, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@elivlo@eransharv@OskarD
, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Add basic Vue.js example by elivlo · Pull Request #28 · overwolf/sample-app · GitHub
Skip to content

Add basic Vue.js example - #28

Closed
elivlo wants to merge 14 commits into
overwolf:masterfrom
elivlo:feature-vue-example
Closed

Add basic Vue.js example#28
elivlo wants to merge 14 commits into
overwolf:masterfrom
elivlo:feature-vue-example

Conversation

@elivlo

@elivloelivlo commented Aug 7, 2021

Copy link
Copy Markdown

Hi 😃,

I was surprised that there was no Vue.js example. So I created a basic frame/example that should help creating Vue.js overwolf apps.

@eransharv

Copy link
Copy Markdown
Contributor

@elivlo Hi!

Thanks for your contribution! A React, Angular, and View versions are on our roadmap, but as it's a "lower" priority, it takes time to get into it, so a contribution like yours can help implement and achieve these goals!
Of course, to put it on this "official" repository, I will have to forward it to the R&D for inspection to approve it.
Note that we have the code snippets page in the dev site and the community gists repo - places for "unofficial" community content that does not need our approval.

  1. Note that another dev already uploaded a Vue version of the old sample app - What do you think about this version? (I'm not too familiar with Vue)
  2. Can you tell me if your Vue version changed the minimal required changes from the official version? I want to make sure that all the versions will pretty much be close to each other if you know what I mean.
    Thanks

@elivlo

Copy link
Copy Markdown
Author

Hi @eransharv!

Yes, I noticed that Vue.js example but since it is over one year old I decided to make a newer version.
This PR also does not contain any working functionality to demonstrate how a Vue - OW app works and has a different appearance than the previous examples.

  • I basically took the Typescript example and converted it. Since I have no experience coding an Overwolf app so far, I just tried to make a basic/minimal workspace on what interested developers can build on.
  • The file structure of the old sample app is completely different to my structure.
    • The old sample app has three different yarn projects for the three windows it implements. This code has one npmjs project containing the three windows background, desktop and in_game.
    • I also include @overwolf/types and @overwolf/overwolf-api-ts by npm so they are not hard coded.
    • This file is now converted to Vue.js prototypes for access by every component. See here
    • And last I included the framework Vuetify that provides material design UI elements.

To summarize, I have a few proposals:

  • I will draft this PR.
  • Make this example a "real" example to demonstrate the functionality.
  • Clean up some npm dependencies.

@elivlo
elivlo marked this pull request as draft August 8, 2021 11:42
@eransharv

Copy link
Copy Markdown
Contributor

@elivlo Hey,

OK, now it's clearer, and it sounds good. I will forward it to the R&D for review (As they are busy, that can take some time). Basically, as I mentioned, I want to make sure that it fits our standards, as I want to include this in this "official" repo and not in the "community" repo.

Can you please clarify what do you mean by "Make this example a real example"? The Vue version of the sample app must have the same functionality as the ts and native versions. No different features or UI - the only thing that should be different is the adjustments to Vue. The whole point is to show the same app in different "flavors" - Vue, React, etc.

Having said that, it's ok to depend on our "official" npm packages like the "types," or make use of the Vuetify, etc.

I hope that it's clear and makes sense.

@elivlo

Copy link
Copy Markdown
Author

Can you please clarify what do you mean by "Make this example a real example"? The Vue version of the sample app must have the same functionality as the ts and native versions. No different features or UI - the only thing that should be different is the adjustments to Vue. The whole point is to show the same app in different "flavors" - Vue, React, etc.

With "Make this example a real example" I meant that the vue example app is not ready to deliver the same features as the native and ts sample apps do. So I will implement all the basic example app features and then remove the "draft" from this PR.

@eransharv

Copy link
Copy Markdown
Contributor

@elivlo thanks. We will review it, and I will update you here. That might take some time. Thanks for your contribution!

@elivlo
elivloforce-pushed the feature-vue-example branch from 232fb73 to 8c04d27CompareAugust 10, 2021 10:48
@elivlo
elivloforce-pushed the feature-vue-example branch from 4bf529c to 7e76e43CompareAugust 10, 2021 11:22
@elivlo
elivlo marked this pull request as ready for review August 12, 2021 17:56
@elivlo

Copy link
Copy Markdown
Author

@elivlo thanks. We will review it, and I will update you here. That might take some time. Thanks for your contribution!

ACK
I just finished the vue example. It is ready for review now.

@eransharv

Copy link
Copy Markdown
Contributor

@elivlo Thanks! Appriciated! We will review it (some of the team are on Aug. holiday, so that might take longer than usual. But we are on it). Thanks!

@OskarD

Copy link
Copy Markdown

@eransharv are any of them back from their holiday 3 years ago yet? 😜

It would be great if they could also take a look at #51 and #53

@elivlo

Copy link
Copy Markdown
Author

I will close this issue because it is really outdated by now

@elivloelivlo closed this Feb 10, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@elivlo@eransharv@OskarD
, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Add basic Vue.js example by elivlo · Pull Request #28 · overwolf/sample-app · GitHub
Skip to content

Add basic Vue.js example - #28

Closed
elivlo wants to merge 14 commits into
overwolf:masterfrom
elivlo:feature-vue-example
Closed

Add basic Vue.js example#28
elivlo wants to merge 14 commits into
overwolf:masterfrom
elivlo:feature-vue-example

Conversation

@elivlo

@elivloelivlo commented Aug 7, 2021

Copy link
Copy Markdown

Hi 😃,

I was surprised that there was no Vue.js example. So I created a basic frame/example that should help creating Vue.js overwolf apps.

@eransharv

Copy link
Copy Markdown
Contributor

@elivlo Hi!

Thanks for your contribution! A React, Angular, and View versions are on our roadmap, but as it's a "lower" priority, it takes time to get into it, so a contribution like yours can help implement and achieve these goals!
Of course, to put it on this "official" repository, I will have to forward it to the R&D for inspection to approve it.
Note that we have the code snippets page in the dev site and the community gists repo - places for "unofficial" community content that does not need our approval.

  1. Note that another dev already uploaded a Vue version of the old sample app - What do you think about this version? (I'm not too familiar with Vue)
  2. Can you tell me if your Vue version changed the minimal required changes from the official version? I want to make sure that all the versions will pretty much be close to each other if you know what I mean.
    Thanks

@elivlo

Copy link
Copy Markdown
Author

Hi @eransharv!

Yes, I noticed that Vue.js example but since it is over one year old I decided to make a newer version.
This PR also does not contain any working functionality to demonstrate how a Vue - OW app works and has a different appearance than the previous examples.

  • I basically took the Typescript example and converted it. Since I have no experience coding an Overwolf app so far, I just tried to make a basic/minimal workspace on what interested developers can build on.
  • The file structure of the old sample app is completely different to my structure.
    • The old sample app has three different yarn projects for the three windows it implements. This code has one npmjs project containing the three windows background, desktop and in_game.
    • I also include @overwolf/types and @overwolf/overwolf-api-ts by npm so they are not hard coded.
    • This file is now converted to Vue.js prototypes for access by every component. See here
    • And last I included the framework Vuetify that provides material design UI elements.

To summarize, I have a few proposals:

  • I will draft this PR.
  • Make this example a "real" example to demonstrate the functionality.
  • Clean up some npm dependencies.

@elivlo
elivlo marked this pull request as draft August 8, 2021 11:42
@eransharv

Copy link
Copy Markdown
Contributor

@elivlo Hey,

OK, now it's clearer, and it sounds good. I will forward it to the R&D for review (As they are busy, that can take some time). Basically, as I mentioned, I want to make sure that it fits our standards, as I want to include this in this "official" repo and not in the "community" repo.

Can you please clarify what do you mean by "Make this example a real example"? The Vue version of the sample app must have the same functionality as the ts and native versions. No different features or UI - the only thing that should be different is the adjustments to Vue. The whole point is to show the same app in different "flavors" - Vue, React, etc.

Having said that, it's ok to depend on our "official" npm packages like the "types," or make use of the Vuetify, etc.

I hope that it's clear and makes sense.

@elivlo

Copy link
Copy Markdown
Author

Can you please clarify what do you mean by "Make this example a real example"? The Vue version of the sample app must have the same functionality as the ts and native versions. No different features or UI - the only thing that should be different is the adjustments to Vue. The whole point is to show the same app in different "flavors" - Vue, React, etc.

With "Make this example a real example" I meant that the vue example app is not ready to deliver the same features as the native and ts sample apps do. So I will implement all the basic example app features and then remove the "draft" from this PR.

@eransharv

Copy link
Copy Markdown
Contributor

@elivlo thanks. We will review it, and I will update you here. That might take some time. Thanks for your contribution!

@elivlo
elivloforce-pushed the feature-vue-example branch from 232fb73 to 8c04d27CompareAugust 10, 2021 10:48
@elivlo
elivloforce-pushed the feature-vue-example branch from 4bf529c to 7e76e43CompareAugust 10, 2021 11:22
@elivlo
elivlo marked this pull request as ready for review August 12, 2021 17:56
@elivlo

Copy link
Copy Markdown
Author

@elivlo thanks. We will review it, and I will update you here. That might take some time. Thanks for your contribution!

ACK
I just finished the vue example. It is ready for review now.

@eransharv

Copy link
Copy Markdown
Contributor

@elivlo Thanks! Appriciated! We will review it (some of the team are on Aug. holiday, so that might take longer than usual. But we are on it). Thanks!

@OskarD

Copy link
Copy Markdown

@eransharv are any of them back from their holiday 3 years ago yet? 😜

It would be great if they could also take a look at #51 and #53

@elivlo

Copy link
Copy Markdown
Author

I will close this issue because it is really outdated by now

@elivloelivlo closed this Feb 10, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@elivlo@eransharv@OskarD
, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' Add basic Vue.js example by elivlo · Pull Request #28 · overwolf/sample-app · GitHub
Skip to content

Add basic Vue.js example - #28

Closed
elivlo wants to merge 14 commits into
overwolf:masterfrom
elivlo:feature-vue-example
Closed

Add basic Vue.js example#28
elivlo wants to merge 14 commits into
overwolf:masterfrom
elivlo:feature-vue-example

Conversation

@elivlo

@elivloelivlo commented Aug 7, 2021

Copy link
Copy Markdown

Hi 😃,

I was surprised that there was no Vue.js example. So I created a basic frame/example that should help creating Vue.js overwolf apps.

@eransharv

Copy link
Copy Markdown
Contributor

@elivlo Hi!

Thanks for your contribution! A React, Angular, and View versions are on our roadmap, but as it's a "lower" priority, it takes time to get into it, so a contribution like yours can help implement and achieve these goals!
Of course, to put it on this "official" repository, I will have to forward it to the R&D for inspection to approve it.
Note that we have the code snippets page in the dev site and the community gists repo - places for "unofficial" community content that does not need our approval.

  1. Note that another dev already uploaded a Vue version of the old sample app - What do you think about this version? (I'm not too familiar with Vue)
  2. Can you tell me if your Vue version changed the minimal required changes from the official version? I want to make sure that all the versions will pretty much be close to each other if you know what I mean.
    Thanks

@elivlo

Copy link
Copy Markdown
Author

Hi @eransharv!

Yes, I noticed that Vue.js example but since it is over one year old I decided to make a newer version.
This PR also does not contain any working functionality to demonstrate how a Vue - OW app works and has a different appearance than the previous examples.

  • I basically took the Typescript example and converted it. Since I have no experience coding an Overwolf app so far, I just tried to make a basic/minimal workspace on what interested developers can build on.
  • The file structure of the old sample app is completely different to my structure.
    • The old sample app has three different yarn projects for the three windows it implements. This code has one npmjs project containing the three windows background, desktop and in_game.
    • I also include @overwolf/types and @overwolf/overwolf-api-ts by npm so they are not hard coded.
    • This file is now converted to Vue.js prototypes for access by every component. See here
    • And last I included the framework Vuetify that provides material design UI elements.

To summarize, I have a few proposals:

  • I will draft this PR.
  • Make this example a "real" example to demonstrate the functionality.
  • Clean up some npm dependencies.

@elivlo
elivlo marked this pull request as draft August 8, 2021 11:42
@eransharv

Copy link
Copy Markdown
Contributor

@elivlo Hey,

OK, now it's clearer, and it sounds good. I will forward it to the R&D for review (As they are busy, that can take some time). Basically, as I mentioned, I want to make sure that it fits our standards, as I want to include this in this "official" repo and not in the "community" repo.

Can you please clarify what do you mean by "Make this example a real example"? The Vue version of the sample app must have the same functionality as the ts and native versions. No different features or UI - the only thing that should be different is the adjustments to Vue. The whole point is to show the same app in different "flavors" - Vue, React, etc.

Having said that, it's ok to depend on our "official" npm packages like the "types," or make use of the Vuetify, etc.

I hope that it's clear and makes sense.

@elivlo

Copy link
Copy Markdown
Author

Can you please clarify what do you mean by "Make this example a real example"? The Vue version of the sample app must have the same functionality as the ts and native versions. No different features or UI - the only thing that should be different is the adjustments to Vue. The whole point is to show the same app in different "flavors" - Vue, React, etc.

With "Make this example a real example" I meant that the vue example app is not ready to deliver the same features as the native and ts sample apps do. So I will implement all the basic example app features and then remove the "draft" from this PR.

@eransharv

Copy link
Copy Markdown
Contributor

@elivlo thanks. We will review it, and I will update you here. That might take some time. Thanks for your contribution!

@elivlo
elivloforce-pushed the feature-vue-example branch from 232fb73 to 8c04d27CompareAugust 10, 2021 10:48
@elivlo
elivloforce-pushed the feature-vue-example branch from 4bf529c to 7e76e43CompareAugust 10, 2021 11:22
@elivlo
elivlo marked this pull request as ready for review August 12, 2021 17:56
@elivlo

Copy link
Copy Markdown
Author

@elivlo thanks. We will review it, and I will update you here. That might take some time. Thanks for your contribution!

ACK
I just finished the vue example. It is ready for review now.

@eransharv

Copy link
Copy Markdown
Contributor

@elivlo Thanks! Appriciated! We will review it (some of the team are on Aug. holiday, so that might take longer than usual. But we are on it). Thanks!

@OskarD

Copy link
Copy Markdown

@eransharv are any of them back from their holiday 3 years ago yet? 😜

It would be great if they could also take a look at #51 and #53

@elivlo

Copy link
Copy Markdown
Author

I will close this issue because it is really outdated by now

@elivloelivlo closed this Feb 10, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@elivlo@eransharv@OskarD
, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Add basic Vue.js example by elivlo · Pull Request #28 · overwolf/sample-app · GitHub
Skip to content

Add basic Vue.js example - #28

Closed
elivlo wants to merge 14 commits into
overwolf:masterfrom
elivlo:feature-vue-example
Closed

Add basic Vue.js example#28
elivlo wants to merge 14 commits into
overwolf:masterfrom
elivlo:feature-vue-example

Conversation

@elivlo

@elivloelivlo commented Aug 7, 2021

Copy link
Copy Markdown

Hi 😃,

I was surprised that there was no Vue.js example. So I created a basic frame/example that should help creating Vue.js overwolf apps.

@eransharv

Copy link
Copy Markdown
Contributor

@elivlo Hi!

Thanks for your contribution! A React, Angular, and View versions are on our roadmap, but as it's a "lower" priority, it takes time to get into it, so a contribution like yours can help implement and achieve these goals!
Of course, to put it on this "official" repository, I will have to forward it to the R&D for inspection to approve it.
Note that we have the code snippets page in the dev site and the community gists repo - places for "unofficial" community content that does not need our approval.

  1. Note that another dev already uploaded a Vue version of the old sample app - What do you think about this version? (I'm not too familiar with Vue)
  2. Can you tell me if your Vue version changed the minimal required changes from the official version? I want to make sure that all the versions will pretty much be close to each other if you know what I mean.
    Thanks

@elivlo

Copy link
Copy Markdown
Author

Hi @eransharv!

Yes, I noticed that Vue.js example but since it is over one year old I decided to make a newer version.
This PR also does not contain any working functionality to demonstrate how a Vue - OW app works and has a different appearance than the previous examples.

  • I basically took the Typescript example and converted it. Since I have no experience coding an Overwolf app so far, I just tried to make a basic/minimal workspace on what interested developers can build on.
  • The file structure of the old sample app is completely different to my structure.
    • The old sample app has three different yarn projects for the three windows it implements. This code has one npmjs project containing the three windows background, desktop and in_game.
    • I also include @overwolf/types and @overwolf/overwolf-api-ts by npm so they are not hard coded.
    • This file is now converted to Vue.js prototypes for access by every component. See here
    • And last I included the framework Vuetify that provides material design UI elements.

To summarize, I have a few proposals:

  • I will draft this PR.
  • Make this example a "real" example to demonstrate the functionality.
  • Clean up some npm dependencies.

@elivlo
elivlo marked this pull request as draft August 8, 2021 11:42
@eransharv

Copy link
Copy Markdown
Contributor

@elivlo Hey,

OK, now it's clearer, and it sounds good. I will forward it to the R&D for review (As they are busy, that can take some time). Basically, as I mentioned, I want to make sure that it fits our standards, as I want to include this in this "official" repo and not in the "community" repo.

Can you please clarify what do you mean by "Make this example a real example"? The Vue version of the sample app must have the same functionality as the ts and native versions. No different features or UI - the only thing that should be different is the adjustments to Vue. The whole point is to show the same app in different "flavors" - Vue, React, etc.

Having said that, it's ok to depend on our "official" npm packages like the "types," or make use of the Vuetify, etc.

I hope that it's clear and makes sense.

@elivlo

Copy link
Copy Markdown
Author

Can you please clarify what do you mean by "Make this example a real example"? The Vue version of the sample app must have the same functionality as the ts and native versions. No different features or UI - the only thing that should be different is the adjustments to Vue. The whole point is to show the same app in different "flavors" - Vue, React, etc.

With "Make this example a real example" I meant that the vue example app is not ready to deliver the same features as the native and ts sample apps do. So I will implement all the basic example app features and then remove the "draft" from this PR.

@eransharv

Copy link
Copy Markdown
Contributor

@elivlo thanks. We will review it, and I will update you here. That might take some time. Thanks for your contribution!

@elivlo
elivloforce-pushed the feature-vue-example branch from 232fb73 to 8c04d27CompareAugust 10, 2021 10:48
@elivlo
elivloforce-pushed the feature-vue-example branch from 4bf529c to 7e76e43CompareAugust 10, 2021 11:22
@elivlo
elivlo marked this pull request as ready for review August 12, 2021 17:56
@elivlo

Copy link
Copy Markdown
Author

@elivlo thanks. We will review it, and I will update you here. That might take some time. Thanks for your contribution!

ACK
I just finished the vue example. It is ready for review now.

@eransharv

Copy link
Copy Markdown
Contributor

@elivlo Thanks! Appriciated! We will review it (some of the team are on Aug. holiday, so that might take longer than usual. But we are on it). Thanks!

@OskarD

Copy link
Copy Markdown

@eransharv are any of them back from their holiday 3 years ago yet? 😜

It would be great if they could also take a look at #51 and #53

@elivlo

Copy link
Copy Markdown
Author

I will close this issue because it is really outdated by now

@elivloelivlo closed this Feb 10, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@elivlo@eransharv@OskarD
, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); })(); Add basic Vue.js example by elivlo · Pull Request #28 · overwolf/sample-app · GitHub
Skip to content

Add basic Vue.js example - #28

Closed
elivlo wants to merge 14 commits into
overwolf:masterfrom
elivlo:feature-vue-example
Closed

Add basic Vue.js example#28
elivlo wants to merge 14 commits into
overwolf:masterfrom
elivlo:feature-vue-example

Conversation

@elivlo

@elivloelivlo commented Aug 7, 2021

Copy link
Copy Markdown

Hi 😃,

I was surprised that there was no Vue.js example. So I created a basic frame/example that should help creating Vue.js overwolf apps.

@eransharv

Copy link
Copy Markdown
Contributor

@elivlo Hi!

Thanks for your contribution! A React, Angular, and View versions are on our roadmap, but as it's a "lower" priority, it takes time to get into it, so a contribution like yours can help implement and achieve these goals!
Of course, to put it on this "official" repository, I will have to forward it to the R&D for inspection to approve it.
Note that we have the code snippets page in the dev site and the community gists repo - places for "unofficial" community content that does not need our approval.

  1. Note that another dev already uploaded a Vue version of the old sample app - What do you think about this version? (I'm not too familiar with Vue)
  2. Can you tell me if your Vue version changed the minimal required changes from the official version? I want to make sure that all the versions will pretty much be close to each other if you know what I mean.
    Thanks

@elivlo

Copy link
Copy Markdown
Author

Hi @eransharv!

Yes, I noticed that Vue.js example but since it is over one year old I decided to make a newer version.
This PR also does not contain any working functionality to demonstrate how a Vue - OW app works and has a different appearance than the previous examples.

  • I basically took the Typescript example and converted it. Since I have no experience coding an Overwolf app so far, I just tried to make a basic/minimal workspace on what interested developers can build on.
  • The file structure of the old sample app is completely different to my structure.
    • The old sample app has three different yarn projects for the three windows it implements. This code has one npmjs project containing the three windows background, desktop and in_game.
    • I also include @overwolf/types and @overwolf/overwolf-api-ts by npm so they are not hard coded.
    • This file is now converted to Vue.js prototypes for access by every component. See here
    • And last I included the framework Vuetify that provides material design UI elements.

To summarize, I have a few proposals:

  • I will draft this PR.
  • Make this example a "real" example to demonstrate the functionality.
  • Clean up some npm dependencies.

@elivlo
elivlo marked this pull request as draft August 8, 2021 11:42
@eransharv

Copy link
Copy Markdown
Contributor

@elivlo Hey,

OK, now it's clearer, and it sounds good. I will forward it to the R&D for review (As they are busy, that can take some time). Basically, as I mentioned, I want to make sure that it fits our standards, as I want to include this in this "official" repo and not in the "community" repo.

Can you please clarify what do you mean by "Make this example a real example"? The Vue version of the sample app must have the same functionality as the ts and native versions. No different features or UI - the only thing that should be different is the adjustments to Vue. The whole point is to show the same app in different "flavors" - Vue, React, etc.

Having said that, it's ok to depend on our "official" npm packages like the "types," or make use of the Vuetify, etc.

I hope that it's clear and makes sense.

@elivlo

Copy link
Copy Markdown
Author

Can you please clarify what do you mean by "Make this example a real example"? The Vue version of the sample app must have the same functionality as the ts and native versions. No different features or UI - the only thing that should be different is the adjustments to Vue. The whole point is to show the same app in different "flavors" - Vue, React, etc.

With "Make this example a real example" I meant that the vue example app is not ready to deliver the same features as the native and ts sample apps do. So I will implement all the basic example app features and then remove the "draft" from this PR.

@eransharv

Copy link
Copy Markdown
Contributor

@elivlo thanks. We will review it, and I will update you here. That might take some time. Thanks for your contribution!

@elivlo
elivloforce-pushed the feature-vue-example branch from 232fb73 to 8c04d27CompareAugust 10, 2021 10:48
@elivlo
elivloforce-pushed the feature-vue-example branch from 4bf529c to 7e76e43CompareAugust 10, 2021 11:22
@elivlo
elivlo marked this pull request as ready for review August 12, 2021 17:56
@elivlo

Copy link
Copy Markdown
Author

@elivlo thanks. We will review it, and I will update you here. That might take some time. Thanks for your contribution!

ACK
I just finished the vue example. It is ready for review now.

@eransharv

Copy link
Copy Markdown
Contributor

@elivlo Thanks! Appriciated! We will review it (some of the team are on Aug. holiday, so that might take longer than usual. But we are on it). Thanks!

@OskarD

Copy link
Copy Markdown

@eransharv are any of them back from their holiday 3 years ago yet? 😜

It would be great if they could also take a look at #51 and #53

@elivlo

Copy link
Copy Markdown
Author

I will close this issue because it is really outdated by now

@elivloelivlo closed this Feb 10, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@elivlo@eransharv@OskarD