Created
October 23, 2020 19:40
-
-
Save eopo/aedaf03f1f27a0c9c02f4974f3f4c9ba to your computer and use it in GitHub Desktop.
iOS widget powered by the Scriptable app that shows the current capacity of FitX Gyms
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* Script for scriptable to get the current capacity of FitX Gyms | |
*/ | |
let gymId = 19 | |
let param = args.widgetParameter | |
if (param != null && param.length > 0) { | |
gymId = param | |
} | |
const gymDetails = await fetchGymDetails(gymId) | |
const currentGymCapacity = gymDetails.workload.percentage | |
const gymName = gymDetails.name || 'Your FitX' | |
const widget = new ListWidget() | |
await createWidget() | |
if (!config.runsInWidget) { | |
await widget.presentSmall() | |
} | |
Script.setWidget(widget) | |
Script.complete() | |
//Create the widget | |
async function createWidget() { | |
const headlineText = widget.addText("🏋️ Capacity") | |
headlineText.font = Font.mediumRoundedSystemFont(19) | |
widget.addSpacer() | |
const widgetStack = widget.addStack() | |
widgetStack.layoutVertically() | |
widgetStack.bottomAlignContent() | |
const capacityText = widgetStack.addText(currentGymCapacity.toString() + "%") | |
capacityText.font = Font.mediumRoundedSystemFont(50) | |
if (currentGymCapacity < 20) { | |
capacityText.textColor = new Color("#33cc33") | |
} else if (currentGymCapacity < 30){ | |
capacityText.textColor = new Color("#ff9900") | |
}else{ | |
capacityText.textColor = new Color("#ff3300") | |
} | |
widgetStack.addSpacer(1) | |
const gymNameText = widgetStack.addText(gymName) | |
gymNameText.font = Font.regularSystemFont(12) | |
} | |
//Fetches the current capacity of the FitX gym | |
async function fetchGymDetails(id) { | |
const url = 'https://www.fitx.de/fitnessstudio/' + id + '/workload' | |
const req = new Request(url) | |
const result_json = await req.loadJSON() | |
return JSON.parse(result_json) | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Fork of https://gist.github.com/masselmello/6d4f4c533b98b2550ee23a7a5e6c6cff
Made with help of @BitWire - Huge thanks
How to use: