Skip to content

Instantly share code, notes, and snippets.

const CONFIG = {
sheet_Retirement: "Retirement Plan",
sheet_Spends: "Statement - Spends",
sheet_Investment: "Investments",
sheet_Assets: "Assets",
sheet_Goals: "Savings Goals",
sheet_Budget: "Budget & Expense",
timezone: Session.getScriptTimeZone()
};
// ==========================================
// WEB APP LOADER
// ==========================================
function db_loadDashboard() {
return HtmlService.createTemplateFromFile('Index')
.evaluate()
.setTitle('Financial Dashboard')
.setXFrameOptionsMode(HtmlService.XFrameOptionsMode.ALLOWALL)
.addMetaTag('viewport', 'width=device-width, initial-scale=1, maximum-scale=1, user-scalable=0');
}
<!DOCTYPE html>
<html>
<head>
<script>
(function() {
var ua = window.navigator.userAgent;
var isSafari = /Safari/.test(ua) && !/Chrome/.test(ua) && !/CriOS/.test(ua) && !/FxiOS/.test(ua);
// 2. Check for iPhone Pro Screen Dimensions (Logical Resolutions)
const CONFIG = {
sheet_Retirement: "Retirement Plan",
sheet_Spends: "Statement - Spends",
sheet_Investment: "Investments",
sheet_Assets: "Assets",
sheet_Goals: "Savings Goals",
sheet_Budget: "Budget & Expense",
timezone: Session.getScriptTimeZone()
};
// ==========================================
// WEB APP LOADER
// ==========================================
function db_loadDashboard() {
return HtmlService.createTemplateFromFile('Index')
.evaluate()
.setTitle('Financial Dashboard')
.setXFrameOptionsMode(HtmlService.XFrameOptionsMode.ALLOWALL)
.addMetaTag('viewport', 'width=device-width, initial-scale=1, maximum-scale=1, user-scalable=0');
}
<!DOCTYPE html>
<html>
<head>
<base target="_top">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=0">
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap" rel="stylesheet">
<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
<style>
/* --- GLOBAL RESET --- */