fix social-app patch support page
This commit is contained in:
@@ -38,7 +38,7 @@ index 231447b4f..a44b3da05 100644
|
|||||||
-const HELP_DESK_LANG = 'en-us'
|
-const HELP_DESK_LANG = 'en-us'
|
||||||
-export const HELP_DESK_URL = `https://blueskyweb.zendesk.com/hc/${HELP_DESK_LANG}`
|
-export const HELP_DESK_URL = `https://blueskyweb.zendesk.com/hc/${HELP_DESK_LANG}`
|
||||||
+const HELP_DESK_LANG = 'ja-jp'
|
+const HELP_DESK_LANG = 'ja-jp'
|
||||||
+export const HELP_DESK_URL = 'https://syu.is/about/support/help'
|
+export const HELP_DESK_URL = '/support/help'
|
||||||
export const EMBED_SERVICE = 'https://embed.bsky.app'
|
export const EMBED_SERVICE = 'https://embed.bsky.app'
|
||||||
export const EMBED_SCRIPT = `${EMBED_SERVICE}/static/embed.js`
|
export const EMBED_SCRIPT = `${EMBED_SERVICE}/static/embed.js`
|
||||||
export const BSKY_DOWNLOAD_URL = 'https://bsky.app/download'
|
export const BSKY_DOWNLOAD_URL = 'https://bsky.app/download'
|
||||||
@@ -102,8 +102,8 @@ index 231447b4f..a44b3da05 100644
|
|||||||
export const webLinks = {
|
export const webLinks = {
|
||||||
- tos: `https://bsky.social/about/support/tos`,
|
- tos: `https://bsky.social/about/support/tos`,
|
||||||
- privacy: `https://bsky.social/about/support/privacy-policy`,
|
- privacy: `https://bsky.social/about/support/privacy-policy`,
|
||||||
+ tos: `https://syu.is/about/support/tos`,
|
+ tos: `/support/tos`,
|
||||||
+ privacy: `https://syu.is/about/support/privacy-policy`,
|
+ privacy: `/support/privacy-policy`,
|
||||||
community: `https://bsky.social/about/support/community-guidelines`,
|
community: `https://bsky.social/about/support/community-guidelines`,
|
||||||
communityDeprecated: `https://bsky.social/about/support/community-guidelines-deprecated`,
|
communityDeprecated: `https://bsky.social/about/support/community-guidelines-deprecated`,
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ index 2c4d6fa41..b69e2b18d 100644
|
|||||||
-prefetchAgeAssuranceConfig()
|
-prefetchAgeAssuranceConfig()
|
||||||
+// // // prefetchAgeAssuranceConfig()
|
+// // // prefetchAgeAssuranceConfig()
|
||||||
prefetchLiveEvents()
|
prefetchLiveEvents()
|
||||||
|
|
||||||
function InnerApp() {
|
function InnerApp() {
|
||||||
diff --git a/src/routes.ts b/src/routes.ts
|
diff --git a/src/routes.ts b/src/routes.ts
|
||||||
index f325539c7..3e2c7b3eb 100644
|
index f325539c7..3e2c7b3eb 100644
|
||||||
@@ -21,11 +21,11 @@ index f325539c7..3e2c7b3eb 100644
|
|||||||
Support: '/support',
|
Support: '/support',
|
||||||
- PrivacyPolicy: '/support/privacy',
|
- PrivacyPolicy: '/support/privacy',
|
||||||
- TermsOfService: '/support/tos',
|
- TermsOfService: '/support/tos',
|
||||||
+ PrivacyPolicy: 'https://syu.is/about/support/privacy-policy',
|
+ PrivacyPolicy: ['/support/privacy-policy', '/about/support/privacy-policy'],
|
||||||
+ TermsOfService: 'https://syu.is/about/support/tos',
|
+ TermsOfService: ['/support/tos', '/about/support/tos'],
|
||||||
CommunityGuidelines: '/support/community-guidelines',
|
CommunityGuidelines: '/support/community-guidelines',
|
||||||
+ License: 'https://syu.is/about/support/license',
|
+ License: ['/support/license', '/about/support/license'],
|
||||||
+ AppInfo: 'https://syu.is/about/support/app',
|
+ AppInfo: '/support/app',
|
||||||
CopyrightPolicy: '/support/copyright',
|
CopyrightPolicy: '/support/copyright',
|
||||||
// hashtags
|
// hashtags
|
||||||
Hashtag: '/hashtag/:tag',
|
Hashtag: '/hashtag/:tag',
|
||||||
@@ -35,41 +35,41 @@ index 5c8ce3b97..ee85beb08 100644
|
|||||||
+++ b/src/state/session/agent.ts
|
+++ b/src/state/session/agent.ts
|
||||||
@@ -47,7 +47,8 @@ export function createPublicAgent() {
|
@@ -47,7 +47,8 @@ export function createPublicAgent() {
|
||||||
configureModerationForGuest() // Side effect but only relevant for tests
|
configureModerationForGuest() // Side effect but only relevant for tests
|
||||||
|
|
||||||
const agent = new BskyAppAgent({service: PUBLIC_BSKY_SERVICE})
|
const agent = new BskyAppAgent({service: PUBLIC_BSKY_SERVICE})
|
||||||
- agent.configureProxy(BLUESKY_PROXY_HEADER.get())
|
- agent.configureProxy(BLUESKY_PROXY_HEADER.get())
|
||||||
+ // Disable proxy for self-hosted environments
|
+ // Disable proxy for self-hosted environments
|
||||||
+ // agent.configureProxy(BLUESKY_PROXY_HEADER.get())
|
+ // agent.configureProxy(BLUESKY_PROXY_HEADER.get())
|
||||||
return agent
|
return agent
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -88,7 +89,8 @@ export async function createAgentAndResume(
|
@@ -88,7 +89,8 @@ export async function createAgentAndResume(
|
||||||
// after session is attached
|
// after session is attached
|
||||||
const aa = prefetchAgeAssuranceData({agent})
|
const aa = prefetchAgeAssuranceData({agent})
|
||||||
|
|
||||||
- agent.configureProxy(BLUESKY_PROXY_HEADER.get())
|
- agent.configureProxy(BLUESKY_PROXY_HEADER.get())
|
||||||
+ // Disable proxy for self-hosted environments
|
+ // Disable proxy for self-hosted environments
|
||||||
+ // agent.configureProxy(BLUESKY_PROXY_HEADER.get())
|
+ // agent.configureProxy(BLUESKY_PROXY_HEADER.get())
|
||||||
|
|
||||||
return agent.prepare({
|
return agent.prepare({
|
||||||
resolvers: [gates, moderation, aa],
|
resolvers: [gates, moderation, aa],
|
||||||
@@ -127,7 +129,8 @@ export async function createAgentAndLogin(
|
@@ -127,7 +129,8 @@ export async function createAgentAndLogin(
|
||||||
const moderation = configureModerationForAccount(agent, account)
|
const moderation = configureModerationForAccount(agent, account)
|
||||||
const aa = prefetchAgeAssuranceData({agent})
|
const aa = prefetchAgeAssuranceData({agent})
|
||||||
|
|
||||||
- agent.configureProxy(BLUESKY_PROXY_HEADER.get())
|
- agent.configureProxy(BLUESKY_PROXY_HEADER.get())
|
||||||
+ // Disable proxy for self-hosted environments
|
+ // Disable proxy for self-hosted environments
|
||||||
+ // agent.configureProxy(BLUESKY_PROXY_HEADER.get())
|
+ // agent.configureProxy(BLUESKY_PROXY_HEADER.get())
|
||||||
|
|
||||||
return agent.prepare({
|
return agent.prepare({
|
||||||
resolvers: [gates, moderation, aa],
|
resolvers: [gates, moderation, aa],
|
||||||
@@ -299,7 +302,8 @@ export async function createAgentAndCreateAccount(
|
@@ -299,7 +302,8 @@ export async function createAgentAndCreateAccount(
|
||||||
logger.error(e, {message: `session: failed snoozeEmailConfirmationPrompt`})
|
logger.error(e, {message: `session: failed snoozeEmailConfirmationPrompt`})
|
||||||
}
|
}
|
||||||
|
|
||||||
- agent.configureProxy(BLUESKY_PROXY_HEADER.get())
|
- agent.configureProxy(BLUESKY_PROXY_HEADER.get())
|
||||||
+ // Disable proxy for self-hosted environments
|
+ // Disable proxy for self-hosted environments
|
||||||
+ // agent.configureProxy(BLUESKY_PROXY_HEADER.get())
|
+ // agent.configureProxy(BLUESKY_PROXY_HEADER.get())
|
||||||
|
|
||||||
return agent.prepare({
|
return agent.prepare({
|
||||||
resolvers: [gates, moderation, aa],
|
resolvers: [gates, moderation, aa],
|
||||||
|
|||||||
@@ -1,37 +1,37 @@
|
|||||||
diff --git a/src/screens/Settings/AboutSettings.tsx b/src/screens/Settings/AboutSettings.tsx
|
diff --git a/src/screens/Settings/AboutSettings.tsx b/src/screens/Settings/AboutSettings.tsx
|
||||||
index 6b8257b91..48ba7909e 100644
|
index 9ba067a2f..e34b9f9b0 100644
|
||||||
--- a/src/screens/Settings/AboutSettings.tsx
|
--- a/src/screens/Settings/AboutSettings.tsx
|
||||||
+++ b/src/screens/Settings/AboutSettings.tsx
|
+++ b/src/screens/Settings/AboutSettings.tsx
|
||||||
@@ -78,14 +78,14 @@ export function AboutSettingsScreen({}: Props) {
|
@@ -78,7 +78,7 @@ export function AboutSettingsScreen({}: Props) {
|
||||||
<Layout.Content>
|
<Layout.Content>
|
||||||
<SettingsList.Container>
|
<SettingsList.Container>
|
||||||
<SettingsList.LinkItem
|
<SettingsList.LinkItem
|
||||||
- to="https://bsky.social/about/support/tos"
|
- to="https://bsky.social/about/support/tos"
|
||||||
+ to="https://syu.is/about/support/tos"
|
+ to="/support/tos"
|
||||||
label={_(msg`Terms of Service`)}>
|
label={_(msg`Terms of Service`)}>
|
||||||
<SettingsList.ItemIcon icon={NewspaperIcon} />
|
<SettingsList.ItemIcon icon={NewspaperIcon} />
|
||||||
<SettingsList.ItemText>
|
<SettingsList.ItemText>
|
||||||
<Trans>Terms of Service</Trans>
|
@@ -86,7 +86,7 @@ export function AboutSettingsScreen({}: Props) {
|
||||||
</SettingsList.ItemText>
|
</SettingsList.ItemText>
|
||||||
</SettingsList.LinkItem>
|
</SettingsList.LinkItem>
|
||||||
<SettingsList.LinkItem
|
<SettingsList.LinkItem
|
||||||
- to="https://bsky.social/about/support/privacy-policy"
|
- to="https://bsky.social/about/support/privacy-policy"
|
||||||
+ to="https://syu.is/about/support/privacy-policy"
|
+ to="/support/privacy-policy"
|
||||||
label={_(msg`Privacy Policy`)}>
|
label={_(msg`Privacy Policy`)}>
|
||||||
<SettingsList.ItemIcon icon={NewspaperIcon} />
|
<SettingsList.ItemIcon icon={NewspaperIcon} />
|
||||||
<SettingsList.ItemText>
|
<SettingsList.ItemText>
|
||||||
diff --git a/src/screens/Takendown.tsx b/src/screens/Takendown.tsx
|
diff --git a/src/screens/Takendown.tsx b/src/screens/Takendown.tsx
|
||||||
index 77f219e55..53f5e0cc0 100644
|
index 660aecf1a..f19a62c0f 100644
|
||||||
--- a/src/screens/Takendown.tsx
|
--- a/src/screens/Takendown.tsx
|
||||||
+++ b/src/screens/Takendown.tsx
|
+++ b/src/screens/Takendown.tsx
|
||||||
@@ -214,10 +214,10 @@ export function Takendown() {
|
@@ -212,10 +212,10 @@ export function Takendown() {
|
||||||
<Trans>
|
<Trans>
|
||||||
Your account was found to be in violation of the{' '}
|
Your account was found to be in violation of the{' '}
|
||||||
<SimpleInlineLinkText
|
<SimpleInlineLinkText
|
||||||
- label={_(msg`Bluesky Social Terms of Service`)}
|
- label={_(msg`Bluesky Social Terms of Service`)}
|
||||||
- to="https://bsky.social/about/support/tos"
|
- to="https://bsky.social/about/support/tos"
|
||||||
+ label={_(msg`syu.is Terms of Service`)}
|
+ label={_(msg`syu.is Terms of Service`)}
|
||||||
+ to="https://syu.is/about/support/tos"
|
+ to="/support/tos"
|
||||||
style={[a.text_md, a.leading_snug]}>
|
style={[a.text_md, a.leading_snug]}>
|
||||||
- Bluesky Social Terms of Service
|
- Bluesky Social Terms of Service
|
||||||
+ syu.is Terms of Service
|
+ syu.is Terms of Service
|
||||||
@@ -39,10 +39,10 @@ index 77f219e55..53f5e0cc0 100644
|
|||||||
. You have been sent an email outlining the specific violation
|
. You have been sent an email outlining the specific violation
|
||||||
and suspension period, if applicable. You can appeal this
|
and suspension period, if applicable. You can appeal this
|
||||||
diff --git a/src/view/screens/PrivacyPolicy.tsx b/src/view/screens/PrivacyPolicy.tsx
|
diff --git a/src/view/screens/PrivacyPolicy.tsx b/src/view/screens/PrivacyPolicy.tsx
|
||||||
index a89eaadc4..1da393f03 100644
|
index a89eaadc4..71ce7c81f 100644
|
||||||
--- a/src/view/screens/PrivacyPolicy.tsx
|
--- a/src/view/screens/PrivacyPolicy.tsx
|
||||||
+++ b/src/view/screens/PrivacyPolicy.tsx
|
+++ b/src/view/screens/PrivacyPolicy.tsx
|
||||||
@@ -1,52 +1,13 @@
|
@@ -1,51 +1,49 @@
|
||||||
import React from 'react'
|
import React from 'react'
|
||||||
-import {View} from 'react-native'
|
-import {View} from 'react-native'
|
||||||
-import {msg, Trans} from '@lingui/macro'
|
-import {msg, Trans} from '@lingui/macro'
|
||||||
@@ -59,7 +59,7 @@ index a89eaadc4..1da393f03 100644
|
|||||||
-import {TextLink} from '#/view/com/util/Link'
|
-import {TextLink} from '#/view/com/util/Link'
|
||||||
-import {Text} from '#/view/com/util/text/Text'
|
-import {Text} from '#/view/com/util/text/Text'
|
||||||
-import {ScrollView} from '#/view/com/util/Views'
|
-import {ScrollView} from '#/view/com/util/Views'
|
||||||
+import { WebView } from 'react-native-webview'
|
+import {ScrollView} from 'react-native'
|
||||||
import * as Layout from '#/components/Layout'
|
import * as Layout from '#/components/Layout'
|
||||||
-import {ViewHeader} from '../com/util/ViewHeader'
|
-import {ViewHeader} from '../com/util/ViewHeader'
|
||||||
-
|
-
|
||||||
@@ -75,9 +75,13 @@ index a89eaadc4..1da393f03 100644
|
|||||||
- }, [setMinimalShellMode]),
|
- }, [setMinimalShellMode]),
|
||||||
- )
|
- )
|
||||||
+import {useSetTitle} from '#/lib/hooks/useSetTitle'
|
+import {useSetTitle} from '#/lib/hooks/useSetTitle'
|
||||||
|
+import {atoms as a, useTheme} from '#/alf'
|
||||||
|
+import {Text} from '#/components/Typography'
|
||||||
|
+
|
||||||
+export function PrivacyPolicyScreen() {
|
+export function PrivacyPolicyScreen() {
|
||||||
+ useSetTitle('Privacy Policy')
|
+ useSetTitle('Privacy Policy')
|
||||||
|
+ const t = useTheme()
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Layout.Screen>
|
<Layout.Screen>
|
||||||
- <ViewHeader title={_(msg`Privacy Policy`)} />
|
- <ViewHeader title={_(msg`Privacy Policy`)} />
|
||||||
@@ -95,16 +99,47 @@ index a89eaadc4..1da393f03 100644
|
|||||||
- </Text>
|
- </Text>
|
||||||
- </View>
|
- </View>
|
||||||
- <View style={s.footerSpacer} />
|
- <View style={s.footerSpacer} />
|
||||||
- </ScrollView>
|
+ <ScrollView
|
||||||
+ <WebView source={{ uri: 'https://syu.is/about/support/privacy-policy' }} style={{ flex: 1 }} />
|
+ style={[a.flex_1, {backgroundColor: t.palette.white}]}
|
||||||
|
+ contentContainerStyle={[a.p_lg, a.pt_5xl, a.pb_5xl]}>
|
||||||
|
+ <Text style={[a.text_2xl, a.font_bold, a.mb_lg]}>Privacy Policy</Text>
|
||||||
|
+
|
||||||
|
+ <Text style={[a.text_lg, a.font_bold, a.mt_lg, a.mb_md]}>Data Collection</Text>
|
||||||
|
+ <Text style={[a.mb_md]}>
|
||||||
|
+ syu.is collects minimal data necessary to provide the service. This includes your account information, posts, and interactions on the AT Protocol network.
|
||||||
|
+ </Text>
|
||||||
|
+
|
||||||
|
+ <Text style={[a.text_lg, a.font_bold, a.mt_lg, a.mb_md]}>Data Storage</Text>
|
||||||
|
+ <Text style={[a.mb_md]}>
|
||||||
|
+ Your data is stored on the AT Protocol network. Posts and profile information are public by default as part of the decentralized social network.
|
||||||
|
+ </Text>
|
||||||
|
+
|
||||||
|
+ <Text style={[a.text_lg, a.font_bold, a.mt_lg, a.mb_md]}>Third Parties</Text>
|
||||||
|
+ <Text style={[a.mb_md]}>
|
||||||
|
+ We do not sell your personal information to third parties. Your data may be visible to other users and services on the AT Protocol network.
|
||||||
|
+ </Text>
|
||||||
|
+
|
||||||
|
+ <Text style={[a.text_lg, a.font_bold, a.mt_lg, a.mb_md]}>Contact</Text>
|
||||||
|
+ <Text style={[a.mb_md]}>
|
||||||
|
+ For privacy-related questions, please contact the administrator.
|
||||||
|
+ </Text>
|
||||||
|
+
|
||||||
|
+ <Text style={[a.text_lg, a.font_bold, a.mt_xl, a.mb_md]}>日本語</Text>
|
||||||
|
+ <Text style={[a.mb_md]}>
|
||||||
|
+ syu.isはサービス提供に必要な最小限のデータのみを収集します。投稿やプロフィール情報はAT Protocolネットワーク上で公開されます。個人情報を第三者に販売することはありません。
|
||||||
|
+ </Text>
|
||||||
|
+
|
||||||
|
+ <Text style={[a.text_sm, a.mt_xl, {color: t.palette.contrast_500}]}>
|
||||||
|
+ Last updated: 2025
|
||||||
|
+ </Text>
|
||||||
|
</ScrollView>
|
||||||
</Layout.Screen>
|
</Layout.Screen>
|
||||||
)
|
)
|
||||||
}
|
|
||||||
diff --git a/src/view/screens/TermsOfService.tsx b/src/view/screens/TermsOfService.tsx
|
diff --git a/src/view/screens/TermsOfService.tsx b/src/view/screens/TermsOfService.tsx
|
||||||
index d843c713c..b81767bd5 100644
|
index d843c713c..c6a36268b 100644
|
||||||
--- a/src/view/screens/TermsOfService.tsx
|
--- a/src/view/screens/TermsOfService.tsx
|
||||||
+++ b/src/view/screens/TermsOfService.tsx
|
+++ b/src/view/screens/TermsOfService.tsx
|
||||||
@@ -1,50 +1,13 @@
|
@@ -1,49 +1,49 @@
|
||||||
import React from 'react'
|
import React from 'react'
|
||||||
-import {View} from 'react-native'
|
-import {View} from 'react-native'
|
||||||
-import {msg, Trans} from '@lingui/macro'
|
-import {msg, Trans} from '@lingui/macro'
|
||||||
@@ -121,7 +156,7 @@ index d843c713c..b81767bd5 100644
|
|||||||
-import {TextLink} from '#/view/com/util/Link'
|
-import {TextLink} from '#/view/com/util/Link'
|
||||||
-import {Text} from '#/view/com/util/text/Text'
|
-import {Text} from '#/view/com/util/text/Text'
|
||||||
-import {ScrollView} from '#/view/com/util/Views'
|
-import {ScrollView} from '#/view/com/util/Views'
|
||||||
+import { WebView } from 'react-native-webview'
|
+import {ScrollView} from 'react-native'
|
||||||
import * as Layout from '#/components/Layout'
|
import * as Layout from '#/components/Layout'
|
||||||
-import {ViewHeader} from '../com/util/ViewHeader'
|
-import {ViewHeader} from '../com/util/ViewHeader'
|
||||||
-
|
-
|
||||||
@@ -137,9 +172,13 @@ index d843c713c..b81767bd5 100644
|
|||||||
- }, [setMinimalShellMode]),
|
- }, [setMinimalShellMode]),
|
||||||
- )
|
- )
|
||||||
+import {useSetTitle} from '#/lib/hooks/useSetTitle'
|
+import {useSetTitle} from '#/lib/hooks/useSetTitle'
|
||||||
|
+import {atoms as a, useTheme} from '#/alf'
|
||||||
|
+import {Text} from '#/components/Typography'
|
||||||
|
+
|
||||||
+export function TermsOfServiceScreen() {
|
+export function TermsOfServiceScreen() {
|
||||||
+ useSetTitle('Terms of Service')
|
+ useSetTitle('Terms of Service')
|
||||||
|
+ const t = useTheme()
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Layout.Screen>
|
<Layout.Screen>
|
||||||
- <ViewHeader title={_(msg`Terms of Service`)} />
|
- <ViewHeader title={_(msg`Terms of Service`)} />
|
||||||
@@ -155,8 +194,39 @@ index d843c713c..b81767bd5 100644
|
|||||||
- </Text>
|
- </Text>
|
||||||
- </View>
|
- </View>
|
||||||
- <View style={s.footerSpacer} />
|
- <View style={s.footerSpacer} />
|
||||||
- </ScrollView>
|
+ <ScrollView
|
||||||
+ <WebView source={{ uri: 'https://syu.is/about/support/tos' }} style={{ flex: 1 }} />
|
+ style={[a.flex_1, {backgroundColor: t.palette.white}]}
|
||||||
|
+ contentContainerStyle={[a.p_lg, a.pt_5xl, a.pb_5xl]}>
|
||||||
|
+ <Text style={[a.text_2xl, a.font_bold, a.mb_lg]}>Terms of Service</Text>
|
||||||
|
+
|
||||||
|
+ <Text style={[a.text_lg, a.font_bold, a.mt_lg, a.mb_md]}>Acceptance</Text>
|
||||||
|
+ <Text style={[a.mb_md]}>
|
||||||
|
+ By using syu.is, you agree to these terms. If you do not agree, please do not use the service.
|
||||||
|
+ </Text>
|
||||||
|
+
|
||||||
|
+ <Text style={[a.text_lg, a.font_bold, a.mt_lg, a.mb_md]}>Prohibited Content</Text>
|
||||||
|
+ <Text style={[a.mb_md]}>
|
||||||
|
+ Do not post illegal content, spam, or harass others. Do not impersonate others or spread misinformation.
|
||||||
|
+ </Text>
|
||||||
|
+
|
||||||
|
+ <Text style={[a.text_lg, a.font_bold, a.mt_lg, a.mb_md]}>Account Termination</Text>
|
||||||
|
+ <Text style={[a.mb_md]}>
|
||||||
|
+ The administrator reserves the right to suspend or terminate accounts that violate these terms.
|
||||||
|
+ </Text>
|
||||||
|
+
|
||||||
|
+ <Text style={[a.text_lg, a.font_bold, a.mt_lg, a.mb_md]}>Disclaimer</Text>
|
||||||
|
+ <Text style={[a.mb_md]}>
|
||||||
|
+ This service is provided "as is" without warranty of any kind.
|
||||||
|
+ </Text>
|
||||||
|
+
|
||||||
|
+ <Text style={[a.text_lg, a.font_bold, a.mt_xl, a.mb_md]}>日本語</Text>
|
||||||
|
+ <Text style={[a.mb_md]}>
|
||||||
|
+ syu.isを利用することで、これらの利用規約に同意したものとみなします。違法なコンテンツの投稿、スパム、他者への嫌がらせは禁止です。管理者は規約違反のアカウントを停止する権利を有します。本サービスは現状のまま提供され、いかなる保証もありません。
|
||||||
|
+ </Text>
|
||||||
|
+
|
||||||
|
+ <Text style={[a.text_sm, a.mt_xl, {color: t.palette.contrast_500}]}>
|
||||||
|
+ Last updated: 2025
|
||||||
|
+ </Text>
|
||||||
|
</ScrollView>
|
||||||
</Layout.Screen>
|
</Layout.Screen>
|
||||||
)
|
)
|
||||||
}
|
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
diff --git a/src/view/shell/Drawer.tsx b/src/view/shell/Drawer.tsx
|
diff --git a/src/view/shell/Drawer.tsx b/src/view/shell/Drawer.tsx
|
||||||
index f76147ccf..36b4d7de1 100644
|
index 42a5fe417..8e7963512 100644
|
||||||
--- a/src/view/shell/Drawer.tsx
|
--- a/src/view/shell/Drawer.tsx
|
||||||
+++ b/src/view/shell/Drawer.tsx
|
+++ b/src/view/shell/Drawer.tsx
|
||||||
@@ -292,17 +292,11 @@ let DrawerContent = ({}: React.PropsWithoutRef<{}>): React.ReactNode => {
|
@@ -294,17 +294,11 @@ let DrawerContent = ({}: React.PropsWithoutRef<{}>): React.ReactNode => {
|
||||||
<>
|
<>
|
||||||
<SearchMenuItem isActive={isAtSearch} onPress={onPressSearch} />
|
<SearchMenuItem isActive={isAtSearch} onPress={onPressSearch} />
|
||||||
<HomeMenuItem isActive={isAtHome} onPress={onPressHome} />
|
<HomeMenuItem isActive={isAtHome} onPress={onPressHome} />
|
||||||
@@ -20,7 +20,7 @@ index f76147ccf..36b4d7de1 100644
|
|||||||
<ProfileMenuItem
|
<ProfileMenuItem
|
||||||
isActive={isAtMyProfile}
|
isActive={isAtMyProfile}
|
||||||
onPress={onPressProfile}
|
onPress={onPressProfile}
|
||||||
@@ -357,17 +351,7 @@ let DrawerFooter = ({
|
@@ -359,17 +353,7 @@ let DrawerFooter = ({
|
||||||
),
|
),
|
||||||
},
|
},
|
||||||
]}>
|
]}>
|
||||||
@@ -39,18 +39,27 @@ index f76147ccf..36b4d7de1 100644
|
|||||||
<Button
|
<Button
|
||||||
label={_(msg`Get help`)}
|
label={_(msg`Get help`)}
|
||||||
size="small"
|
size="small"
|
||||||
@@ -695,12 +679,12 @@ function ExtraLinks() {
|
@@ -697,15 +681,21 @@ function ExtraLinks() {
|
||||||
<InlineLinkText
|
<InlineLinkText
|
||||||
style={[a.text_md]}
|
style={[a.text_md]}
|
||||||
label={_(msg`Terms of Service`)}
|
label={_(msg`Terms of Service`)}
|
||||||
- to="https://bsky.social/about/support/tos">
|
- to="https://bsky.social/about/support/tos">
|
||||||
+ to="https://syu.is/about/support/tos">
|
+ to="/support/tos">
|
||||||
<Trans>Terms of Service</Trans>
|
<Trans>Terms of Service</Trans>
|
||||||
</InlineLinkText>
|
</InlineLinkText>
|
||||||
<InlineLinkText
|
<InlineLinkText
|
||||||
style={[a.text_md]}
|
style={[a.text_md]}
|
||||||
- to="https://bsky.social/about/support/privacy-policy"
|
- to="https://bsky.social/about/support/privacy-policy"
|
||||||
+ to="https://syu.is/about/support/privacy-policy"
|
+ to="/support/privacy-policy"
|
||||||
label={_(msg`Privacy Policy`)}>
|
label={_(msg`Privacy Policy`)}>
|
||||||
<Trans>Privacy Policy</Trans>
|
<Trans>Privacy Policy</Trans>
|
||||||
</InlineLinkText>
|
</InlineLinkText>
|
||||||
|
+ <InlineLinkText
|
||||||
|
+ style={[a.text_md]}
|
||||||
|
+ to="/support/license"
|
||||||
|
+ label="License">
|
||||||
|
+ License
|
||||||
|
+ </InlineLinkText>
|
||||||
|
{kawaii && (
|
||||||
|
<Text style={t.atoms.text_contrast_medium}>
|
||||||
|
<Trans>
|
||||||
|
|||||||
@@ -20,13 +20,13 @@ index 8365057e8..59c8506a2 100644
|
|||||||
terms: {
|
terms: {
|
||||||
overridePresentation: false,
|
overridePresentation: false,
|
||||||
- to: `https://bsky.social/about/support/tos`,
|
- to: `https://bsky.social/about/support/tos`,
|
||||||
+ to: `https://syu.is/about/support/tos`,
|
+ to: `/support/tos`,
|
||||||
label: _(msg`Terms of Service`),
|
label: _(msg`Terms of Service`),
|
||||||
},
|
},
|
||||||
privacy: {
|
privacy: {
|
||||||
overridePresentation: false,
|
overridePresentation: false,
|
||||||
- to: `https://bsky.social/about/support/privacy-policy`,
|
- to: `https://bsky.social/about/support/privacy-policy`,
|
||||||
+ to: `https://syu.is/about/support/privacy-policy`,
|
+ to: `/support/privacy-policy`,
|
||||||
label: _(msg`Privacy Policy`),
|
label: _(msg`Privacy Policy`),
|
||||||
},
|
},
|
||||||
copyright: {
|
copyright: {
|
||||||
|
|||||||
@@ -1,41 +1,10 @@
|
|||||||
diff --git a/src/view/com/auth/SplashScreen.tsx b/src/view/com/auth/SplashScreen.tsx
|
|
||||||
index 3442d1bdf..8ed9e3d0d 100644
|
|
||||||
--- a/src/view/com/auth/SplashScreen.tsx
|
|
||||||
+++ b/src/view/com/auth/SplashScreen.tsx
|
|
||||||
@@ -1,5 +1,6 @@
|
|
||||||
import {useMemo} from 'react'
|
|
||||||
-import {Image as RNImage, View} from 'react-native'
|
|
||||||
+import {Image as RNImage, View, Pressable, Linking} from 'react-native'
|
|
||||||
+import {Text} from '#/components/Typography'
|
|
||||||
import Animated, {FadeIn, FadeOut} from 'react-native-reanimated'
|
|
||||||
import {Image} from 'expo-image'
|
|
||||||
import {msg, Trans} from '@lingui/macro'
|
|
||||||
@@ -124,6 +125,18 @@ export const SplashScreen = ({
|
|
||||||
</ButtonText>
|
|
||||||
</Button>
|
|
||||||
</View>
|
|
||||||
+ <View style={[a.pb_sm, a.justify_center, a.align_center]}>
|
|
||||||
+ <Pressable onPress={() => Linking.openURL('https://syu.is/about/support/license')}>
|
|
||||||
+ <Text
|
|
||||||
+ style={[
|
|
||||||
+ a.text_xs,
|
|
||||||
+ t.atoms.text_contrast_low,
|
|
||||||
+ {textDecorationLine: 'underline'},
|
|
||||||
+ ]}>
|
|
||||||
+ License
|
|
||||||
+ </Text>
|
|
||||||
+ </Pressable>
|
|
||||||
+ </View>
|
|
||||||
</Animated.View>
|
|
||||||
</>
|
|
||||||
)
|
|
||||||
diff --git a/src/view/com/auth/SplashScreen.web.tsx b/src/view/com/auth/SplashScreen.web.tsx
|
diff --git a/src/view/com/auth/SplashScreen.web.tsx b/src/view/com/auth/SplashScreen.web.tsx
|
||||||
index 22dd23d7f..7ceb3800e 100644
|
index d9185d778..504f521a4 100644
|
||||||
--- a/src/view/com/auth/SplashScreen.web.tsx
|
--- a/src/view/com/auth/SplashScreen.web.tsx
|
||||||
+++ b/src/view/com/auth/SplashScreen.web.tsx
|
+++ b/src/view/com/auth/SplashScreen.web.tsx
|
||||||
@@ -94,14 +94,6 @@ export const SplashScreen = ({
|
@@ -94,14 +94,6 @@ export const SplashScreen = ({
|
||||||
</View>
|
</View>
|
||||||
)}
|
)}
|
||||||
|
|
||||||
- <Text
|
- <Text
|
||||||
- style={[
|
- style={[
|
||||||
|
|||||||
@@ -1,51 +1,17 @@
|
|||||||
diff --git a/bskyweb/cmd/bskyweb/server.go b/bskyweb/cmd/bskyweb/server.go
|
|
||||||
index 790f211ee..ec05a8bcd 100644
|
|
||||||
--- a/bskyweb/cmd/bskyweb/server.go
|
--- a/bskyweb/cmd/bskyweb/server.go
|
||||||
+++ b/bskyweb/cmd/bskyweb/server.go
|
+++ b/bskyweb/cmd/bskyweb/server.go
|
||||||
@@ -317,6 +317,12 @@ func serve(cctx *cli.Context) error {
|
@@ -317,6 +317,14 @@ func serve(cctx *cli.Context) error {
|
||||||
e.GET("/support/tos", server.WebGeneric)
|
e.GET("/support/tos", server.WebGeneric)
|
||||||
e.GET("/support/community-guidelines", server.WebGeneric)
|
e.GET("/support/community-guidelines", server.WebGeneric)
|
||||||
e.GET("/support/copyright", server.WebGeneric)
|
e.GET("/support/copyright", server.WebGeneric)
|
||||||
+ // about/support pages (syu.is specific)
|
+ e.GET("/support/privacy-policy", server.WebGeneric)
|
||||||
+ e.GET("/about/support/tos", server.WebAboutTOS)
|
+ e.GET("/support/license", server.WebGeneric)
|
||||||
+ e.GET("/about/support/privacy-policy", server.WebAboutPrivacy)
|
+ e.GET("/support/app", server.WebGeneric)
|
||||||
+ e.GET("/about/support/help", server.WebAboutHelp)
|
+ e.GET("/support/help", server.WebGeneric)
|
||||||
+ e.GET("/about/support/license", server.WebAboutLicense)
|
+ // /about/support/ paths (for web compatibility)
|
||||||
+ e.GET("/about/support/app", server.WebAboutApp)
|
+ e.GET("/about/support/tos", server.WebGeneric)
|
||||||
|
+ e.GET("/about/support/privacy-policy", server.WebGeneric)
|
||||||
|
+ e.GET("/about/support/license", server.WebGeneric)
|
||||||
e.GET("/intent/compose", server.WebGeneric)
|
e.GET("/intent/compose", server.WebGeneric)
|
||||||
e.GET("/intent/verify-email", server.WebGeneric)
|
e.GET("/intent/verify-email", server.WebGeneric)
|
||||||
e.GET("/intent/age-assurance", server.WebGeneric)
|
e.GET("/intent/age-assurance", server.WebGeneric)
|
||||||
@@ -825,3 +831,33 @@ func (srv *Server) serveSitemapRequest(c echo.Context, url, sitemapType string)
|
|
||||||
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
+
|
|
||||||
+// 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)
|
|
||||||
+}
|
|
||||||
|
|||||||
Reference in New Issue
Block a user