<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Can someone do the coding for me? $$]]></title><description><![CDATA[<p dir="auto">I am basically clueless when it comes to coding and Ive only barely been able to create my own mirror (which does not have a mirror, I just use it as an information screen for my office) and it has some issues and could be way better based on some of the mirrors Ive seen members make.</p>
<p dir="auto">I had a facebook counter which stopped working once I refreshed the program because the calendar does not update after the month is over. So in order to get to December I had to ctrl+r and when it came back my business page FB likes is stuck at 0.</p>
<p dir="auto">There are way better calendars it appears and overall mine is pretty boring. It doesnt even show what day it currently is.</p>
<p dir="auto">Would anyone be interested in providing the coding so that I can drag and drop the files into my magicmirror folder and have it working? Honestly Id be willing to pay for your time. It will take me way too long to figure it out and thats if I can even get it going.</p>
<p dir="auto">Ive seen some modern designs with backgrounds which interest me. Please let me know if youre interested and we can discuss design further.</p>
<p dir="auto">Thank you so much!</p>
]]></description><link>https://forum.magicmirror.builders/topic/11729/can-someone-do-the-coding-for-me</link><generator>RSS for Node</generator><lastBuildDate>Tue, 14 Jul 2026 04:00:09 GMT</lastBuildDate><atom:link href="https://forum.magicmirror.builders/topic/11729.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 05 Dec 2019 21:20:06 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Can someone do the coding for me? $$ on Thu, 05 Dec 2019 22:50:50 GMT]]></title><description><![CDATA[<p dir="auto">/*****************************************************</p>
<ul>
<li>Magic Mirror                                      *</li>
<li>Custom CSS                                        *</li>
<li>
<pre><code>                                              *
</code></pre>
</li>
<li>By Michael Teeuw <a href="http://michaelteeuw.nl" target="_blank" rel="noopener noreferrer nofollow ugc">http://michaelteeuw.nl</a>           *</li>
<li>MIT Licensed.                                     *</li>
<li>
<pre><code>                                              *
</code></pre>
</li>
<li>Add any custom CSS below.                         *</li>
<li>Changes to this files will be ignored by GIT. *<br />
*****************************************************/</li>
</ul>
<p dir="auto">body {</p>
<p dir="auto">#yearDigits {<br />
color: #fff;<br />
font-weight: normal;<br />
}</p>
<p dir="auto">#monthName {<br />
font-weight: normal;<br />
}</p>
<p dir="auto">#monthName:after {<br />
content: " •";<br />
color: #80ff00;<br />
font-weight: bold;<br />
}</p>
<p dir="auto">.monthPrev {<br />
color: #333333;<br />
}</p>
<p dir="auto">.monthNext {<br />
color: #333333;<br />
}</p>
<p dir="auto">.square-box {<br />
position: relative;<br />
width: 50%;<br />
overflow: hidden;<br />
margin: 0px auto;<br />
}</p>
<p dir="auto">.square-box:before {<br />
content: “”;<br />
display: block;<br />
padding-top: 20%;<br />
}</p>
<p dir="auto">.square-content {<br />
top: 0;<br />
left: 0;<br />
bottom: 0;<br />
right: 0;<br />
}</p>
<p dir="auto">.square-content .today {<br />
border: 1px solid #80ff00;<br />
font-weight: normal;<br />
color: #80ff00;<br />
}</p>
<p dir="auto">.square-content div {<br />
display: table;<br />
width: 100%;<br />
height: 100%;<br />
}</p>
<p dir="auto">.square-content span {<br />
display: table-cell;<br />
text-align: center;<br />
vertical-align: middle;<br />
}</p>
<p dir="auto">.OfficeHours {<br />
text-align: left;<br />
color: #fff;<br />
font-size: 50px;<br />
}</p>
<p dir="auto">header {<br />
text-transform: none;<br />
font-size: 65px;<br />
font-family: “Roboto Condensed”, Arial, Helvetica, sans-serif;<br />
font-weight: 600;<br />
border-bottom: 2px solid #0084ff;<br />
line-height: 55px;<br />
padding-bottom: 5px;<br />
margin-bottom: 10px;<br />
color: #fff;<br />
}</p>
<p dir="auto">}</p>
]]></description><link>https://forum.magicmirror.builders/post/65533</link><guid isPermaLink="true">https://forum.magicmirror.builders/post/65533</guid><dc:creator><![CDATA[Hellonoonan]]></dc:creator><pubDate>Thu, 05 Dec 2019 22:50:50 GMT</pubDate></item><item><title><![CDATA[Reply to Can someone do the coding for me? $$ on Thu, 05 Dec 2019 22:47:47 GMT]]></title><description><![CDATA[<p dir="auto">Module.register(“MMM-fbPageCounter”,{</p>
<pre><code>// Module config defaults.
defaults: {
	access_token: "",
	page_id: "",
	refresh_interval_sec: 10, //minimum 30. If your daily visitors of page are under 10, use 30 as this value.
	size: "default"
},

getStyles: function() {
	return ["MMM-fbPageCounter.css", "flipcounter.css"]
},

getScripts: function() {
	return [
		this.file("js/flipcounter.js")
	]
},

start: function() {
	this.fb = {}
	this.myCounter = null
	this.apiUrl = "https://graph.facebook.com/v2.10/"
		+ this.config.page_id
		+ "/?fields=fan_count,name&amp;access_token="
		+ this.config.access_token

	if (this.config.refresh_interval_sec &lt; 10) {
		this.config.refresh_interval_sec = 10
	}
},

getDom: function() {
	var wrapper = document.createElement("div")
	wrapper.className = "fb_board"
	var myCounter = document.createElement("ul")
	myCounter.className = "flip-counter " + this.config.size
	myCounter.id = "myCounter_" + this.data.identifier
	wrapper.appendChild(myCounter)

	return wrapper
},


notificationReceived:function(noti, payload, sender) {
	if (noti == "DOM_OBJECTS_CREATED") {
		this.myCounter = new flipCounter("myCounter_" + this.data.identifier, {value: 0, pace:100, auto: false})
		this.updateCounter()
		var self = this
		setInterval(function() {
			self.updateCounter()
		}, this.config.refresh_interval_sec * 1000)
	}
},

updateCounter: function() {
	var self = this
	this.loadJSON(this.apiUrl,
		function (result) {
			self.fb = result
		},
		function (err) {
			console.log("[FBKCNT] ERROR!", err)
		}
	)
	if (this.fb.fan_count) {
		this.myCounter.incrementTo(this.fb.fan_count, 100, 20)
	}
},

loadJSON: function(path, success, error) {
	var xhr = new XMLHttpRequest()
	xhr.onreadystatechange = function() {
		if (xhr.readyState === XMLHttpRequest.DONE) {
			if (xhr.status === 200) {
				if (success) {
					success(JSON.parse(xhr.responseText))
				}
			} else {
				if (error) {
					error(xhr)
				}
			}
		}
	}
	xhr.open("GET", path, true)
	xhr.send()
},
</code></pre>
<p dir="auto">})</p>
]]></description><link>https://forum.magicmirror.builders/post/65532</link><guid isPermaLink="true">https://forum.magicmirror.builders/post/65532</guid><dc:creator><![CDATA[Hellonoonan]]></dc:creator><pubDate>Thu, 05 Dec 2019 22:47:47 GMT</pubDate></item><item><title><![CDATA[Reply to Can someone do the coding for me? $$ on Thu, 05 Dec 2019 22:45:58 GMT]]></title><description><![CDATA[<p dir="auto">Module.register(“OfficeHours”,{</p>
<pre><code>// Default module config.
defaults: {
	text: ""
},

getTemplate: function () {
	return "OfficeHours.njk"
},

getTemplateData: function () {
	return this.config
}
</code></pre>
<p dir="auto">});</p>
]]></description><link>https://forum.magicmirror.builders/post/65531</link><guid isPermaLink="true">https://forum.magicmirror.builders/post/65531</guid><dc:creator><![CDATA[Hellonoonan]]></dc:creator><pubDate>Thu, 05 Dec 2019 22:45:58 GMT</pubDate></item><item><title><![CDATA[Reply to Can someone do the coding for me? $$ on Thu, 05 Dec 2019 22:42:31 GMT]]></title><description><![CDATA[<p dir="auto">/* Magic Mirror Module: calendar_monthly</p>
<ul>
<li>v1.0 - June 2016</li>
<li></li>
<li>By Ashley M. Kirchner <a href="mailto:kirash4@gmail.com" target="_blank" rel="noopener noreferrer nofollow ugc">kirash4@gmail.com</a></li>
<li>Beer Licensed (meaning, if you like this module, feel free to have a beer on me, or send me one.)<br />
*/</li>
</ul>
<p dir="auto">Module.register(“calendar_monthly”, {</p>
<pre><code>// Module defaultsca
defaults: {
	debugging:		false,
	initialLoadDelay:	0,		// How many seconds to wait on a fresh start up.
						// This is to prevent collision with all other modules also
						// loading all at the same time. This only happens once,
						// when the mirror first starts up.
	fadeSpeed:		2,		// How fast (in seconds) to fade out and in during a midnight refresh
	showHeader:		true,		// Show the month and year at the top of the calendar
	cssStyle:		"block",	// which CSS style to use, 'clear', 'block', 'slate', or 'custom'
	updateDelay:		5,		// How many seconds after midnight before a refresh
						// This is to prevent collision with other modules refreshing
						// at the same time.
},

// Required styles
getStyles: function() {
	return [this.data.path + "/css/mcal.css", this.getThemeCss()];
},

getThemeCss: function() {
	return this.data.path + "/css/themes/" + this.config.cssStyle + ".css";
},

// Required scripts
getScripts: function() {
	return ["moment.js"];
},

// Override start method
start: function() {
	Log.log("Starting module: " + this.name);
	// Set locale
	moment.locale(config.language);
	
	// Calculate next midnight and add updateDelay
	var now = moment();
	this.midnight = moment([now.year(), now.month(), now.date() + 1]).add(this.config.updateDelay, "seconds");

	this.loaded = false;

	this.scheduleUpdate(this.config.initialLoadDelay * 1000);
},

// Override dom generator
getDom: function() {

	if ((moment() &gt; this.midnight) || (!this.loaded)) {

		var month = moment().month();
		var year = moment().year();
		var monthName = moment().format("MMMM");
		var monthLength = moment().daysInMonth();

		// Find first day of the month, LOCALE aware
		var startingDay = moment().date(1).weekday();

		var wrapper = document.createElement("table");
		wrapper.className = 'large';
		wrapper.id = 'calendar-table';

		// Create THEAD section with month name and 4-digit year
		var header = document.createElement("tHead");
		var headerTR = document.createElement("tr");

		// We only fill in the THEAD section if the .showHeader config is set to true
		if (this.config.showHeader) {
			var headerTH = document.createElement("th");
			headerTH.colSpan = "7";
			headerTH.scope = "col";
			headerTH.id = "calendar-th";
			var headerMonthSpan = document.createElement("span");
			headerMonthSpan.id = "monthName";
			headerMonthSpan.innerHTML = monthName;
			var headerYearSpan = document.createElement("span");
			headerYearSpan.id = "yearDigits";
			headerYearSpan.innerHTML = year;
			// Add space between the two elements
			// This can be used later with the :before or :after options in the CSS
			var headerSpace = document.createTextNode(" ");

			headerTH.appendChild(headerMonthSpan);
			headerTH.appendChild(headerSpace);
			headerTH.appendChild(headerYearSpan);
			headerTR.appendChild(headerTH);
		}
		header.appendChild(headerTR);
		wrapper.appendChild(header);

		// Create TFOOT section -- currently used for debugging only
		var footer = document.createElement('tFoot');
		var footerTR = document.createElement("tr");
		footerTR.id = "calendar-tf";

		var footerTD = document.createElement("td");
		footerTD.colSpan ="7";
		footerTD.className = "footer";
		if (this.config.debugging) {
			footerTD.innerHTML = "Calendar currently in DEBUG mode!&lt;br /&gt;Please see console log.";
		} else {
			footerTD.innerHTML = "&amp;nbsp;";
		}

		footerTR.appendChild(footerTD);
		footer.appendChild(footerTR);
		wrapper.appendChild(footer);

		// Create TBODY section with day names
		var bodyContent = document.createElement("tBody");
		var bodyTR = document.createElement("tr");
		bodyTR.id = "calendar-header";

		for (var i = 0; i &lt;= 6; i++ ){
			var bodyTD = document.createElement("td");
			bodyTD.className = "calendar-header-day";
			bodyTD.innerHTML = moment().weekday(i).format("ddd");
			bodyTR.appendChild(bodyTD);
		}
		bodyContent.appendChild(bodyTR);
		wrapper.appendChild(bodyContent);

		// Create TBODY section with the monthly calendar
		var bodyContent = document.createElement("tBody");
		var bodyTR = document.createElement("tr");
		bodyTR.className = "weekRow";

		// Fill in the days
		var day = 1;
		var nextMonth = 1;
		// Loop for amount of weeks (as rows)
		for (var i = 0; i &lt; 9; i++) {
			// Loop for each weekday (as individual cells)
			for (var j = 0; j &lt;= 6; j++) {
				var bodyTD = document.createElement("td");
				bodyTD.className = "calendar-day";
				var squareDiv = document.createElement("div");
				squareDiv.className = "square-box";
				var squareContent = document.createElement("div");
				squareContent.className = "square-content";
				var squareContentInner = document.createElement("div");
				var innerSpan = document.createElement("span");

				if (j &lt; startingDay &amp;&amp; i == 0) {
					// First row, fill in empty slots
					innerSpan.className = "monthPrev";
					innerSpan.innerHTML = moment().subtract(1, 'months').endOf('month').subtract((startingDay - 1) - j, 'days').date();
				} else if (day &lt;= monthLength &amp;&amp; (i &gt; 0 || j &gt;= startingDay)) {
					if (day == moment().date()) {
						innerSpan.id = "day" + day;
						innerSpan.className = "today";
					} else {
						innerSpan.id = "day" + day;
						innerSpan.className = "daily";
					}
					innerSpan.innerHTML = day;
					day++;
				} else if (day &gt; monthLength &amp;&amp; i &gt; 0) {
					// Last row, fill in empty space
					innerSpan.className = "monthNext";
					innerSpan.innerHTML = moment([year, month, monthLength]).add(nextMonth, 'days').date();
					nextMonth++;
				}
				squareContentInner.appendChild(innerSpan);
				squareContent.appendChild(squareContentInner);
				squareDiv.appendChild(squareContent);
				bodyTD.appendChild(squareDiv);	
				bodyTR.appendChild(bodyTD);
			}
			// Don't need any more rows if we've run out of days
			if (day &gt; monthLength) {
				break;
			} else {
				bodyTR.appendChild(bodyTD);
				bodyContent.appendChild(bodyTR);
				var bodyTR = document.createElement("tr");
				bodyTR.className = "weekRow";
			}
		}	

		bodyContent.appendChild(bodyTR);
		wrapper.appendChild(bodyContent);

		this.loaded = true;
		return wrapper;

	}

},

scheduleUpdate: function(delay) {
	if (this.config.debugging) {
		Log.log("= = = = = = = = = = = = = = = = = = = = = = = = = = = = = =");
		Log.log("CALENDAR_MONTHLY IS IN DEBUG MODE!");
		Log.log("Remove 'debugging' option from config/config.js to disable.");
		Log.log("             Current moment(): " + moment() + " (" + moment().format("hh:mm:ss a") + ")");
		Log.log("scheduleUpdate() delay set at: " + delay);
	}

	if (typeof delay !== "undefined" &amp;&amp; delay &gt;= 0) {
		nextReload = delay;
	}

	if (delay &gt; 0) {
		// Calculate the time DIFFERENCE to that next reload!
		nextReload = moment.duration(nextReload.diff(moment(), "milliseconds"));
		if (this.config.debugging) {
			var hours = Math.floor(nextReload.asHours());
			var  mins = Math.floor(nextReload.asMinutes()) - hours * 60;
			var  secs = Math.floor(nextReload.asSeconds()) - ((hours * 3600 ) + (mins * 60));
			Log.log("  nextReload should happen at: " + delay + " (" + moment(delay).format("hh:mm:ss a") + ")");
			Log.log("                  which is in: " + mins + " minutes and " + secs + " seconds.");
			Log.log("              midnight set at: " + this.midnight + " (" + moment(this.midnight).format("hh:mm:ss a") + ")");
			Log.log("= = = = = = = = = = = = = = = = = = = = = = = = = = = = = =");
		}
	}

	var self = this;
	setTimeout(function() {
		self.reloadDom();
	}, nextReload);

},

reloadDom: function() {
	if (this.config.debugging) {
		Log.log("          Calling reloadDom()!");
	}

	var now = moment();
	if (now &gt; this.midnight) {
		this.updateDom(this.config.fadeSpeed * 1000);
		this.midnight = moment([now.year(), now.month(), now.date() + 1]).add(this.config.updateDelay, "seconds");
	}

	var nextRefresh = moment([now.year(), now.month(), now.date(), now.hour() + 1]);
	this.scheduleUpdate(nextRefresh);
}
</code></pre>
<p dir="auto">});</p>
]]></description><link>https://forum.magicmirror.builders/post/65530</link><guid isPermaLink="true">https://forum.magicmirror.builders/post/65530</guid><dc:creator><![CDATA[Hellonoonan]]></dc:creator><pubDate>Thu, 05 Dec 2019 22:42:31 GMT</pubDate></item><item><title><![CDATA[Reply to Can someone do the coding for me? $$ on Thu, 05 Dec 2019 22:35:28 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/bd0g" aria-label="Profile: BD0G">@<bdi>BD0G</bdi></a> Ill give that a shot. Thanks for the suggestion!</p>
]]></description><link>https://forum.magicmirror.builders/post/65529</link><guid isPermaLink="true">https://forum.magicmirror.builders/post/65529</guid><dc:creator><![CDATA[Hellonoonan]]></dc:creator><pubDate>Thu, 05 Dec 2019 22:35:28 GMT</pubDate></item><item><title><![CDATA[Reply to Can someone do the coding for me? $$ on Thu, 05 Dec 2019 22:05:16 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/hellonoonan" aria-label="Profile: Hellonoonan">@<bdi>Hellonoonan</bdi></a> I am willing to discuss. send me a better description.  My email is my user ID here on Gmail.</p>
<p dir="auto">We can also chat on discord.</p>
]]></description><link>https://forum.magicmirror.builders/post/65527</link><guid isPermaLink="true">https://forum.magicmirror.builders/post/65527</guid><dc:creator><![CDATA[sdetweil]]></dc:creator><pubDate>Thu, 05 Dec 2019 22:05:16 GMT</pubDate></item><item><title><![CDATA[Reply to Can someone do the coding for me? $$ on Thu, 05 Dec 2019 22:03:33 GMT]]></title><description><![CDATA[<p dir="auto">Start by posting your currently installed modules.<br />
Like this</p>
<ol>
<li>MMM-Calendar<br />
etc.</li>
</ol>
<p dir="auto">The copy your config.js entries (MagicMirror/config) in thier entirety using the code option &lt;/&gt; above.</p>
<p dir="auto">Then  post your custom.css file (MagicMirror/css) using the code option &lt;/&gt;</p>
<p dir="auto">This will give the coders and people willing to assist a headstart .</p>
<p dir="auto">This project seems perfect for some of the pro’s on this forum.</p>
<p dir="auto"><a class="plugin-mentions-group plugin-mentions-a" href="/groups/module-developers" aria-label="Profile: Module-Developers">@<bdi>Module-Developers</bdi></a></p>
]]></description><link>https://forum.magicmirror.builders/post/65526</link><guid isPermaLink="true">https://forum.magicmirror.builders/post/65526</guid><dc:creator><![CDATA[BD0G]]></dc:creator><pubDate>Thu, 05 Dec 2019 22:03:33 GMT</pubDate></item></channel></rss>