partialCallbacks = {}; selections = {}; copyText = (text, message, alert) => { navigator.clipboard.writeText(text).then(() => { (alert !== false) && $alert.notify({ type: 'success', title: 'Clipboard', message: (message || 'Text copied to clipboard.'), toast: true, }); }); }; share = (details) => navigator.share($utilities.deepCopy(details)); comingSoon = () => { $alert.notify({ type: 'info', title: 'Feature coming soon', message: 'This feature is currently not available.', toast: true, }); }; transformPathwayOptions = (options) => { let transformed = []; (options || studyProvinces).forEach((item) => { let shareKey = ''; for (let i = 0; i < item.name.length; i++){ shareKey = item.name.at(i); if (shareKey == ' '){ continue; } shareKey = shareKey.toLowerCase(); if (transformed.length == 0 || !transformed.find(opt => opt.share_key === shareKey)){ break; } } transformed.push({ share_key: shareKey, label: item.name, }); }); return transformed; }; studyProvinces = [ { name: 'Alberta', is_good: true, }, { name: 'British Columbia', is_good: false, }, { name: 'Manitoba', is_good: true, }, { name: 'New Brunswick', is_good: true, }, { name: 'Newfoundland and Labrador', is_good: true, }, { name: 'Northwest Territories', is_good: false, }, { name: 'Nunavut', is_good: false, }, { name: 'Ontario', is_good: false, }, { name: 'Prince Edward Island', is_good: true, }, { name: 'Quebec', is_good: false, }, { name: 'Saskatchewan', is_good: true, }, { name: 'Yukon', is_good: false, }, ]; prOccupations = [ { name: 'French-language proficiency', show: false, }, { name: 'Healthcare occupations', show: true, }, { name: 'Science, Technology, Engineering and Math (STEM) occupations', show: true, }, { name: 'Trade occupations', show: true, }, { name: 'Transport occupations', show: true, }, { name: 'Agriculture and Agri-food occupations', show: true, }, ]; targets = {}; addTarget = (key, el, setDefault = false, title = null) => { const scope = $$scope(this.parentElement); scope.targets[key] = { el, title }; setDefault && scope.setDefault(key); }; removeTarget = (key) => { const scope = $$scope(this.parentElement); delete scope.targets[key]; scope.removeDefault(key); }; setDefault = (key) => $$scope(this.parentElement).defaultKey = key; removeDefault = (key) => { const scope = $$scope(this.parentElement); scope.defaultKey === key && (scope.defaultKey = null); }; getAvailableKeys = () => { const map = {}; Object.entries($$scope(this.parentElement).targets).map(([key, value]) => (map[key] = value.title || key)); return map; }; capture = (target) => { if (typeof performCapture === 'function'){ return performCapture(target); } performCapture = true; awaitingTarget = target; return new window.Promise((resolve, reject) => { awaiting = (res) => { if (res === false){ reject(); } else{ resolve(res); } }; }); };

Generating downloadable file...

const title = ({"value":"Studendly"}).value; document.title = `${title} | Shirah`;

Studendly

Study in Canada, with the paperwork handled

Studendly is Shirah's education platform. It helps international students find programs at Canadian institutions, apply with confidence, and get guided support from vetted consultants and advisers along the way.

Find the right program

Search partner institutions and programs, and compare them against what you actually want from studying in Canada rather than guessing from a prospectus.

Apply with support

Keep documents, deadlines and application status in one place, with advisers who can step in when something needs a human.

Connected to the rest of Shirah

Studying is often the first step rather than the last. Where a study pathway leads on to work or settlement, Studendly connects to Portify so the same case does not have to be started from scratch somewhere else.

checkpoint = 0; target = document.querySelector('#modal-mount'); targetParent = target.parentElement; targetParent.style.display = 'none'; setVisible = (show) => { if (show != isVisible){ isVisible = show; targetParent.style.display = (show ? 'flex' : 'none'); $$class(document.body).toggleOn(show, 'overflow-hidden'); } if (show && duration){ const cp = ++checkpoint; window.setTimeout(() => cp == checkpoint && hide(), duration); } }; init = (options) => { options = options || {}; disableParentClick = options.disableParentClick || false; duration = options.duration || 0; ++checkpoint; !options.hidden && show(); }; show = () => setVisible(true); hide = () => setVisible(false); toggleVisible = () => setVisible(!isVisible); onEntered = () => { aIndex = 0; loading = true; target.style.display = 'none'; show(); }; onLoad = () => { loading = false; target.style.display = 'flex'; }; onReload = () => onLoad(); $event.target === targetParent && !disableParentClick && hide();
show = false; show = false; show = !show; if (show && !$static(shown)){ shown = true; $nextTick(() => $refs.menu.focus()); } else{ shown = false; }

Sign in to access this feature

if ($event.detail.data && $event.detail.data.otp){ otpEmail = $event.detail.data.email; $router.goto('7BBspk4DqUkUmSSPfhdQ://otp'); } else{ window.location.href = ({"value":"\/headed\/objects"}).value; }
onProgress = (progress, isComplete) => { percentage = $rel.lt(progress, 1) ? progress * 100 : 100; if (isComplete && isActive){ const chkpt = (checkpoint = (checkpoint || 0) + 1); window.setTimeout(() => (chkpt === checkpoint && (isActive = false)), 500); } else if (!isComplete && !isActive){ isActive = true; } };