diff --git a/src/Navigation.tsx b/src/Navigation.tsx index fa33a9d56..13af087c2 100644 --- a/src/Navigation.tsx +++ b/src/Navigation.tsx @@ -62,6 +62,7 @@ import {NotFoundScreen} from '#/view/screens/NotFound' import {NotificationsScreen} from '#/view/screens/Notifications' import {PostThreadScreen} from '#/view/screens/PostThread' import {PrivacyPolicyScreen} from '#/view/screens/PrivacyPolicy' +import {LicenseScreen} from '#/view/screens/License' import {ProfileScreen} from '#/view/screens/Profile' import {ProfileFeedLikedByScreen} from '#/view/screens/ProfileFeedLikedBy' import {Storybook} from '#/view/screens/Storybook' @@ -335,6 +336,11 @@ function commonScreens(Stack: typeof Flat, unreadCountLabel?: string) { getComponent={() => TermsOfServiceScreen} options={{title: title(msg`Terms of Service`)}} /> + LicenseScreen} + options={{title: title(msg`License`)}} + /> CommunityGuidelinesScreen} diff --git a/src/lib/routes/types.ts b/src/lib/routes/types.ts index c315a8341..9b2f50a83 100644 --- a/src/lib/routes/types.ts +++ b/src/lib/routes/types.ts @@ -39,6 +39,7 @@ export type CommonNavigatorParams = { Support: undefined PrivacyPolicy: undefined TermsOfService: undefined + License: undefined CommunityGuidelines: undefined CopyrightPolicy: undefined LanguageSettings: undefined diff --git a/src/view/screens/License.tsx b/src/view/screens/License.tsx new file mode 100644 index 000000000..87f52a972 --- /dev/null +++ b/src/view/screens/License.tsx @@ -0,0 +1,132 @@ +import React from 'react' +import { ScrollView, Text as RNText, StyleSheet } from 'react-native' +import * as Layout from '#/components/Layout' +import {useSetTitle} from '#/lib/hooks/useSetTitle' +import {atoms as a, useTheme} from '#/alf' + +export function LicenseScreen() { + useSetTitle('License') + const t = useTheme() + + return ( + + + + + License + + + + + + + This application is based on Bluesky Social App. + + + + https://github.com/bluesky-social/social-app + + + MIT License + + + Copyright (c) 2022-2025 Bluesky PBC + + + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. + + + 日本語訳(参考) + + + 本ソフトウェアおよび関連文書ファイル(以下「ソフトウェア」)のコピーを取得する + すべての人に対し、ソフトウェアを無制限に扱うことを無償で許可します。これには、 + ソフトウェアのコピーを使用、複製、変更、結合、公開、配布、サブライセンス、 + および/または販売する権利、ならびにソフトウェアを提供する相手にそうした行為を + 許可する権利が含まれますが、これらに限定されません。 + + + + 上記の著作権表示および本許諾表示を、ソフトウェアのすべてのコピーまたは + 重要な部分に記載するものとします。 + + + + ソフトウェアは「現状のまま」で提供され、明示黙示を問わず、商品性、特定目的への + 適合性、および権利非侵害についての保証を含む、いかなる種類の保証もなされません。 + いかなる場合においても、作者または著作権者は、契約行為、不法行為、またはそれ以外で + あろうと、ソフトウェアに起因または関連し、あるいはソフトウェアの使用または + その他の扱いによって生じる一切の請求、損害、その他の義務について責任を負わないものとします。 + + + + Original License: https://github.com/bluesky-social/social-app/blob/main/LICENSE + + + + + ) +} + +const styles = StyleSheet.create({ + title: { + fontSize: 24, + fontWeight: 'bold', + marginBottom: 16, + }, + text: { + fontSize: 14, + marginBottom: 12, + lineHeight: 20, + }, + link: { + fontSize: 14, + marginBottom: 12, + color: '#0066cc', + }, + sectionTitle: { + fontSize: 18, + fontWeight: 'bold', + marginTop: 16, + marginBottom: 12, + }, + sectionTitle2: { + fontSize: 18, + fontWeight: 'bold', + marginTop: 24, + marginBottom: 12, + }, + mono: { + fontSize: 14, + marginBottom: 12, + fontFamily: 'monospace', + }, + footer: { + fontSize: 12, + marginTop: 24, + color: '#666666', + }, +})