rebrand to campfire!
24
README.md
|
@ -1,17 +1,14 @@
|
|||
# space social
|
||||
# Campfire
|
||||
|
||||
social media for the galaxy-wide-web! 🌌
|
||||
|
||||
this is a neat experiment in building as much of a fediverse-compatible
|
||||
software stack as i can (at least before the crippling weight of the full
|
||||
activitypub spec finally cripples me)
|
||||
|
||||
starting, of course, with a nice frontend! ✨
|
||||
this is a *very experimental* frontend for browsing the fediverse, built
|
||||
from the ground up in svelte!
|
||||
|
||||
should you choose to play around with this yourself, just know that *many
|
||||
things are bound not to work!* notably, this has only been tested on iceshrimp
|
||||
and mastodon API-compliant instances. anything beyond this will likely be
|
||||
incompatible, and the web console will get very upset.
|
||||
things are bound not to work!* notably, campfire is currently only being
|
||||
battle-tested on mastodon API-compliant instances. anything beyond this
|
||||
will likely be incompatible, and the web console will get very upset.
|
||||
|
||||
## features
|
||||
|
||||
|
@ -34,10 +31,17 @@ incompatible, and the web console will get very upset.
|
|||
- fast account switching
|
||||
- post editing/deletion
|
||||
- push notifications
|
||||
- ...and potentially much more as development continues!
|
||||
|
||||
## try it out!
|
||||
|
||||
- `git clone` this repo
|
||||
- `npm install` the dependencies
|
||||
- `npm run dev` to spin up the dev environment
|
||||
- have fun! ✨
|
||||
|
||||
if you wish to run this in production, you need only `npm run build` and
|
||||
place the static files somewhere accessible by a static webhost, such as
|
||||
nginx or apache! **note:** your web server should attempt to reach
|
||||
`/fallback.html` before erroring out.
|
||||
|
||||
have fun! ✨
|
||||
|
|
BIN
res/campfire-favicon.afdesign
(Stored with Git LFS)
Normal file
BIN
res/campfire-logo.afdesign
(Stored with Git LFS)
Normal file
BIN
res/spacesocial-favicon.afdesign
(Stored with Git LFS)
BIN
res/spacesocial-logo.afdesign
(Stored with Git LFS)
16
src/app.html
|
@ -5,21 +5,21 @@
|
|||
<link rel="icon" type="image/png" href="/favicon.png">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
|
||||
<title>Space Social</title>
|
||||
<title>Campfire</title>
|
||||
<meta name="description" content="Social media for the galaxy-wide-web!">
|
||||
|
||||
<meta property="og:url" content="https://spacesocial.arimelody.me">
|
||||
<meta property="og:url" content="https://campfire.bliss.town">
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:title" content="Space Social">
|
||||
<meta property="og:title" content="Campfire">
|
||||
<meta property="og:description" content="Social media for the galaxy-wide-web!">
|
||||
<meta property="og:image" content="https://spacesocial.arimelody.me/favicon.png">
|
||||
<meta property="og:image" content="https://campfire.bliss.town/favicon.png">
|
||||
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta property="twitter:domain" content="spacesocial.arimelody.me">
|
||||
<meta property="twitter:url" content="https://spacesocial.arimelody.me">
|
||||
<meta name="twitter:title" content="Space Social">
|
||||
<meta property="twitter:domain" content="campfire.bliss.town">
|
||||
<meta property="twitter:url" content="https://campfire.bliss.town">
|
||||
<meta name="twitter:title" content="Campfire">
|
||||
<meta name="twitter:description" content="Social media for the galaxy-wide-web!">
|
||||
<meta name="twitter:image" content="https://spacesocial.arimelody.me/favicon.png">
|
||||
<meta name="twitter:image" content="https://campfire.bliss.town/favicon.png">
|
||||
|
||||
%sveltekit.head%
|
||||
</head>
|
||||
|
|
5
src/img/CampfireLogo.svelte
Normal file
After Width: | Height: | Size: 14 KiB |
7
src/img/campfire-logo.svg
Normal file
After Width: | Height: | Size: 14 KiB |
|
@ -1,29 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg width="100%" height="100%" viewBox="0 0 226 89" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
|
||||
<g transform="matrix(0.0592476,0,0,0.0592476,19.3835,-44.4646)">
|
||||
<g>
|
||||
<clipPath id="_clip1">
|
||||
<path d="M3471.16,750.487L3471.16,2249.51L-327.161,2249.51L-327.161,750.487L3471.16,750.487ZM2317.49,1260.74L1795.39,1260.74L1795.39,1763.02L2317.49,1763.02L2317.49,1260.74Z"/>
|
||||
</clipPath>
|
||||
<g clip-path="url(#_clip1)">
|
||||
<g transform="matrix(3.12421,0,0,3.12421,13.4825,-77.5092)">
|
||||
<g id="spinner">
|
||||
<path d="M380,380C476.218,283.782 659.849,234.849 710,285C760.151,335.151 756.844,478.156 634,601C511.156,723.844 358.099,784.099 291,717C249.901,675.901 257.955,619 257.955,619C260.181,637.245 251.818,720.443 352.404,720.443C452.989,720.443 530.426,645.937 610.046,566.318C689.665,486.699 778.651,275.064 635.273,275.064C491.896,275.064 380,380 380,380Z" style="fill:#e2dfe3;"/>
|
||||
</g>
|
||||
</g>
|
||||
<g transform="matrix(44.394,0.545455,-44.394,0.545455,899.136,728.049)">
|
||||
<g id="star-shine" serif:id="star shine">
|
||||
<rect x="383" y="377" width="11" height="11" style="fill:#e2dfe3;"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="star" transform="matrix(1.45161,0,0,1.45161,531.871,522.581)">
|
||||
<path d="M436.5,384L449.059,417.941L483,430.5L449.059,443.059L436.5,477L423.941,443.059L390,430.5L423.941,417.941L436.5,384Z" style="fill:#e2dfe3;"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g transform="matrix(2.67689,0,0,2.67689,-0.655394,55.5404)">
|
||||
<text x="0px" y="0px" style="font-family:'Inter-BoldItalic', 'Inter';font-weight:700;font-style:italic;font-size:13.636px;fill:#e2dfe3;">space social</text>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 2.2 KiB |
|
@ -1,29 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg width="100%" height="100%" viewBox="0 0 226 89" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
|
||||
<g transform="matrix(0.0592476,0,0,0.0592476,19.3835,-44.4646)">
|
||||
<g>
|
||||
<clipPath id="_clip1">
|
||||
<path d="M3471.16,750.487L3471.16,2249.51L-327.161,2249.51L-327.161,750.487L3471.16,750.487ZM2317.49,1260.74L1795.39,1260.74L1795.39,1763.02L2317.49,1763.02L2317.49,1260.74Z"/>
|
||||
</clipPath>
|
||||
<g clip-path="url(#_clip1)">
|
||||
<g transform="matrix(3.12421,0,0,3.12421,13.4825,-77.5092)">
|
||||
<g id="spinner">
|
||||
<path d="M380,380C476.218,283.782 659.849,234.849 710,285C760.151,335.151 756.844,478.156 634,601C511.156,723.844 358.099,784.099 291,717C249.901,675.901 257.955,619 257.955,619C260.181,637.245 251.818,720.443 352.404,720.443C452.989,720.443 530.426,645.937 610.046,566.318C689.665,486.699 778.651,275.064 635.273,275.064C491.896,275.064 380,380 380,380Z" style="fill:#322e1f;"/>
|
||||
</g>
|
||||
</g>
|
||||
<g transform="matrix(44.394,0.545455,-44.394,0.545455,899.136,728.049)">
|
||||
<g id="star-shine" serif:id="star shine">
|
||||
<rect x="383" y="377" width="11" height="11" style="fill:#322e1f;"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="star" transform="matrix(1.45161,0,0,1.45161,531.871,522.581)">
|
||||
<path d="M436.5,384L449.059,417.941L483,430.5L449.059,443.059L436.5,477L423.941,443.059L390,430.5L423.941,417.941L436.5,384Z" style="fill:#322e1f;"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g transform="matrix(2.67689,0,0,2.67689,-0.655394,55.5404)">
|
||||
<text x="0px" y="0px" style="font-family:'Inter-BoldItalic', 'Inter';font-weight:700;font-style:italic;font-size:13.636px;fill:#322e1f;">space social</text>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 2.2 KiB |
|
@ -58,7 +58,7 @@ a:hover {
|
|||
text-decoration: underline;
|
||||
}
|
||||
|
||||
#spacesocial-app {
|
||||
#app {
|
||||
margin: auto 0;
|
||||
padding: 0 16px;
|
||||
display: flex;
|
||||
|
|
|
@ -7,10 +7,10 @@ import { get } from 'svelte/store';
|
|||
|
||||
export async function createApp(host) {
|
||||
let form = new FormData();
|
||||
form.append("client_name", "space social");
|
||||
form.append("client_name", "Campfire");
|
||||
form.append("redirect_uris", `${location.origin}/callback`);
|
||||
form.append("scopes", "read write push");
|
||||
form.append("website", "https://spacesocial.arimelody.me");
|
||||
form.append("website", "https://campfire.bliss.town");
|
||||
|
||||
const res = await fetch(`https://${host}/api/v1/apps`, {
|
||||
method: "POST",
|
||||
|
|
|
@ -4,7 +4,7 @@ import { get, writable } from 'svelte/store';
|
|||
|
||||
let client = writable(false);
|
||||
|
||||
const save_name = "spacesocial";
|
||||
const save_name = "campfire";
|
||||
|
||||
export class Client {
|
||||
instance;
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
<script>
|
||||
import LogoLight from '$lib/../img/spacesocial-logo-light.svg';
|
||||
import LogoDark from '$lib/../img/spacesocial-logo-dark.svg';
|
||||
import Logo from '$lib/../img/CampfireLogo.svelte';
|
||||
import Button from './Button.svelte';
|
||||
import Feed from './Feed.svelte';
|
||||
import { Client } from '$lib/client/client.js';
|
||||
|
@ -45,8 +44,7 @@
|
|||
</header>
|
||||
{:else}
|
||||
<header class="instance-header">
|
||||
<img class="app-icon light-only" src={LogoLight} width="320px" aria-label="Space Social"/>
|
||||
<img class="app-icon dark-only" src={LogoDark} width="320px" aria-label="Space Social"/>
|
||||
<Logo />
|
||||
</header>
|
||||
{/if}
|
||||
|
||||
|
@ -91,7 +89,7 @@
|
|||
</div>
|
||||
{/if}
|
||||
<span class="version">
|
||||
space social v{VERSION}
|
||||
campfire v{VERSION}
|
||||
<br>
|
||||
<ul>
|
||||
<li><a href="https://git.arimelody.me/ari/spacesocial-client">source</a></li>
|
||||
|
@ -129,7 +127,7 @@
|
|||
border-radius: 8px;
|
||||
}
|
||||
|
||||
.app-icon {
|
||||
:global(.app-logo) {
|
||||
max-width: 80%;
|
||||
max-height: 80%;
|
||||
margin: auto;
|
||||
|
|
|
@ -1,12 +1,10 @@
|
|||
<script>
|
||||
import '$lib/app.css';
|
||||
import LogoLight from '$lib/../img/spacesocial-logo-light.svg';
|
||||
import LogoDark from '$lib/../img/spacesocial-logo-dark.svg';
|
||||
import Navigation from '$lib/ui/Navigation.svelte';
|
||||
import Widgets from '$lib/ui/Widgets.svelte';
|
||||
</script>
|
||||
|
||||
<div id="spacesocial-app">
|
||||
<div id="app">
|
||||
|
||||
<header>
|
||||
<Navigation />
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
<script>
|
||||
import LogoLight from '$lib/../img/spacesocial-logo-light.svg';
|
||||
import LogoDark from '$lib/../img/spacesocial-logo-dark.svg';
|
||||
import Logo from '$lib/../img/CampfireLogo.svelte';
|
||||
import Feed from '$lib/ui/Feed.svelte';
|
||||
import { Client } from '$lib/client/client.js';
|
||||
import User from '$lib/user/user.js';
|
||||
|
@ -53,8 +52,7 @@
|
|||
<Feed />
|
||||
{:else}
|
||||
<form on:submit={log_in} id="login-form">
|
||||
<img class="app-icon light-only" src={LogoLight} width="320px" aria-label="Space Social"/>
|
||||
<img class="app-icon dark-only" src={LogoDark} width="320px" aria-label="Space Social"/>
|
||||
<Logo />
|
||||
<p>Welcome, fediverse user!</p>
|
||||
<p>Please enter your instance domain to log in.</p>
|
||||
<div class="input-wrapper">
|
||||
|
@ -73,7 +71,7 @@
|
|||
If that's all cool with you, welcome aboard!
|
||||
</small></p>
|
||||
|
||||
<p class="form-footer">made with ❤️ by <a href="https://arimelody.me">ari melody</a>, 2024</p>
|
||||
<p class="form-footer">made with ❤ by <a href="https://bliss.town">bliss town</a>, 2024</p>
|
||||
</form>
|
||||
{/if}
|
||||
|
||||
|
@ -214,7 +212,8 @@
|
|||
gap: 8px;
|
||||
}
|
||||
|
||||
.app-icon {
|
||||
:global(.app-logo) {
|
||||
height: auto;
|
||||
width: 320px;
|
||||
margin: 8px;
|
||||
}
|
||||
|
|
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 33 KiB |
BIN
static/icon/campfire-icon.png
Normal file
After Width: | Height: | Size: 28 KiB |