1
0

Compare commits

..

28 Commits

Author SHA1 Message Date
4a1594bd11 add img 2025-06-03 20:14:19 +09:00
725783bbca fix 2025-04-29 15:28:05 +09:00
f6676e4e25 fix 2024-12-09 04:40:48 +09:00
52326ec57f fix 2024-12-01 00:32:18 +09:00
f078e96d67 fix 2024-10-16 22:55:40 +09:00
c2f1f33542 fix 2024-10-16 22:49:22 +09:00
1bdf3153a4 fix 2024-10-05 14:59:54 +09:00
edadefc7c0 fix 2024-10-05 14:17:56 +09:00
1197f18bd2 fix 2024-10-04 13:38:34 +09:00
6879eaad3c fix 2024-10-02 15:03:32 +09:00
5c9377a988 fix 2024-10-02 13:38:49 +09:00
b21cb8dfa0 fix 2024-10-02 13:33:32 +09:00
0a658ff9d4 fix 2024-10-02 13:17:30 +09:00
cdda79ba5e fix 2024-10-02 12:57:56 +09:00
e622dac696 fix 2024-09-07 20:51:42 +09:00
18372b2970 fix 2024-09-07 20:35:00 +09:00
0e3febe1ed fix 2024-08-12 18:01:33 +09:00
e6e5baf628 fix 2024-08-06 22:03:47 +09:00
4394ff935d fix 2024-08-06 17:55:51 +09:00
9b6fef0215 fix 2024-08-06 16:46:53 +09:00
335ca5ee0e fix 2024-08-05 19:22:06 +09:00
8884dc669e fix 2024-08-05 19:09:45 +09:00
b37fd46126 fi 2024-08-03 23:11:44 +09:00
d73aaccff3 fix 2024-08-03 22:57:06 +09:00
67cc116a84 iframe load 2024-08-03 19:05:06 +09:00
dc0ec301e7 add planet 2024-08-03 18:58:40 +09:00
a1a7ddd202 add seven 2024-04-23 17:38:19 +09:00
1b34aa294c add file 2024-04-11 07:53:10 +09:00
36 changed files with 374 additions and 324 deletions

BIN
img/0.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

BIN
img/0.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

BIN
img/1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 544 KiB

BIN
img/1.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

BIN
img/10.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 933 KiB

BIN
img/10.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 160 KiB

BIN
img/11.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 688 KiB

BIN
img/11.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 136 KiB

BIN
img/12.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 516 KiB

BIN
img/12.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

BIN
img/13.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 416 KiB

BIN
img/13.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

BIN
img/14.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 462 KiB

BIN
img/14.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 109 KiB

BIN
img/15.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 642 KiB

BIN
img/15.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

BIN
img/2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 KiB

BIN
img/2.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

BIN
img/3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 683 KiB

BIN
img/3.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 94 KiB

BIN
img/4.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 805 KiB

BIN
img/4.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 94 KiB

BIN
img/5.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 402 KiB

BIN
img/5.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

BIN
img/6.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 476 KiB

BIN
img/6.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 104 KiB

BIN
img/7.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 713 KiB

BIN
img/7.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

BIN
img/8.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 330 KiB

BIN
img/8.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

BIN
img/9.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 680 KiB

BIN
img/9.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 103 KiB

2
public

Submodule public updated: abba2f3b7b...ceda2fab6e

View File

@ -7,3 +7,4 @@ $ nvm use 16
$ yarn install $ yarn install
$ yarn dev $ yarn dev
``` ```

View File

@ -26,7 +26,7 @@ do
if [ ! -f $oo ];then if [ ! -f $oo ];then
echo $oo echo $oo
convert $o -gravity center -extent 8000x4000 $oo magick convert $o -gravity center -extent 8000x4000 $oo
fi fi
# mkdir -p $o_dir/$id # mkdir -p $o_dir/$id

View File

@ -1,12 +1,14 @@
<template> <template>
<div id="app"> <div id="app">
<link rel="stylesheet" href="https://yui.syui.ai/pkg/icomoon/css/icomoon.css" /> <link rel="stylesheet" href="https://syui.ai/bower_components/icomoon/style.css" />
<link rel="stylesheet" href="https://yui.syui.ai/pkg/font-awesome/css/all.min.css" /> <link rel="stylesheet" href="https://syui.ai/bower_components/font-awesome/css/all.min.css" />
<div class="menu"> <div class="menu">
<a href="/" class="top-icon"><span class="icon-ai"></span></a> <a href="/" class="top-icon"><span class="icon-ai"></span></a>
<code v-if="loc === 'te'"><a href="https://bsky.app/profile/yui.syui.ai" target="_blank">@yui.syui.ai</a> /ten</code> <code v-if="loc === 'te'"><a href="https://bsky.app/profile/yui.syui.ai" target="_blank">@yui.syui.ai</a> /ten</code>
<code v-else-if="loc === 'pr'"><a href="https://bsky.app/profile/yui.syui.ai" target="_blank">@yui.syui.ai</a> /fav 1234567</code> <code v-else-if="loc === 'pr'"><a href="https://bsky.app/profile/yui.syui.ai" target="_blank">@yui.syui.ai</a> /fav 1234567</code>
<code v-else-if="loc === 'docs' || loc === 'en'"><a href="https://bsky.app/profile/yui.syui.ai" target="_blank">@yui.syui.ai</a> /help</code> <code v-else-if="loc === 'docs' || loc === 'en'"><a href="https://bsky.app/profile/yui.syui.ai" target="_blank">@yui.syui.ai</a> /help</code>
<code v-else-if="loc === 'di'"><a href="https://bsky.app/profile/yui.syui.ai" target="_blank">@yui.syui.ai</a> /did</code>
<code v-else-if="loc === 'svn'"><a href="https://bsky.app/profile/yui.syui.ai" target="_blank">@yui.syui.ai</a> /ten pay 7</code>
<code v-else><a href="https://bsky.app/profile/yui.syui.ai" target="_blank">@yui.syui.ai</a> /card</code> <code v-else><a href="https://bsky.app/profile/yui.syui.ai" target="_blank">@yui.syui.ai</a> /card</code>
</div> </div>
@ -22,7 +24,7 @@
</div> </div>
<p> <p>
<a href="/docs"><button>help</button></a> <a href="/en"><button>en</button></a> <a href="/pr"><button>fav</button></a> <a href="/te"><button>ten</button></a> <button v-if="loc.length == 0" v-on:click="did_enable = !did_enable">did</button> <a v-else href="/di"><button>did</button></a> <a href="/docs"><button>help</button></a> <a href="/en"><button>en</button></a> <a href="/pr"><button>fav</button></a> <a href="/te"><button>ten</button></a> <button v-if="loc.length == 0" v-on:click="did_enable = !did_enable">did</button> <a v-else href="/di"><button>did</button></a> <a href="/c"><button>all</button></a> <a href="/svn"><button>seven</button></a>
</p> </p>
<div v-if="loc.length > 1"> <div v-if="loc.length > 1">
@ -60,66 +62,37 @@
</div> </div>
<div class="card_kira_center"> <div class="card_kira_center">
<button v-on:click="cardoriginstatus" class="card_origin_status"><span class="icon-ai"></span></button> <button v-if="cards.data.filter((v) => v.skill == '3d' && (v.card >= 0 && v.card <= 14 || v.card == 64))[0]" v-on:click="glb_status = !glb_status" class="unity"><i class="fa-solid fa-cube" id="vrm_button"></i></button> <button v-if="model == true || cards.data.filter((v) => v.skill == 'model').length >= 1" v-on:click="vrmviewer"><i class="fa-solid fa-gamepad"></i></button> <button v-if="game == true" v-on:click="term_status = !term_status"><i class="fa-solid fa-terminal"></i></button> <button v-on:click="cardoriginstatus" class="card_origin_status"><span class="icon-ai"></span></button> <button v-if="cards.data.filter((v) => v.skill == '3d' && (v.card >= 0 && v.card <= 14 || v.card == 64))[0]" v-on:click="glb_status = !glb_status" class="unity"><span class="icon-cube"></span></button> <button v-if="model == true || cards.data.filter((v) => v.skill == 'model').length >= 1" v-on:click="vrmviewer"><span class="icon-game"></span></button> <button v-if="game == true" v-on:click="term_status = !term_status"><span class="icon-aiterm"></span></button>
</div> </div>
<!--
1st first
2nd second
3rd third
4th fourth
5th fifth
6th sixth
7th seventh
8th eighth
-->
<span class="card-fav" v-if="card_origin_status"> <span class="card-fav" v-if="card_origin_status">
<span class="card-fav" v-for="k in cards.data"> <span class="card-fav" v-for="k in cards.data">
<tr class="card-status-first" v-if="k.status == 'first' && k.card !== null" > <tr class="card-status-first" v-if="k.status == 'yui' || k.status == 'first' || k.status == 'second' || k.status == 'second' || k.status == 'third' || k.status == 'fourth' || k.status == 'fifth' || k.status == 'sixth' || k.status == 'seven'" >
<span class="card-wrapper"> <span class="card-wrapper">
<span class="reflection"> <span class="reflection">
<img :src='"/card/card_" + k.card + ".webp"' class="card"> <img :src='"/card/card_" + k.card + ".webp"' class="card">
</span> </span>
<span class="card pattern"></span> <span :class="'card pattern-' + k.status"></span>
<span class="card color"></span> <span :class="'card color-' + k.status"></span>
<span class="card highlight"></span> <span :class="'card highlight-' + k.status"></span>
</span>
</tr>
<tr class="card-status-first" v-else-if="k.status == 'second' && k.card !== null">
<span class="card-wrapper">
<span class="reflection">
<img :src='"/card/card_" + k.card + ".webp"' class="card">
</span>
<span class="card pattern-s"></span>
<span class="card color-s"></span>
<span class="card highlight-s"></span>
</span>
</tr>
<tr class="card-status-first" v-else-if="k.status == 'third' && k.card !== null">
<span class="card-wrapper">
<span class="reflection">
<img :src='"/card/card_" + k.card + ".webp"' class="card">
</span>
<span class="card pattern-t"></span>
<span class="card color-t"></span>
<span class="card highlight-t"></span>
</span>
</tr>
<tr class="card-status-first" v-else-if="k.status == 'fourth' && k.card !== null">
<span class="card-wrapper">
<span class="reflection">
<img :src='"/card/card_" + k.card + ".webp"' class="card">
</span>
<span class="card pattern-f"></span>
<span class="card color-f"></span>
<span class="card highlight-f"></span>
</span>
</tr>
<tr class="card-status-first" v-else-if="k.status == 'yui' && k.card !== null">
<span class="card-wrapper">
<span class="reflection">
<img :src='"/card/card_" + k.card + ".webp"' class="card">
</span>
<span class="card pattern-yui"></span>
<span class="card color-yui"></span>
<span class="card highlight-yui"></span>
</span> </span>
</tr> </tr>
</span> </span>
</span> </span>
<div class="vrm" v-if="iframe_status == true"> <div class="vrm" v-if="iframe_status == true">
<iframe src="https://vrm.syui.ai" allowfullscreen frameborder="0"></iframe> <iframe src="https://vrm.syui.ai" allowfullscreen frameborder="0" loading="lazy"></iframe>
<table> <table>
<tbody> <tbody>
<tr> <tr>
@ -139,6 +112,7 @@
</div> </div>
<div class="glb" v-if="glb_status == true"> <div class="glb" v-if="glb_status == true">
<script type="module" src="https://unpkg.com/@google/model-viewer/dist/model-viewer.min.js"></script>
<model-viewer v-if="glb_next !== 0" class="ar" :src="'/obj/card_' + glb_next + '.glb'" ar-modes="scene-viewer webxr quick-look" auto-rotate autoplay ar camera-controls></model-viewer> <model-viewer v-if="glb_next !== 0" class="ar" :src="'/obj/card_' + glb_next + '.glb'" ar-modes="scene-viewer webxr quick-look" auto-rotate autoplay ar camera-controls></model-viewer>
<model-viewer v-else class="ar" :src="'/obj/card_' + cards.data.filter((v) => v.skill == '3d' && (v.card >= 1 && v.card <= 14 || v.card == 64))[0].card + '.glb'" ar-modes="scene-viewer webxr quick-look" auto-rotate autoplay ar camera-controls></model-viewer> <model-viewer v-else class="ar" :src="'/obj/card_' + cards.data.filter((v) => v.skill == '3d' && (v.card >= 1 && v.card <= 14 || v.card == 64))[0].card + '.glb'" ar-modes="scene-viewer webxr quick-look" auto-rotate autoplay ar camera-controls></model-viewer>
<span v-for="(ii, index) in cards.data.filter((v) => v.skill == '3d' && (v.card >= 1 && v.card <= 14 || v.card == 64))" class="glb"> <span v-for="(ii, index) in cards.data.filter((v) => v.skill == '3d' && (v.card >= 1 && v.card <= 14 || v.card == 64))" class="glb">
@ -152,13 +126,9 @@
</div> </div>
<div class="term" v-if="term_status == true"> <div class="term" v-if="term_status == true">
<iframe :src="'https://term.syui.ai?user=' + username + '&did=' + did + '&id=' + id" allowfullscreen frameborder="0"></iframe> <iframe :src="'https://term.syui.ai?user=' + username + '&did=' + did + '&id=' + id" allowfullscreen frameborder="0" loading="lazy"></iframe>
</div> </div>
<!--
first(ファースト) second(セカンド) third(サード) fourth(フォース) fifth(フィフス) sixth(スィクスス) seventh(セヴンス) eighth(エイトス) ninth(ナインス) tenth(テンス) eleventh(イレヴンス) twelfth(トウェルフス) thirteenth(サーティーンス) fifteenth(フィフティーンス) sixteenth(スィクスティーンス) seventeenth(セヴンティーンス) eighteenth(エイティーンス) nineteenth(ナインティーンス) twentieth(トウィンティイス)
-->
<span class="menu-right-top" v-if="cards.data.find((v) => v.card == 43)"> <span class="menu-right-top" v-if="cards.data.find((v) => v.card == 43)">
<button v-on:click="book_user = !book_user">book</button> <button v-on:click="book_user = !book_user">book</button>
</span> </span>
@ -182,81 +152,15 @@
<span class="card-fav-su"> <span class="card-fav-su">
{{ ii = cards.data.find((v) => v.id == user_fav) }} {{ ii = cards.data.find((v) => v.id == user_fav) }}
</span> </span>
<thead v-if="ii.status == 'yui' || ii.status == 'first' || ii.status == 'second' || ii.status == 'second' || ii.status == 'third' || ii.status == 'fourth' || ii.status == 'fifth' || ii.status == 'sixth' || ii.status == 'seven'" class="card-fav">
<thead v-if="ii.status == 'first' && ii.card !== null" class="card-fav">
<tr class="card-status-first"> <tr class="card-status-first">
<span class="card-wrapper"> <span class="card-wrapper">
<span class="reflection"> <span class="reflection">
<img :src='"/card/card_" + ii.card + ".webp"' class="card"> <img :src='"/card/card_" + ii.card + ".webp"' class="card">
</span> </span>
<span class="card pattern"></span> <span :class="'card pattern-' + ii.status"></span>
<span class="card color"></span> <span :class="'card color-' + ii.status"></span>
<span class="card highlight"></span> <span :class="'card highlight-' + ii.status"></span>
</span>
</tr>
</thead>
<thead v-else-if="ii.status == 'second' && ii.card !== null" class="card-fav">
<tr class="card-status-first">
<span class="card-wrapper">
<span class="reflection">
<img :src='"/card/card_" + ii.card + ".webp"' class="card">
</span>
<span class="card pattern-s"></span>
<span class="card color-s"></span>
<span class="card highlight-s"></span>
</span>
</tr>
</thead>
<thead v-else-if="ii.status == 'third' && ii.card !== null" class="card-fav">
<tr class="card-status-first">
<span class="card-wrapper">
<span class="reflection">
<img :src='"/card/card_" + ii.card + ".webp"' class="card">
</span>
<span class="card pattern-t"></span>
<span class="card color-t"></span>
<span class="card highlight-t"></span>
</span>
</tr>
</thead>
<thead v-else-if="ii.status == 'yui' && ii.card !== null" class="card-fav">
<tr class="card-status-first">
<span class="card-wrapper">
<span class="reflection">
<img :src='"/card/card_" + ii.card + ".webp"' class="card">
</span>
<span class="card pattern-yui"></span>
<span class="card color-yui"></span>
<span class="card highlight-yui"></span>
</span>
</tr>
</thead>
<thead v-else-if="ii.status == 'fourth' && ii.card !== null" class="card-fav">
<tr class="card-status-first">
<span class="card-wrapper">
<span class="reflection">
<img :src='"/card/card_" + ii.card + ".webp"' class="card">
</span>
<span class="card pattern-f"></span>
<span class="card color-f"></span>
<span class="card highlight-f"></span>
</span>
</tr>
</thead>
<thead v-else-if="ii.status == 'fifth' && ii.card !== null" class="card-fav">
<tr class="card-status-first">
<span class="card-wrapper">
<span class="reflection">
<img :src='"/card/card_" + ii.card + ".webp"' class="card">
</span>
<span class="card pattern-fifth"></span>
<span class="card color-fifth"></span>
<span class="card highlight-fifth"></span>
</span> </span>
</tr> </tr>
</thead> </thead>
@ -280,12 +184,94 @@
</table> </table>
</div> </div>
<div class="card-planet" v-if="planet_status == true">
<table class="card-fav">
<thead>
<span class="card-planet" v-if="planet >= 1000000">
<iframe :src="planet_url + '?g=galaxy'" scrolling="no" frameborder="0" style="width:155px;height:200px;padding-bottom:14px;" loading="lazy"></iframe>
</span>
<span class="card-planet" v-else-if="planet >= 466666">
<iframe :src="planet_url + '?g=neutron'" scrolling="no" frameborder="0" style="width:155px;height:200px;padding-bottom:14px;" loading="lazy"></iframe>
</span>
<span class="card-planet" v-else-if="planet >= 333000">
<iframe :src="planet_url + '?g=sun'" scrolling="no" frameborder="0" style="width:155px;height:200px;padding-bottom:14px;" loading="lazy"></iframe>
</span>
<span class="card-planet" v-else-if="planet >= 1.0">
<iframe :src="planet_url + '?g=earth'" scrolling="no" frameborder="0" style="width:155px;height:200px;padding-bottom:14px;" loading="lazy"></iframe>
</span>
<span class="card-planet" v-else-if="planet > 0">
<iframe :src="planet_url + '?g=moon'" scrolling="no" frameborder="0" style="width:155px;height:200px;padding-bottom:14px;" loading="lazy"></iframe>
</span>
</thead>
<tbody><tr v-if="planet">M {{ planet }}</tr></tbody>
<tbody>
<tr v-if="planet >= 1000000"><span class="icon-ai"></span> galaxy</tr>
<tr v-else-if="planet >= 466666"><span class="icon-home"></span> neutron</tr>
<tr v-else-if="planet >= 333000"><span class="icon-ten"></span> sun</tr>
<tr v-else-if="planet >= 1"><i class="fa-solid fa-earth-americas"></i> earth</tr>
<tr v-else-if="planet > 0"><span class="icon-moon"></span> moon</tr>
</tbody>
</table>
</div>
<div class="game-card" v-if="game_login == true && game_screen == true">
<button v-on:click="gamescreen">min</button>
<iframe class="game-app" src="https://ue.syui.ai/?AutoConnect=true&hoveringMouse=true&MatchViewportRes=true&AutoPlayVideo=true&FakeMouseWithTouches=true" scrolling="no" frameborder="0" loading="lazy" allowfullscreen></iframe>
<table>
<tbody>
<tr>
<td>Lv0</td>
<td>space</td>
<td>jump</td>
</tr>
<tr>
<td>Lv0</td>
<td>w, s, a, d</td>
<td>move</td>
</tr>
<tr>
<td>Lv1</td>
<td>1</td>
<td class="blue">attack</td>
</tr>
<tr>
<td>Lv2</td>
<td>2</td>
<td class="green">skill</td>
</tr>
<tr>
<td>Lv3</td>
<td>3</td>
<td class="red">burst</td>
</tr>
</tbody>
</table>
<table class="card-fav">
<thead style="background-color:#fff;">
</thead>
<tbody><i class="fa-solid fa-keyboard"></i></tbody>
</table>
</div>
<div class="game-card" v-else-if="game_login == true && game_screen == false">
<table class="card-fav">
<thead style="background-color:#fff;">
<span class="card-planet">
<iframe class="game-app" src="https://ue.syui.ai/?AutoConnect=true&hoveringMouse=true&MatchViewportRes=true&AutoPlayVideo=true&FakeMouseWithTouches=true" scrolling="no" frameborder="0" loading="lazy" width="768" height="1024" style="width:160px; height:210px; padding-bottom:14px;"></iframe>
</span>
</thead>
<tbody><button v-on:click="gamescreen">full</button></tbody>
<tbody>E {{ game_exp }}</tbody>
</table>
</div>
<div class="card-button" > <div class="card-button" >
<button v-on:click="cardtime">new</button> <button v-on:click="sort">cp</button> <button v-on:click="sortcard" >card</button> <button v-on:click="cardinfo">info</button> <button v-on:click="cardtime">new</button> <button v-on:click="sort">cp</button> <button v-on:click="sortcard" >card</button> <button v-on:click="cardinfo">info</button>
</div> </div>
<div class="menu-right"><code><strong>ID</strong> {{ id }}</code> <code><span class="icon-power"></span> {{ aiten }}</code> <code><i class="fa-solid fa-cube"></i> {{ cards.data.filter((v) => v.skill == 'lost').length }}</code> <div class="menu-right"><code><strong>ID</strong> {{ id }}</code> <code><span class="icon-power"></span> {{ aiten }}</code> <code><i class="fa-solid fa-cube"></i> {{ cards.data.filter((v) => v.skill == 'lost').length }}</code>
<code class="moji-comp" v-if="26 == (cards.data.filter((v) => v.card >= 96 && v.card <= 121).length)" v-on:click="background_change"><span class="icon-ai"></span> {{ (cards.data.filter((v) => v.card >= 96 && v.card <= 121).length) }}</code> <code class="moji-comp" v-if="26 == (cards.data.filter((v) => v.card >= 96 && v.card <= 121).length)" v-on:click="background_change"><span class="icon-ai"></span> {{ (cards.data.filter((v) => v.card >= 96 && v.card <= 121).length) }}</code>
<code v-else><span class="icon-ai"></span> {{ (cards.data.filter((v) => v.card >= 96 && v.card <= 121).length) }}</code> <code v-else><span class="icon-ai"></span> {{ (cards.data.filter((v) => v.card >= 96 && v.card <= 121).length) }}</code>
<code><i class="fa-solid fa-earth-americas"></i> {{ planet }}</code>
</div> </div>
<div class="moji" v-if="moji_status == true"> <div class="moji" v-if="moji_status == true">
@ -402,7 +388,7 @@
<div v-if="loc.length == 0"> <div v-if="loc.length == 0">
<div v-if="cards" class="bluesky-card"> <div v-if="cards" class="bluesky-card">
<p>user : <a :href='"/" + user.data.username'><code>{{ user.data.username }}</code></a></p> <p>user : <a :href='"/" + user.data.username'><code v-if="user.data.username">{{ user.data.username }}</code></a></p>
<p>id : <code>{{ user.data.id }}</code></p> <p>id : <code>{{ user.data.id }}</code></p>
<p>did : <code>{{ user.data.did }}</code></p> <p>did : <code>{{ user.data.did }}</code></p>
<p>aiten : <code>{{ user.data.aiten }}</code></p> <p>aiten : <code>{{ user.data.aiten }}</code></p>
@ -425,7 +411,7 @@
<li v-for="i in record.data"> <li v-for="i in record.data">
<p v-if="i.delete === false"><span class="menu-right-top"> <p v-if="i.delete === false"><span class="menu-right-top">
<button v-if="i.model === true"><i class="fa-solid fa-cube"></i></button> <button v-if="i.fav != '0'">✧</button> <a :href="'https://git.syui.ai/' + i.username" target="_blank"><button v-if="i.username == 'ai'"><i class="fa-brands fa-git-alt"></i></button></a> <button>ID {{ i.id }}</button></span></p> <button v-if="i.model === true"><i class="fa-solid fa-cube"></i></button> <button v-if="i.fav != '0'">✧</button> <a :href="'https://git.syui.ai/' + i.username" target="_blank"><button v-if="i.username == 'ai'"><i class="fa-brands fa-git-alt"></i></button></a> <button>ID {{ i.id }}</button></span></p>
<p v-if="i.delete === false"><span class="text"><a :href="'/' + i.username">{{ i.username }}</a></span></p> <p v-if="i.delete === false"><span class="text"><a :href="'/' + i.username" v-if="i.username">{{ i.username }}</a></span></p>
<span class="menu-right-did" v-if="i.delete === false && did_enable === true && i.did.includes('did:') === true"> <span class="menu-right-did" v-if="i.delete === false && did_enable === true && i.did.includes('did:') === true">
<button><a :href="'https://plc.directory/' + i.did + '/log'" target="_blank">{{ i.did }}</a></button> <button><a :href="'https://plc.directory/' + i.did + '/log'" target="_blank">{{ i.did }}</a></button>
</span> </span>
@ -654,9 +640,8 @@
<p>集めた人は<a href="https://bsky.app/profile/syui.ai">@syui</a>まで連絡してみて</p> <p>集めた人は<a href="https://bsky.app/profile/syui.ai">@syui</a>まで連絡してみて</p>
<p>ただしリアルカードに変わるのはこちらの<a href="/owner">所有者</a>がいないカードに限られます</p> <p>ただしリアルカードに変わるのはこちらの<a href="/owner">所有者</a>がいないカードに限られます</p>
<h3>link</h3> <h3>link</h3>
<p><a class="menu-link" href="/fa">fanart</a> <a class="menu-link" href="/ph">photo</a> <a class="menu-link" href="/te">aiten</a> <a class="menu-link" href="/pr">fav</a> <a class="menu-link" href="/vr">model</a></p> <p><a class="menu-link" href="/fa">fanart</a> <a class="menu-link" href="/te">aiten</a> <a class="menu-link" href="/vr">model</a></p>
</div> </div>
<div v-if="loc === 'en'" class="text-content"> <div v-if="loc === 'en'" class="text-content">
@ -843,7 +828,7 @@
<p :id="ii.id">[{{ ii.ten }}] {{ ii.h }} / {{ ii.id }}00</p> <p :id="ii.id">[{{ ii.ten }}] {{ ii.h }} / {{ ii.id }}00</p>
<p><img :src='"/card/card_" + ii.id + ".webp"'></p> <p><img :src='"/card/card_" + ii.id + ".webp"'></p>
</div> </div>
<div v-show="ii.id == 29 || ii.id == 33 || ii.id == 36 || ii.id == 46 || ii.id == 47 || ii.id == 60 || ii.id == 64 || ii.id == 67 || ii.id == 69 || ii.id == 76 || ii.id == 77 || ii.id == 78|| ii.id == 86|| ii.id == 89 || ii.id == 90 || ii.id == 95||ii.id == 122||ii.id == 123" class="card-owner-one"> <div v-show="ii.id == 29 || ii.id == 33 || ii.id == 36 || ii.id == 46 || ii.id == 47 || ii.id == 60 || ii.id == 64 || ii.id == 67 || ii.id == 69 || ii.id == 76 || ii.id == 77 || ii.id == 78|| ii.id == 86|| ii.id == 89 || ii.id == 90 || ii.id == 95||ii.id == 122||ii.id == 123||ii.id == 126" class="card-owner-one">
<p :id="ii.id"><button>id:{{ ii.id }}</button></p> <p :id="ii.id"><button>id:{{ ii.id }}</button></p>
<p :id="ii.id">[{{ ii.ten }}] {{ ii.h }} / {{ ii.id }}00 <span class="icon-power"></span></p> <p :id="ii.id">[{{ ii.ten }}] {{ ii.h }} / {{ ii.id }}00 <span class="icon-power"></span></p>
<p><img :src='"/card/card_" + ii.id + ".webp"'></p> <p><img :src='"/card/card_" + ii.id + ".webp"'></p>
@ -854,7 +839,7 @@
<div v-if="loc === 'c'" class="text-content"> <div v-if="loc === 'c'" class="text-content">
<div class="iten-start"> <div class="iten-start">
<h3><span class="icon-moji_k"></span> ALL</h3> <p><span class="icon-moji_a"></span> <code>all</code> card</p>
</div> </div>
<table id="card-box"> <table id="card-box">
<span v-for="(ii, index) in rcards.data"> <span v-for="(ii, index) in rcards.data">
@ -874,6 +859,31 @@
</table> </table>
</div> </div>
<div v-if="loc === 'svn'" class="text-content">
<p><span class="icon-moji_a"></span> <code>seven</code> owner</p>
<div class="card-fav" v-for="(ii, index) in sevens.data">
<table class="card-fav" v-if="ii.card !== 0 && ii.count == 0">
<thead class="card-fav">
<tr class="card-status-first">
<span class="card-wrapper">
<span class="reflection">
<img :src='"/card/card_" + ii.card + ".webp"' class="card">
</span>
<span class="card pattern-seven"></span>
<span class="card color-seven"></span>
<span class="card highlight-seven"></span>
</span>
</tr>
</thead>
<tbody>
<tr v-if='ii.handle'><a :href="'/' + ii.handle">@{{ ii.handle }}</a></tr>
<tr v-if='ii.cp'>{{ ii.cp }}</tr>
</tbody>
</table>
</div>
<p><code>/ten pay 7</code> <code><span class="icon-power"></span> 70,000,000</code></p>
</div>
<div v-if="loc === 'te'" class="text-content"> <div v-if="loc === 'te'" class="text-content">
<div class="iten-start"> <div class="iten-start">
<p><code>/ten h</code> : ヘルプ</p> <p><code>/ten h</code> : ヘルプ</p>
@ -921,6 +931,7 @@
<script> <script>
import axios from 'axios' import axios from 'axios'
import moment from "moment"; import moment from "moment";
var loc = window.location.pathname.split('/').slice(-1)[0]; var loc = window.location.pathname.split('/').slice(-1)[0];
export default { export default {
@ -947,66 +958,79 @@ export default {
data () { data () {
return { return {
host: window.location.host, host: window.location.host,
all: null, all: "",
badge_aiten: null, badge_aiten: "",
card: null, card: "",
cards: null, cards: "",
loc: window.location.pathname.split('/').slice(-1)[0], loc: window.location.pathname.split('/').slice(-1)[0],
username: null, username: "ai",
id: null, id: "",
model: null, model: "",
record: null, record: "",
url: null, url: "",
user: null, user: "",
userid: null, userid: "",
ucard: null, ucard: "",
status: null, status: "",
premium: false, premium: false,
premium_text: null, premium_text: "",
rcards: null, rcards: "",
fanarts: null, fanarts: "",
photos: null, photos: "",
info: false, info: false,
time: null, time: "",
aiten: null, aiten: "",
fav: null, fav: "",
card_fav: null, card_fav: "",
user_fav: null, user_fav: "",
book_user: null, book_user: "",
glb_status: false, glb_status: false,
glb_next: 0, glb_next: 0,
moji_status: false, moji_status: false,
did_enable: null, did_enable: "",
chara_user: null, chara_user: "",
card_sed: false, card_sed: false,
card_status: null, card_status: "",
card_skill: null, card_skill: "",
model_attack: null, model_attack: "",
model_critical: null, model_critical: "",
model_critical_d: null, model_critical_d: "",
game: null, sevens: "",
game_lv: null, game: "",
api_url: null, game_lv: "",
game_exp: 0,
api_url: "",
bsky_mode: false, bsky_mode: false,
did: null, did: "",
card_origin_status: false, card_origin_status: false,
planet_status: false,
game_login: false,
game_screen: false,
planet: 0,
useragent: window.navigator.userAgent.toLowerCase(), useragent: window.navigator.userAgent.toLowerCase(),
iframe_status: false, iframe_status: false,
term_status: false, term_status: false,
sort_key: null, sort_key: "",
mount_google_md: false,
planet_url: "/planet/index.html",
} }
}, },
components: {
},
filters: { filters: {
moment: function(date) { moment: function(date) {
return moment.unix(date).format("YYYY.MM.DD"); return moment.unix(date).format("YYYY.MM.DD");
}, },
}, },
computed: {
loadComponent() {
return () => import('@google/model-viewer');
}
},
mounted() { mounted() {
this.loadComponent(); this.username = "ai";
this.mount_google_md = false;
if (window.location.host === "localhost:8080") { if (window.location.host === "localhost:8080") {
this.api_url = "/api/"; this.api_url = "/api/";
//this.planet_url = "http://localhost:3000";
} else if (window.location.host === "192.168.11.12:8080"){ } else if (window.location.host === "192.168.11.12:8080"){
this.api_url = "/api/"; this.api_url = "/api/";
} else { } else {
@ -1016,29 +1040,34 @@ export default {
this.api_url = "https://api.syui.ai/"; this.api_url = "https://api.syui.ai/";
} }
if (loc === 'owner' || loc === 'te' || loc === 'c'){ if (loc === 'owner' || loc === 'te' || loc === 'c'){
this.rcards = "";
axios axios
.get("/json/card.json") .get("/json/card.json")
.then(response => (this.rcards = response)); .then(response => (this.rcards = response));
if (loc.length > 1){ } else if (loc === 'svn'){
axios this.cards = "";
.get(url,{ crossdomain: true }) let url = this.api_url + "sevs?itemsPerPage=8000";
.then(response => (this.cards = response));
}
} else if (loc === 'fa'){
axios axios
.get("/json/fanart.json") .get(url)
.then(response => (this.fanarts = response)); .then(response => (this.sevens = response));
} else if (loc === 'ph'){ } else if (loc === null || loc === undefined || loc === ''){
axios let url = this.api_url + "users?itemsPerPage=3000";
.get("/json/photo.json") axios.get(url,{ crossdomain: true })
.then(response => (this.photos = response)); .then(response => {
this.record = response;
})
} else { } else {
if (this.mount_google_md === false) {
//this.loadComponent();
this.mount_google_md = true;
}
let url = this.api_url + "users?itemsPerPage=3000"; let url = this.api_url + "users?itemsPerPage=3000";
axios.get(url,{ crossdomain: true }) axios.get(url,{ crossdomain: true })
.then(response => { .then(response => {
this.record = response; this.record = response;
this.username = this.record.data.find((v) => v.username == loc).username; this.username = this.record.data.find((v) => v.username == loc).username;
this.id = this.record.data.find((v) => v.username == loc).id; this.id = this.record.data.find((v) => v.username == loc).id;
this.planet = this.record.data.find((v) => v.username == loc).planet;
this.model = this.record.data.find((v) => v.username == loc).model; this.model = this.record.data.find((v) => v.username == loc).model;
this.did = this.record.data.find((v) => v.username == loc).did; this.did = this.record.data.find((v) => v.username == loc).did;
this.aiten = this.record.data.find((v) => v.username == loc).aiten; this.aiten = this.record.data.find((v) => v.username == loc).aiten;
@ -1050,40 +1079,43 @@ export default {
this.model_critical = this.record.data.find((v) => v.username == loc).model_critical; this.model_critical = this.record.data.find((v) => v.username == loc).model_critical;
this.model_critical_d = this.record.data.find((v) => v.username == loc).model_critical_d; this.model_critical_d = this.record.data.find((v) => v.username == loc).model_critical_d;
this.user_room = this.record.data.find((v) => v.username == loc).room; this.user_room = this.record.data.find((v) => v.username == loc).room;
let url = this.api_url + "users/" + this.id + "/card?itemsPerPage=4000"; this.game_login = this.record.data.find((v) => v.username == loc).login;
axios this.game_exp = this.record.data.find((v) => v.username == loc).game_exp;
.get("/json/card.json")
.then(response => (this.rcards = response)); if (this.username === "syui") {
if (loc.length > 1){ this.game_login = true;
axios
.get(url,{ crossdomain: true })
.then(response => { this.cards = response
for (let i = 1; i <= 14; i++) {
this.all = this.cards.data.some(
b => b.card === i,
);
if (this.all === false) {
break;
}
}
for (let i = 65; i <= 67; i++) {
this.badge_aiten = this.cards.data.some(
b => b.card === i,
);
if (this.badge_aiten === false) {
break;
}
}
});
} }
}) if (this.planet > 0){
.catch(error => console.log(error)); this.planet_status = true;
}
let url = this.api_url + "users/" + this.id + "/card?itemsPerPage=8000";
axios
.get("/json/card.json")
.then(response => (this.rcards = response));
if (loc.length > 1){
axios
.get(url,{ crossdomain: true })
.then(response => { this.cards = response
for (let i = 1; i <= 14; i++) {
this.all = this.cards.data.some(
b => b.card === i,
);
if (this.all === false) {
break;
}
}
for (let i = 65; i <= 67; i++) {
this.badge_aiten = this.cards.data.some(
b => b.card === i,
);
if (this.badge_aiten === false) {
break;
}
}
});
}
})
}}, }},
computed: {
loadComponent() {
return () => import('@google/model-viewer');
}
},
methods: { methods: {
submit() { submit() {
let url = this.api_url + "users/" + this.id + "/card?itemsPerPage=3000"; let url = this.api_url + "users/" + this.id + "/card?itemsPerPage=3000";
@ -1096,7 +1128,7 @@ export default {
}, },
page() { page() {
this.id = this.record.data.find((v) => v.username == this.userid).id; this.id = this.record.data.find((v) => v.username == this.userid).id;
let url = this.api_url + "users/" + this.id + "/card?itemsPerPage=4000"; let url = this.api_url + "users/" + this.id + "/card?itemsPerPage=8000";
axios axios
.get(url,{ crossdomain: true }) .get(url,{ crossdomain: true })
.then(response => (this.ucard = response)); .then(response => (this.ucard = response));
@ -1105,7 +1137,7 @@ export default {
sort(){ sort(){
if (this.premium) { if (this.premium) {
this.premium = false; this.premium = false;
let url = this.api_url + "users/" + this.id + "/card?itemsPerPage=4000"; let url = this.api_url + "users/" + this.id + "/card?itemsPerPage=8000";
} }
return this.cards.data.sort((a, b) => { return this.cards.data.sort((a, b) => {
return b.cp - a.cp; return b.cp - a.cp;
@ -1130,8 +1162,8 @@ export default {
}); });
}, },
cardinfo(){ cardinfo(){
this.cards = {}; this.cards = "";
let url = this.api_url + "users/" + this.id + "/card?itemsPerPage=4000"; let url = this.api_url + "users/" + this.id + "/card?itemsPerPage=8000";
axios axios
.get(url,{ crossdomain: true }) .get(url,{ crossdomain: true })
.then(response => (this.cards = response)); .then(response => (this.cards = response));
@ -1141,6 +1173,13 @@ export default {
this.info = false; this.info = false;
} }
}, },
gamescreen(){
if (this.game_screen == true) {
this.game_screen = false;
} else {
this.game_screen = true;
}
},
cardtime(){ cardtime(){
this.cards.data = this.cards.data.slice().reverse(); this.cards.data = this.cards.data.slice().reverse();
this.time = true; this.time = true;
@ -1185,10 +1224,19 @@ export default {
</script> </script>
<style> <style>
body{ html {
text-size-adjust:100%;
-webkit-text-size-adjust:100%;
}
body {
text-size-adjust:100%;
-webkit-text-size-adjust:100%;
background-color: #f1f1f1; background-color: #f1f1f1;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 18px; font-size: 18px;
overflow-wrap: anywhere;
word-break: normal;
line-break: strict;
} }
a { a {
@ -1237,9 +1285,7 @@ span.text {
footer#footer { footer#footer {
text-align: center; text-align: center;
} }
span.text {
word-break: break-all;
}
p.tl-avatar img { p.tl-avatar img {
width: 20px; width: 20px;
} }
@ -1375,60 +1421,6 @@ span.card-fav-su {
display:none; display:none;
} }
span.pattern-s {
background: repeating-radial-gradient(circle at -150% -25%, #000, #777 3px, #000 3px);
background-position: 50% 50%;
background-size: 120% 120%;
mix-blend-mode: color-dodge;
opacity: 0.3;
}
span.color-s {
background: linear-gradient(115deg, transparent 20%, #000 30%, transparent 48% 52%, #000 70%, transparent);
background-position: 50% 50%;
background-size: 200% 200%;
mix-blend-mode: overlay;
}
span.card-wrapper:hover > span.pattern-s {
background-position: calc(50% + (var(--ratio-x) * -50%)) calc(50% + (var(--ratio-y) * -50%));
}
span.card-wrapper:hover > span.color-s {
background-position: calc(50% + (var(--ratio-x) * -50%)) calc(50% + (var(--ratio-y) * -50%));
}
span.card-wrapper:hover > span.highlight-s {
background-repeat: no-repeat;
}
span.pattern-t {
background: repeating-radial-gradient(circle at -150% -25%, #c71585, #777 3px, #ffff00 3px);
background-position: 50% 50%;
background-size: 120% 120%;
mix-blend-mode: color-dodge;
opacity: 0.3;
}
span.color-t {
background: linear-gradient(115deg, transparent 20%, #c71585 30%, transparent 48% 52%, #c71585 70%, transparent);
background-position: 50% 50%;
background-size: 200% 200%;
mix-blend-mode: overlay;
}
span.card-wrapper:hover > span.pattern-t {
background-position: calc(50% + (var(--ratio-x) * -50%)) calc(50% + (var(--ratio-y) * -50%));
}
span.card-wrapper:hover > span.color-t {
background-position: calc(50% + (var(--ratio-x) * -50%)) calc(50% + (var(--ratio-y) * -50%));
}
span.card-wrapper:hover > span.highlight-t {
background-repeat: no-repeat;
}
span.pattern-yui { span.pattern-yui {
background: repeating-radial-gradient(circle at -150% -25%, #ffff00, #000 3px, #ffff00 3px); background: repeating-radial-gradient(circle at -150% -25%, #ffff00, #000 3px, #ffff00 3px);
background-position: 50% 50%; background-position: 50% 50%;
@ -1444,19 +1436,7 @@ span.color-yui {
mix-blend-mode: overlay; mix-blend-mode: overlay;
} }
span.card-wrapper:hover > span.pattern-yui { span.pattern-first {
background-position: calc(50% + (var(--ratio-x) * -50%)) calc(50% + (var(--ratio-y) * -50%));
}
span.card-wrapper:hover > span.color-yui {
background-position: calc(50% + (var(--ratio-x) * -50%)) calc(50% + (var(--ratio-y) * -50%));
}
span.card-wrapper:hover > span.highlight-yui {
background-repeat: no-repeat;
}
span.pattern-f {
background: repeating-radial-gradient(circle at -150% -25%, #000, #32cd32 3px, #1e90ff 3px); background: repeating-radial-gradient(circle at -150% -25%, #000, #32cd32 3px, #1e90ff 3px);
background-position: 50% 50%; background-position: 50% 50%;
background-size: 120% 120%; background-size: 120% 120%;
@ -1464,19 +1444,56 @@ span.pattern-f {
opacity: 0.3; opacity: 0.3;
} }
span.color-f { span.color-first {
background: linear-gradient(115deg, transparent 20%, #00ffff 30%, transparent 48% 52%, #40e0d0 70%, transparent); background: linear-gradient(115deg, transparent 20%, #00ffff 30%, transparent 48% 52%, #40e0d0 70%, transparent);
background-position: 50% 50%; background-position: 50% 50%;
background-size: 200% 200%; background-size: 200% 200%;
mix-blend-mode: overlay; mix-blend-mode: overlay;
} }
span.card-wrapper:hover > span.pattern-f { span.pattern-second {
background-position: calc(50% + (var(--ratio-x) * -50%)) calc(50% + (var(--ratio-y) * -50%)); background: repeating-radial-gradient(circle at -150% -25%, #000, #777 3px, #000 3px);
background-position: 50% 50%;
background-size: 120% 120%;
mix-blend-mode: color-dodge;
opacity: 0.3;
} }
span.card-wrapper:hover > span.color-f { span.color-second {
background-position: calc(50% + (var(--ratio-x) * -50%)) calc(50% + (var(--ratio-y) * -50%)); background: linear-gradient(115deg, transparent 20%, #000 30%, transparent 48% 52%, #000 70%, transparent);
background-position: 50% 50%;
background-size: 200% 200%;
mix-blend-mode: overlay;
}
span.pattern-third {
background: repeating-radial-gradient(circle at -150% -25%, #c71585, #777 3px, #ffff00 3px);
background-position: 50% 50%;
background-size: 120% 120%;
mix-blend-mode: color-dodge;
opacity: 0.3;
}
span.color-third {
background: linear-gradient(115deg, transparent 20%, #c71585 30%, transparent 48% 52%, #c71585 70%, transparent);
background-position: 50% 50%;
background-size: 200% 200%;
mix-blend-mode: overlay;
}
span.pattern-fourth {
background: repeating-radial-gradient(circle at -150% -25%, #fff, #777 3px, #fff 3px);
background-position: 50% 50%;
background-size: 120% 120%;
mix-blend-mode: color-dodge;
opacity: 0.3;
}
span.color-fourth {
background: linear-gradient(115deg, transparent 20%, #40A4BF 30%, transparent 48% 52%, #404FBF 70%, transparent);
background-position: 50% 50%;
background-size: 200% 200%;
mix-blend-mode: overlay;
} }
span.pattern-fifth { span.pattern-fifth {
@ -1494,43 +1511,45 @@ span.color-fifth {
mix-blend-mode: overlay; mix-blend-mode: overlay;
} }
span.card-wrapper:hover > span.pattern-fifth { span.pattern-sixth {
background-position: calc(50% + (var(--ratio-x) * -50%)) calc(50% + (var(--ratio-y) * -50%)); background: repeating-radial-gradient(circle at center, #f1f1f1, #313131 3px, #fff700 3px);
}
span.card-wrapper:hover > span.color-fifth {
background-position: calc(50% + (var(--ratio-x) * -50%)) calc(50% + (var(--ratio-y) * -50%));
}
span.card-wrapper:hover > span.highlight-yui {
background-repeat: no-repeat;
}
span.pattern {
background: repeating-radial-gradient(circle at -150% -25%, #fff, #777 3px, #fff 3px);
background-position: 50% 50%; background-position: 50% 50%;
background-size: 120% 120%; background-size: 120% 120%;
mix-blend-mode: color-dodge; mix-blend-mode: color-dodge;
opacity: 0.3; opacity: 0.3;
} }
span.color { span.color-sixth {
background: linear-gradient(115deg, transparent 20%, #40A4BF 30%, transparent 48% 52%, #404FBF 70%, transparent); background: linear-gradient(115deg, transparent 20%, #f1f1f1 30%, transparent 48% 52%, #313131 70%, transparent);
background-position: 50% 50%; background-position: 50% 50%;
background-size: 200% 200%; background-size: 200% 200%;
mix-blend-mode: overlay; mix-blend-mode: overlay;
} }
span.card-wrapper:hover > span.pattern { span.pattern-seven {
background: repeating-radial-gradient(circle at center, #fff700, #313131 3px, #000700 3px);
background-position: 50% 50%;
background-size: 120% 120%;
mix-blend-mode: color-dodge;
opacity: 0.3;
}
span.color-seven {
background: linear-gradient(115deg, transparent 20%, #fff700 30%, transparent 48% 52%, #fff700 70%, transparent);
background-position: 50% 50%;
background-size: 200% 200%;
mix-blend-mode: overlay;
}
span.card-wrapper:hover > span.pattern-yui,span.card-wrapper:hover > span.pattern-first,span.card-wrapper:hover > span.pattern-second,span.card-wrapper:hover > span.pattern-third,span.card-wrapper:hover > span.pattern-fourth,span.card-wrapper:hover > span.pattern-fifth, span.card-wrapper:hover > span.pattern-sixth, span.card-wrapper:hover > span.pattern-seven {
background-position: calc(50% + (var(--ratio-x) * -50%)) calc(50% + (var(--ratio-y) * -50%)); background-position: calc(50% + (var(--ratio-x) * -50%)) calc(50% + (var(--ratio-y) * -50%));
} }
span.card-wrapper:hover > span.color { span.card-wrapper:hover > span.color-yui,span.card-wrapper:hover > span.color-first,span.card-wrapper:hover > span.color-second,span.card-wrapper:hover > span.color-third,span.card-wrapper:hover > span.color-fourth,span.card-wrapper:hover > span.color-fifth, span.card-wrapper:hover > span.color-sixth, span.card-wrapper:hover > span.color-seven {
background-position: calc(50% + (var(--ratio-x) * -50%)) calc(50% + (var(--ratio-y) * -50%)); background-position: calc(50% + (var(--ratio-x) * -50%)) calc(50% + (var(--ratio-y) * -50%));
} }
span.card-wrapper:hover > span.highlight { span.card-wrapper:hover > span.highlight-yui,span.card-wrapper:hover > span.highlight-first,span.card-wrapper:hover > span.highlight-second,span.card-wrapper:hover > span.highlight-third,span.card-wrapper:hover > span.highlight-fourth,span.card-wrapper:hover > span.highlight-fifth, span.card-wrapper:hover > span.highlight-sixth, span.card-wrapper:hover > span.highlight-seven {
background: radial-gradient(circle at calc(var(--ratio-x) * 100%) calc(var(--ratio-y) * 100%), hsl(0 0% 100% / 0.2), transparent 50%);
background-repeat: no-repeat; background-repeat: no-repeat;
} }
@ -1589,9 +1608,9 @@ span.reflection:after {
} }
.viewer { .viewer {
background-color: #fff; background-color: #fff;
margin: 10px 0px; margin: 10px 0px;
padding: 20px; padding: 20px;
} }
span.card-black p { span.card-black p {
@ -1747,7 +1766,11 @@ button.unity i#vrm_button:hover {
padding: 50px 0 50px 0; padding: 50px 0 50px 0;
margin: 30px 0 30px 0; margin: 30px 0 30px 0;
} }
div#app{list-style:none;margin:0px} div#app{
list-style:none;
margin:0px auto;
text-align: center;
}
.bluesky-avatar img{width:55px} .bluesky-avatar img{width:55px}
span.time{color:#00f} span.time{color:#00f}
span.name{background-color:rgba(163,195,255,.10196078431372549);padding:10px} span.name{background-color:rgba(163,195,255,.10196078431372549);padding:10px}
@ -1755,9 +1778,6 @@ button.unity i#vrm_button:hover {
.bluesky-record p{padding:0 20px 0} .bluesky-record p{padding:0 20px 0}
.bluesky-record{border-radius:10px;margin:0px 0px 0 0} .bluesky-record{border-radius:10px;margin:0px 0px 0 0}
footer#footer{text-align:center} footer#footer{text-align:center}
span.text {
word-break: break-all;
}
code { code {
padding: 10px; padding: 10px;
background-color: #fff; background-color: #fff;
@ -1849,7 +1869,6 @@ span.glb {
.menu-right code { .menu-right code {
padding: 0; padding: 0;
word-break: break-all;
} }
blockquote.did { blockquote.did {
@ -1858,4 +1877,34 @@ blockquote.did {
text-align: left; text-align: left;
} }
span.card-planet {
background-image: url(/card/card_0.webp);
background-size: cover;
background-position: center;
display: inline-block;
width: 200px;
border-radius: 3px;
padding: 23px 0;
}
span.game-card {
background-image: url(/card/card_0.webp);
background-size: cover;
background-position: center;
display: inline-block;
width: 200px;
border-radius: 3px;
padding: 23px 0;
}
.card-planet table thead {
background-color: #fff;
}
/*
iframe.game-app {
width:160px;
height:210px;
padding-bottom:14px;
}
*/
</style> </style>