559 lines
22 KiB
Diff
559 lines
22 KiB
Diff
diff --git a/bskyweb/cmd/bskyweb/server.go b/bskyweb/cmd/bskyweb/server.go
|
|
index ec5261dee..c670cf75a 100644
|
|
--- a/bskyweb/cmd/bskyweb/server.go
|
|
+++ b/bskyweb/cmd/bskyweb/server.go
|
|
@@ -302,6 +302,12 @@ func serve(cctx *cli.Context) error {
|
|
e.GET("/support/tos", server.WebGeneric)
|
|
e.GET("/support/community-guidelines", server.WebGeneric)
|
|
e.GET("/support/copyright", server.WebGeneric)
|
|
+ // about/support pages (syu.is specific)
|
|
+ e.GET("/about/support/tos", server.WebAboutTOS)
|
|
+ e.GET("/about/support/privacy-policy", server.WebAboutPrivacy)
|
|
+ e.GET("/about/support/help", server.WebAboutHelp)
|
|
+ e.GET("/about/support/license", server.WebAboutLicense)
|
|
+ e.GET("/about/support/app", server.WebAboutApp)
|
|
e.GET("/intent/compose", server.WebGeneric)
|
|
e.GET("/intent/verify-email", server.WebGeneric)
|
|
e.GET("/intent/age-assurance", server.WebGeneric)
|
|
@@ -755,3 +761,33 @@ func (srv *Server) WebIpCC(c echo.Context) error {
|
|
}
|
|
return c.JSON(200, outResponse)
|
|
}
|
|
+
|
|
+// Handler for About TOS page (syu.is specific)
|
|
+func (srv *Server) WebAboutTOS(c echo.Context) error {
|
|
+ data := srv.NewTemplateContext()
|
|
+ return c.Render(http.StatusOK, "about-tos.html", data)
|
|
+}
|
|
+
|
|
+// Handler for About Privacy Policy page (syu.is specific)
|
|
+func (srv *Server) WebAboutPrivacy(c echo.Context) error {
|
|
+ data := srv.NewTemplateContext()
|
|
+ return c.Render(http.StatusOK, "about-privacy.html", data)
|
|
+}
|
|
+
|
|
+// Handler for About Help page (syu.is specific)
|
|
+func (srv *Server) WebAboutHelp(c echo.Context) error {
|
|
+ data := srv.NewTemplateContext()
|
|
+ return c.Render(http.StatusOK, "about-help.html", data)
|
|
+}
|
|
+
|
|
+// Handler for About License page (syu.is specific)
|
|
+func (srv *Server) WebAboutLicense(c echo.Context) error {
|
|
+ data := srv.NewTemplateContext()
|
|
+ return c.Render(http.StatusOK, "about-license.html", data)
|
|
+}
|
|
+
|
|
+// Handler for About App page (syu.is specific)
|
|
+func (srv *Server) WebAboutApp(c echo.Context) error {
|
|
+ data := srv.NewTemplateContext()
|
|
+ return c.Render(http.StatusOK, "about-app.html", data)
|
|
+}
|
|
diff --git a/bskyweb/templates/about-app.html b/bskyweb/templates/about-app.html
|
|
new file mode 100644
|
|
index 000000000..000000002
|
|
--- /dev/null
|
|
+++ b/bskyweb/templates/about-app.html
|
|
@@ -0,0 +1,135 @@
|
|
+<!DOCTYPE html>
|
|
+<html lang="ja">
|
|
+<head>
|
|
+ <meta charset="UTF-8">
|
|
+ <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1">
|
|
+ <title>App Info - Aiat</title>
|
|
+ <link rel="icon" type="image/png" href="{{ staticCDNHost }}/static/favicon.png">
|
|
+ <style>
|
|
+ * { box-sizing: border-box; margin: 0; padding: 0; }
|
|
+ body {
|
|
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
|
|
+ line-height: 1.6;
|
|
+ color: #1a1a1a;
|
|
+ background: #fff;
|
|
+ padding: 20px;
|
|
+ max-width: 800px;
|
|
+ margin: 0 auto;
|
|
+ }
|
|
+ @media (prefers-color-scheme: dark) {
|
|
+ body { background: #000; color: #e0e0e0; }
|
|
+ a { color: #6bb3ff; }
|
|
+ h1, h2, h3 { color: #fff; }
|
|
+ .section { background: #1a1a1a; }
|
|
+ .info-item { background: #2a2a2a; }
|
|
+ }
|
|
+ .header { margin-bottom: 32px; }
|
|
+ .back-link { display: inline-block; margin-bottom: 16px; font-size: 14px; color: #0066cc; text-decoration: none; }
|
|
+ .back-link:hover { text-decoration: underline; }
|
|
+ .app-header { text-align: center; margin-bottom: 32px; }
|
|
+ .app-icon { width: 80px; height: 80px; border-radius: 18px; margin-bottom: 12px; }
|
|
+ .app-name { font-size: 24px; font-weight: bold; margin-bottom: 4px; }
|
|
+ .app-version { font-size: 14px; color: #666; }
|
|
+ .section { background: #f5f5f5; border-radius: 16px; padding: 20px; margin-bottom: 16px; }
|
|
+ .section-title { font-size: 13px; font-weight: 600; color: #999; text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 12px; }
|
|
+ .description { font-size: 15px; line-height: 22px; }
|
|
+ .info-grid { display: flex; flex-wrap: wrap; gap: 8px; }
|
|
+ .info-item { flex: 1; min-width: 45%; text-align: center; background: #e8e8e8; border-radius: 12px; padding: 12px; }
|
|
+ .info-label { font-size: 11px; color: #999; text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 4px; }
|
|
+ .info-value { font-size: 16px; font-weight: 600; }
|
|
+ .developer-name { font-size: 18px; font-weight: 600; margin-bottom: 12px; }
|
|
+ .link-row { display: flex; align-items: center; padding: 12px 0; border-top: 1px solid rgba(0,0,0,0.1); }
|
|
+ .link-icon { font-size: 14px; font-weight: 600; color: #666; width: 70px; }
|
|
+ .link-value { flex: 1; font-size: 14px; color: #0084ff; text-decoration: none; }
|
|
+ .link-value:hover { text-decoration: underline; }
|
|
+ .link-arrow { font-size: 16px; color: #ccc; }
|
|
+ .bitcoin-row { display: flex; align-items: center; background: rgba(247, 147, 26, 0.08); border-radius: 12px; padding: 14px; gap: 10px; }
|
|
+ .bitcoin-label { font-size: 18px; font-weight: 600; color: #f7931a; }
|
|
+ .bitcoin-address { flex: 1; font-size: 11px; font-family: monospace; color: #666; word-break: break-all; }
|
|
+ .copy-btn { font-size: 12px; color: #999; cursor: pointer; min-width: 50px; text-align: right; }
|
|
+ .copy-btn:hover { color: #0084ff; }
|
|
+ .footer { text-align: center; margin-top: 32px; padding-top: 20px; border-top: 1px solid #ddd; }
|
|
+ .copyright { font-size: 12px; color: #999; }
|
|
+ </style>
|
|
+</head>
|
|
+<body>
|
|
+ <div class="header">
|
|
+ <a href="/" class="back-link">← Back to syu.is</a>
|
|
+ </div>
|
|
+
|
|
+ <div class="app-header">
|
|
+ <img src="{{ staticCDNHost }}/static/app.png" alt="Aiat" class="app-icon">
|
|
+ <div class="app-name">Aiat</div>
|
|
+ <div class="app-version">v1.111.0</div>
|
|
+ </div>
|
|
+
|
|
+ <div class="section">
|
|
+ <p class="description">Aiat is a social networking application based on AT Protocol. Connect with your community on syu.is.</p>
|
|
+ </div>
|
|
+
|
|
+ <div class="section">
|
|
+ <div class="section-title">App Information</div>
|
|
+ <div class="info-grid">
|
|
+ <div class="info-item">
|
|
+ <div class="info-label">Version</div>
|
|
+ <div class="info-value">1.111.0</div>
|
|
+ </div>
|
|
+ <div class="info-item">
|
|
+ <div class="info-label">Category</div>
|
|
+ <div class="info-value">Social</div>
|
|
+ </div>
|
|
+ <div class="info-item">
|
|
+ <div class="info-label">Supported OS</div>
|
|
+ <div class="info-value">iOS 26.0+</div>
|
|
+ </div>
|
|
+ <div class="info-item">
|
|
+ <div class="info-label">Price</div>
|
|
+ <div class="info-value">Free</div>
|
|
+ </div>
|
|
+ </div>
|
|
+ </div>
|
|
+
|
|
+ <div class="section">
|
|
+ <div class="section-title">Developer</div>
|
|
+ <div class="developer-name">syui</div>
|
|
+ <div class="link-row">
|
|
+ <span class="link-icon">GitHub</span>
|
|
+ <a href="https://github.com/syui" class="link-value" target="_blank">github.com/syui</a>
|
|
+ <span class="link-arrow">→</span>
|
|
+ </div>
|
|
+ <div class="link-row">
|
|
+ <span class="link-icon">ATProto</span>
|
|
+ <a href="https://syu.is/syui" class="link-value" target="_blank">syu.is/syui</a>
|
|
+ <span class="link-arrow">→</span>
|
|
+ </div>
|
|
+ </div>
|
|
+
|
|
+ <div class="section">
|
|
+ <div class="section-title">Bitcoin</div>
|
|
+ <div class="bitcoin-row">
|
|
+ <span class="bitcoin-label">₿</span>
|
|
+ <span class="bitcoin-address" id="btc-address">3BqHXxraZyBapyNpJmniJDh9zqzuB8aoRr</span>
|
|
+ <span class="copy-btn" onclick="copyBTC()">copy</span>
|
|
+ </div>
|
|
+ </div>
|
|
+
|
|
+ <div class="footer">
|
|
+ <p class="copyright">© syui</p>
|
|
+ </div>
|
|
+
|
|
+ <script>
|
|
+ function copyBTC() {
|
|
+ const addr = document.getElementById('btc-address').textContent;
|
|
+ navigator.clipboard.writeText(addr).then(() => {
|
|
+ const btn = document.querySelector('.copy-btn');
|
|
+ btn.textContent = 'copied!';
|
|
+ btn.style.color = '#4CAF50';
|
|
+ setTimeout(() => {
|
|
+ btn.textContent = 'copy';
|
|
+ btn.style.color = '';
|
|
+ }, 2000);
|
|
+ });
|
|
+ }
|
|
+ </script>
|
|
+</body>
|
|
+</html>
|
|
diff --git a/bskyweb/templates/about-license.html b/bskyweb/templates/about-license.html
|
|
new file mode 100644
|
|
index 000000000..000000003
|
|
--- /dev/null
|
|
+++ b/bskyweb/templates/about-license.html
|
|
@@ -0,0 +1,66 @@
|
|
+<!DOCTYPE html>
|
|
+<html lang="ja">
|
|
+<head>
|
|
+ <meta charset="UTF-8">
|
|
+ <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1">
|
|
+ <title>License - syu.is</title>
|
|
+ <link rel="icon" type="image/png" href="{{ staticCDNHost }}/static/favicon.png">
|
|
+ <style>
|
|
+ * { box-sizing: border-box; margin: 0; padding: 0; }
|
|
+ body {
|
|
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
|
|
+ line-height: 1.6;
|
|
+ color: #1a1a1a;
|
|
+ background: #fff;
|
|
+ padding: 20px;
|
|
+ max-width: 800px;
|
|
+ margin: 0 auto;
|
|
+ }
|
|
+ @media (prefers-color-scheme: dark) {
|
|
+ body { background: #000; color: #e0e0e0; }
|
|
+ a { color: #6bb3ff; }
|
|
+ h1, h2, h3 { color: #fff; }
|
|
+ }
|
|
+ h1 { font-size: 28px; margin-bottom: 24px; padding-bottom: 12px; border-bottom: 1px solid #ddd; }
|
|
+ h2 { font-size: 20px; margin: 24px 0 12px; }
|
|
+ p { margin-bottom: 16px; }
|
|
+ ul { margin: 0 0 16px 24px; }
|
|
+ li { margin-bottom: 8px; }
|
|
+ a { color: #0066cc; text-decoration: none; }
|
|
+ a:hover { text-decoration: underline; }
|
|
+ .header { margin-bottom: 32px; }
|
|
+ .back-link { display: inline-block; margin-bottom: 16px; font-size: 14px; }
|
|
+ .footer { margin-top: 40px; padding-top: 20px; border-top: 1px solid #ddd; font-size: 14px; color: #666; }
|
|
+ pre { background: #f5f5f5; padding: 16px; border-radius: 8px; overflow-x: auto; font-size: 13px; }
|
|
+ @media (prefers-color-scheme: dark) { pre { background: #1a1a1a; } }
|
|
+ </style>
|
|
+</head>
|
|
+<body>
|
|
+ <div class="header">
|
|
+ <a href="/" class="back-link">← Back to syu.is</a>
|
|
+ <h1>License</h1>
|
|
+ </div>
|
|
+
|
|
+ <h2>Aiat (iOS/Android App)</h2>
|
|
+ <p>This application is based on the Bluesky Social App, which is open source software.</p>
|
|
+
|
|
+ <h2>Open Source Licenses</h2>
|
|
+ <p>This app uses the following open source software:</p>
|
|
+
|
|
+ <h3>Bluesky Social App</h3>
|
|
+ <p>Licensed under the MIT License</p>
|
|
+ <p><a href="https://github.com/bluesky-social/social-app" target="_blank">https://github.com/bluesky-social/social-app</a></p>
|
|
+
|
|
+ <h3>AT Protocol</h3>
|
|
+ <p>Licensed under the MIT License / Apache 2.0</p>
|
|
+ <p><a href="https://github.com/bluesky-social/atproto" target="_blank">https://github.com/bluesky-social/atproto</a></p>
|
|
+
|
|
+ <h2>Third Party Libraries</h2>
|
|
+ <p>This application includes various third-party libraries, each with their own licenses. For a complete list, please see the application's source code repository.</p>
|
|
+
|
|
+ <div class="footer">
|
|
+ <p>Last updated: 2025</p>
|
|
+ <p>© syu.is</p>
|
|
+ </div>
|
|
+</body>
|
|
+</html>
|
|
diff --git a/bskyweb/templates/about-help.html b/bskyweb/templates/about-help.html
|
|
new file mode 100644
|
|
index 000000000..d37db25c5
|
|
--- /dev/null
|
|
+++ b/bskyweb/templates/about-help.html
|
|
@@ -0,0 +1,91 @@
|
|
+<!DOCTYPE html>
|
|
+<html lang="ja">
|
|
+<head>
|
|
+ <meta charset="UTF-8">
|
|
+ <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1">
|
|
+ <title>Help - syu.is</title>
|
|
+ <link rel="icon" type="image/png" href="{{ staticCDNHost }}/static/favicon.png">
|
|
+ <style>
|
|
+ * { box-sizing: border-box; margin: 0; padding: 0; }
|
|
+ body {
|
|
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
|
|
+ line-height: 1.6;
|
|
+ color: #1a1a1a;
|
|
+ background: #fff;
|
|
+ padding: 20px;
|
|
+ max-width: 800px;
|
|
+ margin: 0 auto;
|
|
+ }
|
|
+ @media (prefers-color-scheme: dark) {
|
|
+ body { background: #000; color: #e0e0e0; }
|
|
+ a { color: #6bb3ff; }
|
|
+ h1, h2, h3 { color: #fff; }
|
|
+ }
|
|
+ h1 { font-size: 28px; margin-bottom: 24px; padding-bottom: 12px; border-bottom: 1px solid #ddd; }
|
|
+ h2 { font-size: 20px; margin: 24px 0 12px; }
|
|
+ h3 { font-size: 16px; margin: 16px 0 8px; }
|
|
+ p { margin-bottom: 16px; }
|
|
+ ul { margin: 0 0 16px 24px; }
|
|
+ li { margin-bottom: 8px; }
|
|
+ a { color: #0066cc; text-decoration: none; }
|
|
+ a:hover { text-decoration: underline; }
|
|
+ .header { margin-bottom: 32px; }
|
|
+ .back-link { display: inline-block; margin-bottom: 16px; font-size: 14px; }
|
|
+ .footer { margin-top: 40px; padding-top: 20px; border-top: 1px solid #ddd; font-size: 14px; color: #666; }
|
|
+ .faq-item { margin-bottom: 24px; }
|
|
+ .contact-box { background: #f5f5f5; padding: 20px; border-radius: 8px; margin: 20px 0; }
|
|
+ @media (prefers-color-scheme: dark) {
|
|
+ .contact-box { background: #1a1a1a; }
|
|
+ }
|
|
+ </style>
|
|
+</head>
|
|
+<body>
|
|
+ <div class="header">
|
|
+ <a href="/" class="back-link">← Back to syu.is</a>
|
|
+ <h1>Help Center</h1>
|
|
+ </div>
|
|
+
|
|
+ <h2>About syu.is</h2>
|
|
+ <p>syu.is is a social networking service built on the AT Protocol (Authenticated Transfer Protocol). It allows users to share content, connect with others, and participate in a decentralized social network.</p>
|
|
+
|
|
+ <h2>Frequently Asked Questions</h2>
|
|
+
|
|
+ <div class="faq-item">
|
|
+ <h3>What is the AT Protocol?</h3>
|
|
+ <p>The AT Protocol is a decentralized social networking protocol that allows users to own their data and identity. It enables federation between different services while maintaining user control.</p>
|
|
+ </div>
|
|
+
|
|
+ <div class="faq-item">
|
|
+ <h3>How do I create an account?</h3>
|
|
+ <p>You can create an account by downloading the app or visiting the website. You'll need to provide an email address and choose a username.</p>
|
|
+ </div>
|
|
+
|
|
+ <div class="faq-item">
|
|
+ <h3>How do I reset my password?</h3>
|
|
+ <p>You can reset your password through the login screen by selecting "Forgot Password" and following the instructions sent to your email.</p>
|
|
+ </div>
|
|
+
|
|
+ <div class="faq-item">
|
|
+ <h3>How do I delete my account?</h3>
|
|
+ <p>You can delete your account through Settings > Account. Please note that account deletion is permanent and cannot be undone.</p>
|
|
+ </div>
|
|
+
|
|
+ <div class="faq-item">
|
|
+ <h3>How do I report abuse or inappropriate content?</h3>
|
|
+ <p>You can report content by using the report function available on each post. Our moderation team will review reports and take appropriate action.</p>
|
|
+ </div>
|
|
+
|
|
+ <h2>Contact</h2>
|
|
+ <div class="contact-box">
|
|
+ <p>For additional support or questions:</p>
|
|
+ <ul>
|
|
+ <li>GitHub: <a href="https://github.com/syui" target="_blank">github.com/syui</a></li>
|
|
+ </ul>
|
|
+ </div>
|
|
+
|
|
+ <h2>Related Links</h2>
|
|
+ <ul>
|
|
+ <li><a href="/about/support/tos">Terms of Service</a></li>
|
|
+ <li><a href="/about/support/privacy-policy">Privacy Policy</a></li>
|
|
+ <li><a href="/about/support/license">License</a></li>
|
|
+ <li><a href="/about/support/app">App Info</a></li>
|
|
+ <li><a href="https://atproto.com" target="_blank">AT Protocol Documentation</a></li>
|
|
+ </ul>
|
|
+
|
|
+ <div class="footer">
|
|
+ <p>Last updated: 2025</p>
|
|
+ <p>© syu.is</p>
|
|
+ </div>
|
|
+</body>
|
|
+</html>
|
|
diff --git a/bskyweb/templates/about-privacy.html b/bskyweb/templates/about-privacy.html
|
|
new file mode 100644
|
|
index 000000000..14a1168ad
|
|
--- /dev/null
|
|
+++ b/bskyweb/templates/about-privacy.html
|
|
@@ -0,0 +1,83 @@
|
|
+<!DOCTYPE html>
|
|
+<html lang="ja">
|
|
+<head>
|
|
+ <meta charset="UTF-8">
|
|
+ <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1">
|
|
+ <title>Privacy Policy - syu.is</title>
|
|
+ <link rel="icon" type="image/png" href="{{ staticCDNHost }}/static/favicon.png">
|
|
+ <style>
|
|
+ * { box-sizing: border-box; margin: 0; padding: 0; }
|
|
+ body {
|
|
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
|
|
+ line-height: 1.6;
|
|
+ color: #1a1a1a;
|
|
+ background: #fff;
|
|
+ padding: 20px;
|
|
+ max-width: 800px;
|
|
+ margin: 0 auto;
|
|
+ }
|
|
+ @media (prefers-color-scheme: dark) {
|
|
+ body { background: #000; color: #e0e0e0; }
|
|
+ a { color: #6bb3ff; }
|
|
+ h1, h2, h3 { color: #fff; }
|
|
+ }
|
|
+ h1 { font-size: 28px; margin-bottom: 24px; padding-bottom: 12px; border-bottom: 1px solid #ddd; }
|
|
+ h2 { font-size: 20px; margin: 24px 0 12px; }
|
|
+ p { margin-bottom: 16px; }
|
|
+ ul { margin: 0 0 16px 24px; }
|
|
+ li { margin-bottom: 8px; }
|
|
+ a { color: #0066cc; text-decoration: none; }
|
|
+ a:hover { text-decoration: underline; }
|
|
+ .header { margin-bottom: 32px; }
|
|
+ .back-link { display: inline-block; margin-bottom: 16px; font-size: 14px; }
|
|
+ .footer { margin-top: 40px; padding-top: 20px; border-top: 1px solid #ddd; font-size: 14px; color: #666; }
|
|
+ </style>
|
|
+</head>
|
|
+<body>
|
|
+ <div class="header">
|
|
+ <a href="/" class="back-link">← Back to syu.is</a>
|
|
+ <h1>Privacy Policy</h1>
|
|
+ </div>
|
|
+
|
|
+ <h2>1. Introduction</h2>
|
|
+ <p>This Privacy Policy explains how syu.is collects, uses, and protects your personal information when you use our service.</p>
|
|
+
|
|
+ <h2>2. Information We Collect</h2>
|
|
+ <p>We collect the following types of information:</p>
|
|
+ <ul>
|
|
+ <li><strong>Account Information:</strong> Email address, username, and profile information you provide</li>
|
|
+ <li><strong>Content:</strong> Posts, messages, and other content you create on the platform</li>
|
|
+ <li><strong>Usage Data:</strong> Information about how you interact with our service</li>
|
|
+ <li><strong>Device Information:</strong> Browser type, operating system, and device identifiers</li>
|
|
+ </ul>
|
|
+
|
|
+ <h2>3. How We Use Your Information</h2>
|
|
+ <p>We use your information to:</p>
|
|
+ <ul>
|
|
+ <li>Provide and maintain our service</li>
|
|
+ <li>Improve and personalize your experience</li>
|
|
+ <li>Communicate with you about the service</li>
|
|
+ <li>Ensure security and prevent abuse</li>
|
|
+ </ul>
|
|
+
|
|
+ <h2>4. Data Sharing</h2>
|
|
+ <p>As part of the AT Protocol federation, your public content may be shared with other servers in the network. We do not sell your personal information to third parties.</p>
|
|
+
|
|
+ <h2>5. Data Security</h2>
|
|
+ <p>We implement appropriate security measures to protect your personal information. However, no method of transmission over the Internet is 100% secure.</p>
|
|
+
|
|
+ <h2>6. Your Rights</h2>
|
|
+ <p>You have the right to:</p>
|
|
+ <ul>
|
|
+ <li>Access your personal data</li>
|
|
+ <li>Request correction of your data</li>
|
|
+ <li>Request deletion of your account</li>
|
|
+ <li>Export your data</li>
|
|
+ </ul>
|
|
+
|
|
+ <h2>7. Cookies</h2>
|
|
+ <p>We use cookies and similar technologies to maintain your session and improve your experience.</p>
|
|
+
|
|
+ <h2>8. Changes to This Policy</h2>
|
|
+ <p>We may update this Privacy Policy from time to time. We will notify you of any significant changes.</p>
|
|
+
|
|
+ <h2>9. Contact</h2>
|
|
+ <p>For privacy-related questions, please visit our <a href="/about/support/help">Help page</a>.</p>
|
|
+
|
|
+ <div class="footer">
|
|
+ <p>Last updated: 2025</p>
|
|
+ <p>© syu.is</p>
|
|
+ </div>
|
|
+</body>
|
|
+</html>
|
|
diff --git a/bskyweb/templates/about-tos.html b/bskyweb/templates/about-tos.html
|
|
new file mode 100644
|
|
index 000000000..db5d82f5c
|
|
--- /dev/null
|
|
+++ b/bskyweb/templates/about-tos.html
|
|
@@ -0,0 +1,76 @@
|
|
+<!DOCTYPE html>
|
|
+<html lang="ja">
|
|
+<head>
|
|
+ <meta charset="UTF-8">
|
|
+ <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1">
|
|
+ <title>Terms of Service - syu.is</title>
|
|
+ <link rel="icon" type="image/png" href="{{ staticCDNHost }}/static/favicon.png">
|
|
+ <style>
|
|
+ * { box-sizing: border-box; margin: 0; padding: 0; }
|
|
+ body {
|
|
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
|
|
+ line-height: 1.6;
|
|
+ color: #1a1a1a;
|
|
+ background: #fff;
|
|
+ padding: 20px;
|
|
+ max-width: 800px;
|
|
+ margin: 0 auto;
|
|
+ }
|
|
+ @media (prefers-color-scheme: dark) {
|
|
+ body { background: #000; color: #e0e0e0; }
|
|
+ a { color: #6bb3ff; }
|
|
+ h1, h2, h3 { color: #fff; }
|
|
+ }
|
|
+ h1 { font-size: 28px; margin-bottom: 24px; padding-bottom: 12px; border-bottom: 1px solid #ddd; }
|
|
+ h2 { font-size: 20px; margin: 24px 0 12px; }
|
|
+ p { margin-bottom: 16px; }
|
|
+ ul { margin: 0 0 16px 24px; }
|
|
+ li { margin-bottom: 8px; }
|
|
+ a { color: #0066cc; text-decoration: none; }
|
|
+ a:hover { text-decoration: underline; }
|
|
+ .header { margin-bottom: 32px; }
|
|
+ .back-link { display: inline-block; margin-bottom: 16px; font-size: 14px; }
|
|
+ .footer { margin-top: 40px; padding-top: 20px; border-top: 1px solid #ddd; font-size: 14px; color: #666; }
|
|
+ </style>
|
|
+</head>
|
|
+<body>
|
|
+ <div class="header">
|
|
+ <a href="/" class="back-link">← Back to syu.is</a>
|
|
+ <h1>Terms of Service</h1>
|
|
+ </div>
|
|
+
|
|
+ <h2>1. Introduction</h2>
|
|
+ <p>Welcome to syu.is. By using our service, you agree to these terms. Please read them carefully.</p>
|
|
+
|
|
+ <h2>2. Service Description</h2>
|
|
+ <p>syu.is is a social networking service built on the AT Protocol. We provide a platform for users to share content and connect with others.</p>
|
|
+
|
|
+ <h2>3. User Responsibilities</h2>
|
|
+ <p>As a user of syu.is, you agree to:</p>
|
|
+ <ul>
|
|
+ <li>Provide accurate information when creating an account</li>
|
|
+ <li>Keep your account credentials secure</li>
|
|
+ <li>Not use the service for illegal activities</li>
|
|
+ <li>Respect other users and their content</li>
|
|
+ <li>Comply with applicable laws and regulations</li>
|
|
+ </ul>
|
|
+
|
|
+ <h2>4. Content Guidelines</h2>
|
|
+ <p>Users are responsible for the content they post. Prohibited content includes:</p>
|
|
+ <ul>
|
|
+ <li>Illegal content</li>
|
|
+ <li>Harassment or abuse</li>
|
|
+ <li>Spam or misleading information</li>
|
|
+ <li>Content that violates others' rights</li>
|
|
+ </ul>
|
|
+
|
|
+ <h2>5. Privacy</h2>
|
|
+ <p>Your privacy is important to us. Please review our <a href="/about/support/privacy-policy">Privacy Policy</a> to understand how we handle your data.</p>
|
|
+
|
|
+ <h2>6. Disclaimer</h2>
|
|
+ <p>The service is provided "as is" without warranties of any kind. We are not liable for any damages arising from your use of the service.</p>
|
|
+
|
|
+ <h2>7. Changes to Terms</h2>
|
|
+ <p>We may update these terms from time to time. Continued use of the service after changes constitutes acceptance of the new terms.</p>
|
|
+
|
|
+ <h2>8. Contact</h2>
|
|
+ <p>For questions about these terms, please visit our <a href="/about/support/help">Help page</a>.</p>
|
|
+
|
|
+ <div class="footer">
|
|
+ <p>Last updated: 2025</p>
|
|
+ <p>© syu.is</p>
|
|
+ </div>
|
|
+</body>
|
|
+</html>
|