Fix tunnel animation icon and add missing localizations
Replace non-existent "tunnel.circle" SF Symbol with "circle.dashed" for the tunnel vote animation. Add missing translations for haptic feedback strings and "Close" across all 6 languages. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -44,7 +44,7 @@ enum CelebrationAnimationType: String, CaseIterable, Identifiable {
|
||||
case .pulseWave: return "dot.radiowaves.left.and.right"
|
||||
case .fireworks: return "fireworks"
|
||||
case .morphBlob: return "drop.fill"
|
||||
case .zoomTunnel: return "tunnel.circle"
|
||||
case .zoomTunnel: return "circle.dashed"
|
||||
case .gravityDrop: return "arrow.down.to.line"
|
||||
}
|
||||
}
|
||||
|
||||
Binary file not shown.
@@ -3,8 +3,8 @@
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Feels — End User License Agreement</title>
|
||||
<meta name="description" content="Feels End User License Agreement (EULA) - Terms governing the use of the Feels app.">
|
||||
<title>Reflect — End User License Agreement</title>
|
||||
<meta name="description" content="Reflect End User License Agreement (EULA) - Terms governing the use of the Reflect app.">
|
||||
<link rel="icon" type="image/png" href="app-icon.png">
|
||||
<link rel="apple-touch-icon" href="app-icon.png">
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||
@@ -322,29 +322,26 @@
|
||||
</head>
|
||||
<body>
|
||||
<nav>
|
||||
<a href="index.html" class="logo"><img src="app-icon.png" alt="Feels" class="logo-icon">Feels</a>
|
||||
<a href="index.html" class="logo"><img src="app-icon.png" alt="Reflect" class="logo-icon">Reflect</a>
|
||||
<ul class="nav-links">
|
||||
<li><a href="index.html#features">Features</a></li>
|
||||
<li><a href="index.html#devices">Devices</a></li>
|
||||
<li><a href="index.html#testimonials">Reviews</a></li>
|
||||
</ul>
|
||||
<a href="index.html#download" class="nav-cta">Download</a>
|
||||
</nav>
|
||||
|
||||
<div class="page-header">
|
||||
<h1>End User License Agreement</h1>
|
||||
<p>The terms that govern your use of Feels.</p>
|
||||
<p>The terms that govern your use of Reflect.</p>
|
||||
</div>
|
||||
|
||||
<div class="legal-content">
|
||||
<div class="effective-date">Effective Date: February 10, 2026</div>
|
||||
|
||||
<div class="highlight-box">
|
||||
<p><strong>The short version:</strong> Feels is licensed to you by 88 Oak Apps. You can use it on your Apple devices. Subscriptions are managed through Apple. Don't reverse-engineer it or use it to harm others. We're not liable for decisions you make based on your mood data.</p>
|
||||
<p><strong>The short version:</strong> Reflect is licensed to you by 88 Oak Apps. You can use it on your Apple devices. Subscriptions are managed through Apple. Don't reverse-engineer it or use it to harm others. We're not liable for decisions you make based on your mood data.</p>
|
||||
</div>
|
||||
|
||||
<h2>1. Agreement</h2>
|
||||
<p>This End User License Agreement ("EULA") is a legal agreement between you ("User") and 88 Oak Apps ("Licensor", "we", "us") for the use of the Feels mobile application ("the App"), available for iOS and watchOS through the Apple App Store.</p>
|
||||
<p>This End User License Agreement ("EULA") is a legal agreement between you ("User") and 88 Oak Apps ("Licensor", "we", "us") for the use of the Reflect mobile application ("the App"), available for iOS and watchOS through the Apple App Store.</p>
|
||||
<p>By downloading, installing, or using the App, you agree to be bound by the terms of this EULA. If you do not agree to these terms, do not download or use the App.</p>
|
||||
<p>This EULA is supplemental to Apple's standard Licensed Application End User License Agreement ("Standard EULA") available at <a href="https://www.apple.com/legal/internet-services/itunes/dev/stdeula/">apple.com/legal/internet-services/itunes/dev/stdeula</a>. In the event of a conflict, the terms of this EULA shall prevail.</p>
|
||||
|
||||
@@ -356,8 +353,8 @@
|
||||
<li>Access and use features included in your subscription tier (if applicable)</li>
|
||||
</ul>
|
||||
|
||||
<h2>3. Subscription Terms (Feels+)</h2>
|
||||
<p>Feels offers optional premium features through a subscription called "Feels+" with the following terms:</p>
|
||||
<h2>3. Subscription Terms (Reflect+)</h2>
|
||||
<p>Reflect offers optional premium features through a subscription called "Reflect+" with the following terms:</p>
|
||||
|
||||
<h3>Plans and Pricing</h3>
|
||||
<ul>
|
||||
@@ -421,7 +418,7 @@
|
||||
</ul>
|
||||
|
||||
<div class="highlight-box">
|
||||
<p><strong>Important:</strong> Feels is a mood tracking tool, not a medical device. It is not intended to diagnose, treat, cure, or prevent any medical or mental health condition. If you are experiencing a mental health crisis, please contact a healthcare professional or emergency services immediately.</p>
|
||||
<p><strong>Important:</strong> Reflect is a mood tracking tool, not a medical device. It is not intended to diagnose, treat, cure, or prevent any medical or mental health condition. If you are experiencing a mental health crisis, please contact a healthcare professional or emergency services immediately.</p>
|
||||
</div>
|
||||
|
||||
<h2>9. Limitation of Liability</h2>
|
||||
@@ -461,7 +458,7 @@
|
||||
|
||||
<footer>
|
||||
<div class="footer-content">
|
||||
<div class="footer-logo"><img src="app-icon.png" alt="Feels" class="logo-icon">Feels</div>
|
||||
<div class="footer-logo"><img src="app-icon.png" alt="Reflect" class="logo-icon">Reflect</div>
|
||||
<ul class="footer-links">
|
||||
<li><a href="privacy.html">Privacy Policy</a></li>
|
||||
<li><a href="eula.html">Terms of Service</a></li>
|
||||
|
||||
@@ -440,6 +440,63 @@
|
||||
.bento-item--watch { background: transparent; padding: 0; }
|
||||
.bento-item--watch .watch { width: 100%; }
|
||||
|
||||
/* ────────────────────────────────────
|
||||
SUPPORT
|
||||
──────────────────────────────────── */
|
||||
.support { text-align: center; }
|
||||
.support h2 {
|
||||
font-size: clamp(1.45rem, 2.8vw, 2.1rem);
|
||||
margin-bottom: 18px;
|
||||
}
|
||||
.support-sub {
|
||||
color: var(--text-muted);
|
||||
max-width: 480px;
|
||||
margin: 0 auto 52px;
|
||||
font-size: clamp(0.88rem, 1vw, 0.98rem);
|
||||
line-height: 1.7;
|
||||
}
|
||||
.support-grid {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr 1fr;
|
||||
gap: 20px;
|
||||
max-width: 700px;
|
||||
margin: 0 auto 56px;
|
||||
text-align: left;
|
||||
}
|
||||
.support-card {
|
||||
background: var(--bg-alt);
|
||||
border-radius: 20px;
|
||||
padding: 28px 28px 24px;
|
||||
}
|
||||
.support-card h3 {
|
||||
font-family: var(--sans);
|
||||
font-weight: 600;
|
||||
font-size: 0.92rem;
|
||||
margin-bottom: 8px;
|
||||
color: var(--text);
|
||||
}
|
||||
.support-card p {
|
||||
color: var(--text-muted);
|
||||
font-size: 0.86rem;
|
||||
line-height: 1.7;
|
||||
}
|
||||
.support-contact {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
padding: 14px 36px;
|
||||
background: var(--bg-alt);
|
||||
border-radius: 100px;
|
||||
font-size: 0.88rem;
|
||||
font-weight: 500;
|
||||
color: var(--accent);
|
||||
transition: background 0.3s ease;
|
||||
}
|
||||
.support-contact:hover { background: #ddd8cf; }
|
||||
@media (max-width: 600px) {
|
||||
.support-grid { grid-template-columns: 1fr; max-width: 400px; }
|
||||
}
|
||||
|
||||
/* ────────────────────────────────────
|
||||
CTA
|
||||
──────────────────────────────────── */
|
||||
@@ -565,7 +622,10 @@
|
||||
<nav class="nav" role="navigation" aria-label="Main">
|
||||
<div class="container">
|
||||
<a href="#" class="nav-logo">reflect</a>
|
||||
<a href="https://example.com/reflect-download" class="btn">download</a>
|
||||
<div style="display:flex;align-items:center;gap:28px;">
|
||||
<a href="#support" style="font-size:0.88rem;font-weight:500;color:var(--text-muted);transition:color 0.3s;">support</a>
|
||||
<a href="https://example.com/reflect-download" class="btn">download</a>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
@@ -695,6 +755,39 @@
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- ═══════════════════════════════════
|
||||
SUPPORT
|
||||
════════════════════════════════════ -->
|
||||
<section id="support" class="support" aria-label="Support">
|
||||
<div class="container">
|
||||
<span class="label reveal">support</span>
|
||||
<h2 class="reveal d1">we're here to help</h2>
|
||||
<p class="support-sub reveal d1">Have a question or need assistance? Check the common topics below, or reach out directly.</p>
|
||||
<div class="support-grid">
|
||||
<div class="support-card reveal d1">
|
||||
<h3>Getting Started</h3>
|
||||
<p>Download reflect from the App Store, open the app, and tap to log your first mood. It only takes a second.</p>
|
||||
</div>
|
||||
<div class="support-card reveal d1">
|
||||
<h3>Syncing Across Devices</h3>
|
||||
<p>reflect syncs via iCloud. Make sure you're signed in to the same Apple Account on all your devices.</p>
|
||||
</div>
|
||||
<div class="support-card reveal d2">
|
||||
<h3>Subscriptions & Billing</h3>
|
||||
<p>Manage your subscription in Settings > Apple Account > Subscriptions on your iPhone. Changes take effect at the next billing cycle.</p>
|
||||
</div>
|
||||
<div class="support-card reveal d2">
|
||||
<h3>Privacy & Data</h3>
|
||||
<p>Your mood data stays on your devices and in your personal iCloud. We never see or sell your data. <a href="privacy.html" style="color: var(--accent); text-decoration: underline;">Read our privacy policy.</a></p>
|
||||
</div>
|
||||
</div>
|
||||
<a href="mailto:support@88oakapps.com" class="support-contact reveal d3">
|
||||
<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="2" y="4" width="20" height="16" rx="2"/><path d="m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7"/></svg>
|
||||
support@88oakapps.com
|
||||
</a>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- ═══════════════════════════════════
|
||||
CTA
|
||||
════════════════════════════════════ -->
|
||||
@@ -709,7 +802,8 @@
|
||||
<footer>
|
||||
<div class="container">
|
||||
<div class="f-logo">reflect</div>
|
||||
<p>© 2026 reflect. all rights reserved.</p>
|
||||
<p style="margin-bottom:8px;">© 2026 reflect. all rights reserved.</p>
|
||||
<p><a href="#support" style="color:var(--text-muted);text-decoration:underline;margin-right:16px;">support</a><a href="privacy.html" style="color:var(--text-muted);text-decoration:underline;margin-right:16px;">privacy</a><a href="eula.html" style="color:var(--text-muted);text-decoration:underline;">terms</a></p>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Feels — Privacy Policy</title>
|
||||
<meta name="description" content="Feels Privacy Policy - Learn how we collect, use, and protect your data.">
|
||||
<title>Reflect — Privacy Policy</title>
|
||||
<meta name="description" content="Reflect Privacy Policy - Learn how we collect, use, and protect your data.">
|
||||
<link rel="icon" type="image/png" href="app-icon.png">
|
||||
<link rel="apple-touch-icon" href="app-icon.png">
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||
@@ -322,11 +322,8 @@
|
||||
</head>
|
||||
<body>
|
||||
<nav>
|
||||
<a href="index.html" class="logo"><img src="app-icon.png" alt="Feels" class="logo-icon">Feels</a>
|
||||
<a href="index.html" class="logo"><img src="app-icon.png" alt="Reflect" class="logo-icon">Reflect</a>
|
||||
<ul class="nav-links">
|
||||
<li><a href="index.html#features">Features</a></li>
|
||||
<li><a href="index.html#devices">Devices</a></li>
|
||||
<li><a href="index.html#testimonials">Reviews</a></li>
|
||||
</ul>
|
||||
<a href="index.html#download" class="nav-cta">Download</a>
|
||||
</nav>
|
||||
@@ -340,14 +337,14 @@
|
||||
<div class="effective-date">Effective Date: February 10, 2026</div>
|
||||
|
||||
<div class="highlight-box">
|
||||
<p><strong>The short version:</strong> Feels is built around privacy. Your mood data stays on your devices and in your personal iCloud account. We don't have user accounts, we don't sell data, and we can't read your entries. We collect anonymous usage analytics to improve the app — and you can opt out at any time.</p>
|
||||
<p><strong>The short version:</strong> Reflect is built around privacy. Your mood data stays on your devices and in your personal iCloud account. We don't have user accounts, we don't sell data, and we can't read your entries. We collect anonymous usage analytics to improve the app — and you can opt out at any time.</p>
|
||||
</div>
|
||||
|
||||
<h2>1. Who We Are</h2>
|
||||
<p>Feels is developed and operated by 88 Oak Apps ("we", "us", "our"). This Privacy Policy explains how we collect, use, and protect information when you use the Feels app for iOS and watchOS ("the App").</p>
|
||||
<p>Reflect is developed and operated by 88 Oak Apps ("we", "us", "our"). This Privacy Policy explains how we collect, use, and protect information when you use the Reflect app for iOS and watchOS ("the App").</p>
|
||||
|
||||
<h2>2. Data That Stays on Your Devices</h2>
|
||||
<p>The core of Feels — your mood entries, notes, and photos — is stored locally on your device using Apple's SwiftData framework. If you have iCloud enabled, this data syncs automatically through your personal iCloud account via Apple's CloudKit.</p>
|
||||
<p>The core of Reflect — your mood entries, notes, and photos — is stored locally on your device using Apple's SwiftData framework. If you have iCloud enabled, this data syncs automatically through your personal iCloud account via Apple's CloudKit.</p>
|
||||
<ul>
|
||||
<li><strong>Mood entries</strong> — your daily mood rating (Great, Good, Average, Bad, Horrible)</li>
|
||||
<li><strong>Notes</strong> — any text notes you attach to entries</li>
|
||||
@@ -357,10 +354,10 @@
|
||||
<p>We never have access to this data. It is stored on-device and, if iCloud is enabled, encrypted and synced by Apple. We cannot read, access, or recover your mood data.</p>
|
||||
|
||||
<h2>3. HealthKit Data</h2>
|
||||
<p>If you grant permission, Feels can integrate with Apple HealthKit to read and write mindful minutes and mood data. HealthKit data is governed by Apple's strict privacy policies and is never shared with us or any third party. We do not use HealthKit data for analytics, advertising, or any purpose other than displaying it to you within the App.</p>
|
||||
<p>If you grant permission, Reflect can integrate with Apple HealthKit to read and write mindful minutes and mood data. HealthKit data is governed by Apple's strict privacy policies and is never shared with us or any third party. We do not use HealthKit data for analytics, advertising, or any purpose other than displaying it to you within the App.</p>
|
||||
|
||||
<h2>4. Anonymous Analytics</h2>
|
||||
<p>We collect anonymous usage analytics to understand how people use Feels and to improve the app. This is handled through a self-hosted instance of PostHog, an open-source analytics platform, running on our own servers.</p>
|
||||
<p>We collect anonymous usage analytics to understand how people use Reflect and to improve the app. This is handled through a self-hosted instance of PostHog, an open-source analytics platform, running on our own servers.</p>
|
||||
|
||||
<h3>What we collect:</h3>
|
||||
<ul>
|
||||
@@ -386,27 +383,27 @@
|
||||
</div>
|
||||
|
||||
<h3>Session Replay</h3>
|
||||
<p>Feels may use PostHog's session replay feature, which captures anonymized visual recordings of app sessions to help us identify usability issues. Session replays do not capture text input, personal data, or mood content. This feature can be disabled at any time within the App. We may also disable it remotely if needed.</p>
|
||||
<p>Reflect may use PostHog's session replay feature, which captures anonymized visual recordings of app sessions to help us identify usability issues. Session replays do not capture text input, personal data, or mood content. This feature can be disabled at any time within the App. We may also disable it remotely if needed.</p>
|
||||
|
||||
<h3>Opting Out</h3>
|
||||
<p>You can opt out of all analytics at any time in the App's Settings under the Privacy section. When opted out, no analytics data is collected or transmitted.</p>
|
||||
|
||||
<h2>5. How We Use Your Information</h2>
|
||||
<ul>
|
||||
<li>To provide and improve the Feels app experience</li>
|
||||
<li>To provide and improve the Reflect app experience</li>
|
||||
<li>To understand how features are used so we can improve them</li>
|
||||
<li>To identify and fix bugs and performance issues</li>
|
||||
<li>To develop new features based on usage patterns</li>
|
||||
</ul>
|
||||
|
||||
<h2>6. Subscription and Purchase Data</h2>
|
||||
<p>Feels offers optional paid subscriptions ("Feels+") managed entirely through Apple's App Store and StoreKit. Payment processing is handled by Apple. We do not collect or store your payment information, Apple ID, or billing details.</p>
|
||||
<p>Reflect offers optional paid subscriptions ("Reflect+") managed entirely through Apple's App Store and StoreKit. Payment processing is handled by Apple. We do not collect or store your payment information, Apple ID, or billing details.</p>
|
||||
<p>We receive anonymized subscription status information (e.g., whether a subscription is active, in a trial period, or expired) solely to unlock premium features within the App.</p>
|
||||
|
||||
<h2>7. Data Sharing</h2>
|
||||
<p>We do not sell, rent, or share your personal data with third parties. Period.</p>
|
||||
<ul>
|
||||
<li><strong>No advertising networks</strong> — Feels contains no ads and no ad tracking</li>
|
||||
<li><strong>No advertising networks</strong> — Reflect contains no ads and no ad tracking</li>
|
||||
<li><strong>No data brokers</strong> — we never sell or provide data to third parties</li>
|
||||
<li><strong>No social networks</strong> — any sharing features are initiated by you and use Apple's native share sheet</li>
|
||||
</ul>
|
||||
@@ -443,7 +440,7 @@
|
||||
</ul>
|
||||
|
||||
<h2>12. Children's Privacy</h2>
|
||||
<p>Feels is not directed at children under the age of 13. We do not knowingly collect any information from children. Since we don't collect personal information from any users, there is no risk of children's data being stored or processed.</p>
|
||||
<p>Reflect is not directed at children under the age of 13. We do not knowingly collect any information from children. Since we don't collect personal information from any users, there is no risk of children's data being stored or processed.</p>
|
||||
|
||||
<h2>13. Changes to This Policy</h2>
|
||||
<p>We may update this Privacy Policy from time to time. Changes will be posted on this page with an updated effective date. Continued use of the App after changes constitutes acceptance of the updated policy.</p>
|
||||
@@ -455,7 +452,7 @@
|
||||
|
||||
<footer>
|
||||
<div class="footer-content">
|
||||
<div class="footer-logo"><img src="app-icon.png" alt="Feels" class="logo-icon">Feels</div>
|
||||
<div class="footer-logo"><img src="app-icon.png" alt="Reflect" class="logo-icon">Reflect</div>
|
||||
<ul class="footer-links">
|
||||
<li><a href="privacy.html">Privacy Policy</a></li>
|
||||
<li><a href="eula.html">Terms of Service</a></li>
|
||||
|
||||
Reference in New Issue
Block a user