style: oscar branding
Some checks failed
Publish Docker Image (Misskey) TeamCity build failed

This commit is contained in:
オスカー、 2024-10-22 00:57:10 +09:00
parent d12f67b2b0
commit ad5262dc05
Signed by: SWREI
GPG Key ID: 139D6573F92DA9F7
5 changed files with 26 additions and 49 deletions

View File

@ -1275,7 +1275,7 @@ inquiry: "Contact"
here: "here" here: "here"
credits: "Closing Credits" credits: "Closing Credits"
timeWillCome: "Will this have your name on it someday?" timeWillCome: "Will this have your name on it someday?"
thankYou: "Oscar will always surf the waves with you, forever." thankYou: "Thank you for joining us!"
privateMode: "Private Mode" privateMode: "Private Mode"
hideSensitiveInformation: "Hide sensitive information" hideSensitiveInformation: "Hide sensitive information"
youAreHidingSensitiveInformation: "This content was hidden by 'Private Mode'." youAreHidingSensitiveInformation: "This content was hidden by 'Private Mode'."

View File

@ -1274,8 +1274,8 @@ useNativeUIForVideoAudioPlayer: "브라우저 UI에서 미디어 재생"
here: "여기" here: "여기"
alwaysConfirmFollow: "팔로우할 때 항상 확인하기" alwaysConfirmFollow: "팔로우할 때 항상 확인하기"
credits: "엔딩 크레딧" credits: "엔딩 크레딧"
timeWillCome: "언젠가 이 칸에 당신의 이름이 쓰여지는 날이 올까요?" timeWillCome: "언젠가 당신의 이름이 쓰여지는 날이 올까요?"
thankYou: "오스카는 당신과 함께 서핑할 것입니다. 언제까지고." thankYou: "함께 서핑해주셔서 감사합니다!"
privateMode: "프라이빗 모드" privateMode: "프라이빗 모드"
hideSensitiveInformation: "민감한 정보 숨기기" hideSensitiveInformation: "민감한 정보 숨기기"
youAreHidingSensitiveInformation: "'프라이빗 모드'에 의해 숨겨졌습니다." youAreHidingSensitiveInformation: "'프라이빗 모드'에 의해 숨겨졌습니다."

View File

@ -8,7 +8,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<div :class="[$style.main, $style.panel]"> <div :class="[$style.main, $style.panel]">
<img v-if="miLocalStorage.getItem('kawaii')" src="/client-assets/kawaii/about-icon.png" alt="Logo by @sawaratsuki@misskey.io" :class="$style.mainIconAlt"/> <img v-if="miLocalStorage.getItem('kawaii')" src="/client-assets/kawaii/about-icon.png" alt="Logo by @sawaratsuki@misskey.io" :class="$style.mainIconAlt"/>
<img v-else :src="instance.iconUrl || '/favicon.ico'" alt="" :class="$style.mainIcon"/> <img v-else :src="instance.iconUrl || '/favicon.ico'" alt="" :class="$style.mainIcon"/>
<button class="_button _acrylic" :class="$style.mainMenu" @click="showMenu"><i class="ti ti-dots"></i></button> <button class="_button _acrylic" style="background: none;" :class="$style.mainMenu" @click="showMenu"><i class="ti ti-dots"></i></button>
<div :class="$style.mainFg"> <div :class="$style.mainFg">
<h1 :class="$style.mainTitle"> <h1 :class="$style.mainTitle">
<!-- 背景色によってはロゴが見えなくなるのでとりあえず無効に --> <!-- 背景色によってはロゴが見えなくなるのでとりあえず無効に -->
@ -48,26 +48,25 @@ SPDX-License-Identifier: AGPL-3.0-only
<div :class="$style.panel"> <div :class="$style.panel">
<XActiveUsersChart/> <XActiveUsersChart/>
</div> </div>
<!--
<div :class="[$style.footer, $style.panel]"> <div :class="[$style.footer, $style.panel]">
<!--
<div :class="$style.sponsors"> <div :class="$style.sponsors">
<div><Mfm text="$[jelly ❤]"/> Sponsored by</div> <div><Mfm text="$[jelly ❤]"/> Sponsored by</div>
<a title="Skeb" href="https://skeb.jp/" target="_blank"><img src="https://media.misskeyusercontent.jp/misskey-io/sponsors/skeb.png" alt="Skeb" width="140"></a> <a title="Skeb" href="https://skeb.jp/" target="_blank"><img src="https://media.misskeyusercontent.jp/misskey-io/sponsors/skeb.png" alt="Skeb" width="140"></a>
</div> </div>
-->
<div :class="$style.legalNotice"> <div :class="$style.legalNotice">
<div>© {{ new Date().getFullYear() }} MisskeyHQ Inc.</div> <div>© {{ new Date().getFullYear() }} OSCAR Node #4</div>
<a href="https://go.misskey.io/legal-notice" target="_blank" rel="noopener"><u>特定商取引法に基づく表記</u></a> <div>Illustration by <u><a href="https://x.com/@DK_DK42" target="_blank" rel="noopener">@DK_DK42</a></u></div>
</div> </div>
<div :class="$style.links"> <div :class="$style.links">
<a href="#" @click="os.pageWindow('/about')"><u>{{ instanceName }}</u></a> <a href="#" @click="os.pageWindow('/about')"><u>{{ instanceName }}</u></a>
<a href="#" @click="os.pageWindow('/about-misskey')"><u>{{ i18n.ts.aboutMisskey }}</u></a> <a href="#" @click="os.pageWindow('/about-misskey')"><u>{{ i18n.ts.aboutMisskey }}</u></a>
<a v-if="instance.tosUrl" :href="instance.tosUrl" target="_blank" rel="noopener"><u>{{ i18n.ts.termsOfService }}</u></a> <a v-if="instance.tosUrl" :href="instance.tosUrl" target="_blank" rel="noopener"><u>{{ i18n.ts.termsOfService }}</u></a>
<a v-if="instance.privacyPolicyUrl" :href="instance.privacyPolicyUrl" target="_blank" rel="noopener"><u>{{ i18n.ts.privacyPolicy }}</u></a> <a v-if="instance.privacyPolicyUrl" :href="instance.privacyPolicyUrl" target="_blank" rel="noopener"><u>{{ i18n.ts.privacyPolicy }}</u></a>
<a v-if="instance.impressumUrl" :href="instance.impressumUrl" target="_blank" rel="noopener"><u>{{ i18n.ts.impressum }}</u></a>
<a v-if="instance.feedbackUrl" :href="instance.feedbackUrl" target="_blank" rel="noopener"><u>{{ i18n.ts.support }}</u></a> <a v-if="instance.feedbackUrl" :href="instance.feedbackUrl" target="_blank" rel="noopener"><u>{{ i18n.ts.support }}</u></a>
</div> </div>
</div> </div>
-->
</div> </div>
</template> </template>

View File

@ -25,12 +25,12 @@ SPDX-License-Identifier: AGPL-3.0-only
<template #value><div v-html="instance.description"></div></template> <template #value><div v-html="instance.description"></div></template>
</MkKeyValue> </MkKeyValue>
<!--
<div style="display:flex;flex-direction:column;align-items:center;justify-content:center"> <div style="display:flex;flex-direction:column;align-items:center;justify-content:center">
<div>© {{ new Date().getFullYear() }} MisskeyHQ Inc.</div> <div>© {{ new Date().getFullYear() }} OSCAR Node #4</div>
<a href="https://go.misskey.io/legal-notice" target="_blank" rel="noopener"><u>特定商取引法に基づく表記</u></a> <div>Illustration by <u><a href="https://x.com/@DK_DK42" target="_blank" rel="noopener">@DK_DK42</a></u></div>
</div> </div>
<!--
<FormSection> <FormSection>
<template #label><Mfm text="$[jelly ❤]"/> Sponsored by</template> <template #label><Mfm text="$[jelly ❤]"/> Sponsored by</template>
<div style="display:flex;flex-wrap:wrap;gap:8px 8px;align-items:center;justify-content:center;"> <div style="display:flex;flex-wrap:wrap;gap:8px 8px;align-items:center;justify-content:center;">
@ -45,6 +45,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<template #key>Misskey</template> <template #key>Misskey</template>
<template #value>{{ version }}</template> <template #value>{{ version }}</template>
</MkKeyValue> </MkKeyValue>
<!-- eslint-disable-next-line vue/no-v-html -->
<div v-html="i18n.tsx.poweredByMisskeyDescription({ name: instance.name ?? host })"> <div v-html="i18n.tsx.poweredByMisskeyDescription({ name: instance.name ?? host })">
</div> </div>
<FormLink to="/about-misskey"> <FormLink to="/about-misskey">
@ -132,13 +133,21 @@ SPDX-License-Identifier: AGPL-3.0-only
<template #label>{{ i18n.ts.credits }}</template> <template #label>{{ i18n.ts.credits }}</template>
<div :class="$style.contributors"> <div :class="$style.contributors">
<MkA to="/@oscar" :class="$style.contributor"> <MkA to="/@oscar" :class="$style.contributor">
<img src="https://ocean.oscar.surf/contents/webpublic-7d8cefdf-cb70-448c-8e9e-1d5c95a18f96.webp" :class="$style.contributorAvatar" alt="Profile image of @oscar@oscar.surf"> <img src="https://board.oscar.surf/contents/webpublic-90b08b25-292c-4350-8d04-bc3e36d5dde6.png" :class="$style.contributorAvatar" alt="Profile image of @oscar@oscar.surf">
<span :class="$style.contributorUsername">@oscar <span :class="$style.contributorUsername">@oscar
<span :class="$style.contributorClient"> <span :class="$style.contributorClient">
<span :class="$style.oscar">オスカー</span> <span :class="$style.oscar">オスカー</span>
</span> </span>
</span> </span>
</MkA> </MkA>
<MkA to="/@oscar" :class="$style.contributor">
<img src="https://board.oscar.surf/contents/4b54943f-2f88-4a53-80c6-97956650e28f.png" :class="$style.contributorAvatar" alt="Profile image of @oscar@oscar.surf">
<span :class="$style.contributorUsername">@ion
<span :class="$style.contributorClient">
<span :class="$style.oscar">オスカー</span>
</span>
</span>
</MkA>
<MkA v-if="$i !== null" :to="`/@${$i.username}`" :class="$style.contributor"> <MkA v-if="$i !== null" :to="`/@${$i.username}`" :class="$style.contributor">
<img :src="$i.avatarUrl ?? undefined" :class="$style.contributorAvatar" :alt="`Profile image of @${$i.username}@oscar.surf`"> <img :src="$i.avatarUrl ?? undefined" :class="$style.contributorAvatar" :alt="`Profile image of @${$i.username}@oscar.surf`">
<span :class="$style.contributorUsername">{{ `@${$i.username}` }} <span :class="$style.contributorUsername">{{ `@${$i.username}` }}

View File

@ -6,15 +6,15 @@ SPDX-License-Identifier: AGPL-3.0-only
<template> <template>
<div v-if="meta" class="rsqzvsbo"> <div v-if="meta" class="rsqzvsbo">
<MkFeaturedPhotos class="bg" special/> <MkFeaturedPhotos class="bg" special/>
<img :src="entranceTide" class="extra-1"/> <img :src="entranceTide" class="extra-1" alt="OSCAR Node #4 Branding Asset"/>
<XTimeline class="tl"/> <XTimeline class="tl"/>
<div class="shape1"></div> <div class="shape1"></div>
<div class="shape2"></div> <div class="shape2"></div>
<img :src="entranceBackground" class="extra-2"/> <img :src="entranceBackground" class="extra-2" alt="OSCAR Node #4 Branding Asset"/>
<img :src="entranceCharacter" class="extra-1"/> <img :src="entranceCharacter" class="extra-1" alt="OSCAR Node #4 Branding Asset"/>
<div class="logo-wrapper"> <div class="logo-wrapper">
<div class="powered-by">Powered by</div> <div class="powered-by">Powered by</div>
<img :src="misskeysvg" class="misskey"/> <img :src="misskeysvg" class="misskey" alt="Misskey Logo"/>
</div> </div>
<div class="emojis"> <div class="emojis">
<MkEmoji :normal="true" :noStyle="true" emoji="👍"/> <MkEmoji :normal="true" :noStyle="true" emoji="👍"/>
@ -22,54 +22,23 @@ SPDX-License-Identifier: AGPL-3.0-only
<MkEmoji :normal="true" :noStyle="true" emoji="😆"/> <MkEmoji :normal="true" :noStyle="true" emoji="😆"/>
<MkEmoji :normal="true" :noStyle="true" emoji="🎉"/> <MkEmoji :normal="true" :noStyle="true" emoji="🎉"/>
<MkEmoji :normal="true" :noStyle="true" emoji="🍮"/> <MkEmoji :normal="true" :noStyle="true" emoji="🍮"/>
<MkEmoji :normal="true" :noStyle="true" emoji="🌊"/>
</div> </div>
<div class="contents"> <div class="contents">
<MkVisitorDashboard/> <MkVisitorDashboard/>
</div> </div>
<!--
<div v-if="instances && instances.length > 0" class="federation">
<MarqueeText :duration="40">
<MkA v-for="instance in instances" :key="instance.id" :class="$style.federationInstance" :to="`/instance-info/${instance.host}`" behavior="window">
<MkInstanceCardMini :instance="instance"/>
<img v-if="instance.iconUrl" class="icon" :src="getInstanceIcon(instance)" alt=""/>
<span class="name _monospace">{{ instance.host }}</span>
</MkA>
</MarqueeText>
</div>
-->
</div> </div>
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
import { ref } from 'vue';
import * as Misskey from 'misskey-js';
import XTimeline from './welcome.timeline.vue'; import XTimeline from './welcome.timeline.vue';
// import MarqueeText from '@/components/MkMarquee.vue';
import MkFeaturedPhotos from '@/components/MkFeaturedPhotos.vue'; import MkFeaturedPhotos from '@/components/MkFeaturedPhotos.vue';
import { misskeyApiGet } from '@/scripts/misskey-api.js';
import MkVisitorDashboard from '@/components/MkVisitorDashboard.vue'; import MkVisitorDashboard from '@/components/MkVisitorDashboard.vue';
import { getProxiedImageUrl } from '@/scripts/media-proxy.js';
import { instance as meta } from '@/instance.js'; import { instance as meta } from '@/instance.js';
import misskeysvg from '/client-assets/misskey.svg'; import misskeysvg from '/client-assets/misskey.svg';
import entranceCharacter from '/client-assets/oscar/entrance-1.png'; import entranceCharacter from '/client-assets/oscar/entrance-1.png';
import entranceTide from '/client-assets/oscar/entrance-2.png'; import entranceTide from '/client-assets/oscar/entrance-2.png';
import entranceBackground from '/client-assets/oscar/entrance-3.png'; import entranceBackground from '/client-assets/oscar/entrance-3.png';
const instances = ref<Misskey.entities.FederationInstance[]>();
function getInstanceIcon(instance: Misskey.entities.FederationInstance): string {
if (!instance.iconUrl) {
return '';
}
return getProxiedImageUrl(instance.iconUrl, 'preview');
}
misskeyApiGet('federation/instances', {
sort: '+pubSub',
limit: 20,
}).then(_instances => {
instances.value = _instances;
});
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>