some copy changes

This commit is contained in:
Moon.eth
2026-07-30 20:31:34 +09:00
parent f735de5185
commit 1b14d94f6a
8 changed files with 71 additions and 5 deletions
-3
View File
@@ -16,9 +16,6 @@ you can host anywhere.
The canonical repository is hosted on Radicle:
`rad://z2gAKC6ESt5ZBV419uVPf2vFtEHCT`.
The backup mirror is
[`https://git.shipoclu.com/moon/plspace.git`](https://git.shipoclu.com/moon/plspace.git).
## What it looks like
| MySpace | plspace |
+4 -1
View File
@@ -18,6 +18,7 @@
import Search from '$routes/Search.svelte'
import Login from '$routes/Login.svelte'
import Settings from '$routes/Settings.svelte'
import About from '$routes/About.svelte'
import Compose from '$routes/Compose.svelte'
import NotFound from '$routes/NotFound.svelte'
import type { TimelineKind } from '$lib/api/endpoints'
@@ -50,7 +51,7 @@
const route = $derived(router.current)
/** Route names that are usable before a server is chosen. */
const ALWAYS_AVAILABLE = new Set(['login', 'settings', 'notfound'])
const ALWAYS_AVAILABLE = new Set(['login', 'settings', 'about', 'notfound'])
const TIMELINE_KINDS: readonly TimelineKind[] = ['home', 'public', 'local']
@@ -109,6 +110,8 @@
<Login />
{:else if route.name === 'settings'}
<Settings />
{:else if route.name === 'about'}
<About />
{:else}
<NotFound />
{/if}
+1
View File
@@ -15,6 +15,7 @@
<a href="#/browse">Browse</a>
<a href="#/search">Search</a>
<a href="#/settings">Settings</a>
<a href="#/about">About plspace</a>
{#if domain}
<a href={`https://${session.host}/about`} target="_blank" rel="noopener noreferrer">About this server</a>
{/if}
+1
View File
@@ -25,6 +25,7 @@ const ROUTES: RoutePattern[] = [
{ name: 'home', pattern: '/' },
{ name: 'login', pattern: '/login' },
{ name: 'settings', pattern: '/settings' },
{ name: 'about', pattern: '/about' },
{ name: 'browse', pattern: '/browse' },
{ name: 'search', pattern: '/search' },
{ name: 'mail', pattern: '/mail' },
+7
View File
@@ -17,4 +17,11 @@ describe('parseHash', () => {
params: { id: 'status/one' },
})
})
it('routes the public About page', () => {
expect(parseHash('#/about')).toMatchObject({
name: 'about',
params: {},
})
})
})
+34
View File
@@ -0,0 +1,34 @@
<script lang="ts">
import Module from '$components/common/Module.svelte'
const RADICLE_REPOSITORY = 'rad://z2gAKC6ESt5ZBV419uVPf2vFtEHCT'
$effect(() => {
document.title = 'About plspace | plspace'
})
</script>
<div class="page about-page">
<h1 class="page-title">About plspace</h1>
<p class="page-subtitle">It&rsquo;s always Pleroma&trade;.</p>
<div class="layout--single">
<Module title="About plspace" variant="band">
<p>
plspace is free software licensed under the
<strong>GNU Affero General Public License (AGPL)</strong>.
</p>
<p>
The source code is in the canonical Radicle repository:
<a href={RADICLE_REPOSITORY}><code>{RADICLE_REPOSITORY}</code></a>.
</p>
<p>
Made by <a href="#/@zero@posting.solutions">@zero@posting.solutions</a>.
</p>
<p>
<strong>Privacy policy:</strong> zero logging and zero tracking.
</p>
<p><strong>proudly 100% vibe-coded slop.</strong></p>
</Module>
</div>
</div>
+23
View File
@@ -0,0 +1,23 @@
import { render } from '@testing-library/svelte'
import { describe, expect, it } from 'vitest'
import About from './About.svelte'
describe('About', () => {
it('identifies the license, canonical source, author, and provenance', () => {
const view = render(About)
expect(view.getByRole('heading', { name: 'About plspace', level: 1 })).toBeInTheDocument()
expect(view.getByText(/GNU Affero General Public License/)).toBeInTheDocument()
expect(
view.getByRole('link', {
name: 'rad://z2gAKC6ESt5ZBV419uVPf2vFtEHCT',
}),
).toHaveAttribute('href', 'rad://z2gAKC6ESt5ZBV419uVPf2vFtEHCT')
expect(view.getByRole('link', { name: '@zero@posting.solutions' })).toHaveAttribute(
'href',
'#/@zero@posting.solutions',
)
expect(view.getByText(/zero logging and zero tracking/i)).toBeInTheDocument()
expect(view.getByText('proudly 100% vibe-coded slop.')).toBeInTheDocument()
})
})
+1 -1
View File
@@ -25,7 +25,7 @@
* anonymous timeline reads; suggesting one of those hands a first-time
* visitor an empty page. Re-check before adding to this list.
*/
const SUGGESTIONS = ['pleroma.soykaf.com', 'lain.com', 'spinster.xyz']
const SUGGESTIONS = ['pleroma.soykaf.com', 'lain.com', 'fosstodon.org']
async function signIn(event: SubmitEvent): Promise<void> {
event.preventDefault()