Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 3 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,10 @@
# GitHub Tracker

Replace this readme with your own information about your project.

Start by briefly describing the assignment in a sentence or two. Keep it short and to the point.
This project was about creating a place to keep track of the GitHub repos that are created during the Technigo program. I have practicing my JavaScript and API skills with the help of GitHub's own documentation.

## The problem

Describe how you approached to problem, and what tools and techniques you used to solve it. How did you plan? What technologies did you use? If you had more time, what would be next?
It was hard in the beginning to pass arguments. But really good practice!

## View it live

Every project should be deployed somewhere. Be sure to include the link to the deployed project so that the viewer can click around and see what it's all about.
Check in the page: https://awesome-hermann-410ad6.netlify.app/
19 changes: 18 additions & 1 deletion code/chart.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,21 @@
//DOM-selector for the canvas 👇
const ctx = document.getElementById('chart').getContext('2d')
const ctx = document.getElementById("chart").getContext("2d");

//"Draw" the chart here 👇
const drawChart = (amount) => {
const config = {
type: "doughnut",
data: {
labels: ["Projects Done", "projects Left"],
datasets: [
{
label: "My First Dataset",
data: [amount, 19 - amount],
backgroundColor: ["rgb(255, 99, 132)", "rgb(54, 162, 235)"],
hoverOffset: 4,
},
],
},
};
const myChart = new Chart(ctx, config);
};
1,045 changes: 1,045 additions & 0 deletions code/img/Untitled – Figma.html

Large diffs are not rendered by default.

4 changes: 4 additions & 0 deletions code/img/Untitled – Figma_files/compiled_wasm.js.br

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

339 changes: 339 additions & 0 deletions code/img/Untitled – Figma_files/file_migrations_wasm.js.download
Original file line number Diff line number Diff line change
@@ -0,0 +1,339 @@
let wasm_bindgen;
(function() {
const __exports = {};
let wasm;

const heap = new Array(32).fill(undefined);

heap.push(undefined, null, true, false);

function getObject(idx) { return heap[idx]; }

let heap_next = heap.length;

function dropObject(idx) {
if (idx < 36) return;
heap[idx] = heap_next;
heap_next = idx;
}

function takeObject(idx) {
const ret = getObject(idx);
dropObject(idx);
return ret;
}

let cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });

cachedTextDecoder.decode();

let cachegetUint8Memory0 = null;
function getUint8Memory0() {
if (cachegetUint8Memory0 === null || cachegetUint8Memory0.buffer !== wasm.memory.buffer) {
cachegetUint8Memory0 = new Uint8Array(wasm.memory.buffer);
}
return cachegetUint8Memory0;
}

function getStringFromWasm0(ptr, len) {
return cachedTextDecoder.decode(getUint8Memory0().subarray(ptr, ptr + len));
}

function addHeapObject(obj) {
if (heap_next === heap.length) heap.push(heap.length + 1);
const idx = heap_next;
heap_next = heap[idx];

heap[idx] = obj;
return idx;
}
/**
*/
__exports.init_logging = function() {
wasm.init_logging();
};

let stack_pointer = 32;

function addBorrowedObject(obj) {
if (stack_pointer == 1) throw new Error('out of js stack');
heap[--stack_pointer] = obj;
return stack_pointer;
}
/**
* @param {Uint8Array} changes_in
* @param {number} changes_version
* @param {Uint8Array} file_in
* @param {number} file_version
* @returns {Uint8Array}
*/
__exports.migrate_changes = function(changes_in, changes_version, file_in, file_version) {
try {
var ret = wasm.migrate_changes(addBorrowedObject(changes_in), changes_version, addBorrowedObject(file_in), file_version);
return takeObject(ret);
} finally {
heap[stack_pointer++] = undefined;
heap[stack_pointer++] = undefined;
}
};

let WASM_VECTOR_LEN = 0;

let cachedTextEncoder = new TextEncoder('utf-8');

const encodeString = (typeof cachedTextEncoder.encodeInto === 'function'
? function (arg, view) {
return cachedTextEncoder.encodeInto(arg, view);
}
: function (arg, view) {
const buf = cachedTextEncoder.encode(arg);
view.set(buf);
return {
read: arg.length,
written: buf.length
};
});

function passStringToWasm0(arg, malloc, realloc) {

if (realloc === undefined) {
const buf = cachedTextEncoder.encode(arg);
const ptr = malloc(buf.length);
getUint8Memory0().subarray(ptr, ptr + buf.length).set(buf);
WASM_VECTOR_LEN = buf.length;
return ptr;
}

let len = arg.length;
let ptr = malloc(len);

const mem = getUint8Memory0();

let offset = 0;

for (; offset < len; offset++) {
const code = arg.charCodeAt(offset);
if (code > 0x7F) break;
mem[ptr + offset] = code;
}

if (offset !== len) {
if (offset !== 0) {
arg = arg.slice(offset);
}
ptr = realloc(ptr, len, len = offset + arg.length * 3);
const view = getUint8Memory0().subarray(ptr + offset, ptr + len);
const ret = encodeString(arg, view);

offset += ret.written;
}

WASM_VECTOR_LEN = offset;
return ptr;
}
/**
* @param {Uint8Array} buffer
* @param {number} starting_version
* @param {number} target_version
* @param {string} context
* @returns {Uint8Array}
*/
__exports.migrate_to = function(buffer, starting_version, target_version, context) {
try {
var ptr0 = passStringToWasm0(context, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
var len0 = WASM_VECTOR_LEN;
var ret = wasm.migrate_to(addBorrowedObject(buffer), starting_version, target_version, ptr0, len0);
return takeObject(ret);
} finally {
heap[stack_pointer++] = undefined;
}
};

/**
* @param {number} file_version
* @param {number} buffer_version
* @returns {boolean}
*/
__exports.is_backward_compatible = function(file_version, buffer_version) {
var ret = wasm.is_backward_compatible(file_version, buffer_version);
return ret !== 0;
};

function isLikeNone(x) {
return x === undefined || x === null;
}

function handleError(f, args) {
try {
return f.apply(this, args);
} catch (e) {
wasm.__wbindgen_exn_store(addHeapObject(e));
}
}

async function load(module, imports) {
if (typeof Response === 'function' && module instanceof Response) {
if (typeof WebAssembly.instantiateStreaming === 'function') {
try {
return await WebAssembly.instantiateStreaming(module, imports);

} catch (e) {
if (module.headers.get('Content-Type') != 'application/wasm') {
console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n", e);

} else {
throw e;
}
}
}

const bytes = await module.arrayBuffer();
return await WebAssembly.instantiate(bytes, imports);

} else {
const instance = await WebAssembly.instantiate(module, imports);

if (instance instanceof WebAssembly.Instance) {
return { instance, module };

} else {
return instance;
}
}
}

async function init(input) {
if (typeof input === 'undefined') {
let src;
if (typeof document === 'undefined') {
src = location.href;
} else {
src = document.currentScript.src;
}
input = src.replace(/\.js$/, '_bg.wasm');
}
const imports = {};
imports.wbg = {};
imports.wbg.__wbg_reportMigration_358467edc3b0f35b = function(arg0, arg1, arg2, arg3) {
window.figMigrationHelpers.reportMigration(getStringFromWasm0(arg0, arg1), arg2 >>> 0, arg3 >>> 0);
};
imports.wbg.__wbindgen_object_drop_ref = function(arg0) {
takeObject(arg0);
};
imports.wbg.__wbg_reportToSentry_d72c1e801eb9290d = function(arg0, arg1) {
window.figMigrationHelpers.reportToSentry(getStringFromWasm0(arg0, arg1));
};
imports.wbg.__wbindgen_string_new = function(arg0, arg1) {
var ret = getStringFromWasm0(arg0, arg1);
return addHeapObject(ret);
};
imports.wbg.__wbindgen_object_clone_ref = function(arg0) {
var ret = getObject(arg0);
return addHeapObject(ret);
};
imports.wbg.__wbg_instanceof_Window_11e25482011fc506 = function(arg0) {
var ret = getObject(arg0) instanceof Window;
return ret;
};
imports.wbg.__wbg_debug_50dabfdc7da1bce4 = function(arg0) {
console.debug(getObject(arg0));
};
imports.wbg.__wbg_error_d95afd6217cfd219 = function(arg0) {
console.error(getObject(arg0));
};
imports.wbg.__wbg_info_ddbff0efdb9cff60 = function(arg0) {
console.info(getObject(arg0));
};
imports.wbg.__wbg_log_9a99fb1af846153b = function(arg0) {
console.log(getObject(arg0));
};
imports.wbg.__wbg_warn_b39e749f1dc02058 = function(arg0) {
console.warn(getObject(arg0));
};
imports.wbg.__wbg_performance_9d1ecf711183e1d5 = function(arg0) {
var ret = getObject(arg0).performance;
return isLikeNone(ret) ? 0 : addHeapObject(ret);
};
imports.wbg.__wbg_now_44a034aa2e1d73dd = function(arg0) {
var ret = getObject(arg0).now();
return ret;
};
imports.wbg.__wbg_call_ba36642bd901572b = function() { return handleError(function (arg0, arg1) {
var ret = getObject(arg0).call(getObject(arg1));
return addHeapObject(ret);
}, arguments) };
imports.wbg.__wbg_new_3e1ee746fe308c9f = function(arg0, arg1) {
var ret = new Error(getStringFromWasm0(arg0, arg1));
return addHeapObject(ret);
};
imports.wbg.__wbg_newnoargs_9fdd8f3961dd1bee = function(arg0, arg1) {
var ret = new Function(getStringFromWasm0(arg0, arg1));
return addHeapObject(ret);
};
imports.wbg.__wbg_self_bb69a836a72ec6e9 = function() { return handleError(function () {
var ret = self.self;
return addHeapObject(ret);
}, arguments) };
imports.wbg.__wbg_window_3304fc4b414c9693 = function() { return handleError(function () {
var ret = window.window;
return addHeapObject(ret);
}, arguments) };
imports.wbg.__wbg_globalThis_e0d21cabc6630763 = function() { return handleError(function () {
var ret = globalThis.globalThis;
return addHeapObject(ret);
}, arguments) };
imports.wbg.__wbg_global_8463719227271676 = function() { return handleError(function () {
var ret = global.global;
return addHeapObject(ret);
}, arguments) };
imports.wbg.__wbindgen_is_undefined = function(arg0) {
var ret = getObject(arg0) === undefined;
return ret;
};
imports.wbg.__wbg_buffer_9e184d6f785de5ed = function(arg0) {
var ret = getObject(arg0).buffer;
return addHeapObject(ret);
};
imports.wbg.__wbg_newwithbyteoffsetandlength_e57ad1f2ce812c03 = function(arg0, arg1, arg2) {
var ret = new Uint8Array(getObject(arg0), arg1 >>> 0, arg2 >>> 0);
return addHeapObject(ret);
};
imports.wbg.__wbg_length_2d56cb37075fcfb1 = function(arg0) {
var ret = getObject(arg0).length;
return ret;
};
imports.wbg.__wbg_new_e8101319e4cf95fc = function(arg0) {
var ret = new Uint8Array(getObject(arg0));
return addHeapObject(ret);
};
imports.wbg.__wbg_set_e8ae7b27314e8b98 = function(arg0, arg1, arg2) {
getObject(arg0).set(getObject(arg1), arg2 >>> 0);
};
imports.wbg.__wbindgen_throw = function(arg0, arg1) {
throw new Error(getStringFromWasm0(arg0, arg1));
};
imports.wbg.__wbindgen_rethrow = function(arg0) {
throw takeObject(arg0);
};
imports.wbg.__wbindgen_memory = function() {
var ret = wasm.memory;
return addHeapObject(ret);
};

if (typeof input === 'string' || (typeof Request === 'function' && input instanceof Request) || (typeof URL === 'function' && input instanceof URL)) {
input = fetch(input);
}



const { instance, module } = await load(await input, imports);

wasm = instance.exports;
init.__wbindgen_wasm_module = module;

return wasm;
}

wasm_bindgen = Object.assign(init, __exports);

})();
2 changes: 2 additions & 0 deletions code/img/Untitled – Figma_files/import.shim.js.br
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
console.log("[import] git: 02d5a919ee19242ed8ee428f54e7e16f3f164f79, stamp: 151999690BEA2800");
!function(){let e,t=e=>{};function r(t){e=t}function n(e){t=e}function o(e){t(e)}let s=!1;function a(){console.log("cancelConversion"),s=!0,g&&(g.terminate(),g=null),u&&(u=null);for(let e in m){let t=m[e];delete m[e],t.reject({status:5,message:"Canceled import."})}}function l(){return s}function i(){s=!1}function c(e,t){let r=e.dataTransfer,n=Array.prototype.forEach;function o(e,r){if(l())return;let n=new FileReader;n.onload=(()=>{l()?console.log("reader loaded. canceled -- skipping callback"):t(r,new Uint8Array(n.result))}),n.readAsArrayBuffer(e)}if(i(),r.items){let e=!1;if(n.call(r.items,t=>{if(t.webkitGetAsEntry){let r=t.webkitGetAsEntry();if(r){let t=r.name;r.isDirectory?r.getFile("Data",null,e=>e.file(e=>o(e,t))):r.isFile&&r.file(e=>o(e,t)),e=!0}}}),e)return}n.call(r.files,e=>o(e,e.name))}let u=null,d=!0;function f(){d=!1}function p(){if(!u){let t=e||"import.worker.js",r=e=>{try{g=new Worker(e)}catch(e){throw u=null,new Error("Failed to load the web worker. Please contact Figma for support.")}return g.onmessage=w,g};u=d?function(e,t){return new Promise((r,n)=>{let o=new XMLHttpRequest;o.onload=(()=>{o.status>=200&&o.status<400&&r(o.response)}),o.onloadend=(()=>{n(new Error("Failed to download the file importer. Please make sure you're connected to the internet and try again."))}),o.open("GET",e),o.responseType=t,o.send(null)})}(t,"blob").then(e=>r(URL.createObjectURL(e))):new Promise((e,n)=>{e(r(t))})}return u}let g=null,m={},b=0;function w(e){let r=e.data;switch(r.type){case"ConversionFailureResponse":{let e=r;if(e.id in m){let t=m[e.id];delete m[e.id],t.reject({message:e.message,stack:e.stack})}break}case"ConversionSuccessResponse":{let e=r;if(e.id in m){let r=m[e.id];delete m[e.id],l()?(t(100),r.reject({message:"Import canceled",stack:{}})):(t(20),r.resolve(e.result))}break}case"UpdateProgressMessage":{let e=r;t&&t(e.percentage);break}case"LoadFontMessage":{let t=r,n=m[t.id];(n&&n.fontLoader?n.fontLoader.getFont(t.postscript):Promise.reject(null)).then(r=>{let n={type:"FontLoadedMessage",id:t.id,postscript:t.postscript,result:r};e.target.postMessage(n,[r.font.buffer])}).catch(()=>{let r={type:"FontLoadedMessage",id:t.id,postscript:t.postscript,result:null};e.target.postMessage(r)});break}default:console.warn("import shim got unsupported message: "+r.type)}}function y(e,t){if(e.length<t.length)return!1;for(let r=0;r<t.length;r++)if(e[r]!==t[r])return!1;return!0}function F(e){return p().then(t=>new Promise((r,n)=>{let o=e.message.id;m[o]={resolve:r,reject:n,fontLoader:e.fontLoader},t.postMessage(e.message,e.buffers)}))}function h({bytes:e,featureFlags:t,fontLoader:r,isUserFigmaEmployee:n}){return new Promise((o,s)=>{if(!l())if(k(e)||L(e)){let t=URL.createObjectURL(new Blob([e])),n=new Image;n.onerror=(()=>{s({message:"Invalid image",stack:(new Error).stack})}),n.onload=(()=>{F({message:{type:"ImageConversionRequest",id:b++,bytes:e,width:n.width,height:n.height},buffers:[e.buffer],fontLoader:r}).then(o,s),URL.revokeObjectURL(t)}),n.src=t}else{F({message:{type:"FileConversionRequest",id:b++,bytes:e,featureFlags:t,isUserFigmaEmployee:n},buffers:[e.buffer],fontLoader:r}).then(o,s)}})}function k(e){return y(e,[137,80,78,71,13,10,26,10])}function L(e){return y(e,[255,216])}function P(e){return y(e,[71,73,70,56,55,97])||y(e,[71,73,70,56,57,97])}window.createFileImporter=(e=>(delete window.createFileImporter,r(e),{convertFile:h,disableWorkerBlob:f,cancelConversion:a,hasCanceled:l,resetCancel:i,setUpdateProgressCallback:n,callUpdateProgressCallback:o,extractFilesFromDropEvent:c,isProbablyJPEGFile:L,isProbablyPNGFile:k,isProbablyGIFFile:P}))}();
Loading