Skip to content

Instantly share code, notes, and snippets.

View kaungmyatlwin's full-sized avatar

Kaung Myat Lwin kaungmyatlwin

View GitHub Profile
@kaungmyatlwin
kaungmyatlwin / app.js
Last active September 7, 2018 11:35
Vue $emit demo
Vue.component('counter-buttons', {
template: `
<div>
<button class="btn btn-sm btn-primary" @click="$emit('increase-count')">Increase</button>
<button class="btn btn-sm btn-secondary" @click="$emit('decrease-count')">Decrease</button>
</div>
`
});
Vue.component('counter-view', {
@kaungmyatlwin
kaungmyatlwin / protrait_or_landscape.js
Last active December 6, 2019 11:10
Detect Image Orientation using Promise
function detectPhotoDimensions(photoFile) {
const fr = new FileReader();
fr.readAsDataURL(photoFile);
const orientationPromise = new Promise((resolve) => {
fr.onload = () => {
const img = new Image();
img.src = fr.result;
img.onload = () => {
(img.width < img.height) ? resolve(1) : resolve(2)
};
@kaungmyatlwin
kaungmyatlwin / Auth.js
Last active May 18, 2019 09:24
Firebase Vuex Auth Module
import firebase from 'firebase';
const state = {
userId: '',
};
const actions = {
login({ commit, state }, { email, password }) {
return new Promise((resolve, reject) => {
firebase.auth().signInWithEmailAndPassword(email, password)
@kaungmyatlwin
kaungmyatlwin / meridiem.js
Created November 10, 2017 06:53
Convert AM & PM
function convertTime(timestamp) {
const time = new Date(timestamp);
const hour = time.getHours();
const convertedHour = ((hour + 11) % 12 + 1);
const minute = time.getMinutes();
let meridiem = '';
if (hour < 12) {
meridiem = 'AM';
} else {
meridiem = 'PM';
@kaungmyatlwin
kaungmyatlwin / countries.json
Created September 7, 2017 08:37
Country Names Array (Extracted from - https://restcountries.eu/rest/v2/all)
[
"Afghanistan",
"Åland Islands",
"Albania",
"Algeria",
"American Samoa",
"Andorra",
"Angola",
"Anguilla",
"Antarctica",
@kaungmyatlwin
kaungmyatlwin / validateCard.js
Last active June 5, 2023 11:11
Card validation (Luhn's Algorithm) in Javascript
function validateCard(digitLength, cardVal){
var reverseDigits = cardVal
.substring(0, digitLength - 1)
.split('')
.reverse();
var lastDigit = Number(cardVal.substring(digitLength - 1, digitLength));
var reducedDigits = [];
var normalDigits = [];
for(var i = 0, j = Math.ceil(reverseDigits.length / 2); i < j; i++) {
var digit = reverseDigits[i * 2] * 2;
#include <cs50.h>
#include <string.h>
#include <ctype.h>
#include <stdlib.h>
#include <stdio.h>
char shiftCipher(char c, int k) {
if(isupper(c)) {
return ((c - 65 + k) % 26) + 65;
} else if (islower(c)){
@kaungmyatlwin
kaungmyatlwin / webmaker-vuejs-template.json
Created March 23, 2017 19:31
Web Maker VueJS Template
[
{
"css": "html, body {\n width: 100%;\n height: 100%;\n}",
"cssMode": "css",
"externalLibs": {
"css": "https://cdnjs.cloudflare.com/ajax/libs/materialize/0.98.1/css/materialize.min.css",
"js": "https://unpkg.com/vue@2.1.3/dist/vue.min.js\nhttps://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js\nhttps://cdnjs.cloudflare.com/ajax/libs/materialize/0.98.1/js/materialize.min.js"
},
"html": "<div id=\"app\">\n\n</div>",
"htmlMode": "html",
@kaungmyatlwin
kaungmyatlwin / freecodecamp-challenge-random-quote-generator.markdown
Created March 23, 2017 19:18
FreeCodeCamp Challenge | Random Quote Generator
/* Smartphones (portrait and landscape) ----------- */
@media only screen
and (min-device-width : 320px)
and (max-device-width : 480px) {
/* STYLES GO HERE */
}
/* Smartphones (landscape) ----------- */
@media only screen