mirror of
				https://codeberg.org/yeentown/barkey.git
				synced 2025-11-04 07:24:13 +00:00 
			
		
		
		
	Data driven about page sections
This commit is contained in:
		
							parent
							
								
									495a19540b
								
							
						
					
					
						commit
						d19b125618
					
				
					 1 changed files with 149 additions and 101 deletions
				
			
		| 
						 | 
				
			
			@ -74,108 +74,15 @@ SPDX-License-Identifier: AGPL-3.0-only
 | 
			
		|||
						</FormLink>
 | 
			
		||||
					</div>
 | 
			
		||||
				</FormSection>
 | 
			
		||||
				<FormSection>
 | 
			
		||||
					<template #label>{{ i18n.ts._aboutMisskey.projectMembers }}</template>
 | 
			
		||||
				<FormSection v-for="section in everyone" :key="section.heading">
 | 
			
		||||
					<template #label>{{ section.heading }}</template>
 | 
			
		||||
					<div :class="$style.contributors" style="margin-bottom: 8px;">
 | 
			
		||||
						<a href="https://activitypub.software/dakkar" target="_blank" :class="$style.contributor">
 | 
			
		||||
							<img src="https://secure.gravatar.com/avatar/c71b315eed7c63ff94c42b1b3e8dbad1?s=192&d=identicon" :class="$style.contributorAvatar">
 | 
			
		||||
							<span :class="$style.contributorUsername">@dakkar</span>
 | 
			
		||||
						</a>
 | 
			
		||||
						<a href="https://activitypub.software/supakaity" target="_blank" :class="$style.contributor">
 | 
			
		||||
							<img src="https://activitypub.software/uploads/-/system/user/avatar/65/avatar.png?width=40" :class="$style.contributorAvatar">
 | 
			
		||||
							<span :class="$style.contributorUsername">@supakaity</span>
 | 
			
		||||
						</a>
 | 
			
		||||
						<a href="https://activitypub.software/julia" target="_blank" :class="$style.contributor">
 | 
			
		||||
							<img src="https://activitypub.software/uploads/-/system/user/avatar/41/avatar.png?width=40" :class="$style.contributorAvatar">
 | 
			
		||||
							<span :class="$style.contributorUsername">@julia</span>
 | 
			
		||||
						</a>
 | 
			
		||||
						<a href="https://activitypub.software/Leah" target="_blank" :class="$style.contributor">
 | 
			
		||||
							<img src="https://secure.gravatar.com/avatar/3b35b921b284ccfd1fe348508f6f705b?s=80&d=identicon" :class="$style.contributorAvatar">
 | 
			
		||||
							<span :class="$style.contributorUsername">@Leah</span>
 | 
			
		||||
						</a>
 | 
			
		||||
						<a href="https://activitypub.software/fEmber" target="_blank" :class="$style.contributor">
 | 
			
		||||
							<img src="https://secure.gravatar.com/avatar/ea0ea6451fdb74311efad369bdce018e?s=80&d=identicon" :class="$style.contributorAvatar">
 | 
			
		||||
							<span :class="$style.contributorUsername">@fEmber</span>
 | 
			
		||||
						</a>
 | 
			
		||||
						<a href="https://activitypub.software/tess" target="_blank" :class="$style.contributor">
 | 
			
		||||
							<img src="https://activitypub.software/uploads/-/system/user/avatar/132/avatar.png?width=128" :class="$style.contributorAvatar">
 | 
			
		||||
							<span :class="$style.contributorUsername">@tess</span>
 | 
			
		||||
						</a>
 | 
			
		||||
						<a href="https://activitypub.software/marie" target="_blank" :class="$style.contributor">
 | 
			
		||||
							<img src="https://activitypub.software/uploads/-/system/user/avatar/2/avatar.png?width=128" :class="$style.contributorAvatar">
 | 
			
		||||
							<span :class="$style.contributorUsername">@Marie</span>
 | 
			
		||||
						</a>
 | 
			
		||||
						<a href="https://activitypub.software/luna" target="_blank" :class="$style.contributor">
 | 
			
		||||
							<img src="https://secure.gravatar.com/avatar/4faf37df86a3d93a6c19ed6abf8588eade4efb837410dbbc53021b4fd12eaae7?s=80&d=identicon" :class="$style.contributorAvatar">
 | 
			
		||||
							<span :class="$style.contributorUsername">@Luna</span>
 | 
			
		||||
						<a v-for="person in section.people" :key="person.handle" :href="person.link" target="_blank" :class="$style.contributor">
 | 
			
		||||
							<img :src="person.avatar" :class="$style.contributorAvatar">
 | 
			
		||||
							<span :class="$style.contributorUsername">{{ person.handle }}</span>
 | 
			
		||||
						</a>
 | 
			
		||||
					</div>
 | 
			
		||||
					<template #description><MkLink url="https://activitypub.software/TransFem-org/Sharkey/-/graphs/develop">{{ i18n.ts._aboutMisskey.allContributors }}</MkLink></template>
 | 
			
		||||
				</FormSection>
 | 
			
		||||
				<FormSection>
 | 
			
		||||
					<template #label>{{ i18n.ts._aboutMisskey.testers }}</template>
 | 
			
		||||
					<div :class="$style.contributors" style="margin-bottom: 8px;">
 | 
			
		||||
						<a href="https://antani.cyou/@lucent" target="_blank" :class="$style.contributor">
 | 
			
		||||
							<img src="https://antani.cyou/proxy/avatar.webp?url=https%3A%2F%2Fantani.cyou%2Ffiles%2Fa2944119-024c-4abd-86e5-64bf0d30b26f&avatar=1" :class="$style.contributorAvatar">
 | 
			
		||||
							<span :class="$style.contributorUsername">@lucent</span>
 | 
			
		||||
						</a>
 | 
			
		||||
						<a href="https://plasmatrap.com/@privateger" target="_blank" :class="$style.contributor">
 | 
			
		||||
							<img src="https://mediaproxy.plasmatrap.com/?url=https%3A%2F%2Fplasmatrap.com%2Ffiles%2F2cf35a8f-6520-4d4c-9611-bf22ee983293&avatar=1" :class="$style.contributorAvatar">
 | 
			
		||||
							<span :class="$style.contributorUsername">@privateger</span>
 | 
			
		||||
						</a>
 | 
			
		||||
						<a href="https://thetransagenda.gay/@phoenix_fairy" target="_blank" :class="$style.contributor">
 | 
			
		||||
							<img src="https://thetransagenda.gay/proxy/avatar.webp?url=https%3A%2F%2Fs3.us-east-005.backblazeb2.com%2Ftranssharkey%2Fnull%2Fd93ac6dc-2020-4b5a-bce7-84b41e97a0ac.png&avatar=1" :class="$style.contributorAvatar">
 | 
			
		||||
							<span :class="$style.contributorUsername">@phoenix_fairy</span>
 | 
			
		||||
						</a>
 | 
			
		||||
					</div>
 | 
			
		||||
				</FormSection>
 | 
			
		||||
				<FormSection>
 | 
			
		||||
					<template #label>Misskey Contributors</template>
 | 
			
		||||
					<div :class="$style.contributors" style="margin-bottom: 8px;">
 | 
			
		||||
						<a href="https://github.com/syuilo" target="_blank" :class="$style.contributor">
 | 
			
		||||
							<img src="https://avatars.githubusercontent.com/u/4439005?v=4" :class="$style.contributorAvatar">
 | 
			
		||||
							<span :class="$style.contributorUsername">@syuilo</span>
 | 
			
		||||
						</a>
 | 
			
		||||
						<a href="https://github.com/tamaina" target="_blank" :class="$style.contributor">
 | 
			
		||||
							<img src="https://avatars.githubusercontent.com/u/7973572?v=4" :class="$style.contributorAvatar">
 | 
			
		||||
							<span :class="$style.contributorUsername">@tamaina</span>
 | 
			
		||||
						</a>
 | 
			
		||||
						<a href="https://github.com/acid-chicken" target="_blank" :class="$style.contributor">
 | 
			
		||||
							<img src="https://avatars.githubusercontent.com/u/20679825?v=4" :class="$style.contributorAvatar">
 | 
			
		||||
							<span :class="$style.contributorUsername">@acid-chicken</span>
 | 
			
		||||
						</a>
 | 
			
		||||
						<a href="https://github.com/kakkokari-gtyih" target="_blank" :class="$style.contributor">
 | 
			
		||||
							<img src="https://avatars.githubusercontent.com/u/67428053?v=4" :class="$style.contributorAvatar">
 | 
			
		||||
							<span :class="$style.contributorUsername">@kakkokari-gtyih</span>
 | 
			
		||||
						</a>
 | 
			
		||||
						<a href="https://github.com/tai-cha" target="_blank" :class="$style.contributor">
 | 
			
		||||
							<img src="https://avatars.githubusercontent.com/u/40626578?v=4" :class="$style.contributorAvatar">
 | 
			
		||||
							<span :class="$style.contributorUsername">@tai-cha</span>
 | 
			
		||||
						</a>
 | 
			
		||||
						<a href="https://github.com/samunohito" target="_blank" :class="$style.contributor">
 | 
			
		||||
							<img src="https://avatars.githubusercontent.com/u/46447427?v=4" :class="$style.contributorAvatar">
 | 
			
		||||
							<span :class="$style.contributorUsername">@samunohito</span>
 | 
			
		||||
						</a>
 | 
			
		||||
						<a href="https://github.com/anatawa12" target="_blank" :class="$style.contributor">
 | 
			
		||||
							<img src="https://avatars.githubusercontent.com/u/22656849?v=4" :class="$style.contributorAvatar">
 | 
			
		||||
							<span :class="$style.contributorUsername">@anatawa12</span>
 | 
			
		||||
						</a>
 | 
			
		||||
					</div>
 | 
			
		||||
				</FormSection>
 | 
			
		||||
				<FormSection v-if="sponsors[0].length > 0">
 | 
			
		||||
					<template #label>Our lovely Sponsors</template>
 | 
			
		||||
					<div :class="$style.contributors">
 | 
			
		||||
						<span
 | 
			
		||||
							v-for="sponsor in sponsors[0]"
 | 
			
		||||
							:key="sponsor"
 | 
			
		||||
							style="margin-bottom: 0.5rem;"
 | 
			
		||||
						>
 | 
			
		||||
							<a :href="sponsor.website || sponsor.profile" target="_blank" :class="$style.contributor">
 | 
			
		||||
								<img :src="sponsor.image || `https://ui-avatars.com/api/?background=0D8ABC&color=fff&name=${sponsor.name}`" :class="$style.contributorAvatar">
 | 
			
		||||
								<span :class="$style.contributorUsername">{{ sponsor.name }}</span>
 | 
			
		||||
							</a>
 | 
			
		||||
						</span>
 | 
			
		||||
					</div>
 | 
			
		||||
					<template v-if="section.link" #description><MkLink :url="section.link.url">{{ section.link.label }}</MkLink></template>
 | 
			
		||||
				</FormSection>
 | 
			
		||||
			</div>
 | 
			
		||||
		</MkSpacer>
 | 
			
		||||
| 
						 | 
				
			
			@ -201,15 +108,156 @@ import { definePageMetadata } from '@/scripts/page-metadata.js';
 | 
			
		|||
import { claimAchievement, claimedAchievements } from '@/scripts/achievements.js';
 | 
			
		||||
import { $i } from '@/account.js';
 | 
			
		||||
 | 
			
		||||
type Section = {
 | 
			
		||||
	heading: string,
 | 
			
		||||
	link?: {
 | 
			
		||||
		label: string,
 | 
			
		||||
		url: string,
 | 
			
		||||
	},
 | 
			
		||||
	people: {
 | 
			
		||||
		handle: string,
 | 
			
		||||
		avatar: string,
 | 
			
		||||
		link?: string
 | 
			
		||||
	}[],
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
const thereIsTreasure = ref($i && !claimedAchievements.includes('foundTreasure'));
 | 
			
		||||
 | 
			
		||||
let easterEggReady = false;
 | 
			
		||||
const easterEggEmojis = ref([]);
 | 
			
		||||
const easterEggEngine = ref(null);
 | 
			
		||||
const sponsors = ref([]);
 | 
			
		||||
const everyone = ref<Section[]>([
 | 
			
		||||
	{
 | 
			
		||||
		heading: i18n.ts._aboutMisskey.projectMembers,
 | 
			
		||||
		link: {
 | 
			
		||||
			label: i18n.ts._aboutMisskey.allContributors,
 | 
			
		||||
			url: 'https://activitypub.software/TransFem-org/Sharkey/-/graphs/develop',
 | 
			
		||||
		},
 | 
			
		||||
		people: [
 | 
			
		||||
			{
 | 
			
		||||
				handle: '@CenTdemeern1',
 | 
			
		||||
				avatar: 'https://secure.gravatar.com/avatar/e97dd57d32caf703cea556ace6304617b7420f17f5b1aac4a1eea8e4234735bb?s=1600&d=identicon',
 | 
			
		||||
				link: 'https://activitypub.software/CenTdemeern1',
 | 
			
		||||
			},
 | 
			
		||||
			{
 | 
			
		||||
				handle: '@dakkar',
 | 
			
		||||
				avatar: 'https://secure.gravatar.com/avatar/c71b315eed7c63ff94c42b1b3e8dbad1?s=192&d=identicon',
 | 
			
		||||
				link: 'https://activitypub.software/dakkar',
 | 
			
		||||
			},
 | 
			
		||||
			{
 | 
			
		||||
				handle: '@fEmber',
 | 
			
		||||
				avatar: 'https://secure.gravatar.com/avatar/ea0ea6451fdb74311efad369bdce018e?s=80&d=identicon',
 | 
			
		||||
				link: 'https://activitypub.software/fEmber',
 | 
			
		||||
			},
 | 
			
		||||
			{
 | 
			
		||||
				handle: '@julia',
 | 
			
		||||
				avatar: 'https://activitypub.software/uploads/-/system/user/avatar/41/avatar.png?width=40',
 | 
			
		||||
				link: 'https://activitypub.software/julia',
 | 
			
		||||
			},
 | 
			
		||||
			{
 | 
			
		||||
				handle: '@Leah',
 | 
			
		||||
				avatar: 'https://secure.gravatar.com/avatar/3b35b921b284ccfd1fe348508f6f705b?s=80&d=identicon',
 | 
			
		||||
				link: 'https://activitypub.software/Leah',
 | 
			
		||||
			},
 | 
			
		||||
			{
 | 
			
		||||
				handle: '@Luna',
 | 
			
		||||
				avatar: 'https://secure.gravatar.com/avatar/4faf37df86a3d93a6c19ed6abf8588eade4efb837410dbbc53021b4fd12eaae7?s=80&d=identicon',
 | 
			
		||||
				link: 'https://activitypub.software/luna',
 | 
			
		||||
			},
 | 
			
		||||
			{
 | 
			
		||||
				handle: '@Marie',
 | 
			
		||||
				avatar: 'https://activitypub.software/uploads/-/system/user/avatar/2/avatar.png?width=128',
 | 
			
		||||
				link: 'https://activitypub.software/marie',
 | 
			
		||||
			},
 | 
			
		||||
			{
 | 
			
		||||
				handle: '@supakaity',
 | 
			
		||||
				avatar: 'https://activitypub.software/uploads/-/system/user/avatar/65/avatar.png?width=40',
 | 
			
		||||
				link: 'https://activitypub.software/supakaity',
 | 
			
		||||
			},
 | 
			
		||||
			{
 | 
			
		||||
				handle: '@tess',
 | 
			
		||||
				avatar: 'https://activitypub.software/uploads/-/system/user/avatar/132/avatar.png?width=128',
 | 
			
		||||
				link: 'https://activitypub.software/tess',
 | 
			
		||||
			},
 | 
			
		||||
		],
 | 
			
		||||
	},
 | 
			
		||||
	{
 | 
			
		||||
		heading: i18n.ts._aboutMisskey.testers,
 | 
			
		||||
		people: [
 | 
			
		||||
			{
 | 
			
		||||
				handle: '@lucent',
 | 
			
		||||
				avatar: 'https://antani.cyou/proxy/avatar.webp?url=https%3A%2F%2Fantani.cyou%2Ffiles%2Fa2944119-024c-4abd-86e5-64bf0d30b26f&avatar=1',
 | 
			
		||||
				link: 'https://antani.cyou/@lucent',
 | 
			
		||||
			},
 | 
			
		||||
			{
 | 
			
		||||
				handle: '@privateger',
 | 
			
		||||
				avatar: 'https://mediaproxy.plasmatrap.com/?url=https%3A%2F%2Fplasmatrap.com%2Ffiles%2F2cf35a8f-6520-4d4c-9611-bf22ee983293&avatar=1',
 | 
			
		||||
				link: 'https://plasmatrap.com/@privateger',
 | 
			
		||||
			},
 | 
			
		||||
			{
 | 
			
		||||
				handle: '@phoenix_fairy',
 | 
			
		||||
				avatar: 'https://thetransagenda.gay/proxy/avatar.webp?url=https%3A%2F%2Fs3.us-east-005.backblazeb2.com%2Ftranssharkey%2Fnull%2Fd93ac6dc-2020-4b5a-bce7-84b41e97a0ac.png&avatar=1',
 | 
			
		||||
				link: 'https://thetransagenda.gay/@phoenix_fairy',
 | 
			
		||||
			},
 | 
			
		||||
		],
 | 
			
		||||
	},
 | 
			
		||||
	{
 | 
			
		||||
		heading: 'Misskey Contributors',
 | 
			
		||||
		people: [
 | 
			
		||||
			{
 | 
			
		||||
				handle: '@syuilo',
 | 
			
		||||
				avatar: 'https://avatars.githubusercontent.com/u/4439005?v=4',
 | 
			
		||||
				link: 'https://github.com/syuilo',
 | 
			
		||||
			},
 | 
			
		||||
			{
 | 
			
		||||
				handle: '@tamaina',
 | 
			
		||||
				avatar: 'https://avatars.githubusercontent.com/u/7973572?v=4',
 | 
			
		||||
				link: 'https://github.com/tamaina',
 | 
			
		||||
			},
 | 
			
		||||
			{
 | 
			
		||||
				handle: '@acid-chicken',
 | 
			
		||||
				avatar: 'https://avatars.githubusercontent.com/u/20679825?v=4',
 | 
			
		||||
				link: 'https://github.com/acid-chicken',
 | 
			
		||||
			},
 | 
			
		||||
			{
 | 
			
		||||
				handle: '@kakkokari-gtyih',
 | 
			
		||||
				avatar: 'https://avatars.githubusercontent.com/u/67428053?v=4',
 | 
			
		||||
				link: 'https://github.com/kakkokari-gtyih',
 | 
			
		||||
			},
 | 
			
		||||
			{
 | 
			
		||||
				handle: '@tai-cha',
 | 
			
		||||
				avatar: 'https://avatars.githubusercontent.com/u/40626578?v=4',
 | 
			
		||||
				link: 'https://github.com/tai-cha',
 | 
			
		||||
			},
 | 
			
		||||
			{
 | 
			
		||||
				handle: '@samunohito',
 | 
			
		||||
				avatar: 'https://avatars.githubusercontent.com/u/46447427?v=4',
 | 
			
		||||
				link: 'https://github.com/samunohito',
 | 
			
		||||
			},
 | 
			
		||||
			{
 | 
			
		||||
				handle: '@anatawa12',
 | 
			
		||||
				avatar: 'https://avatars.githubusercontent.com/u/22656849?v=4',
 | 
			
		||||
				link: 'https://github.com/anatawa12',
 | 
			
		||||
			},
 | 
			
		||||
		],
 | 
			
		||||
	},
 | 
			
		||||
]);
 | 
			
		||||
const containerEl = shallowRef<HTMLElement>();
 | 
			
		||||
 | 
			
		||||
await misskeyApi('sponsors', { forceUpdate: false }).then((res) => sponsors.value.push(res.sponsor_data));
 | 
			
		||||
await misskeyApi('sponsors', { forceUpdate: false }).then((res) => {
 | 
			
		||||
	const section: Section = {
 | 
			
		||||
		heading: 'Our lovely Sponsors',
 | 
			
		||||
		people: [],
 | 
			
		||||
	};
 | 
			
		||||
	for (const sponsor of res.sponsor_data) {
 | 
			
		||||
		section.people.push({
 | 
			
		||||
			handle: sponsor.name,
 | 
			
		||||
			avatar: sponsor.image || `https://ui-avatars.com/api/?background=0D8ABC&color=fff&name=${sponsor.name}`,
 | 
			
		||||
			link: sponsor.website || sponsor.profile,
 | 
			
		||||
		});
 | 
			
		||||
	}
 | 
			
		||||
	everyone.value.push(section);
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
function iconLoaded() {
 | 
			
		||||
	const emojis = defaultStore.state.reactions;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		
		Reference in a new issue