Added example/dropin replacements for .env.example

Fixed the issue with PlainText (Complete Anon) posting
Need to fix device sign on issues.
Need to make it so that the non-signed in devices can only see their equalivant level of posts. (i.e. plaintext, public-encrypted, private-encrypted)
This commit is contained in:
2025-08-22 22:59:05 -04:00
parent 6a274f4259
commit d87e9322b5
10 changed files with 1239 additions and 1410 deletions

View File

@@ -4,13 +4,9 @@
<meta charset="utf-8"/>
<title>GreenCoast — Client</title>
<meta name="viewport" content="width=device-width,initial-scale=1"/>
<!-- Hard-pin API host so mobiles pick the right shard -->
<meta name="gc-api-base" content="https://api-gc.fullmooncyberworks.com">
<link rel="stylesheet" href="./styles.css"/>
<!-- Optional: pin API base -->
<!-- <meta name="gc-api-base" content="https://api-gc.fullmooncyberworks.com"> -->
<style>
#flash{position:fixed;right:12px;bottom:12px;background:#0b1222;border:1px solid #1f2937;color:#e5e7eb;
padding:.55rem .7rem;border-radius:.5rem;box-shadow:0 6px 18px rgba(0,0,0,.35);display:none;z-index:9999}
</style>
</head>
<body>
<header class="topbar">
@@ -28,11 +24,12 @@
</div>
</header>
<div id="banner" class="banner" hidden>
You are in <strong>anonymous (limited) mode</strong>. Only public text posts are available until you authorize this device.
<div id="capWarn" class="warn is-hidden"></div>
<div id="banner" class="banner is-hidden">
You are in <strong>anonymous (limited) mode</strong>. Only plaintext posts are available until you authorize this device.
</div>
<!-- Three-column shell -->
<div class="shell">
<aside id="left" class="col">
<section class="card">
@@ -72,7 +69,7 @@
<input id="bearer" type="password" placeholder="gc2 token" autocomplete="off"/>
</div>
<div class="row">
<label>Passphrase</label>
<label>Passphrase (for Private-Encrypted)</label>
<input id="passphrase" type="password" placeholder="••••••••" autocomplete="off"/>
</div>
<p class="muted small">
@@ -85,13 +82,40 @@
<div id="health" class="muted"></div>
</section>
<!-- Cross-post -->
<section class="card">
<h2>Share (x-post, privacy-safe)</h2>
<div class="row">
<label>Link</label>
<input id="shareUrl" placeholder="https://www.tiktok.com/@user/video/..." />
</div>
<div class="row">
<label>Note</label>
<input id="shareNote" placeholder="Optional caption…"/>
</div>
<div class="row">
<label>Visibility</label>
<select id="shareVis">
<option value="plaintext">Plaintext</option>
<option value="members">Public-Encrypted (members)</option>
<option value="private">Private-Encrypted (passphrase)</option>
</select>
</div>
<div class="row">
<button id="sharePreview" type="button">Preview</button>
<button id="sharePublish" type="button">Publish link</button>
</div>
<div id="shareCard" class="xcard muted small"></div>
</section>
<section class="card">
<h2>Compose</h2>
<div class="row">
<label>Visibility</label>
<select id="visibility">
<option value="public">Public (plaintext)</option>
<option value="private">Private (E2EE via passphrase)</option>
<option value="plaintext">Plaintext (last resort)</option>
<option value="members">Public-Encrypted (members)</option>
<option value="private">Private-Encrypted (passphrase)</option>
</select>
</div>
<div class="row">
@@ -103,7 +127,7 @@
<textarea id="body" rows="6" placeholder="Write your post..."></textarea>
</div>
<button id="publish" type="button">Publish</button>
<div id="publishStatus" class="muted"></div>
<div id="publishStatus" class="muted status"></div>
</section>
<section class="card">
@@ -112,8 +136,7 @@
</section>
</main>
<!-- Legal/other pages render here (SPA routing) -->
<main id="page" class="col" hidden>
<main id="page" class="col is-hidden">
<section class="card">
<div id="pageContent">Loading…</div>
</section>
@@ -122,7 +145,7 @@
<aside id="right" class="col">
<section class="card">
<h3>About</h3>
<p class="muted small">Zero-trust, E2EE optional, no analytics, no PII.</p>
<p class="muted small">Welcome to GreenCoast, a privacy-focused social media site. Zero-trust, E2EE optional, no analytics, no PII.</p>
</section>
<section class="card">
<h3>Legal</h3>
@@ -141,7 +164,7 @@
<a data-route href="#/terms">Terms</a>
</footer>
<div id="flash"></div>
<div id="flash" class="flash"></div>
<script type="module" src="./app.js"></script>
</body>