# Step 1: Remove Snap version of OpenJDK (if installed) | |
sudo snap remove openjdk | |
# Step 2: Clean up unused Snap revisions | |
sudo snap set system refresh.retain=2 | |
sudo snap remove --purge $(snap list --all | awk '/disabled/{print $1, $2}' | while read snapname version; do echo "$snapname --revision=$version"; done) | |
# Step 3: Refresh Snap system | |
sudo snap refresh |
<template> | |
<div id="app"> | |
<h1>{{ message }}</h1> | |
<p> | |
Learn more with the | |
<a href="https://vuejs.org/" target="_blank" rel="noopener"> | |
Vue Docs & Resources | |
</a> | |
. |
<template> | |
<div id="app"> | |
<h1>{{ message }}</h1> | |
<p> | |
Learn more with the | |
<a href="https://vuejs.org/" target="_blank" rel="noopener"> | |
Vue Docs & Resources | |
</a> | |
. |
<input id="image-selector-input" style="visibility:hidden;" type="file"> | |
<div class="container"> | |
<canvas></canvas> | |
</div> | |
<script type="x-shader/x-fragment" id="vertShader"> | |
precision highp float; |
Experience a dynamic chess game built with Vue.js that includes a multilingual interface, timer modes, and a task manager for enhanced productivity. This application supports English, French, Spanish, and German, providing a seamless gaming and task management experience.
A Pen by Kevin Marville on CodePen.
This Vue.js application combines a Pomodoro timer with task management, and includes fake login and registration forms for demonstration purposes. The app is fully translated into English, French, Spanish, and German, and includes a floating bubble advertisement linking to job opportunities. It also features a responsive design that adapts to light or dark themes based on user preference. Ideal for enhancing productivity, this all-in-one app helps manage study sessions efficiently with an intuitive interface and engaging notifications. Check out my LinkedIn for more details.
A Pen by Kevin Marville on CodePen.
A Pen by Kevin Marville on CodePen.
<template> | |
<div id="app"> | |
<div class="onboarding" v-if="showOnboarding"> | |
<div class="modal" v-show="showLogin"> | |
<h2>Welcome!</h2> | |
<div class="tabs"> | |
<button :class="{ active: activeTab === 'login' }" @click="changeTab('login')">Login</button> | |
<button :class="{ active: activeTab === 'register' }" @click="changeTab('register')">Register</button> | |
</div> | |
<div class="content"> |