雷
このコミットが含まれているのは:
コミット
e61ba26d1c
25
.env.example
25
.env.example
|
@ -1,7 +1,7 @@
|
|||
APP_NAME=Laravel
|
||||
APP_NAME=076Server
|
||||
APP_ENV=local
|
||||
APP_KEY=
|
||||
APP_DEBUG=true
|
||||
APP_DEBUG=false
|
||||
APP_URL=http://localhost
|
||||
THEME="techsuwa"
|
||||
|
||||
|
@ -33,15 +33,16 @@ MAIL_ENCRYPTION=null
|
|||
MAIL_FROM_ADDRESS=null
|
||||
MAIL_FROM_NAME="${APP_NAME}"
|
||||
|
||||
AWS_ACCESS_KEY_ID=
|
||||
AWS_SECRET_ACCESS_KEY=
|
||||
AWS_DEFAULT_REGION=us-east-1
|
||||
AWS_BUCKET=
|
||||
GMO_KEY=""
|
||||
GMO_SECRET=""
|
||||
|
||||
PUSHER_APP_ID=
|
||||
PUSHER_APP_KEY=
|
||||
PUSHER_APP_SECRET=
|
||||
PUSHER_APP_CLUSTER=mt1
|
||||
CONOHA_DENANT_ID=""
|
||||
CONOHA_DENANT_NAME=""
|
||||
CONOHA_USER_NAME=""
|
||||
CONOHA_USER_PASS=""
|
||||
|
||||
MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
|
||||
MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"
|
||||
YOUTUBE_API=""
|
||||
LBRY_URI=""
|
||||
PEER_URI=""
|
||||
PEER_USER=""
|
||||
PEER_PASS=""
|
|
@ -7,7 +7,6 @@ use Illuminate\Http\Request;
|
|||
|
||||
class Comment {
|
||||
public function add (Request $r) {
|
||||
$com = $r->comment;
|
||||
if ($r->isvideo == 'f') $id = DB::table('blg_content')->select('id')->where('slug', $r->slug)->first()->id;
|
||||
$shadow = DB::table('blg_blacklist')->where('ipaddress', getIp())->first();
|
||||
if ($shadow && !$shadow->isShadow) return array('status' => '0101FF', 'message' => '失礼しますが、あなたはBANされていましたので、コメントを保存できません。');
|
||||
|
@ -16,9 +15,9 @@ class Comment {
|
|||
'user_id' => ($r->user_id != 0 ?: null),
|
||||
'post_id' => ($r->isvideo == 'f' ? $id : 0),
|
||||
'video_id' => ($r->isvideo == 't' ? $r->slug : ''),
|
||||
'name' => (isset($com['name']) ? $com['name'] : null),
|
||||
'email' => (isset($com['mail']) ? $com['mail'] : null),
|
||||
'message' => $com['text'],
|
||||
'name' => (isset($r->newname) ? $r->newname : null),
|
||||
'email' => (isset($r->newmail) ? $r->newmail : null),
|
||||
'message' => $r->newmessage,
|
||||
'created' => time(),
|
||||
'ipaddress' => getIp(),
|
||||
'isShadow' => ($shadow ? 0 : 1)
|
||||
|
@ -39,6 +38,6 @@ class Comment {
|
|||
$res->isvideo = $r->isvideo;
|
||||
}
|
||||
|
||||
return array('status' => '010100', 'message' => 'OK', 'result' => $res);
|
||||
return redirect('/'.($r->isvideo == 't' ? 'video/play' : 'blog').'/'.$r->slug.'#comment-'.$add);
|
||||
}
|
||||
}
|
|
@ -31,33 +31,24 @@ class Content extends Engine {
|
|||
);
|
||||
|
||||
if (isset($r->submit)) {
|
||||
// JS→HTML→PHPの修正
|
||||
// 一応修正
|
||||
$sav = $r->publish_date;
|
||||
if (is_null($r->public_status)) $r->public_status = 0;
|
||||
$r->public_status = (int)$r->public_status;
|
||||
if (is_null($r->isPost)) $r->isPost = 0;
|
||||
$r->isPost = (int)$r->isPost;
|
||||
|
||||
if ($r->public_status == 1 && !is_null($r->publish_date)) {
|
||||
$r->publish_date = str_replace('年', '-', $r->publish_date);
|
||||
$r->publish_date = str_replace('月', '-', $r->publish_date);
|
||||
$r->publish_date = str_replace('日', '', $r->publish_date);
|
||||
$r->publish_date = strtotime($r->publish_date);
|
||||
}
|
||||
else if ($r->public_status == 1 && is_null($r->publish_date)) $r->public_status = 0;
|
||||
if ($r->public_status == 1 && is_null($r->publish_date)) $r->public_status = 0;
|
||||
else if ($r->public_status != 1 && is_null($r->publish_date)) $r->publish_date = time();
|
||||
if (is_null($r->isMenu)) $r->isMenu = false;
|
||||
if ($r->isMenu == 'on') $r->isMenu = true;
|
||||
else $r->isMenu = false;
|
||||
$r->isMenu = (int)$r->isMenu;
|
||||
|
||||
if (!is_null($r->publish_date)) $r->publish_date = strtotime($r->publish_date);
|
||||
else $r->publish_date = time();
|
||||
|
||||
// フォームの値を保存して
|
||||
$frm['title'] = $r->title;
|
||||
$frm['slug'] = $r->slug;
|
||||
$frm['public_status'] = $r->public_status;
|
||||
$frm['publish_date'] = $r->publish_date;
|
||||
$frm['isMenu'] = $r->isMenu;
|
||||
$frm['isPost'] = $r->isPost;
|
||||
$frm['isMenu'] = (int)!is_null($r->isMenu) && $r->isMenu == 'on';
|
||||
$frm['isPost'] = (int)!is_null($r->isPost) && $r->isPost == 'on';
|
||||
$frm['message'] = $r->message;
|
||||
|
||||
// 件名、文章又はスラッグがなければ、エラーを出て
|
||||
|
@ -77,15 +68,17 @@ class Content extends Engine {
|
|||
else {
|
||||
// データベースに追加できるには、値を修正して
|
||||
$gs = DB::table('blg_content')->select('sortorder')->orderBy('sortorder', 'desc')->first();
|
||||
if (!isset($r->publish_date)) $frm['publish_date'] = ($r->isPost == 1 ? time() : 0);
|
||||
if (!isset($r->publish_date)) $frm['publish_date'] = ((int)$r->isPost == 1 ? time() : 0);
|
||||
if (!isset($r->public_status)) $frm['public_status'] = 0;
|
||||
if (!isset($r->isPost)) $frm['isPost'] = 0;
|
||||
if (!isset($r->isMenu)) $frm['isMenu'] = 0;
|
||||
$frm['post_date'] = ($r->isPost == 1 ? time() : 0);
|
||||
$frm['sortorder'] = ($r->isPost == 0 ? $gs->sortorder+1 : 0);
|
||||
$frm['isPost'] = (int)$frm['isPost'];
|
||||
$frm['isMenu'] = (int)$frm['isMenu'];
|
||||
$frm['post_date'] = ((int)$r->isPost == 1 ? time() : 0);
|
||||
$frm['sortorder'] = ((int)$r->isPost == 0 ? $gs->sortorder+1 : 0);
|
||||
|
||||
// できたの?
|
||||
if ($res = DB::table('blg_content')->insert($frm)) return redirect(($r->isPost == 1 ? '/blog/' : '/').$r->slug);
|
||||
if ($res = DB::table('blg_content')->insert($frm)) return redirect(($frm['isPost'] == 1 ? '/blog/' : '/').$r->slug);
|
||||
else {
|
||||
// やれやれ…
|
||||
$frm['publish_date'] = $sav;
|
||||
|
@ -105,10 +98,10 @@ class Content extends Engine {
|
|||
public function delete (Request $r) {
|
||||
$chk = DB::table('blg_content')->select('isPost')->where('slug', $r->slug)->first();
|
||||
if (($this->valid['blg_delpost'] && $chk->isPost == 1) || ($this->valid['blg_delpage'] && $chk->isPost == 0)) {
|
||||
return DB::table('blg_content')->where('slug', $r->slug)->delete();
|
||||
if (DB::table('blg_content')->where('slug', $r->slug)->delete()) return redirect('/');
|
||||
}
|
||||
|
||||
return '許可がありません。';
|
||||
return view('pages.site.notallowed');
|
||||
}
|
||||
|
||||
public function edit (Request $r) {
|
||||
|
@ -119,32 +112,23 @@ class Content extends Engine {
|
|||
$res = '';
|
||||
|
||||
if (isset($r->submit)) {
|
||||
// JS→HTML→PHPの修正
|
||||
// 一応修正
|
||||
$sav = $r->publish_date;
|
||||
if (is_null($r->public_status)) $r->public_status = 0;
|
||||
$r->public_status = (int)$r->public_status;
|
||||
if (is_null($r->isPost)) $r->isPost = 0;
|
||||
$r->isPost = (int)$r->isPost;
|
||||
|
||||
if ($r->public_status == 1 && !is_null($r->publish_date)) {
|
||||
$r->publish_date = str_replace('年', '-', $r->publish_date);
|
||||
$r->publish_date = str_replace('月', '-', $r->publish_date);
|
||||
$r->publish_date = str_replace('日', '', $r->publish_date);
|
||||
$r->publish_date = strtotime($r->publish_date);
|
||||
}
|
||||
else if ($r->public_status == 1 && is_null($r->publish_date)) $r->public_status = 0;
|
||||
if ($r->public_status == 1 && is_null($r->publish_date)) $r->public_status = 0;
|
||||
else if ($r->public_status != 1 && is_null($r->publish_date)) $r->publish_date = time();
|
||||
if (is_null($r->isMenu)) $r->isMenu = false;
|
||||
if ($r->isMenu == 'on') $r->isMenu = true;
|
||||
else $r->isMenu = false;
|
||||
$r->isMenu = (int)$r->isMenu;
|
||||
|
||||
if (!is_null($r->publish_date)) $r->publish_date = strtotime($r->publish_date);
|
||||
else $r->publish_date = time();
|
||||
|
||||
// フォームの値を保存して
|
||||
$frm->title = $r->title;
|
||||
$frm->public_status = $r->public_status;
|
||||
$frm->publish_date = $r->publish_date;
|
||||
$frm->isMenu = $r->isMenu;
|
||||
$frm->isPost = $r->isPost;
|
||||
$frm->isMenu = (int)!is_null($r->isMenu) && $r->isMenu == 'on';
|
||||
$frm->isPost = (int)!is_null($r->isPost) && $r->isPost == 'on';
|
||||
$frm->message = $r->message;
|
||||
|
||||
// 件名、文章又はスラッグがなければ、エラーを出て
|
||||
|
@ -158,15 +142,17 @@ class Content extends Engine {
|
|||
else {
|
||||
// データベースに追加できるには、値を修正して
|
||||
$gs = DB::table('blg_content')->select('sortorder')->orderBy('sortorder', 'desc')->first();
|
||||
if (!isset($r->publish_date)) $frm->publish_date = ($r->isPost == 1 ? time() : 0);
|
||||
if (!isset($r->publish_date)) $frm->publish_date = ((int)$r->isPost == 1 ? time() : 0);
|
||||
if (!isset($r->public_status)) $frm->public_status = 0;
|
||||
if (!isset($r->isPost)) $frm->isPost = 0;
|
||||
if (!isset($r->isMenu)) $frm->isMenu = 0;
|
||||
$frm->post_date = ($r->isPost == 1 ? time() : 0);
|
||||
$frm->sortorder = ($r->isPost == 0 ? $gs->sortorder+1 : 0);
|
||||
$frm->isPost = (int)$frm->isPost;
|
||||
$frm->isMenu = (int)$frm->isMenu;
|
||||
$frm->post_date = ((int)$r->isPost == 1 ? time() : 0);
|
||||
$frm->sortorder = ((int)$r->isPost == 0 ? $gs->sortorder+1 : 0);
|
||||
|
||||
// できたの?
|
||||
if ($res = DB::table('blg_content')->where('slug', $r->slug)->update((array)$frm)) return redirect(($r->isPost == 1 ? '/blog/' : '/').$r->slug);
|
||||
if ($res = DB::table('blg_content')->where('slug', $r->slug)->update((array)$frm)) return redirect(($frm->isPost == 1 ? '/blog/' : '/').$r->slug);
|
||||
else {
|
||||
// やれやれ…
|
||||
$frm->publish_date = $sav;
|
||||
|
|
|
@ -42,14 +42,14 @@ class Prayer extends Engine {
|
|||
$res->kvcomment = array();
|
||||
$kvslug = explode('/', $res->kerotube);
|
||||
if (isset($kvslug[5])) {
|
||||
$res->kvcomment = $this->getKeroCome($kvslug[5], '');
|
||||
$res->kvcomment = $this->getPeerCome($kvslug[5], '');
|
||||
}
|
||||
|
||||
if ($res->ytcomment) $res->ytcomment = $this->backupYTComment($slugger, $res->ytcomment);
|
||||
$res->nicocomment = array();
|
||||
$res->bccomment = array();
|
||||
$res->lbcomment = array();
|
||||
if ($res->kvcomment) $res->kvcomment = $this->backupKeroComment($slugger, $res->kvcomment);
|
||||
if ($res->kvcomment) $res->kvcomment = $this->backupPeerComment($slugger, $res->kvcomment);
|
||||
|
||||
foreach ($comments as $k => $c) {
|
||||
$c->replyCount = 0;
|
||||
|
@ -88,10 +88,10 @@ class Prayer extends Engine {
|
|||
return view('pages.site.video.prayer', ['res' => $res, 'user' => $this->user]);
|
||||
}
|
||||
|
||||
function getKeroCome ($slug, $tslug) {
|
||||
function getPeerCome ($slug, $tslug) {
|
||||
$come = [];
|
||||
$ch = curl_init();
|
||||
curl_setopt($ch, CURLOPT_URL, env('KERO_URI').'/api/v1/videos/'.$slug.'/comment-threads');
|
||||
curl_setopt($ch, CURLOPT_URL, env('PEER_URI').'/api/v1/videos/'.$slug.'/comment-threads');
|
||||
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
|
||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
|
||||
|
||||
|
@ -119,7 +119,7 @@ class Prayer extends Engine {
|
|||
$g->comments->id = $g->id;
|
||||
$g->comments->name = $g->account->displayName;
|
||||
$g->comments->channel = $g->account->url;
|
||||
$g->comments->icon = env('KERO_URI').$g->account->avatar->path;
|
||||
$g->comments->icon = env('PEER_URI').$g->account->avatar->path;
|
||||
$g->comments->message = strip_tags($g->text, array('<br />'));
|
||||
$g->comments->createdTS = strtotime($g->createdAt);
|
||||
$g->comments->created = date('Y年m月d日 H:i:s', strtotime($g->createdAt));
|
||||
|
@ -235,7 +235,7 @@ class Prayer extends Engine {
|
|||
return $com;
|
||||
}
|
||||
|
||||
function backupKeroComment ($slug, $com) {
|
||||
function backupPeerComment ($slug, $com) {
|
||||
foreach ($com['come'] as $c) {
|
||||
$icon = strstr($c->icon, 'avatars/');
|
||||
$icon = str_replace('avatars/', '', $icon);
|
||||
|
|
バイナリファイルは表示されません。
変更前 幅: | 高さ: | サイズ: 46 KiB 変更後 幅: | 高さ: | サイズ: 220 KiB |
長すぎる行があるためファイル差分は表示されません
|
@ -1 +0,0 @@
|
|||
require('./bootstrap');
|
|
@ -1,42 +0,0 @@
|
|||
window._ = require('lodash');
|
||||
|
||||
/**
|
||||
* We'll load the axios HTTP library which allows us to easily issue requests
|
||||
* to our Laravel back-end. This library automatically handles sending the
|
||||
* CSRF token as a header based on the value of the "XSRF" token cookie.
|
||||
*/
|
||||
|
||||
window.Vue = require('vue');
|
||||
window.axios = require('axios');
|
||||
|
||||
try {
|
||||
window.$ = window.jQuery = require('jquery');
|
||||
|
||||
require('bootstrap');
|
||||
} catch (e) {}
|
||||
|
||||
window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';
|
||||
|
||||
Vue.component('content-type', require('./components/contenttype.vue').default);
|
||||
Vue.component('delete-content', require('./components/deletecontent.vue').default);
|
||||
Vue.component('delete-video', require('./components/deletevideo.vue').default);
|
||||
Vue.component('delete-game', require('./components/deletegame.vue').default);
|
||||
|
||||
const app = new Vue({ el: '#app' });
|
||||
|
||||
/**
|
||||
* Echo exposes an expressive API for subscribing to channels and listening
|
||||
* for events that are broadcast by Laravel. Echo and event broadcasting
|
||||
* allows your team to easily build robust real-time web applications.
|
||||
*/
|
||||
|
||||
// import Echo from 'laravel-echo';
|
||||
|
||||
// window.Pusher = require('pusher-js');
|
||||
|
||||
// window.Echo = new Echo({
|
||||
// broadcaster: 'pusher',
|
||||
// key: process.env.MIX_PUSHER_APP_KEY,
|
||||
// cluster: process.env.MIX_PUSHER_APP_CLUSTER,
|
||||
// forceTLS: true
|
||||
// });
|
|
@ -1,150 +0,0 @@
|
|||
<template>
|
||||
<div id="comments" class="comments-area clearfix">
|
||||
<h3 class="comments-count section-heading uppercase"><span>{{ comment.total }} 件のコメント</span></h3>
|
||||
<div style="margin: 12px 0;">
|
||||
<span v-if="isvideo !== 'n'">
|
||||
<hr />
|
||||
<div v-if="err" class="alert alert-danger">{{ err }}</div>
|
||||
<span v-if="Object.keys(user).length === 0">
|
||||
<div class="form-group row">
|
||||
<div class="col-md-4 col-lg-3">名前</div>
|
||||
<div class="input-group col-md col-lg">
|
||||
<input type="text" id="new-name" class="form-control" v-model="newComment.name" placeholder="ご入力しない場合、名前は「名無しのテクニシャン」になります。" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<div class="col-md-4 col-lg-3">メールアドレス</div>
|
||||
<div class="input-group col-md col-lg">
|
||||
<input type="text" id="new-mail" class="form-control" v-model="newComment.mail" placeholder="返信される場合、メールに通知を送ります。" />
|
||||
</div>
|
||||
</div>
|
||||
</span>
|
||||
<span v-else>
|
||||
<div class="form-group row">
|
||||
<div class="col-md-4 col-lg-3">名前</div>
|
||||
<div class="input-group col-md col-lg">
|
||||
<a :href="`/profile/${user.user_id}`" :style="user.showcol"><img style="width: 24px; height: 24px;" :src="user.avatar" :alt="`${user.showname}さんのアイコン`"> {{ user.showname }}</a>
|
||||
</div>
|
||||
</div>
|
||||
</span>
|
||||
<div class="row">
|
||||
<div class="col-md-4 col-lg-3">本文 <span class="badge badge-danger">必須</span></div>
|
||||
<div class="col-md col-lg">
|
||||
<textarea class="form-control" id="new-message" rows="4" v-on:keyup.ctrl.13="send" v-model="newComment.text"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row" style="margin-top: 16px;">
|
||||
<div class="col">
|
||||
<button type="button" class="btn btn-block btn-primary" @click="send">送信</button>
|
||||
</div>
|
||||
</div>
|
||||
</span>
|
||||
</div>
|
||||
<div v-if="comment.total === 0">コメントがありません。</div>
|
||||
<span v-else>
|
||||
<ul class="commentlist" v-for="(c, i) in comment.come" :key="`comment-${i}`">
|
||||
<li class="comment even thread-even depth-1" :id="`li-comment-${c.id}`">
|
||||
<div class="commentnumber">{{ Number(i)+1 }}({{ c.src }})</div>
|
||||
<div :id="`comment-${c.id}`" :ref="`comment-${c.id}`">
|
||||
<div>
|
||||
<cite class="fn">
|
||||
<span v-if="c.isvideo === 'n'">
|
||||
<img style="height: 24px;" :src="c.icon" :alt="`${c.name}さんのアイコン`">
|
||||
<a :href="c.channel" style="overflow-wrap: break-word;">{{ (c.name || '名無しのテクニシャン') }}</a>
|
||||
</span>
|
||||
<span v-else>
|
||||
<span v-if="c.user_id"><a :href="`/profile/${c.user_id}`" :style="c.showcol"><img style="width: 24px; height: 24px;" :src="c.avatar" :alt="`${c.showname}さんのアイコン`"> {{ c.showname }}</a></span>
|
||||
<span v-else>{{ (c.name || '名無しのテクニシャン') }}</span>
|
||||
</span>
|
||||
</cite> <span class="says">より:</span>
|
||||
<span class="comment-meta commentmetadata" :id="`#comment-${c.id}`"> <a :href="`#comment-${c.id}`">{{ c.created }}</a></span>
|
||||
</div>
|
||||
<p style="white-space: pre-wrap; word-wrap: break-word; width: 500px;" v-html="c.message"></p>
|
||||
<div class="reply">返信({{ c.replyCount }})</div>
|
||||
</div>
|
||||
</li>
|
||||
<span v-if="c.replies">
|
||||
<ul class="commentlist" v-for="(r, j) in c.replies" :key="`comment-${i}-reply-${j}`">
|
||||
<li class="comment even thread-even depth-2" :id="`li-comment-${r.id}`">
|
||||
<div class="commentnumber">{{ i+1 }}/{{ j+1 }}({{ c.src }})</div>
|
||||
<div :id="`comment-${r.id}`">
|
||||
<div>
|
||||
<cite class="fn">
|
||||
<span v-if="c.isvideo !== 'f'">
|
||||
<img style="height: 24px;" :src="r.icon" :alt="`${r.name}さんのアイコン`">
|
||||
<a :href="r.channel">{{ (r.name || '名無しのテクニシャン') }}</a>
|
||||
</span>
|
||||
<span v-else>
|
||||
<span v-if="r.user_id"><a :href="`/profile/${r.user_id}`" :style="r.showcol"><img style="width: 24px; height: 24px;" :src="r.avatar" :alt="`${r.showname}さんのアイコン`"> {{ r.showname }}</a></span>
|
||||
<span v-else>{{ (r.name || '名無しのテクニシャン') }}</span>
|
||||
</span>
|
||||
</cite> <span class="says">より:</span>
|
||||
<span class="comment-meta commentmetadata" :id="`#comment-${r.id}`"> <a :href="`#comment-${r.id}`">{{ r.created }}</a></span>
|
||||
</div>
|
||||
<p style="white-space: pre-wrap; word-wrap: break-word; width: 500px;" v-html="r.message"></p>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</span>
|
||||
</ul>
|
||||
</span>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
props: { user: Object, slug: '', isvideo: '', comments: Object },
|
||||
data: function () { return { comment: this.comments, newComment: {}, err: '', loading: true, sending: false } },
|
||||
created: function () { this.reset(); },
|
||||
methods: {
|
||||
reset () {
|
||||
this.loading = false;
|
||||
this.newComment.name = '';
|
||||
this.newComment.mail = '';
|
||||
this.newComment.text = '';
|
||||
},
|
||||
send () {
|
||||
this.err = '';
|
||||
this.sending = true;
|
||||
|
||||
axios.post('/api/comment/new', {
|
||||
user_id: this.user.user_id,
|
||||
comment: this.newComment,
|
||||
isvideo: this.isvideo,
|
||||
slug: this.slug
|
||||
}).then(res => {
|
||||
this.sending = false;
|
||||
if (res.data.status === '010100') { this.comment.come.unshift(res.data.result); this.comment.total++; this.reset(); }
|
||||
else this.err = 'エラーコード【' + res.data.status + '】' + res.data.message;
|
||||
}).catch(err => {
|
||||
this.sending = false;
|
||||
this.err = 'サーバーエラーコード【' + err.response.status + '】' + err.response.data.message;
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.fn {
|
||||
font-size: 16px;
|
||||
font-style: normal;
|
||||
color: #20ec77;
|
||||
}
|
||||
.comment-meta a {
|
||||
color: #bdc3c7;
|
||||
}
|
||||
.commentlist p {
|
||||
margin: 0 0 10px;
|
||||
padding: 10px 0 40px 0;
|
||||
font-size: 20px;
|
||||
}
|
||||
.commentnumber {
|
||||
float: left;
|
||||
margin-right: 5px;
|
||||
font-size: 16px;
|
||||
}
|
||||
ul {
|
||||
list-style: none;
|
||||
}
|
||||
</style>
|
|
@ -1,76 +0,0 @@
|
|||
<template>
|
||||
<span>
|
||||
<div class="row body">
|
||||
<div class="col-md-3"><b>種類</b></div>
|
||||
<div class="col">
|
||||
<div class="form-check">
|
||||
<input class="form-check-input" name="isPost" type="radio" id="type-post" :value="1" v-model="choice">
|
||||
<label class="form-check-label" for="type-post">ポスト</label>
|
||||
</div>
|
||||
<div class="form-check">
|
||||
<input class="form-check-input" name="isPost" type="radio" id="type-page" :value="0" v-model="choice">
|
||||
<label class="form-check-label" for="type-page">ページ</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="choice === 1">
|
||||
<div class="row body">
|
||||
<div class="col-md-3"><b>公開設定</b></div>
|
||||
<div class="col">
|
||||
<select id="public_status" name="public_status" class="form-control" v-model="pub">
|
||||
<option :value="0">公開</option>
|
||||
<option :value="1">スケジュールを設定</option>
|
||||
<option :value="2">限定公開</option>
|
||||
<option :value="3">非公開</option>
|
||||
<option :value="4">下書き</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row body" v-if="pub === 1">
|
||||
<div class="col-md-3"><b>公開日時</b></div>
|
||||
<div class="col">
|
||||
<date-picker name="publish_date" v-model="pubdate" :config="options" id="publish_date" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row body" v-else>
|
||||
<div class="col-md-3"><b>メニュー</b></div>
|
||||
<div class="col">
|
||||
<div class="form-group form-check">
|
||||
<input type="checkbox" name="isMenu" class="form-check-input" id="menu" v-model="menu">
|
||||
<label class="form-check-label" for="menu">メニューに表示する</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</span>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import datePicker from 'vue-bootstrap-datetimepicker';
|
||||
import 'pc-bootstrap4-datetimepicker/build/css/bootstrap-datetimepicker.css';
|
||||
|
||||
export default {
|
||||
components: { datePicker },
|
||||
props: { c: String, p: String, m: null, d: null },
|
||||
data: function () {
|
||||
return {
|
||||
options: { format: 'YYYY年MM月DD日 HH:mm:ss', locale: 'ja', useCurrent: true, showClear: true, showClose: true },
|
||||
choice: Number(this.c),
|
||||
pub: Number(this.p),
|
||||
menu: this.m,
|
||||
pubdate: this.d
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
choice: function (v) {
|
||||
this.choice = Number(this.choice);
|
||||
if (this.choice === 0) this.pub = 0;
|
||||
else this.menu = false;
|
||||
},
|
||||
pub: function (v) {
|
||||
this.pub = Number(this.pub);
|
||||
if (this.pub !== 1) this.pubdate = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
|
@ -1,230 +0,0 @@
|
|||
<template>
|
||||
<div class="col">
|
||||
<button @click="show = true" class="btn btn-block btn-danger">投稿の削除</button>
|
||||
<span v-if="show">
|
||||
<vue-draggable-resizable style="border: 0px solid #232629;" :drag-handle="'.drag-handle'" class-name-handle="resize-handle" class="disco" :x="-500" :y="10" :z="99999999">
|
||||
<div style="width: 100%; position: relative;">
|
||||
<div class="drag-handle-left"></div>
|
||||
<div class="drag-handle">投稿の削除</div>
|
||||
<div class="drag-handle-right" @click="show = false"></div>
|
||||
</div>
|
||||
<div class="konsole_left"></div>
|
||||
<div style="text-align: center; font-size: 18px; padding-top: 10px;">本当に現在の投稿を削除しますか?</div>
|
||||
<div style="text-align:right; line-height: 15; padding: 10px;">
|
||||
<button type="button" class="btn btn2 btn-popup" @click="show = false">キャンセル</button>
|
||||
<button type="button" class="btn btn2 btn-popup" @click="del">削除</button>
|
||||
</div>
|
||||
<div class="konsole_right"></div>
|
||||
<div class="konsole_bottom_left"></div>
|
||||
<div class="konsole_bottom"></div>
|
||||
<div class="konsole_bottom_right"></div>
|
||||
</vue-draggable-resizable>
|
||||
</span>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import VueDraggableResizable from 'vue-draggable-resizable';
|
||||
import 'vue-draggable-resizable/dist/VueDraggableResizable.css';
|
||||
|
||||
Vue.component('vue-draggable-resizable', VueDraggableResizable);
|
||||
|
||||
export default {
|
||||
props: { slug: '' },
|
||||
data: function () {
|
||||
return {
|
||||
show: false,
|
||||
width: 0,
|
||||
height: 0,
|
||||
x: 0,
|
||||
y: 0
|
||||
}
|
||||
},
|
||||
watch: { text (x) { localStorage.shotanote = x; } },
|
||||
methods: {
|
||||
del () { axios.post('/api/content/del', { slug: this.slug }).then(() => { window.location.href = '/'; }); },
|
||||
onResize: function (x, y, width, height) {
|
||||
this.x = x
|
||||
this.y = y
|
||||
this.width = width
|
||||
this.height = height
|
||||
},
|
||||
onDrag: function (x, y) {
|
||||
this.x = x
|
||||
this.y = y
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.konsole {
|
||||
width: 600px;
|
||||
height: 358px;
|
||||
margin: auto;
|
||||
color: #fcfcfc;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-thumb:hover {
|
||||
background: #452886;
|
||||
}
|
||||
|
||||
.drag-handle-left {
|
||||
height: 30px;
|
||||
width: 30px;
|
||||
background: url('/img/bash/discord_top_left.png') no-repeat;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
}
|
||||
|
||||
.drag-handle {
|
||||
cursor: default;
|
||||
height: 30px;
|
||||
background: url('/img/bash/top_bg.png') repeat-x;
|
||||
width: auto;
|
||||
margin-left: 30px;
|
||||
margin-right: 28px;
|
||||
padding-top: 7px;
|
||||
padding-right: 0px;
|
||||
text-align: center;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.drag-handle-right {
|
||||
height: 30px;
|
||||
width: 28px;
|
||||
background: url('/img/bash/top_right.png') no-repeat;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
}
|
||||
|
||||
.drag-handle-right:hover {
|
||||
background: url('/img/bash/top_right_hover.png') no-repeat;
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
.drag-handle-max {
|
||||
height: 30px;
|
||||
width: 23px;
|
||||
background: url('/img/bash/top_max.png') no-repeat;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 28px;
|
||||
}
|
||||
|
||||
.drag-handle-max:hover {
|
||||
background: url('/img/bash/top_max_hover.png') no-repeat;
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
.drag-handle-min {
|
||||
height: 30px;
|
||||
width: 23px;
|
||||
background: url('/img/bash/top_min.png') no-repeat;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 51px;
|
||||
}
|
||||
|
||||
.drag-handle-min:hover {
|
||||
background: url('/img/bash/top_min_hover.png') no-repeat;
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
.konsole_left {
|
||||
width: 2px;
|
||||
background: url('/img/bash/left_bg.png') repeat-y;
|
||||
position: absolute;
|
||||
top: 30px;
|
||||
left: 0;
|
||||
height: 167px;
|
||||
}
|
||||
|
||||
.konsole_right {
|
||||
width: 2px;
|
||||
background: url('/img/bash/right_bg.png') repeat-y;
|
||||
position: absolute;
|
||||
height: 167px;
|
||||
top: 30px;
|
||||
right: 0;
|
||||
}
|
||||
|
||||
.disco { background-color: #252a35; }
|
||||
|
||||
.noter, .noter:active, .noter:focus {
|
||||
background: transparent;
|
||||
border: 0;
|
||||
min-height: 360px;
|
||||
width: 290px;
|
||||
resize: none;
|
||||
}
|
||||
|
||||
.btn2 {
|
||||
width: 120px;
|
||||
border: 1px solid #4d4d4d;
|
||||
}
|
||||
|
||||
.btn2:hover {
|
||||
cursor: default;
|
||||
border: 1px solid #3daee9;
|
||||
}
|
||||
|
||||
.btn-popup {
|
||||
color: #fcfcfc;
|
||||
background-color: #252a35;
|
||||
}
|
||||
|
||||
.vdr {
|
||||
background-size: cover;
|
||||
backdrop-filter: blur(17px);
|
||||
font-family: "Lucida Console", Monospace, "DejaVu Sans Mono", "Courier New", MiscFixed;
|
||||
font-size: 12px;
|
||||
/* white-space: pre; */
|
||||
color: #fcfcfc;
|
||||
overflow: hidden;
|
||||
position: absolute;
|
||||
top: 30px;
|
||||
left: 2px;
|
||||
height: 200px !important;
|
||||
width: 500px !important;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.resize-handle-mr {
|
||||
width: 2px;
|
||||
background: url('/img/bash/right_bg.png') repeat-y;
|
||||
position: absolute;
|
||||
height: 325px;
|
||||
top: 30px;
|
||||
right: 0;
|
||||
}
|
||||
|
||||
.konsole_bottom_left {
|
||||
width: 3px;
|
||||
height: 3px;
|
||||
background: url('/img/bash/bottom_left.png') no-repeat;
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
}
|
||||
|
||||
.konsole_bottom {
|
||||
height: 2px;
|
||||
background: url('/img/bash/bottom_bg.png') repeat-x;
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
left: 2px;
|
||||
width: 495px;
|
||||
}
|
||||
|
||||
.konsole_bottom_right {
|
||||
height: 3px;
|
||||
width: 3px;
|
||||
background: url('/img/bash/bottom_right.png') no-repeat;
|
||||
position: absolute;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
}
|
||||
</style>
|
|
@ -1,230 +0,0 @@
|
|||
<template>
|
||||
<div class="col">
|
||||
<button @click="show = true" class="btn btn-block btn-danger">削除</button>
|
||||
<span v-if="show">
|
||||
<vue-draggable-resizable style="border: 0px solid #232629;" :drag-handle="'.drag-handle'" class-name-handle="resize-handle" class="disco" :x="-500" :y="10" :z="99999999">
|
||||
<div style="width: 100%; position: relative;">
|
||||
<div class="drag-handle-left"></div>
|
||||
<div class="drag-handle">ゲームの削除</div>
|
||||
<div class="drag-handle-right" @click="show = false"></div>
|
||||
</div>
|
||||
<div class="konsole_left"></div>
|
||||
<div style="text-align: center; font-size: 18px; padding-top: 10px;">本当に現在のゲームを削除しますか?</div>
|
||||
<div style="text-align:right; line-height: 15; padding: 10px;">
|
||||
<button type="button" class="btn btn2 btn-popup" @click="show = false">キャンセル</button>
|
||||
<button type="button" class="btn btn2 btn-popup" @click="del">削除</button>
|
||||
</div>
|
||||
<div class="konsole_right"></div>
|
||||
<div class="konsole_bottom_left"></div>
|
||||
<div class="konsole_bottom"></div>
|
||||
<div class="konsole_bottom_right"></div>
|
||||
</vue-draggable-resizable>
|
||||
</span>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import VueDraggableResizable from 'vue-draggable-resizable';
|
||||
import 'vue-draggable-resizable/dist/VueDraggableResizable.css';
|
||||
|
||||
Vue.component('vue-draggable-resizable', VueDraggableResizable);
|
||||
|
||||
export default {
|
||||
props: { slug: '' },
|
||||
data: function () {
|
||||
return {
|
||||
show: false,
|
||||
width: 0,
|
||||
height: 0,
|
||||
x: 0,
|
||||
y: 0
|
||||
}
|
||||
},
|
||||
watch: { text (x) { localStorage.shotanote = x; } },
|
||||
methods: {
|
||||
del () { axios.post('/api/game/del', { slug: this.slug }).then(() => { window.location.href = '/video'; }); },
|
||||
onResize: function (x, y, width, height) {
|
||||
this.x = x
|
||||
this.y = y
|
||||
this.width = width
|
||||
this.height = height
|
||||
},
|
||||
onDrag: function (x, y) {
|
||||
this.x = x
|
||||
this.y = y
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.konsole {
|
||||
width: 600px;
|
||||
height: 358px;
|
||||
margin: auto;
|
||||
color: #fcfcfc;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-thumb:hover {
|
||||
background: #452886;
|
||||
}
|
||||
|
||||
.drag-handle-left {
|
||||
height: 30px;
|
||||
width: 30px;
|
||||
background: url('/img/bash/discord_top_left.png') no-repeat;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
}
|
||||
|
||||
.drag-handle {
|
||||
cursor: default;
|
||||
height: 30px;
|
||||
background: url('/img/bash/top_bg.png') repeat-x;
|
||||
width: auto;
|
||||
margin-left: 30px;
|
||||
margin-right: 28px;
|
||||
padding-top: 7px;
|
||||
padding-right: 0px;
|
||||
text-align: center;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.drag-handle-right {
|
||||
height: 30px;
|
||||
width: 28px;
|
||||
background: url('/img/bash/top_right.png') no-repeat;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
}
|
||||
|
||||
.drag-handle-right:hover {
|
||||
background: url('/img/bash/top_right_hover.png') no-repeat;
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
.drag-handle-max {
|
||||
height: 30px;
|
||||
width: 23px;
|
||||
background: url('/img/bash/top_max.png') no-repeat;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 28px;
|
||||
}
|
||||
|
||||
.drag-handle-max:hover {
|
||||
background: url('/img/bash/top_max_hover.png') no-repeat;
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
.drag-handle-min {
|
||||
height: 30px;
|
||||
width: 23px;
|
||||
background: url('/img/bash/top_min.png') no-repeat;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 51px;
|
||||
}
|
||||
|
||||
.drag-handle-min:hover {
|
||||
background: url('/img/bash/top_min_hover.png') no-repeat;
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
.konsole_left {
|
||||
width: 2px;
|
||||
background: url('/img/bash/left_bg.png') repeat-y;
|
||||
position: absolute;
|
||||
top: 30px;
|
||||
left: 0;
|
||||
height: 167px;
|
||||
}
|
||||
|
||||
.konsole_right {
|
||||
width: 2px;
|
||||
background: url('/img/bash/right_bg.png') repeat-y;
|
||||
position: absolute;
|
||||
height: 167px;
|
||||
top: 30px;
|
||||
right: 0;
|
||||
}
|
||||
|
||||
.disco { background-color: #252a35; }
|
||||
|
||||
.noter, .noter:active, .noter:focus {
|
||||
background: transparent;
|
||||
border: 0;
|
||||
min-height: 360px;
|
||||
width: 290px;
|
||||
resize: none;
|
||||
}
|
||||
|
||||
.btn2 {
|
||||
width: 120px;
|
||||
border: 1px solid #4d4d4d;
|
||||
}
|
||||
|
||||
.btn2:hover {
|
||||
cursor: default;
|
||||
border: 1px solid #3daee9;
|
||||
}
|
||||
|
||||
.btn-popup {
|
||||
color: #fcfcfc;
|
||||
background-color: #252a35;
|
||||
}
|
||||
|
||||
.vdr {
|
||||
background-size: cover;
|
||||
backdrop-filter: blur(17px);
|
||||
font-family: "Lucida Console", Monospace, "DejaVu Sans Mono", "Courier New", MiscFixed;
|
||||
font-size: 12px;
|
||||
/* white-space: pre; */
|
||||
color: #fcfcfc;
|
||||
overflow: hidden;
|
||||
position: absolute;
|
||||
top: 30px;
|
||||
left: 2px;
|
||||
height: 200px !important;
|
||||
width: 500px !important;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.resize-handle-mr {
|
||||
width: 2px;
|
||||
background: url('/img/bash/right_bg.png') repeat-y;
|
||||
position: absolute;
|
||||
height: 325px;
|
||||
top: 30px;
|
||||
right: 0;
|
||||
}
|
||||
|
||||
.konsole_bottom_left {
|
||||
width: 3px;
|
||||
height: 3px;
|
||||
background: url('/img/bash/bottom_left.png') no-repeat;
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
}
|
||||
|
||||
.konsole_bottom {
|
||||
height: 2px;
|
||||
background: url('/img/bash/bottom_bg.png') repeat-x;
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
left: 2px;
|
||||
width: 495px;
|
||||
}
|
||||
|
||||
.konsole_bottom_right {
|
||||
height: 3px;
|
||||
width: 3px;
|
||||
background: url('/img/bash/bottom_right.png') no-repeat;
|
||||
position: absolute;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
}
|
||||
</style>
|
|
@ -1,230 +0,0 @@
|
|||
<template>
|
||||
<div class="col">
|
||||
<button @click="show = true" class="btn btn-block btn-danger">動画の削除</button>
|
||||
<span v-if="show">
|
||||
<vue-draggable-resizable style="border: 0px solid #232629;" :drag-handle="'.drag-handle'" class-name-handle="resize-handle" class="disco" :x="-500" :y="10" :z="99999999">
|
||||
<div style="width: 100%; position: relative;">
|
||||
<div class="drag-handle-left"></div>
|
||||
<div class="drag-handle">動画の削除</div>
|
||||
<div class="drag-handle-right" @click="show = false"></div>
|
||||
</div>
|
||||
<div class="konsole_left"></div>
|
||||
<div style="text-align: center; font-size: 18px; padding-top: 10px;">本当に現在の動画を削除しますか?</div>
|
||||
<div style="text-align:right; line-height: 15; padding: 10px;">
|
||||
<button type="button" class="btn btn2 btn-popup" @click="show = false">キャンセル</button>
|
||||
<button type="button" class="btn btn2 btn-popup" @click="del">削除</button>
|
||||
</div>
|
||||
<div class="konsole_right"></div>
|
||||
<div class="konsole_bottom_left"></div>
|
||||
<div class="konsole_bottom"></div>
|
||||
<div class="konsole_bottom_right"></div>
|
||||
</vue-draggable-resizable>
|
||||
</span>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import VueDraggableResizable from 'vue-draggable-resizable';
|
||||
import 'vue-draggable-resizable/dist/VueDraggableResizable.css';
|
||||
|
||||
Vue.component('vue-draggable-resizable', VueDraggableResizable);
|
||||
|
||||
export default {
|
||||
props: { slug: '' },
|
||||
data: function () {
|
||||
return {
|
||||
show: false,
|
||||
width: 0,
|
||||
height: 0,
|
||||
x: 0,
|
||||
y: 0
|
||||
}
|
||||
},
|
||||
watch: { text (x) { localStorage.shotanote = x; } },
|
||||
methods: {
|
||||
del () { axios.post('/api/video/del', { slug: this.slug }).then(res => { window.location.href = '/video/' + res.data; }); },
|
||||
onResize: function (x, y, width, height) {
|
||||
this.x = x
|
||||
this.y = y
|
||||
this.width = width
|
||||
this.height = height
|
||||
},
|
||||
onDrag: function (x, y) {
|
||||
this.x = x
|
||||
this.y = y
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.konsole {
|
||||
width: 600px;
|
||||
height: 358px;
|
||||
margin: auto;
|
||||
color: #fcfcfc;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-thumb:hover {
|
||||
background: #452886;
|
||||
}
|
||||
|
||||
.drag-handle-left {
|
||||
height: 30px;
|
||||
width: 30px;
|
||||
background: url('/img/bash/discord_top_left.png') no-repeat;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
}
|
||||
|
||||
.drag-handle {
|
||||
cursor: default;
|
||||
height: 30px;
|
||||
background: url('/img/bash/top_bg.png') repeat-x;
|
||||
width: auto;
|
||||
margin-left: 30px;
|
||||
margin-right: 28px;
|
||||
padding-top: 7px;
|
||||
padding-right: 0px;
|
||||
text-align: center;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.drag-handle-right {
|
||||
height: 30px;
|
||||
width: 28px;
|
||||
background: url('/img/bash/top_right.png') no-repeat;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
}
|
||||
|
||||
.drag-handle-right:hover {
|
||||
background: url('/img/bash/top_right_hover.png') no-repeat;
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
.drag-handle-max {
|
||||
height: 30px;
|
||||
width: 23px;
|
||||
background: url('/img/bash/top_max.png') no-repeat;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 28px;
|
||||
}
|
||||
|
||||
.drag-handle-max:hover {
|
||||
background: url('/img/bash/top_max_hover.png') no-repeat;
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
.drag-handle-min {
|
||||
height: 30px;
|
||||
width: 23px;
|
||||
background: url('/img/bash/top_min.png') no-repeat;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 51px;
|
||||
}
|
||||
|
||||
.drag-handle-min:hover {
|
||||
background: url('/img/bash/top_min_hover.png') no-repeat;
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
.konsole_left {
|
||||
width: 2px;
|
||||
background: url('/img/bash/left_bg.png') repeat-y;
|
||||
position: absolute;
|
||||
top: 30px;
|
||||
left: 0;
|
||||
height: 167px;
|
||||
}
|
||||
|
||||
.konsole_right {
|
||||
width: 2px;
|
||||
background: url('/img/bash/right_bg.png') repeat-y;
|
||||
position: absolute;
|
||||
height: 167px;
|
||||
top: 30px;
|
||||
right: 0;
|
||||
}
|
||||
|
||||
.disco { background-color: #252a35; }
|
||||
|
||||
.noter, .noter:active, .noter:focus {
|
||||
background: transparent;
|
||||
border: 0;
|
||||
min-height: 360px;
|
||||
width: 290px;
|
||||
resize: none;
|
||||
}
|
||||
|
||||
.btn2 {
|
||||
width: 120px;
|
||||
border: 1px solid #4d4d4d;
|
||||
}
|
||||
|
||||
.btn2:hover {
|
||||
cursor: default;
|
||||
border: 1px solid #3daee9;
|
||||
}
|
||||
|
||||
.btn-popup {
|
||||
color: #fcfcfc;
|
||||
background-color: #252a35;
|
||||
}
|
||||
|
||||
.vdr {
|
||||
background-size: cover;
|
||||
backdrop-filter: blur(17px);
|
||||
font-family: "Lucida Console", Monospace, "DejaVu Sans Mono", "Courier New", MiscFixed;
|
||||
font-size: 12px;
|
||||
/* white-space: pre; */
|
||||
color: #fcfcfc;
|
||||
overflow: hidden;
|
||||
position: absolute;
|
||||
top: 30px;
|
||||
left: 2px;
|
||||
height: 200px !important;
|
||||
width: 500px !important;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.resize-handle-mr {
|
||||
width: 2px;
|
||||
background: url('/img/bash/right_bg.png') repeat-y;
|
||||
position: absolute;
|
||||
height: 325px;
|
||||
top: 30px;
|
||||
right: 0;
|
||||
}
|
||||
|
||||
.konsole_bottom_left {
|
||||
width: 3px;
|
||||
height: 3px;
|
||||
background: url('/img/bash/bottom_left.png') no-repeat;
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
}
|
||||
|
||||
.konsole_bottom {
|
||||
height: 2px;
|
||||
background: url('/img/bash/bottom_bg.png') repeat-x;
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
left: 2px;
|
||||
width: 495px;
|
||||
}
|
||||
|
||||
.konsole_bottom_right {
|
||||
height: 3px;
|
||||
width: 3px;
|
||||
background: url('/img/bash/bottom_right.png') no-repeat;
|
||||
position: absolute;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
}
|
||||
</style>
|
|
@ -1,27 +0,0 @@
|
|||
<template>
|
||||
<fieldset class="form-group">
|
||||
<div tabindex="-1" role="group">
|
||||
<div id="gender" role="radiogroup" tabindex="-1" class="btn-group-toggle btn-group" variant="primary">
|
||||
<label :class="`btn btn-fumei${check == 0 ? '-check' : ''}`">
|
||||
<input id="gender0" name="gender" type="radio" autocomplete="off" class="" v-model="check" value="0" />
|
||||
<span>不明</span>
|
||||
</label>
|
||||
<label :class="`btn btn-danshi${check == 1 ? '-check' : ''}`">
|
||||
<input id="gender1" name="gender" type="radio" autocomplete="off" class="" v-model="check" value="1" />
|
||||
<span>男性</span>
|
||||
</label>
|
||||
<label :class="`btn btn-joshi${check == 2 ? '-check' : ''}`">
|
||||
<input id="gender2" name="gender" type="radio" autocomplete="off" class="" v-model="check" value="2" />
|
||||
<span>女性</span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
props: { sel: 0 },
|
||||
data: function () { return { check: this.sel } }
|
||||
}
|
||||
</script>
|
|
@ -2,18 +2,19 @@
|
|||
<h3 class="comments-count section-heading uppercase"><span>{{ $comment['total'] }} 件のコメント</span></h3>
|
||||
<div style="margin: 12px 0;">
|
||||
@if ($isvideo !== 'n')
|
||||
<hr />
|
||||
<form action="/comment/new" method="post">
|
||||
@csrf
|
||||
@if ($user == new stdClass())
|
||||
<div class="form-group row">
|
||||
<div class="col-md-4 col-lg-3">名前</div>
|
||||
<div class="input-group col-md col-lg">
|
||||
<input type="text" name="new-name" class="form-control" value="" placeholder="ご入力しない場合、名前は「名無しのテクニシャン」になります。" />
|
||||
<input type="text" name="newname" class="form-control" value="" placeholder="ご入力しない場合、名前は「名無しのテクニシャン」になります。" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<div class="col-md-4 col-lg-3">メールアドレス</div>
|
||||
<div class="input-group col-md col-lg">
|
||||
<input type="text" name="new-mail" class="form-control" value="" placeholder="返信される場合、メールに通知を送ります。" />
|
||||
<input type="text" name="newmail" class="form-control" value="" placeholder="返信される場合、メールに通知を送ります。" />
|
||||
</div>
|
||||
</div>
|
||||
@else
|
||||
|
@ -23,20 +24,24 @@
|
|||
<a href="/profile/{{ $user['user_id'] }}" style="{{ $user['showcol'] }}"><img style="width: 24px; height: 24px;" src="{{ $user['avatar'] }}" alt="{{ $user['showname'] }}さんのアイコン`"> {{ $user['showname'] }}</a>
|
||||
</div>
|
||||
</div>
|
||||
<input type="hidden" name="user_id" value="{{ $user['user_id'] }}" />
|
||||
@endif
|
||||
<div class="row">
|
||||
<div class="col-md-4 col-lg-3">本文 <span class="badge badge-danger">必須</span></div>
|
||||
<div class="col-md col-lg">
|
||||
<textarea class="form-control" name="new-message" rows="4"></textarea>
|
||||
<textarea class="form-control" name="newmessage" rows="4"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<input type="hidden" name="isvideo" value="{{ $isvideo }}" />
|
||||
<input type="hidden" name="slug" value="{{ $slug }}" />
|
||||
<div class="row" style="margin-top: 16px;">
|
||||
<div class="col">
|
||||
<input type="submit" class="btn btn-block btn-primary" value="送信" />
|
||||
</div>
|
||||
</div>
|
||||
</span>
|
||||
</form>
|
||||
@endif
|
||||
<hr />
|
||||
@if ($comment['total'] == 0) コメントがありません。
|
||||
@else
|
||||
@foreach ($comment['come'] as $i => $c)
|
||||
|
|
|
@ -0,0 +1,48 @@
|
|||
<div class="row body">
|
||||
<div class="col-md-3"><b>種類</b></div>
|
||||
<div class="col">
|
||||
<div class="form-check">
|
||||
<input class="form-check-input" name="isPost" type="radio" id="type-post" value="1" @if ($ip == 1) checked @endif />
|
||||
<label class="form-check-label" for="type-post">ポスト</label>
|
||||
</div>
|
||||
<div class="form-check">
|
||||
<input class="form-check-input" name="isPost" type="radio" id="type-page" value="0" @if ($ip == 0) checked @endif />
|
||||
<label class="form-check-label" for="type-page">ページ</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div style="font-weight: bolder;">ポスト</div>
|
||||
<div class="row body">
|
||||
<div class="col-md-3"><b>公開設定</b></div>
|
||||
<div class="col">
|
||||
<select id="public_status" name="public_status" class="form-control">
|
||||
<option value="0" @if ($is == 0) selected @endif >公開</option>
|
||||
<option value="1" @if ($is == 1) selected @endif >スケジュールを設定</option>
|
||||
<option value="2" @if ($is == 2) selected @endif >限定公開</option>
|
||||
<option value="3" @if ($is == 3) selected @endif >非公開</option>
|
||||
<option value="4" @if ($is == 4) selected @endif >下書き</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div style="font-weight: bold;">スケジュールの場合</div>
|
||||
<div class="row body">
|
||||
<div class="col-md-3"><b>公開日時</b></div>
|
||||
<div class="col">
|
||||
<?php
|
||||
$pd = date('Y-m-d\TH:i', ($pd != 0 && is_int($pd) ? $pd : (is_string($pd) ? strtotime($pd) : time())));
|
||||
$max = new \DateTime($pd);
|
||||
$max = $max->modify('+1 year')->format('Y-m-d\TH:i');
|
||||
?>
|
||||
<input type="datetime-local" name="publish_date" id="publish_date" value="{{ date('Y-m-d\TH:i', strtotime($pd)) }}" min="{{ date('Y-m-d\TH:i', strtotime($pd)) }}" max="{{ date('Y-m-d\TH:i', strtotime($max)) }}" />
|
||||
</div>
|
||||
</div>
|
||||
<div style="font-weight: bolder;">ページ</div>
|
||||
<div class="row body">
|
||||
<div class="col-md-3"><b>メニュー</b></div>
|
||||
<div class="col">
|
||||
<div class="form-group form-check">
|
||||
<input type="checkbox" name="isMenu" class="form-check-input" id="menu" @if ($im) checked @endif />
|
||||
<label class="form-check-label" for="menu">メニューに表示する</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
|
@ -20,9 +20,7 @@
|
|||
<div class="col-md-3"><b>スラッグ</b></div>
|
||||
<div class="col"><input id="slug" name="slug" type="text" class="form-control" value="{{ $frm['slug'] }}" /></div>
|
||||
</div>
|
||||
<div>
|
||||
<content-type p="{{$frm['public_status']}}" c="{{$frm['isPost']}}" d="{{$frm['publish_date']}}" m="{{$frm['isMenu']}}" />
|
||||
</div>
|
||||
@include('pages.common.contenttype', ['ip' => $frm['isPost'], 'is' => $frm['public_status'], 'pd' => $frm['publish_date'], 'im' => $frm['isMenu']])
|
||||
<b>文章</b>
|
||||
<div class="row body">
|
||||
<div class="col"><textarea id="message" name="message" rows="16" class="form-control">{{ $frm['message'] }}</textarea></div>
|
||||
|
|
|
@ -17,9 +17,7 @@
|
|||
<div class="col"><input id="title" name="title" type="text" class="form-control" value="{{ $frm->title }}" /></div>
|
||||
</div>
|
||||
<div class="col"><input id="slug" name="slug" type="hidden" class="form-control" value="{{ $frm->slug }}" /></div>
|
||||
<div>
|
||||
<content-type p="{{$frm->public_status}}" c="{{$frm->isPost}}" d="{{$frm->publish_date}}" m="{{$frm->isMenu}}" />
|
||||
</div>
|
||||
@include('pages.common.contenttype', ['ip' => $frm->isPost, 'is' => $frm->public_status, 'pd' => $frm->publish_date, 'im' => $frm->isMenu])
|
||||
<b>文章</b>
|
||||
<div class="row body">
|
||||
<div class="col"><textarea id="message" name="message" rows="16" class="form-control">{{ $frm->message }}</textarea></div>
|
||||
|
|
|
@ -8,18 +8,26 @@
|
|||
<thead>
|
||||
<tr>
|
||||
<th scope="col" width="70%">ゲーム名</th>
|
||||
@if (isset($user->perm) && ($user->perm['blg_editpost'] || $user->perm['blg_delpost']))
|
||||
<th scope="col"></th>
|
||||
<th scope="col"></th>
|
||||
@if (isset(getUser()->perm) && (getUser()->perm['blg_editpost'] || getUser()->perm['blg_delpost']))
|
||||
<th scope="col"></th>
|
||||
<th scope="col"></th>
|
||||
@endif
|
||||
</tr>
|
||||
</thead>
|
||||
@foreach ($res as $k => $r)
|
||||
<tr>
|
||||
<td scope="row"><a href="/video/{{ $r->slug }}">{{ $r->name }}</a></td>
|
||||
@if (isset($user->perm) && ($user->perm['blg_editpost'] || $user->perm['blg_delpost']))
|
||||
<td scope="row"><a href="/video/game/{{$r->slug}}/edit" class="btn btn-block btn-warning">編集</a></td>
|
||||
<td scope="row"><delete-game slug="{{ $r->slug }}" /></td>
|
||||
@if (isset(getUser()->perm) && (getUser()->perm['blg_editpost'] || getUser()->perm['blg_delpost']))
|
||||
<td scope="row"><a href="/video/game/{{$r->slug}}/edit" class="btn btn-block btn-warning">編集</a></td>
|
||||
<td scope="row">
|
||||
<div class="col">
|
||||
<form action="/game/del" method="post">
|
||||
@csrf
|
||||
<input type="hidden" name="slug" value="{{ $r->slug }}" />
|
||||
<input type="submit" class="btn btn-block btn-danger" value="削除" />
|
||||
</form>
|
||||
</div>
|
||||
</td>
|
||||
@endif
|
||||
</tr>
|
||||
@endforeach
|
||||
|
|
|
@ -1,13 +0,0 @@
|
|||
<div class="row">
|
||||
<div class="col-md" style="padding-bottom: 32px;">
|
||||
<div class="within" style="background-color: #31363b;">
|
||||
<div class="logo-br">
|
||||
<span class="logo-sns"><a href="https://www.youtube.com/user/UltimatePisman" alt="ユーチューブ"><img src="/img/youtube.png" alt="ユーチューブのロゴ"/></a></span>
|
||||
<span class="logo-sns"><a href="https://www.nicovideo.jp/user/14848316" alt="ニコニコ動画"><img src="/img/niconico.png" alt="ニコニコ動画のロゴ" /></a></span>
|
||||
<span class="logo-sns"><a href="https://odysee.com/@TechnicalSuwako:d" alt="オディシー"><img src="/img/odysee.png" alt="オディシーのロゴ" /></a></span>
|
||||
<span class="logo-sns"><a href="https://social.076.ne.jp/TechnicalSuwako" alt="マストドン"><img src="/img/mastodon.png" alt="マストドンのロゴ" /></a></span>
|
||||
<span class="logo-sns"><a href="https://matrix.to/#/!larmrZSQCaOLueeHdI:matrix.076.ne.jp" alt="マトリックス"><img src="/img/matrix.png" alt="マトリックスのロゴ" /></a></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
|
@ -2,7 +2,7 @@
|
|||
<meta name="msapplication-TileColor" content="#3daee9">
|
||||
<meta name="msapplication-TileImage" content="/ms-icon-144x144.png">
|
||||
<meta name="theme-color" content="#3daee9">
|
||||
<link rel="stylesheet" href="{{ asset('css/bootstrap.css') }}"/>
|
||||
<link rel="stylesheet" href="{{ asset('css/'.env('THEME').'/bootstrap.css') }}"/>
|
||||
@foreach (getCss() as $c)
|
||||
<link href="{{ asset('css/'.$c.'.css') }}" rel="stylesheet">
|
||||
<link href="{{ asset('css/'.env('THEME').'/'.$c.'.css') }}" rel="stylesheet">
|
||||
@endforeach
|
||||
|
|
|
@ -4,7 +4,13 @@
|
|||
<div class="col"><a href="/content/{{ $current }}/edit" class="btn btn-block btn-warning">投稿の編集</a></div>
|
||||
@endif
|
||||
@if ($current != '' && $slug != '' && $slug == $current && ($user->perm['blg_delpost'] || $user->perm['blg_delpage']))
|
||||
<delete-content slug="{{ $current }}" />
|
||||
<div class="col">
|
||||
<form action="/content/del" method="post">
|
||||
@csrf
|
||||
<input type="hidden" name="slug" value="{{ $current }}" />
|
||||
<input type="submit" class="btn btn-block btn-danger" value="投稿の削除" />
|
||||
</form>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
@endif
|
||||
|
|
|
@ -4,7 +4,13 @@
|
|||
<div class="col"><a href="/video/{{ $current }}/edit" class="btn btn-block btn-warning">動画の編集</a></div>
|
||||
@endif
|
||||
@if ($current != '' && $slug != '' && $slug == $current && $user->perm['blg_delpost'])
|
||||
<delete-video slug="{{ $current }}" />
|
||||
<div class="col">
|
||||
<form action="/video/del" method="post">
|
||||
@csrf
|
||||
<input type="hidden" name="slug" value="{{ $current }}" />
|
||||
<input type="submit" class="btn btn-block btn-danger" value="動画の削除" />
|
||||
</form>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
@endif
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<div class="row" style="padding: 32px 0;">
|
||||
<div class="col">
|
||||
<img class="img-fluid logo-img" src="/img/header.jpg" alt="ヘッダー" />
|
||||
<img class="img-fluid logo-img" src="/img/header.jpeg" alt="ヘッダー" />
|
||||
<div class="logo-c">テクニカル諏訪子</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,77 +0,0 @@
|
|||
// 色
|
||||
//// メイン
|
||||
$suwa00: #f1d0ff;
|
||||
$suwa01: #e4b4f8;
|
||||
$suwa02: #d898f3;
|
||||
$suwa03: #cb81ea;
|
||||
$suwa04: #b16cce;
|
||||
$suwa05: #a05ebd;
|
||||
$suwa06: #9b59b6;
|
||||
$suwa07: #61237c;
|
||||
$suwa08: #46195a;
|
||||
$suwa09: #341242;
|
||||
$suwa10: #220a2c;
|
||||
|
||||
$evil0: #916ead;
|
||||
$evil1: #6b4386;
|
||||
$evil2: #5d2b8b;
|
||||
$evil3: #6c29b9;
|
||||
$evil4: #57229c;
|
||||
$evil5: #51047d;
|
||||
$evil6: #2d1a46;
|
||||
|
||||
//// 青
|
||||
$dan1: #9ed6ff;
|
||||
$dan2: #3daee9;
|
||||
$dan3: #1d99f3;
|
||||
$dan4: #205e7d;
|
||||
|
||||
//// 赤
|
||||
$ng1: #f58276;
|
||||
$ng2: #da4453;
|
||||
$ng3: #e74c3c;
|
||||
$ng4: #ff3636;
|
||||
$ng5: #ed1515;
|
||||
$ng6: #c0392b;
|
||||
$ng7: #611e24;
|
||||
|
||||
//// グレ
|
||||
$grey1: #d6dfe4;
|
||||
$grey2: #bdc3c7;
|
||||
$grey3: #7f8c8d;
|
||||
$grey4: #727272;
|
||||
$grey5: #495051;
|
||||
|
||||
//// 黒
|
||||
$black1: #232629;
|
||||
$black2: #31363b;
|
||||
$black3: #4d4d4d;
|
||||
|
||||
//// 黄
|
||||
$yellow1: #c9ce3b;
|
||||
$yellow2: #ffdd00;
|
||||
$yellow3: #fdbc4b;
|
||||
$yellow4: #f39c1f;
|
||||
$yellow5: #f67400;
|
||||
|
||||
//// 白
|
||||
$white1: #fcfcfc;
|
||||
$white2: #eff0f1;
|
||||
|
||||
//// ピンク
|
||||
$jo1: #ffe6f9;
|
||||
$jo2: #e93de9;
|
||||
$jo3: #f31de8;
|
||||
$jo4: #7d2069;
|
||||
|
||||
//// 緑
|
||||
$ok1: #20ec77;
|
||||
$ok2: #2ecc71;
|
||||
$ok3: #11d116;
|
||||
$ok4: #27ae60;
|
||||
$ok5: #145d33;
|
||||
|
||||
//// 紫
|
||||
$kawaii1: #cb81ea;
|
||||
$kawaii2: #9b59b6;
|
||||
$kawaii3: #61237c;
|
|
@ -1,21 +0,0 @@
|
|||
// 色
|
||||
//// メイン
|
||||
$suwa00: #ffe6f9;
|
||||
$suwa01: #e599e5;
|
||||
$suwa02: #ea81e8;
|
||||
$suwa03: #e93de9;
|
||||
$suwa04: #f31de8;
|
||||
$suwa05: #ea00ff;
|
||||
$suwa06: #db34d3;
|
||||
$suwa07: #b459b6;
|
||||
$suwa08: #7d2069;
|
||||
$suwa09: #502c50;
|
||||
$suwa10: #5e345c;
|
||||
|
||||
$evil0: #ad6ea8;
|
||||
$evil1: #864386;
|
||||
$evil2: #832b8b;
|
||||
$evil3: #b929ad;
|
||||
$evil4: #9c2296;
|
||||
$evil5: #7d0469;
|
||||
$evil6: #421a46;
|
|
@ -1,21 +0,0 @@
|
|||
// 色
|
||||
//// メイン
|
||||
$suwa00: #9ed6ff;
|
||||
$suwa01: #8bb6d6;
|
||||
$suwa02: #6ec0fb;
|
||||
$suwa03: #3daee9;
|
||||
$suwa04: #1d99f3;
|
||||
$suwa05: #0094ff;
|
||||
$suwa06: #3498db;
|
||||
$suwa07: #2980b9;
|
||||
$suwa08: #205e7d;
|
||||
$suwa09: #2c3e50;
|
||||
$suwa10: #34495e;
|
||||
|
||||
$evil0: #6e93ad;
|
||||
$evil1: #436a86;
|
||||
$evil2: #2b6b8b;
|
||||
$evil3: #2980b9;
|
||||
$evil4: #22699c;
|
||||
$evil5: #04547d;
|
||||
$evil6: #1a3746;
|
|
@ -1,19 +0,0 @@
|
|||
#app {
|
||||
font-family: monospace;
|
||||
font-size: large;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
text-align: left;
|
||||
margin-top: 48px;
|
||||
margin-left: 0px;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: 'jpserriffont';
|
||||
text-align: center;
|
||||
color: #fcfcfc;
|
||||
background-color: #232629;
|
||||
}
|
||||
|
||||
a { color: #b16cce; }
|
||||
a:hover { color: #cb81ea; }
|
|
@ -1,2 +0,0 @@
|
|||
a { color: #f31de8; }
|
||||
a:hover { color: #e93de9; }
|
|
@ -1,2 +0,0 @@
|
|||
a { color: #1d99f3; }
|
||||
a:hover { color: #3daee9; }
|
|
@ -1,3 +0,0 @@
|
|||
.badge-danger { color: #fff; background-color: #dc3545; }
|
||||
.badge-light { color: #212529; background-color: #f8f9fa; }
|
||||
.badge { font-size: 100%; }
|
|
@ -1,165 +0,0 @@
|
|||
.btn, btn:hover {
|
||||
margin: 0 2px;
|
||||
border: 2px solid;
|
||||
}
|
||||
|
||||
.btn {
|
||||
border-left-color: #fcfcfc;
|
||||
border-top-color: #fcfcfc;
|
||||
}
|
||||
|
||||
.btn:hover {
|
||||
border-left-color: #7f8c8d;
|
||||
border-top-color: #7f8c8d;
|
||||
}
|
||||
|
||||
.btn-fumei, .btn-fumei.disabled, .btn-fumei:disabled {
|
||||
background: radial-gradient(ellipse at top, #61237c, transparent), radial-gradient(ellipse at bottom, #232629, transparent);
|
||||
color: #fcfcfc;
|
||||
background-color: #9b59b6;
|
||||
border-bottom-color: #cb81ea;
|
||||
border-right-color: #cb81ea;
|
||||
}
|
||||
|
||||
.btn-fumei:hover {
|
||||
color: #fcfcfc;
|
||||
background-color: #61237c;
|
||||
border-color: transparent;
|
||||
border-bottom-color: #9b59b6;
|
||||
border-right-color: #9b59b6;
|
||||
}
|
||||
|
||||
.btn-fumei-check {
|
||||
color: #fcfcfc;
|
||||
background-color: #61237c;
|
||||
border-color: transparent;
|
||||
border-bottom-color: #9b59b6;
|
||||
border-right-color: #9b59b6;
|
||||
box-shadow: 0px 0px 7px 3px #9b59b6;
|
||||
}
|
||||
|
||||
.btn-danshi, .btn-danshi.disabled, .btn-danshi:disabled {
|
||||
background: radial-gradient(ellipse at top, #3daee9, transparent), radial-gradient(ellipse at bottom, #232629, transparent);
|
||||
color: #fcfcfc;
|
||||
background-color: #fcfcfc;
|
||||
border-bottom-color: #9ed6ff;
|
||||
border-right-color: #9ed6ff;
|
||||
}
|
||||
|
||||
.btn-danshi:hover {
|
||||
color: #fcfcfc;
|
||||
background-color: #205e7d;
|
||||
border-color: transparent;
|
||||
border-bottom-color: #1d99f3;
|
||||
border-right-color: #1d99f3;
|
||||
}
|
||||
|
||||
.btn-danshi-check {
|
||||
color: #fcfcfc;
|
||||
background-color: #205e7d;
|
||||
border-color: transparent;
|
||||
border-bottom-color: #1d99f3;
|
||||
border-right-color: #1d99f3;
|
||||
box-shadow: 0px 0px 7px 3px #1d99f3;
|
||||
}
|
||||
|
||||
.btn-joshi, .btn-joshi.disabled, .btn-joshi:disabled {
|
||||
background: radial-gradient(ellipse at top, #e93de9, transparent), radial-gradient(ellipse at bottom, #232629, transparent);
|
||||
color: #fcfcfc;
|
||||
background-color: #fcfcfc;
|
||||
border-bottom-color: #ffe6f9;
|
||||
border-right-color: #ffe6f9;
|
||||
}
|
||||
|
||||
.btn-joshi:hover {
|
||||
color: #fcfcfc;
|
||||
background-color: #7d2069;
|
||||
border-color: transparent;
|
||||
border-bottom-color: #f31de8;
|
||||
border-right-color: #f31de8;
|
||||
}
|
||||
|
||||
.btn-joshi-check {
|
||||
color: #fcfcfc;
|
||||
background-color: #7d2069;
|
||||
border-color: transparent;
|
||||
border-bottom-color: #f31de8;
|
||||
border-right-color: #f31de8;
|
||||
box-shadow: 0px 0px 7px 3px #f31de8;
|
||||
}
|
||||
|
||||
.btn-primary, .btn-primary.disabled, .btn-primary:disabled {
|
||||
background: radial-gradient(ellipse at top, #cb81ea, transparent), radial-gradient(ellipse at bottom, #232629, transparent);
|
||||
color: #fcfcfc;
|
||||
border-bottom-color: #f1d0ff;
|
||||
border-right-color: #f1d0ff;
|
||||
}
|
||||
|
||||
.btn-primary:hover {
|
||||
color: #fcfcfc;
|
||||
background-color: #46195a;
|
||||
border-color: transparent;
|
||||
border-bottom-color: #b16cce;
|
||||
border-right-color: #b16cce;
|
||||
}
|
||||
|
||||
.btn-secondary, .btn-secondary.disabled, .btn-secondary:disabled {
|
||||
background: radial-gradient(ellipse at top, #7f8c8d, transparent), radial-gradient(ellipse at bottom, #232629, transparent);
|
||||
color: #fcfcfc;
|
||||
border-bottom-color: #d6dfe4;
|
||||
border-right-color: #d6dfe4;
|
||||
}
|
||||
|
||||
.btn-secondary:hover {
|
||||
color: #fcfcfc;
|
||||
background-color: #495051;
|
||||
border-color: transparent;
|
||||
border-bottom-color: #bdc3c7;
|
||||
border-right-color: #bdc3c7;
|
||||
}
|
||||
|
||||
.btn-success, .btn-success.disabled, .btn-success:disabled, .alert-success {
|
||||
background: radial-gradient(ellipse at top, #2ecc71, transparent), radial-gradient(ellipse at bottom, #232629, transparent);
|
||||
color: #fcfcfc;
|
||||
border-bottom-color: #20ec77;
|
||||
border-right-color: #20ec77;
|
||||
}
|
||||
|
||||
.btn-success:hover {
|
||||
color: #fcfcfc;
|
||||
background-color: #145d33;
|
||||
border-color: transparent;
|
||||
border-bottom-color: #27ae60;
|
||||
border-right-color: #27ae60;
|
||||
}
|
||||
|
||||
.btn-danger, .btn-danger.disabled, .btn-danger:disabled, .alert-danger {
|
||||
background: radial-gradient(ellipse at top, #e74c3c, transparent), radial-gradient(ellipse at bottom, #232629, transparent);
|
||||
color: #fcfcfc;
|
||||
border-bottom-color: #f58276;
|
||||
border-right-color: #f58276;
|
||||
}
|
||||
|
||||
.btn-danger:hover {
|
||||
color: #fcfcfc;
|
||||
background-color: #611e24;
|
||||
border-color: transparent;
|
||||
border-bottom-color: #e74c3c;
|
||||
border-right-color: #e74c3c;
|
||||
}
|
||||
|
||||
|
||||
.btn-warning, .btn-warning.disabled, .btn-warning:disabled, .alert-warning {
|
||||
background: radial-gradient(ellipse at top, #fdbc4b, transparent), radial-gradient(ellipse at bottom, #232629, transparent);
|
||||
color: #fcfcfc;
|
||||
border-bottom-color: #c9ce3b;
|
||||
border-right-color: #c9ce3b;
|
||||
}
|
||||
|
||||
.btn-warning:hover {
|
||||
color: #fcfcfc;
|
||||
background-color: #f67400;
|
||||
border-color: transparent;
|
||||
border-bottom-color: #fdbc4b;
|
||||
border-right-color: #fdbc4b;
|
||||
}
|
|
@ -1,11 +0,0 @@
|
|||
.btn-primary, .btn-primary.disabled, .btn-primary:disabled {
|
||||
background: radial-gradient(ellipse at top, #e93de9, transparent), radial-gradient(ellipse at bottom, #232629, transparent);
|
||||
border-bottom-color: #ffe6f9;
|
||||
border-right-color: #ffe6f9;
|
||||
}
|
||||
|
||||
.btn-primary:hover {
|
||||
background-color: #7d2069;
|
||||
border-bottom-color: #f31de8;
|
||||
border-right-color: #f31de8;
|
||||
}
|
|
@ -1,11 +0,0 @@
|
|||
.btn-primary, .btn-primary.disabled, .btn-primary:disabled {
|
||||
background: radial-gradient(ellipse at top, #3daee9, transparent), radial-gradient(ellipse at bottom, #232629, transparent);
|
||||
border-bottom-color: #9ed6ff;
|
||||
border-right-color: #9ed6ff;
|
||||
}
|
||||
|
||||
.btn-primary:hover {
|
||||
background-color: #205e7d;
|
||||
border-bottom-color: #1d99f3;
|
||||
border-right-color: #1d99f3;
|
||||
}
|
|
@ -1,4 +0,0 @@
|
|||
.custom-control-input:checked ~ .custom-control-label::before,
|
||||
.custom-radio .custom-control-input:checked ~ .custom-control-label::before,
|
||||
.custom-checkbox .custom-control-input:checked ~ .custom-control-label::before
|
||||
{ color: #fcfcfc; background-color: #cb81ea; border-color: #b16cce; }
|
|
@ -1,4 +0,0 @@
|
|||
.custom-control-input:checked ~ .custom-control-label::before,
|
||||
.custom-radio .custom-control-input:checked ~ .custom-control-label::before,
|
||||
.custom-checkbox .custom-control-input:checked ~ .custom-control-label::before
|
||||
{ background-color: #e93de9; border-color: #f31de8; }
|
|
@ -1,4 +0,0 @@
|
|||
.custom-control-input:checked ~ .custom-control-label::before,
|
||||
.custom-radio .custom-control-input:checked ~ .custom-control-label::before,
|
||||
.custom-checkbox .custom-control-input:checked ~ .custom-control-label::before
|
||||
{ background-color: #3daee9; border-color: #1d99f3; }
|
|
@ -1,5 +0,0 @@
|
|||
.fn { font-size: 16px; font-style: normal; color: #20ec77; }
|
||||
.comment-meta a { color: #bdc3c7; }
|
||||
.commentlist p { margin: 0 0 10px; padding: 10px 0 40px 0; font-size: 20px; }
|
||||
.commentnumber { float: left; margin-right: 5px; font-size: 16px; }
|
||||
ul { list-style: none; }
|
|
@ -1,41 +0,0 @@
|
|||
.bar { background: linear-gradient(to bottom, #57229c 0%, #6b4386 34%, #2d1a46 100%); }
|
||||
.bara { background: linear-gradient(180deg, #a05ebd 0, #e4b4f8 34%, #51047d 100%); }
|
||||
.bar, .bara {
|
||||
text-align: center;
|
||||
color: #fcfcfc;
|
||||
padding: 5px;
|
||||
font-size: 20px;
|
||||
border-bottom: solid 2px #cb81ea;
|
||||
cursor: pointer;
|
||||
transition: background 0.3s, color 0.3s;
|
||||
}
|
||||
.bar > a { color: #fcfcfc; }
|
||||
.bar > a:hover { text-decoration: none; }
|
||||
.bar:hover { color: #fcfcfc; background: linear-gradient(to bottom, #6c29b9 0%, #916ead 34%, #5d2b8b 100%); }
|
||||
.indexborder { border: 2px solid #cb81ea; box-shadow: 0px 0px 7px 3px #b16cce; padding: 8px; background-color: #232629; }
|
||||
.meta { padding: 5px; text-align: left; background-color: #341242; border-bottom: solid 2px #cb81ea; }
|
||||
.comment { border-top: solid 2px #cb81ea; }
|
||||
.back, .comment { padding: 4px; background-color: #31363b; text-align: left; }
|
||||
.commentloop { padding: 10px 4px 40px 4px; }
|
||||
.commentloop > .name { color: #11d116; }
|
||||
.within { margin: 0 auto; border: 2px solid #cb81ea; box-shadow: 0px 0px 7px 3px #b16cce; }
|
||||
.wny { border: solid 2px #ed1515; box-shadow: 0px 0px 20px 10px #ff3636; }
|
||||
.bny, .cny { background-color: #da4453; border-bottom: solid 2px #ed1515; }
|
||||
.mny { background-color: #c0392b; border-bottom: solid 2px #ed1515; }
|
||||
.kero-section {
|
||||
width: 100%;
|
||||
font-size: 150%;
|
||||
font-weight: bolder;
|
||||
text-align: center;
|
||||
padding: 4px;
|
||||
margin: 8px 0;
|
||||
background: linear-gradient(to bottom, #cb81ea 0%, #57229c 34%, #d898f3 100%);
|
||||
color: #fcfcfc;
|
||||
border-bottom-color: #f1d0ff;
|
||||
border-right-color: #f1d0ff;
|
||||
border-bottom-color: #f1d0ff;
|
||||
border-right-color: #f1d0ff;
|
||||
border-width: 1px;
|
||||
border-radius: 25px;
|
||||
cursor: default;
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
.bar { background: linear-gradient(to bottom, #9c2296 0%, #864386 34%, #421a46 100%); }
|
||||
.bara { background: linear-gradient(180deg, #ea00ff 0, #e599e5 34%, #7d0469 100%); }
|
||||
.bar, .bara { border-bottom: solid 2px #e93de9; }
|
||||
.bar:hover { background: linear-gradient(to bottom, #b929ad 0%, #ad6ea8 34%, #832b8b 100%); }
|
||||
.indexborder { border: 2px solid #e93de9; box-shadow: 0px 0px 7px 3px #f31de8; }
|
||||
.meta { background-color: #502c50; border-bottom: solid 2px #e93de9; }
|
||||
.comment { border-top: solid 2px #e93de9; }
|
||||
.within { border: 2px solid #e93de9; box-shadow: 0px 0px 7px 3px #f31de8; }
|
||||
.kero-section { background: linear-gradient(to bottom, #e93de9 0%, #9c2296 34%, #ea81e8 100%); border-bottom-color: #ffe6f9; border-right-color: #ffe6f9; border-bottom-color: #ffe6f9; border-right-color: #ffe6f9; }
|
|
@ -1,9 +0,0 @@
|
|||
.bar { background: linear-gradient(to bottom, #22699c 0%, #436a86 34%, #1a3746 100%); }
|
||||
.bara { background: linear-gradient(180deg, #0094ff 0, #8bb6d6 34%, #04547d 100%); }
|
||||
.bar, .bara { border-bottom: solid 2px #3daee9; }
|
||||
.bar:hover { background: linear-gradient(to bottom, #2980b9 0%, #6e93ad 34%, #2b6b8b 100%); }
|
||||
.indexborder { border: 2px solid #3daee9; box-shadow: 0px 0px 7px 3px #1d99f3; }
|
||||
.meta { background-color: #2c3e50; border-bottom: solid 2px #3daee9; }
|
||||
.comment { border-top: solid 2px #3daee9; }
|
||||
.within { border: 2px solid #3daee9; box-shadow: 0px 0px 7px 3px #1d99f3; }
|
||||
.kero-section { background: linear-gradient(to bottom, #3daee9 0%, #22699c 34%, #6ec0fb 100%); border-bottom-color: #9ed6ff; border-right-color: #9ed6ff; border-bottom-color: #9ed6ff; border-right-color: #9ed6ff; }
|
|
@ -1,4 +0,0 @@
|
|||
.form-control, .form-control:focus { background-color: #232629; color: #fcfcfc; }
|
||||
.form-control { border: 1px solid #220a2c; }
|
||||
.form-control:focus { border: 1px solid #cb81ea; }
|
||||
.form-control:disabled, .form-control[readonly] { background-color: #232629; }
|
|
@ -1,2 +0,0 @@
|
|||
.form-control { border: 1px solid #5e345c; }
|
||||
.form-control:focus { border: 1px solid #e93de9; }
|
変更されたファイルが多すぎるため、一部のファイルは表示されません さらに表示
新しいイシューから参照