Merge branch 'dev-master' of git.076.ne.jp:TechnicalSuwako/076server
このコミットが含まれているのは:
コミット
48bed54f69
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=""
|
|
@ -1,7 +1,7 @@
|
|||
/node_modules
|
||||
/public/hot
|
||||
/public/js
|
||||
/public/css
|
||||
/public/css.old
|
||||
/public/js.old
|
||||
/public/storage
|
||||
/public/assets/avatars
|
||||
/public/assets/board
|
||||
|
|
|
@ -1,533 +0,0 @@
|
|||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Contracts\Routing\ResponseFactory;
|
||||
use App\User;
|
||||
use Validator;
|
||||
use DB, Hash, Mail, Illuminate\Support\Facades\Password;
|
||||
|
||||
use App\Http\Controllers\PermissionController;
|
||||
use Illuminate\Support\Facades\Log;
|
||||
|
||||
class AuthController extends Controller {
|
||||
private $objPermission;
|
||||
|
||||
public function __construct() {
|
||||
$this->objPermission = new PermissionController();
|
||||
}
|
||||
|
||||
public function checkSelf(Request $r) { // /api/auth/checkself
|
||||
$check = checkLegit($r->kero_token);
|
||||
return array($check);
|
||||
}
|
||||
|
||||
public function getPerms(Request $r) { // /api/auth/getpermissions
|
||||
$check = $this->getPermissions($r->kero_token);
|
||||
|
||||
return array($check);
|
||||
}
|
||||
|
||||
public function getPermissions($token) {
|
||||
$check = checkLegit($token);
|
||||
|
||||
$perm = DB::table('usr_perm_id')
|
||||
->select('perm_id')
|
||||
->where('user_id', $check)
|
||||
->first();
|
||||
|
||||
$perm = json_decode(json_encode($perm), true);
|
||||
|
||||
// Does the user ID exist? Grand the appropriate rights. Otherwise, use guest.
|
||||
if ($check != 0) {
|
||||
// Page permissions.
|
||||
$grouppermblg = $this->objPermission->getPermissionGroup('blg', $perm['perm_id']);
|
||||
$userpermblg = $this->objPermission->getPermissionUser('blg', $check);
|
||||
|
||||
// Board permissions.
|
||||
$grouppermfor = $this->objPermission->getPermissionGroup('for', $perm['perm_id']);
|
||||
$userpermfor = $this->objPermission->getPermissionUser('for', $check);
|
||||
|
||||
// Store permissions.
|
||||
$grouppermstr = $this->objPermission->getPermissionGroup('str', $perm['perm_id']);
|
||||
$userpermstr = $this->objPermission->getPermissionUser('str', $check);
|
||||
|
||||
// User permissions.
|
||||
$grouppermusr = $this->objPermission->getPermissionGroup('usr', $perm['perm_id']);
|
||||
$userpermusr = $this->objPermission->getPermissionUser('usr', $check);
|
||||
|
||||
// Image permissions.
|
||||
$grouppermimg = $this->objPermission->getPermissionGroup('img', $perm['perm_id']);
|
||||
$userpermimg = $this->objPermission->getPermissionUser('img', $check);
|
||||
|
||||
// Invoice permissions.
|
||||
$groupperminv = $this->objPermission->getPermissionGroup('inv', $perm['perm_id']);
|
||||
$userperminv = $this->objPermission->getPermissionUser('inv', $check);
|
||||
|
||||
// Now provide an array of user overwritten permissions if it exists. Otherwise, give its group permissions.
|
||||
$blgarr = array();
|
||||
$forarr = array();
|
||||
$strarr = array();
|
||||
$usrarr = array();
|
||||
$imgarr = array();
|
||||
$invarr = array();
|
||||
|
||||
if (!empty($userpermblg[0])) {
|
||||
$blgarr = (array)$userpermblg[0];
|
||||
}
|
||||
else {
|
||||
$blgarr = (array)$grouppermblg[0];
|
||||
}
|
||||
|
||||
$blgarr = array_combine(
|
||||
array_map(function($k){ return 'blg_'.$k; }, array_keys($blgarr)),
|
||||
$blgarr
|
||||
);
|
||||
|
||||
if (!empty($userpermfor[0])) {
|
||||
$forarr = (array)$userpermfor[0];
|
||||
}
|
||||
else {
|
||||
$forarr = (array)$grouppermfor[0];
|
||||
}
|
||||
|
||||
$forarr = array_combine(
|
||||
array_map(function($k){ return 'for_'.$k; }, array_keys($forarr)),
|
||||
$forarr
|
||||
);
|
||||
|
||||
if (!empty($userpermstr[0])) {
|
||||
$strarr = (array)$userpermstr[0];
|
||||
}
|
||||
else {
|
||||
$strarr = (array)$grouppermstr[0];
|
||||
}
|
||||
|
||||
$strarr = array_combine(
|
||||
array_map(function($k){ return 'str_'.$k; }, array_keys($strarr)),
|
||||
$strarr
|
||||
);
|
||||
|
||||
if (!empty($userpermusr[0])) {
|
||||
$usrarr = (array)$userpermusr[0];
|
||||
}
|
||||
else {
|
||||
$usrarr = (array)$grouppermusr[0];
|
||||
}
|
||||
|
||||
$usrarr = array_combine(
|
||||
array_map(function($k){ return 'usr_'.$k; }, array_keys($usrarr)),
|
||||
$usrarr
|
||||
);
|
||||
|
||||
if (!empty($userperminv[0])) {
|
||||
$invarr = (array)$userperminv[0];
|
||||
}
|
||||
else {
|
||||
$invarr = (array)$groupperminv[0];
|
||||
}
|
||||
|
||||
$invarr = array_combine(
|
||||
array_map(function($k){ return 'inv_'.$k; }, array_keys($invarr)),
|
||||
$invarr
|
||||
);
|
||||
|
||||
if (!empty($userpermimg[0])) {
|
||||
$imgarr = (array)$userpermimg[0];
|
||||
}
|
||||
else {
|
||||
$imgarr = (array)$grouppermimg[0];
|
||||
}
|
||||
|
||||
$merge = array();
|
||||
$merge1 = array();
|
||||
$merge2 = array();
|
||||
$merge3 = array();
|
||||
$merge4 = array();
|
||||
|
||||
$merge1 = array_merge($blgarr, $forarr);
|
||||
$merge2 = array_merge($strarr, $usrarr);
|
||||
$merge3 = array_merge($merge1, $merge2);
|
||||
$merge4 = array_merge($merge3, $invarr);
|
||||
|
||||
$merge = array_merge($merge4, $imgarr);
|
||||
|
||||
return $merge;
|
||||
}
|
||||
else {
|
||||
// Page permissions.
|
||||
$grouppermblg = $this->objPermission->getPermissionGroup('blg', 6);
|
||||
|
||||
// Forum permissions.
|
||||
$grouppermfor = $this->objPermission->getPermissionGroup('for', 6);
|
||||
|
||||
// Store permissions.
|
||||
$grouppermstr = $this->objPermission->getPermissionGroup('str', 6);
|
||||
|
||||
// User permissions.
|
||||
$grouppermusr = $this->objPermission->getPermissionGroup('usr', 6);
|
||||
|
||||
// Image permissions.
|
||||
$grouppermimg = $this->objPermission->getPermissionGroup('img', 6);
|
||||
|
||||
// Invoice permissions.
|
||||
$groupperminv = $this->objPermission->getPermissionGroup('inv', 6);
|
||||
|
||||
// Since guests don't have user overwritten permissions, simply return the group permissions.
|
||||
(array)$grouppermblg[0] = array_combine(
|
||||
array_map(function($k){ return 'blg_'.$k; }, array_keys((array)$grouppermblg[0])),
|
||||
(array)$grouppermblg[0]
|
||||
);
|
||||
|
||||
(array)$grouppermfor[0] = array_combine(
|
||||
array_map(function($k){ return 'for_'.$k; }, array_keys((array)$grouppermfor[0])),
|
||||
(array)$grouppermfor[0]
|
||||
);
|
||||
|
||||
(array)$grouppermstr[0] = array_combine(
|
||||
array_map(function($k){ return 'str_'.$k; }, array_keys((array)$grouppermstr[0])),
|
||||
(array)$grouppermstr[0]
|
||||
);
|
||||
|
||||
(array)$grouppermusr[0] = array_combine(
|
||||
array_map(function($k){ return 'usr_'.$k; }, array_keys((array)$grouppermusr[0])),
|
||||
(array)$grouppermusr[0]
|
||||
);
|
||||
|
||||
(array)$grouppermimg[0] = array_combine(
|
||||
array_map(function($k){ return 'img_'.$k; }, array_keys((array)$grouppermimg[0])),
|
||||
(array)$grouppermimg[0]
|
||||
);
|
||||
|
||||
(array)$groupperminv[0] = array_combine(
|
||||
array_map(function($k){ return 'inv_'.$k; }, array_keys((array)$groupperminv[0])),
|
||||
(array)$groupperminv[0]
|
||||
);
|
||||
|
||||
$merge = array();
|
||||
$merge1 = array();
|
||||
$merge2 = array();
|
||||
$merge3 = array();
|
||||
$merge4 = array();
|
||||
|
||||
$merge1 = array_merge((array)$grouppermblg[0], (array)$grouppermfor[0]);
|
||||
$merge2 = array_merge((array)$grouppermstr[0], (array)$grouppermusr[0]);
|
||||
$merge3 = array_merge($merge1, $merge2);
|
||||
$merge4 = array_merge($merge3, (array)$groupperminv[0]);
|
||||
|
||||
$merge = array_merge($merge4, (array)$grouppermimg[0]);
|
||||
|
||||
return $merge;
|
||||
}
|
||||
}
|
||||
|
||||
public function register (Request $r) {
|
||||
$ip = $_SERVER['REMOTE_ADDR'];
|
||||
|
||||
if (!empty($r)) {
|
||||
$existUser = DB::table('users')->select('id')->where('username', $r->username)->count();
|
||||
if ($existUser != 0) return array('err' => 'ユーザ名は既に登録しています。');
|
||||
if (empty($r->username)) return array('err' => 'ユーザ名は空です。');
|
||||
if (preg_match("/^[a-zA-Z0-9]+$/", $r->username) == 0) return array('err' => '英文字ばかりご入力下さい。');
|
||||
if (empty($r->password)) return array('err' => 'パスワードは空です。');
|
||||
if (empty($r->password_check)) return array('err' => 'パスワード(確認)は空です。');
|
||||
if (strlen($r->password) < 8) return array('err' => 'パスワードは8文以上をご入力下さい。');
|
||||
if ($r->password != $r->password_check) return array('err' => 'パスワードとパスワード(確認)は違います。');
|
||||
$existEmail = DB::table('users')->select('id')->where('email', $r->email)->count();
|
||||
if ($existEmail != 0) return array('err' => 'メールアドレスは既に登録しています。');
|
||||
if (empty($r->email)) return array('err' => 'メールアドレスは空です。');
|
||||
if (!filter_var($r->email, FILTER_VALIDATE_EMAIL)) return array('err' => 'メールアドレスを正しくご入力下さい。');
|
||||
|
||||
$salt = dechex(mt_rand(0, 2147483647)) . dechex(mt_rand(0, 2147483647));
|
||||
$passwd = hash('sha256', $r->password . $salt);
|
||||
|
||||
for ($round = 0; $round < 65536; $round++) { $passwd = hash('sha256', $passwd . $salt); }
|
||||
|
||||
$addUser = DB::table('users')
|
||||
->insertGetId([
|
||||
'username' => $r->username,
|
||||
'email' => $r->email,
|
||||
'password' => $passwd,
|
||||
'salt' => $salt,
|
||||
'remember_token' => '',
|
||||
'kero_token' => $this->makeToken()
|
||||
]);
|
||||
|
||||
DB::table('usr_details')
|
||||
->insert([
|
||||
'user_id' => $addUser,
|
||||
'total_posts' => 0,
|
||||
'total_threads' => 0,
|
||||
'reg_date' => time(),
|
||||
'last_post_date' => 0,
|
||||
'last_post_location' => 0,
|
||||
'ontime' => 0,
|
||||
'strikes' => 0
|
||||
]);
|
||||
|
||||
DB::table('usr_contacts')
|
||||
->insert([
|
||||
'user_id' => $addUser,
|
||||
'website_link' => '',
|
||||
'website_name' => '',
|
||||
'youtube_link' => '',
|
||||
'youtube_name' => '',
|
||||
'bitchute' => '',
|
||||
'niconico' => '',
|
||||
'pixiv' => '',
|
||||
'discord' => '',
|
||||
'mastodon' => '',
|
||||
'twitter' => '',
|
||||
'facebook' => '',
|
||||
'instagram' => ''
|
||||
]);
|
||||
|
||||
DB::table('usr_profile')
|
||||
->insert([
|
||||
'user_id' => $addUser,
|
||||
'gender' => ($r->gender ? $r->gender : 0),
|
||||
'member_title' => '',
|
||||
'website_address' => '',
|
||||
'website_name' => '',
|
||||
'location' => '',
|
||||
'birthday' => 0,
|
||||
'bio' => '',
|
||||
'ip_address' => $ip,
|
||||
'avatar' => '',
|
||||
'ostatus' => 1,
|
||||
'header' => '',
|
||||
'footer' => '',
|
||||
'post_style' => '',
|
||||
'signature' => '',
|
||||
'name_style' => '',
|
||||
'display_name' => '',
|
||||
'yt_channel' => '',
|
||||
'country' => ($r->country ? $r->country : 'Japan'),
|
||||
'date_format' => '',
|
||||
'isClock24' => 1,
|
||||
'isShowSeconds' => 1,
|
||||
'isShowTimezone' => 1
|
||||
]);
|
||||
|
||||
DB::table('usr_perm_id')
|
||||
->insert([
|
||||
'user_id' => $addUser,
|
||||
'perm_id' => 4,
|
||||
'usr_per_id' => 4,
|
||||
'img_per_id' => 4,
|
||||
'blg_per_id' => 4,
|
||||
'for_per_id' => 4,
|
||||
'sbx_per_id' => 4,
|
||||
'str_per_id' => 4,
|
||||
'doc_per_id' => 4,
|
||||
'odb_per_id' => 4,
|
||||
'inv_per_id' => 4,
|
||||
]);
|
||||
|
||||
$checkName = DB::table('users')->select('kero_token')->where('id', $addUser)->first();
|
||||
|
||||
setcookie('kero_token', $checkName->kero_token, time()+157788000, '/', $_SERVER['HTTP_HOST'], 0, 1);
|
||||
return $this->login($r);
|
||||
|
||||
//return array('1');
|
||||
}
|
||||
|
||||
return array();
|
||||
}
|
||||
|
||||
public function login (Request $r) {
|
||||
if (!empty($r)) {
|
||||
$checkName = DB::table('users')->where('username', $r->username)->first();
|
||||
|
||||
if ($checkName) {
|
||||
// $checkName = json_decode(json_encode($checkName), true);
|
||||
$checkPass = hash('sha256', $r->password . $checkName->salt);
|
||||
|
||||
for ($round = 0; $round < 65536; $round++) {
|
||||
$checkPass = hash('sha256', $checkPass . $checkName->salt);
|
||||
}
|
||||
|
||||
if (hash_equals($checkPass, $checkName->password)) {
|
||||
if (!$checkName->kero_token) {
|
||||
$checkName->kero_token = $this->makeToken();
|
||||
DB::table('users')->where('id', $checkName->id)->update(['kero_token' => $checkName->kero_token]);
|
||||
}
|
||||
|
||||
setcookie('kero_token', $checkName->kero_token, time()+157788000, '/', $_SERVER['HTTP_HOST'], 0, 1);
|
||||
return array('uid' => $checkName->id, 'kero_token' => $checkName->kero_token);
|
||||
}
|
||||
}
|
||||
return array('err' => 'ユーザ名又はパスワードを間違いました。');
|
||||
}
|
||||
|
||||
return array('err' => 'フォームは空です。');
|
||||
}
|
||||
|
||||
function makeToken() {
|
||||
$c = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ$!%&()';
|
||||
$clen = strlen($c);
|
||||
$token = '';
|
||||
|
||||
for ($i = 0; $i < 128; $i++) {
|
||||
$token .= $c[rand(0, $clen - 1)];
|
||||
}
|
||||
|
||||
return $token;
|
||||
}
|
||||
|
||||
function CheckEmail($email) {
|
||||
$get = DB::table('users')
|
||||
->where('email', $email)
|
||||
->count();
|
||||
|
||||
if ($get == 0) return 0;
|
||||
else return 1;
|
||||
}
|
||||
|
||||
public function SendReset(Request $r) {
|
||||
$exist = $this->CheckEmail($r->email);
|
||||
|
||||
if ($exist == 0) {
|
||||
return 0;
|
||||
}
|
||||
else {
|
||||
$check = DB::table('usr_resets')
|
||||
->select('token')
|
||||
->where('email', $r->email)
|
||||
->count();
|
||||
|
||||
if ($check > 0) {
|
||||
DB::table('usr_resets')
|
||||
->where('email', $r->email)
|
||||
->delete();
|
||||
}
|
||||
|
||||
$token = bin2hex(random_bytes(32));
|
||||
$due = time() + (1 * 24 * 60 * 60);
|
||||
|
||||
DB::table('usr_resets')
|
||||
->insert([
|
||||
'email' => $r->email,
|
||||
'token' => $token,
|
||||
'due_date' => $due
|
||||
]);
|
||||
|
||||
$get = DB::table('usr_resetmails')
|
||||
->select('sender', 'sendname', 'subject', 'message')
|
||||
->first();
|
||||
|
||||
$user = DB::table('users')
|
||||
->select('username')
|
||||
->where('email', $r->email)
|
||||
->first();
|
||||
|
||||
$mess = str_replace('{user}', $user->username, $get->message);
|
||||
$mess2 = str_replace('{link}', $token, $mess);
|
||||
|
||||
$mess2 = mb_convert_encoding($mess2, "ISO-2022-JP", "AUTO");
|
||||
$subj = mb_convert_encoding($get->subject, "ISO-2022-JP", "AUTO");
|
||||
|
||||
$headers = "MIME-Version: 1.0"."\r\n";
|
||||
$headers .= "Content-Type: text/plain; charset=ISO-2022-JP"."\r\n";
|
||||
$headers .= "To: ".$r->email."\r\n";
|
||||
$headers .= "From: ".mb_convert_encoding($get->sendname,"ISO-2022-JP","AUTO")." <".$get->sender.">"."\r\n";
|
||||
|
||||
mb_language("ja");
|
||||
|
||||
$res = mail(
|
||||
$r->email,
|
||||
$subj,
|
||||
$mess2,
|
||||
$headers,
|
||||
"-f".$get->sender
|
||||
);
|
||||
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
public function ConfirmReset($token) {
|
||||
$get = DB::table('usr_resets')
|
||||
->select('*')
|
||||
->where('token', $token)
|
||||
->first();
|
||||
|
||||
$within24hour = time() + (1 * 24 * 60 * 60);
|
||||
|
||||
if (empty($get)) {
|
||||
return 0;
|
||||
}
|
||||
else {
|
||||
if ($get->due_date > $within24hour) {
|
||||
return 0;
|
||||
}
|
||||
else {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public function PasswordReset(Request $r) {
|
||||
if (empty($r->password)) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
$salt = dechex(mt_rand(0, 2147483647)) . dechex(mt_rand(0, 2147483647));
|
||||
$passwd = hash('sha256', $r->password . $salt);
|
||||
|
||||
for ($round = 0; $round < 65536; $round++) {
|
||||
$passwd = hash('sha256', $passwd . $salt);
|
||||
}
|
||||
|
||||
$res = DB::table('users')
|
||||
->where('email', $r->email)
|
||||
->update([
|
||||
'password' => $passwd,
|
||||
'salt' => $salt
|
||||
]);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
public function recover(Request $r) {
|
||||
$user = User::where('email', $r->email)->first();
|
||||
|
||||
if (!$user) {
|
||||
$error_message = "Your email address was not found.";
|
||||
return response()->json(['success' => false, 'error' => ['email'=> $error_message]], 401);
|
||||
}
|
||||
try {
|
||||
Password::sendResetLink($r->only('email'), function (Message $message) {
|
||||
$message->subject('Your Password Reset Link');
|
||||
});
|
||||
} catch (\Exception $e) {
|
||||
$error_message = $e->getMessage();
|
||||
return response()->json(['success' => false, 'error' => $error_message], 401);
|
||||
}
|
||||
|
||||
return response()->json([
|
||||
'success' => true, 'data'=> ['message'=> 'A reset email has been sent! Please check your email.']
|
||||
]);
|
||||
}
|
||||
|
||||
public function checkAuth(Request $r) {
|
||||
$get = DB::table('users')
|
||||
->select('id', 'kero_token')
|
||||
->where('kero_token', $r->kero_token)
|
||||
->first();
|
||||
|
||||
$get = json_decode(json_encode($get), true);
|
||||
|
||||
return $get;
|
||||
}
|
||||
|
||||
public function logout () {
|
||||
if (isset($_COOKIE['kero_token'])) {
|
||||
unset($_COOKIE['kero_token']);
|
||||
setcookie('kero_token', '', time() - 3600, '/', $_SERVER['HTTP_HOST'], 0, 1);
|
||||
}
|
||||
|
||||
return redirect('');
|
||||
}
|
||||
}
|
|
@ -0,0 +1,114 @@
|
|||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
|
||||
class Engine {
|
||||
public $user = 0;
|
||||
public $err = '';
|
||||
public $warn = '';
|
||||
public $info = '';
|
||||
public $suc = '';
|
||||
public $css = array('app', 'logo', 'navbar', 'sidemenu', 'contents', 'scroll', 'badge', 'button', 'check', 'comments', 'form', 'modal', 'pagination', 'select', 'table');
|
||||
|
||||
public function __construct () {
|
||||
$this->err = '';
|
||||
$this->warn = '';
|
||||
$this->info = '';
|
||||
$this->suc = '';
|
||||
|
||||
if (isset($_COOKIE['language'])) app()->setLocale($_COOKIE['language']);
|
||||
$this->id = checkLegit((isset($_COOKIE['kero_token']) ? $_COOKIE['kero_token'] : ''));
|
||||
$this->user = $this->getLoggedUser((isset($_COOKIE['kero_token']) ? $_COOKIE['kero_token'] : ''));
|
||||
|
||||
if ($this->user && $this->user->profile->gender != 0) {
|
||||
$css = $this->css;
|
||||
foreach ($css as $c) {
|
||||
$css[] = $c.'_'.($this->user->profile->gender == 1 ? 'm' : 'f');
|
||||
}
|
||||
$this->css = $css;
|
||||
}
|
||||
}
|
||||
|
||||
function getLoggedUser ($kero) {
|
||||
$check = checkLegit($kero);
|
||||
if ($check == 0) return 0;
|
||||
|
||||
// $cols = getGroupColours();
|
||||
$get = $this->getUser($check);
|
||||
|
||||
return $get;
|
||||
}
|
||||
|
||||
public function getUser ($id) {
|
||||
$get = DB::table('users')->where('id', $id)->first();
|
||||
unset($get->password); unset($get->salt); unset($get->remember_token);
|
||||
$get->profile = DB::table('usr_profile')->where('user_id', $get->id)->first();
|
||||
$get->profile->showname = (!empty($get->profile->display_name) && !is_null($get->profile->display_name) ? $get->profile->display_name : $get->username);
|
||||
$perm_id = DB::table('usr_perm_id')->select('perm_id')->where('user_id', $get->id)->first()->perm_id;
|
||||
$get->perm_module = DB::table('usr_perm_module')->where('usr_perm_id', $perm_id)->first();
|
||||
$get->details = DB::table('usr_details')->where('user_id', $get->id)->first();
|
||||
$get->contacts = DB::table('usr_contacts')->where('user_id', $get->id)->first();
|
||||
$ucol = DB::table('usr_perm_module')->select('id', 'name', 'colour_m', 'colour_f', 'colour_u')->get();
|
||||
|
||||
if (!empty($get->profile->name_style)) $get->profile->name_style = $get->profile->name_style;
|
||||
else {
|
||||
foreach ($ucol as $j3) {
|
||||
if ($j3->id == $perm_id) {
|
||||
if ($get->profile->gender == 1) $get->profile->name_style = $j3->colour_m;
|
||||
else if ($get->profile->gender == 2) $get->profile->name_style = $j3->colour_f;
|
||||
else $get->profile->name_style = $j3->colour_u;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ($get->profile->gender == 1) $get->profile->gender_name = '男性';
|
||||
else if ($get->profile->gender == 2) $get->profile->gender_name = '女性';
|
||||
else $get->profile->gender_name = '不明';
|
||||
|
||||
$get->perm = $this->getPermissions($get->kero_token);
|
||||
if (empty($get->profile->avatar) || $get->profile->avatar == '') $get->profile->avatar = 'img/noicon.jpg';
|
||||
$get->profile->avatar = '/'.$get->profile->avatar;
|
||||
|
||||
return $get;
|
||||
}
|
||||
|
||||
public function getPermissionGroup($mdl, $id) { return DB::table($mdl.'_permissions')->where('id', $id)->get(); }
|
||||
public function getPermissionUser($mdl, $id) { return DB::table($mdl.'_user_permissions')->where('user_id', $id)->get(); }
|
||||
|
||||
public function getPermissions ($token) {
|
||||
$check = checkLegit($token);
|
||||
$perm = DB::table('usr_perm_id')->select('perm_id')->where('user_id', $check)->first();
|
||||
$perm = json_decode(json_encode($perm), true);
|
||||
|
||||
if ($check != 0) {
|
||||
$grouppermblg = $this->getPermissionGroup('blg', $perm['perm_id']);
|
||||
$userpermblg = $this->getPermissionUser('blg', $check);
|
||||
|
||||
$grouppermusr = $this->getPermissionGroup('usr', $perm['perm_id']);
|
||||
$userpermusr = $this->getPermissionUser('usr', $check);
|
||||
|
||||
$blgarr = array();
|
||||
$usrarr = array();
|
||||
|
||||
if (!empty($userpermblg[0])) $blgarr = (array)$userpermblg[0];
|
||||
else $blgarr = (array)$grouppermblg[0];
|
||||
$blgarr = array_combine(array_map(function($k){ return 'blg_'.$k; }, array_keys($blgarr)), $blgarr);
|
||||
|
||||
if (!empty($userpermusr[0])) $usrarr = (array)$userpermusr[0];
|
||||
else $usrarr = (array)$grouppermusr[0];
|
||||
$usrarr = array_combine(array_map(function($k){ return 'usr_'.$k; }, array_keys($usrarr)), $usrarr);
|
||||
|
||||
return array_merge($blgarr, $usrarr);
|
||||
}
|
||||
else {
|
||||
$grouppermblg = $this->getPermissionGroup('blg', 6);
|
||||
$grouppermusr = $this->getPermissionGroup('usr', 6);
|
||||
|
||||
(array)$grouppermblg[0] = array_combine(array_map(function($k){ return 'blg_'.$k; }, array_keys((array)$grouppermblg[0])), (array)$grouppermblg[0]);
|
||||
(array)$grouppermusr[0] = array_combine(array_map(function($k){ return 'usr_'.$k; }, array_keys((array)$grouppermusr[0])), (array)$grouppermusr[0]);
|
||||
|
||||
return array_merge((array)$grouppermblg[0], (array)$grouppermusr[0]);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -6,27 +6,22 @@ use Illuminate\Http\Request;
|
|||
// use Illuminate\Support\Facades\Log;
|
||||
|
||||
class Comment {
|
||||
public function __construct () {
|
||||
}
|
||||
|
||||
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されていましたので、コメントを保存できません。');
|
||||
|
||||
$add = DB::table('blg_comments')
|
||||
->insertGetId([
|
||||
'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'],
|
||||
'created' => time(),
|
||||
'ipaddress' => getIp(),
|
||||
'isShadow' => ($shadow ? 0 : 1)
|
||||
]);
|
||||
$add = DB::table('blg_comments')->insertGetId([
|
||||
'user_id' => ($r->user_id != 0 ?: null),
|
||||
'post_id' => ($r->isvideo == 'f' ? $id : 0),
|
||||
'video_id' => ($r->isvideo == 't' ? $r->slug : ''),
|
||||
'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)
|
||||
]);
|
||||
|
||||
// 返事だったら、メールを送って
|
||||
|
||||
|
@ -43,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);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -2,28 +2,20 @@
|
|||
|
||||
namespace App\Http\Controllers\Home;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use App\Http\Controllers\Engine;
|
||||
// use Illuminate\Support\Facades\Log;
|
||||
|
||||
use App\Http\Controllers\UserController;
|
||||
class CommentList extends Engine {
|
||||
private $engine;
|
||||
|
||||
class CommentList {
|
||||
private $objUser;
|
||||
private $valid;
|
||||
private $menu;
|
||||
private $user;
|
||||
|
||||
public function __construct ($v, $m, $u) {
|
||||
$this->objUser = new UserController();
|
||||
$this->valid = $v;
|
||||
$this->menu = $m;
|
||||
$this->user = $u;
|
||||
public function __construct () {
|
||||
$this->engine = new Engine();
|
||||
}
|
||||
|
||||
public function index () {
|
||||
if ($this->valid['usr_ban'] != 1) return view('pages.site.notallowed', ['menu' => $this->menu, 'user' => $this->user]);
|
||||
if (getPerms()['usr_ban'] != 1) return view('pages.site.notallowed', ['user' => $this->engine->user]);
|
||||
$get = DB::table('blg_comments')->orderBy('created', 'desc')->paginate(10);
|
||||
setlocale(LC_ALL, 'ja_JP.utf8');
|
||||
$ucol = $this->objUser->getGroupColours();
|
||||
|
||||
foreach ($get as $g) {
|
||||
if (!is_null($g->user_id)) {
|
||||
|
@ -60,7 +52,7 @@ class CommentList {
|
|||
|
||||
if (!empty($g->name_style)) $g->showcol = $g->name_style;
|
||||
else {
|
||||
foreach ($ucol as $j) {
|
||||
foreach (getGroupColours() as $j) {
|
||||
if ($j->id == $g->perm_id) {
|
||||
if ($g->gender == 1) $g->showcol = $j->colour_m;
|
||||
else if ($g->gender == 2) $g->showcol = $j->colour_f;
|
||||
|
@ -87,6 +79,6 @@ class CommentList {
|
|||
$g->created = date('Y年m月d日 H:i:s', $g->created);
|
||||
}
|
||||
|
||||
return view('pages.site.commentlist', ['res' => $get, 'menu' => $this->menu, 'user' => $this->user]);
|
||||
return view('pages.site.commentlist', ['res' => $get, 'user' => $this->engine->user]);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3,25 +3,24 @@
|
|||
namespace App\Http\Controllers\Home;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Illuminate\Http\Request;
|
||||
use App\Http\Controllers\Engine;
|
||||
// use Illuminate\Support\Facades\Log;
|
||||
|
||||
class Content {
|
||||
class Content extends Engine {
|
||||
private $engine;
|
||||
private $valid;
|
||||
private $menu;
|
||||
private $user;
|
||||
|
||||
public function __construct ($v, $m, $u) {
|
||||
$this->valid = $v;
|
||||
$this->menu = $m;
|
||||
$this->user = $u;
|
||||
public function __construct () {
|
||||
$this->engine = new Engine();
|
||||
$this->valid = getPerms();
|
||||
}
|
||||
|
||||
public function add (Request $r) {
|
||||
if ($this->user && ($this->user->perm['blg_addpost'] || $this->user->perm['blg_addpage'])) {
|
||||
if ($this->engine->user && ($this->engine->user->perm['blg_addpost'] || $this->engine->user->perm['blg_addpage'])) {
|
||||
$err = '';
|
||||
$res = '';
|
||||
$frm = array(
|
||||
'user_id' => $this->user->id,
|
||||
'user_id' => $this->engine->user->id,
|
||||
'title' => '',
|
||||
'slug' => '',
|
||||
'public_status' => 0,
|
||||
|
@ -32,33 +31,24 @@ class Content {
|
|||
);
|
||||
|
||||
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;
|
||||
|
||||
// 件名、文章又はスラッグがなければ、エラーを出て
|
||||
|
@ -74,78 +64,71 @@ class Content {
|
|||
}
|
||||
|
||||
// エラーがあったら、フォームに戻って。なければ、データベースに保存したり、ページ又はポストへ移転して
|
||||
if (!empty($err)) return view('pages.site.content.add', ['res' => $res, 'menu' => $this->menu, 'user' => $this->user, 'err' => $err, 'frm' => $frm]);
|
||||
if (!empty($err)) return view('pages.site.content.add', ['res' => $res, 'err' => $err, 'frm' => $frm]);
|
||||
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;
|
||||
unset($frm['post_date']);
|
||||
unset($frm['sortorder']);
|
||||
return view('pages.site.content.add', ['res' => $res, 'menu' => $this->menu, 'user' => $this->user, 'err' => $err, 'frm' => $res['err']]);
|
||||
return view('pages.site.content.add', ['res' => $res, 'err' => $err, 'frm' => $res['err']]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return view('pages.site.content.add', ['res' => $res, 'menu' => $this->menu, 'user' => $this->user, 'err' => $err, 'frm' => $frm]);
|
||||
return view('pages.site.content.add', ['res' => $res, 'err' => $err, 'frm' => $frm]);
|
||||
}
|
||||
|
||||
return view('pages.site.notallowed', ['menu' => $this->menu, 'user' => $this->user]);
|
||||
return view('pages.site.notallowed');
|
||||
}
|
||||
|
||||
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) {
|
||||
if ($this->user && ($this->user->perm['blg_editpost'] || $this->user->perm['blg_editpage'])) {
|
||||
if ($this->engine->user && ($this->engine->user->perm['blg_editpost'] || $this->engine->user->perm['blg_editpage'])) {
|
||||
$frm = DB::table('blg_content')->where('slug', $r->slug)->first();
|
||||
if (!$frm) return view('pages.site.notfound', ['menu' => $this->menu, 'user' => $this->user]);
|
||||
if (!$frm) return view('pages.site.notfound');
|
||||
$err = '';
|
||||
$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;
|
||||
|
||||
// 件名、文章又はスラッグがなければ、エラーを出て
|
||||
|
@ -155,32 +138,34 @@ class Content {
|
|||
if (count($incomplete) > 0) $err = implode('、', $incomplete).'をご入力下さい。';
|
||||
|
||||
// エラーがあったら、フォームに戻って。なければ、データベースに保存したり、ページ又はポストへ移転して
|
||||
if (!empty($err)) return view('pages.site.content.edit', ['res' => $res, 'menu' => $this->menu, 'user' => $this->user, 'err' => $err, 'frm' => $frm]);
|
||||
if (!empty($err)) return view('pages.site.content.edit', ['res' => $res, 'err' => $err, 'frm' => $frm]);
|
||||
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;
|
||||
unset($frm->post_date);
|
||||
unset($frm->sortorder);
|
||||
return view('pages.site.content.edit', ['res' => $res, 'menu' => $this->menu, 'user' => $this->user, 'err' => $err, 'frm' => $res['err']]);
|
||||
return view('pages.site.content.edit', ['res' => $res, 'err' => $err, 'frm' => $res['err']]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return view('pages.site.content.edit', ['res' => $res, 'menu' => $this->menu, 'user' => $this->user, 'err' => $err, 'frm' => $frm]);
|
||||
return view('pages.site.content.edit', ['res' => $res, 'err' => $err, 'frm' => $frm]);
|
||||
}
|
||||
|
||||
return view('pages.site.notallowed', ['menu' => $this->menu, 'user' => $this->user]);
|
||||
return view('pages.site.notallowed');
|
||||
}
|
||||
}
|
||||
}
|
|
@ -4,19 +4,11 @@ namespace App\Http\Controllers\Home;
|
|||
use Illuminate\Support\Facades\DB;
|
||||
// use Illuminate\Support\Facades\Log;
|
||||
|
||||
use App\Http\Controllers\UserController;
|
||||
|
||||
class Index {
|
||||
private $objUser;
|
||||
private $valid;
|
||||
private $menu;
|
||||
private $user;
|
||||
|
||||
public function __construct ($v, $m, $u) {
|
||||
$this->objUser = new UserController();
|
||||
$this->valid = $v;
|
||||
$this->menu = $m;
|
||||
$this->user = $u;
|
||||
public function __construct () {
|
||||
$this->valid = getPerms();
|
||||
}
|
||||
|
||||
public function index () {
|
||||
|
@ -25,7 +17,7 @@ class Index {
|
|||
$get = $get->orderBy('publish_date', 'desc')->paginate(10);
|
||||
setlocale(LC_ALL, 'ja_JP.utf8');
|
||||
|
||||
return view('pages.site.index', ['res' => $get, 'menu' => $this->menu, 'user' => $this->user]);
|
||||
return view('pages.site.index', ['res' => $get]);
|
||||
}
|
||||
|
||||
public function page ($slug) {
|
||||
|
@ -34,17 +26,17 @@ class Index {
|
|||
if ($this->valid['blg_editpage'] == 0) $res = $res->where('public_status', 0);
|
||||
$res = $res->where('isPost', 0)->where('slug', $slug)->orderBy('sortorder', 'asc')->first();
|
||||
|
||||
if (!$res) return view('pages.site.notfound', ['menu' => $this->menu, 'user' => $this->user]);
|
||||
return view('pages.site.page', ['res' => $res, 'menu' => $this->menu, 'user' => $this->user]);
|
||||
if (!$res) return view('pages.site.notfound');
|
||||
return view('pages.site.page', ['res' => $res]);
|
||||
}
|
||||
|
||||
public function post ($slug, $kero) {
|
||||
public function post ($slug) {
|
||||
$get = DB::table('blg_content');
|
||||
if ($this->valid['blg_editpost'] == 0) $get = $get->where('public_status', 0);
|
||||
$get = $get->where('isPost', 1)->where('slug', $slug)->first();
|
||||
if (!$get) return view('pages.site.notfound', ['menu' => $this->menu, 'user' => $this->user]);
|
||||
if (!$get) return view('pages.site.notfound');
|
||||
|
||||
$ucol = $this->objUser->getGroupColours();
|
||||
$ucol = getGroupColours();
|
||||
setlocale(LC_ALL, 'ja_JP.utf8');
|
||||
|
||||
$get->showName = '';
|
||||
|
@ -64,6 +56,7 @@ class Index {
|
|||
foreach ($get->comments['come'] as $k => $c) {
|
||||
$c->replyCount = 0;
|
||||
$c->isvideo = 'f';
|
||||
$c->src = 'TS';
|
||||
|
||||
if (!is_null($c->user_id) && !empty(userDetail($c->user_id))) {
|
||||
$det = userDetail($c->user_id);
|
||||
|
@ -98,10 +91,10 @@ class Index {
|
|||
}
|
||||
}
|
||||
|
||||
$get->user = userDetail(null, $kero);
|
||||
$get->user = userDetail(null, (isset($_COOKIE['kero_token']) ? $_COOKIE['kero_token'] : ''));
|
||||
$get->post_date = strftime('%Y/%m/%d(%a) %H:%M:%S %Z', $get->post_date);
|
||||
$get->publish_date = strftime('%Y/%m/%d(%a) %H:%M:%S %Z', $get->publish_date);
|
||||
|
||||
return view('pages.site.post', ['res' => $get, 'menu' => $this->menu, 'user' => $this->user]);
|
||||
return view('pages.site.post', ['res' => $get]);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,77 +0,0 @@
|
|||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
use Illuminate\Http\Request;
|
||||
// use Illuminate\Support\Facades\Log;
|
||||
|
||||
use App\Http\Controllers\AuthController;
|
||||
use App\Http\Controllers\UserController;
|
||||
|
||||
use App\Http\Controllers\Home\Comment;
|
||||
use App\Http\Controllers\Home\Content;
|
||||
use App\Http\Controllers\Home\Index;
|
||||
|
||||
class HomeController extends Controller {
|
||||
private $objAuth;
|
||||
private $objUser;
|
||||
private $valid;
|
||||
private $menu;
|
||||
private $user;
|
||||
|
||||
public function __construct () {
|
||||
if (isset($_COOKIE['language'])) app()->setLocale($_COOKIE['language']);
|
||||
|
||||
$this->objAuth = new AuthController();
|
||||
$this->objUser = new UserController();
|
||||
$this->valid = $this->objAuth->getPermissions((isset($_COOKIE['kero_token']) ? $_COOKIE['kero_token'] : ''));
|
||||
$this->menu = getPagesInMenu();
|
||||
$this->cook = (isset($_COOKIE['kero_token']) ? $_COOKIE['kero_token'] : '');
|
||||
$this->id = checkLegit($this->cook);
|
||||
$this->user = $this->objUser->getLoggedUser($this->id, $this->cook);
|
||||
}
|
||||
|
||||
public function index () {
|
||||
$r = new Index($this->valid, $this->menu, $this->user);
|
||||
return $r->index();
|
||||
}
|
||||
|
||||
public function post ($slug) {
|
||||
$r = new Index($this->valid, $this->menu, $this->user);
|
||||
return $r->post($slug, $this->cook);
|
||||
}
|
||||
|
||||
public function page ($slug) {
|
||||
$r = new Index($this->valid, $this->menu, $this->user);
|
||||
return $r->page($slug);
|
||||
}
|
||||
|
||||
public function memberList () {
|
||||
$r = new \App\Http\Controllers\User\MemberList($this->valid, $this->menu, $this->user);
|
||||
return $r->index();
|
||||
}
|
||||
|
||||
public function commentList () {
|
||||
$r = new \App\Http\Controllers\Home\CommentList($this->valid, $this->menu, $this->user);
|
||||
return $r->index();
|
||||
}
|
||||
|
||||
public function newComment (Request $rr) {
|
||||
$r = new Comment();
|
||||
return $r->add($rr);
|
||||
}
|
||||
|
||||
public function addContent (Request $rr) {
|
||||
$r = new Content($this->valid, $this->menu, $this->user);
|
||||
return $r->add($rr);
|
||||
}
|
||||
|
||||
public function editContent (Request $rr) {
|
||||
$r = new Content($this->valid, $this->menu, $this->user);
|
||||
return $r->edit($rr);
|
||||
}
|
||||
|
||||
public function delContent (Request $rr) {
|
||||
$r = new Content($this->valid, $this->menu, $this->user);
|
||||
return $r->delete($rr);
|
||||
}
|
||||
}
|
|
@ -7,8 +7,6 @@ use Illuminate\Http\Request;
|
|||
use Illuminate\Contracts\Routing\ResponseFactory;
|
||||
use Illuminate\Support\Facades\Log;
|
||||
|
||||
use App\Http\Controllers\AuthController;
|
||||
|
||||
class NihonController extends Controller {
|
||||
public function __construct() {}
|
||||
|
||||
|
|
|
@ -1,42 +0,0 @@
|
|||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Log;
|
||||
|
||||
class PermissionController extends Controller {
|
||||
public function getPermissionsFromModule() { // /api/rpc/permission/getpermissionsfrommodule
|
||||
return DB::table('usr_perm_module')
|
||||
->select('*')
|
||||
->get();
|
||||
}
|
||||
|
||||
public function getPermissionFromModule($id) { // /api/rpc/permission/getpermissionsfrommodule/id
|
||||
return DB::table('usr_perm_module')
|
||||
->select('*')
|
||||
->where('id', $id)
|
||||
->get();
|
||||
}
|
||||
|
||||
public function getPermissions($mdl) { // /api/rpc/permission/getpermissions/mdl
|
||||
return DB::table($mdl.'_permissions')
|
||||
->select('*')
|
||||
->get();
|
||||
}
|
||||
|
||||
public function getPermissionGroup($mdl, $id) { // /api/rpc/permission/getpermissiongroup/mdl/id
|
||||
return DB::table($mdl.'_permissions')
|
||||
->select('*')
|
||||
->where('id', $id)
|
||||
->get();
|
||||
}
|
||||
|
||||
public function getPermissionUser($mdl, $id) { // /api/rpc/permission/getpermissionuser/mdl/id
|
||||
return DB::table($mdl.'_user_permissions')
|
||||
->select('*')
|
||||
->where('user_id', $id)
|
||||
->get();
|
||||
}
|
||||
}
|
|
@ -5,27 +5,42 @@ use Illuminate\Http\Request;
|
|||
// use Illuminate\Support\Facades\Log;
|
||||
|
||||
class Login {
|
||||
private $auth;
|
||||
private $menu;
|
||||
private $user;
|
||||
|
||||
public function __construct ($a, $m, $u) {
|
||||
$this->auth = $a;
|
||||
$this->menu = $m;
|
||||
$this->user = $u;
|
||||
}
|
||||
|
||||
public function index (Request $r) {
|
||||
if (isset($_COOKIE['kero_token'])) return redirect('');
|
||||
$res = array();
|
||||
$err = '';
|
||||
|
||||
if (isset($r->username) && isset($r->password)) {
|
||||
$res = $this->auth->login($r);
|
||||
$res = $this->login($r);
|
||||
if (isset($res['kero_token'])) return redirect('');
|
||||
$err = $res['err'];
|
||||
}
|
||||
|
||||
return view('pages.site.login', ['res' => $res, 'menu' => $this->menu, 'user' => $this->user, 'err' => $err]);
|
||||
return view('pages.site.login', ['res' => $res, 'err' => $err]);
|
||||
}
|
||||
}
|
||||
|
||||
public function login (Request $r) {
|
||||
if (!empty($r)) {
|
||||
$checkName = DB::table('users')->where('username', $r->username)->first();
|
||||
|
||||
if ($checkName) {
|
||||
// $checkName = json_decode(json_encode($checkName), true);
|
||||
$checkPass = hash('sha256', $r->password . $checkName->salt);
|
||||
for ($round = 0; $round < 65536; $round++) $checkPass = hash('sha256', $checkPass . $checkName->salt);
|
||||
|
||||
if (hash_equals($checkPass, $checkName->password)) {
|
||||
if (!$checkName->kero_token) {
|
||||
$checkName->kero_token = makeToken();
|
||||
DB::table('users')->where('id', $checkName->id)->update(['kero_token' => $checkName->kero_token]);
|
||||
}
|
||||
|
||||
setcookie('kero_token', $checkName->kero_token, time()+157788000, '/', $_SERVER['HTTP_HOST'], 0, 1);
|
||||
return array('uid' => $checkName->id, 'kero_token' => $checkName->kero_token);
|
||||
}
|
||||
}
|
||||
return array('err' => 'ユーザ名又はパスワードを間違いました。');
|
||||
}
|
||||
|
||||
return array('err' => 'フォームは空です。');
|
||||
}
|
||||
}
|
|
@ -0,0 +1,15 @@
|
|||
<?php
|
||||
|
||||
namespace App\Http\Controllers\User;
|
||||
// use Illuminate\Support\Facades\Log;
|
||||
|
||||
class Logout {
|
||||
public function index () {
|
||||
if (isset($_COOKIE['kero_token'])) {
|
||||
unset($_COOKIE['kero_token']);
|
||||
setcookie('kero_token', '', time() - 3600, '/', $_SERVER['HTTP_HOST'], 0, 1);
|
||||
}
|
||||
|
||||
return redirect('');
|
||||
}
|
||||
}
|
|
@ -2,28 +2,20 @@
|
|||
|
||||
namespace App\Http\Controllers\User;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use App\Http\Controllers\Engine;
|
||||
// use Illuminate\Support\Facades\Log;
|
||||
|
||||
use App\Http\Controllers\UserController;
|
||||
class MemberList extends Engine {
|
||||
private $engine;
|
||||
|
||||
class MemberList {
|
||||
private $objUser;
|
||||
private $valid;
|
||||
private $menu;
|
||||
private $user;
|
||||
|
||||
public function __construct ($v, $m, $u) {
|
||||
$this->objUser = new UserController();
|
||||
$this->valid = $v;
|
||||
$this->menu = $m;
|
||||
$this->user = $u;
|
||||
public function __construct () {
|
||||
$this->engine = new Engine();
|
||||
}
|
||||
|
||||
public function index () {
|
||||
if ($this->valid['usr_ban'] != 1) return view('pages.site.notallowed', ['menu' => $this->menu, 'user' => $this->user]);
|
||||
if (getPerms()['usr_ban'] != 1) return view('pages.site.notallowed', ['user' => $this->user]);
|
||||
$get = DB::table('users')->orderBy('id', 'desc')->paginate(10);
|
||||
setlocale(LC_ALL, 'ja_JP.utf8');
|
||||
$ucol = $this->objUser->getGroupColours();
|
||||
|
||||
foreach ($get as $g) {
|
||||
if (!is_null($g->id)) {
|
||||
|
@ -54,7 +46,7 @@ class MemberList {
|
|||
|
||||
if (!empty($g->name_style)) $g->showcol = $g->name_style;
|
||||
else {
|
||||
foreach ($ucol as $j) {
|
||||
foreach (getGroupColours() as $j) {
|
||||
if ($j->id == $g->perm_id) {
|
||||
if ($g->gender == 1) $g->showcol = $j->colour_m;
|
||||
else if ($g->gender == 2) $g->showcol = $j->colour_f;
|
||||
|
@ -71,6 +63,6 @@ class MemberList {
|
|||
else $g->gender = '?';
|
||||
}
|
||||
|
||||
return view('pages.site.memberlist', ['res' => $get, 'menu' => $this->menu, 'user' => $this->user]);
|
||||
return view('pages.site.memberlist', ['res' => $get, 'user' => $this->user]);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3,26 +3,21 @@
|
|||
namespace App\Http\Controllers\User;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Illuminate\Http\Request;
|
||||
use App\Http\Controllers\Engine;
|
||||
// use Illuminate\Support\Facades\Log;
|
||||
|
||||
class Profile {
|
||||
private $auth;
|
||||
class Profile extends Engine {
|
||||
private $engine;
|
||||
private $get;
|
||||
private $cntr;
|
||||
private $menu;
|
||||
private $user;
|
||||
|
||||
public function __construct ($a, $g, $c, $m, $u) {
|
||||
$this->auth = $a;
|
||||
$this->get = $g;
|
||||
$this->cntr = $c;
|
||||
$this->menu = $m;
|
||||
$this->user = $u;
|
||||
public function __construct () {
|
||||
$this->engine = new Engine;
|
||||
}
|
||||
|
||||
public function index ($id, $kero) {
|
||||
if (!$this->get) return view('pages.site.notfound', ['menu' => $this->menu, 'user' => $this->user]);
|
||||
return view('pages.site.profile', ['res' => $this->get, 'menu' => $this->menu, 'user' => $this->user]);
|
||||
public function index ($id) {
|
||||
$this->get = $this->engine->getUser($id);
|
||||
if (!$this->get) return view('pages.site.notfound');
|
||||
return view('pages.site.profile', ['res' => $this->get]);
|
||||
}
|
||||
|
||||
public function avatarUpload(Request $r) {
|
||||
|
@ -30,7 +25,7 @@ class Profile {
|
|||
|
||||
if ($check == 0) return 'Err!';
|
||||
else {
|
||||
$valid = $this->auth->getPermissions($r->kero_token);
|
||||
$valid = getPerms();
|
||||
$user = 0;
|
||||
|
||||
if ($valid['usr_editother'] == 1) $user = $r->id;
|
||||
|
@ -60,39 +55,36 @@ class Profile {
|
|||
}
|
||||
|
||||
public function edit ($id, Request $r) {
|
||||
$err = '';
|
||||
$suc = '';
|
||||
|
||||
$valid = $this->auth->getPermissions($this->user->kero_token);
|
||||
$user = $this->user->id;
|
||||
if (($valid['usr_editother'] == 0 && $user != $id)) return view('pages.site.notallowed', ['menu' => $this->menu, 'user' => $this->user]);
|
||||
$user = $this->engine->user;
|
||||
if ((getPerms()['usr_editother'] == 0 && $user != $id)) return view('pages.site.notallowed');
|
||||
$this->get = $this->engine->getUser($id);
|
||||
|
||||
if (isset($r->submit)) {
|
||||
if (!is_null($r->password)) {
|
||||
if ($r->password != $r->password_check) $err = '「パスワード」と「パスワード確認」が異なります。';
|
||||
if ($r->password != $r->password_check) $this->engine->err = '「パスワード」と「パスワード確認」が異なります。';
|
||||
else {
|
||||
$salt = dechex(mt_rand(0, 2147483647)) . dechex(mt_rand(0, 2147483647));
|
||||
$passwd = hash('sha256', $r->password . $salt);
|
||||
for ($round = 0; $round < 65536; $round++) { $passwd = hash('sha256', $passwd . $salt); }
|
||||
$eduserp = DB::table('users')->where('id', $id)->update(['password' => $passwd, 'salt' => $salt]);
|
||||
if (!$eduserp) $err = 'パスワードの編集失敗。';
|
||||
if (!$eduserp) $this->engine->err = 'パスワードの編集失敗。';
|
||||
}
|
||||
}
|
||||
|
||||
$cheml = DB::table('users')->select('email')->where('id', $id)->first();
|
||||
|
||||
if ($err == '') {
|
||||
if ($this->engine->err == '') {
|
||||
if ($cheml->email != $r->email) {
|
||||
$exeml = DB::table('users')->select('email')->where('email', $r->email)->count();
|
||||
if ($exeml > 0) $err = '入力したメールアドレスはもう存在しています。';
|
||||
if ($exeml > 0) $this->engine->err = '入力したメールアドレスはもう存在しています。';
|
||||
else {
|
||||
$edusere = DB::table('users')->where('id', $id)->update(['email' => $r->email]);
|
||||
if (!$edusere) $err = 'メールアドレスの編集失敗。';
|
||||
if (!$edusere) $this->engine->err = 'メールアドレスの編集失敗。';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ($err == '') {
|
||||
if ($this->engine->err == '') {
|
||||
$p = DB::table('usr_profile')->select('display_name', 'country', 'gender')->where('user_id', $id)->first();
|
||||
$edprofile = 1;
|
||||
if ($p->display_name != $r->display_name || $p->country != $r->country || $p->gender != $r->gender) {
|
||||
|
@ -103,13 +95,13 @@ class Profile {
|
|||
]);
|
||||
}
|
||||
|
||||
if (!$edprofile) $err = '表示名、お国、又は性別の編集失敗。';
|
||||
if (!$edprofile) $this->engine->err = '表示名、お国、又は性別の編集失敗。';
|
||||
else return redirect('/');
|
||||
}
|
||||
}
|
||||
|
||||
if (!$this->get) return view('pages.site.notfound', ['menu' => $this->menu, 'user' => $this->user]);
|
||||
if ($this->user) return view('pages.site.profileedit', ['res' => $this->get, 'menu' => $this->menu, 'user' => $this->user, 'suc' => $suc, 'err' => $err, 'cnt' => $this->cntr]);
|
||||
return view('pages.site.notfound', ['menu' => $this->menu, 'user' => $this->user]);
|
||||
if (!$this->get) return view('pages.site.notfound');
|
||||
if ($this->engine->user) return view('pages.site.profileedit', ['res' => $this->get, 'suc' => $this->engine->suc, 'err' => $this->engine->err]);
|
||||
return view('pages.site.notfound');
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,20 +2,11 @@
|
|||
|
||||
namespace App\Http\Controllers\User;
|
||||
use Illuminate\Http\Request;
|
||||
use App\Http\Controllers\Engine;
|
||||
// use Illuminate\Support\Facades\Log;
|
||||
|
||||
class Register {
|
||||
private $auth;
|
||||
private $cntr;
|
||||
private $menu;
|
||||
private $user;
|
||||
|
||||
public function __construct ($a, $c, $m, $u) {
|
||||
$this->auth = $a;
|
||||
$this->cntr = $c;
|
||||
$this->menu = $m;
|
||||
$this->user = $u;
|
||||
}
|
||||
public function __construct () {}
|
||||
|
||||
public function index (Request $r) {
|
||||
if (isset($_COOKIE['kero_token'])) return redirect('');
|
||||
|
@ -24,11 +15,50 @@ class Register {
|
|||
|
||||
if (isset($r->username) && isset($r->password) && isset($r->email) && isset($r->password_check)) {
|
||||
$save = array('username' => $r->username, 'email' => $r->email, 'country' => $r->country, 'gender' => $r->gender);
|
||||
$reg = $this->auth->register($r);
|
||||
$reg = $this->register($r);
|
||||
if (isset($reg['kero_token'])) return redirect('');
|
||||
$err = $reg['err'];
|
||||
}
|
||||
|
||||
return view('pages.site.register', ['res' => $this->cntr, 'menu' => $this->menu, 'user' => $this->user, 'sav' => $save, 'err' => $err]);
|
||||
return view('pages.site.register', ['sav' => $save, 'err' => $err]);
|
||||
}
|
||||
|
||||
public function register (Request $r) {
|
||||
$ip = $_SERVER['REMOTE_ADDR'];
|
||||
|
||||
if (!empty($r)) {
|
||||
$existUser = DB::table('users')->select('id')->where('username', $r->username)->count();
|
||||
if ($existUser != 0) return array('err' => 'ユーザ名は既に登録しています。');
|
||||
if (empty($r->username)) return array('err' => 'ユーザ名は空です。');
|
||||
if (preg_match("/^[a-zA-Z0-9]+$/", $r->username) == 0) return array('err' => '英文字ばかりご入力下さい。');
|
||||
if (empty($r->password)) return array('err' => 'パスワードは空です。');
|
||||
if (empty($r->password_check)) return array('err' => 'パスワード(確認)は空です。');
|
||||
if (strlen($r->password) < 8) return array('err' => 'パスワードは8文以上をご入力下さい。');
|
||||
if ($r->password != $r->password_check) return array('err' => 'パスワードとパスワード(確認)は違います。');
|
||||
$existEmail = DB::table('users')->select('id')->where('email', $r->email)->count();
|
||||
if ($existEmail != 0) return array('err' => 'メールアドレスは既に登録しています。');
|
||||
if (empty($r->email)) return array('err' => 'メールアドレスは空です。');
|
||||
if (!filter_var($r->email, FILTER_VALIDATE_EMAIL)) return array('err' => 'メールアドレスを正しくご入力下さい。');
|
||||
|
||||
$salt = dechex(mt_rand(0, 2147483647)) . dechex(mt_rand(0, 2147483647));
|
||||
$passwd = hash('sha256', $r->password . $salt);
|
||||
|
||||
for ($round = 0; $round < 65536; $round++) { $passwd = hash('sha256', $passwd . $salt); }
|
||||
|
||||
$addUser = DB::table('users')->insertGetId(['username' => $r->username, 'email' => $r->email, 'password' => $passwd, 'salt' => $salt, 'remember_token' => '', 'kero_token' => makeToken()]);
|
||||
DB::table('usr_details')->insert(['user_id' => $addUser, 'total_posts' => 0, 'total_threads' => 0, 'reg_date' => time(), 'last_post_date' => 0, 'last_post_location' => 0, 'ontime' => 0, 'strikes' => 0]);
|
||||
DB::table('usr_contacts')->insert(['user_id' => $addUser, 'website_link' => '', 'website_name' => '', 'youtube_link' => '', 'youtube_name' => '', 'bitchute' => '', 'niconico' => '', 'pixiv' => '', 'discord' => '', 'mastodon' => '', 'twitter' => '', 'facebook' => '', 'instagram' => '']);
|
||||
DB::table('usr_profile')->insert(['user_id' => $addUser, 'gender' => ($r->gender ? $r->gender : 0), 'member_title' => '', 'website_address' => '', 'website_name' => '', 'location' => '', 'birthday' => 0, 'bio' => '', 'ip_address' => $ip, 'avatar' => '', 'ostatus' => 1, 'header' => '', 'footer' => '', 'post_style' => '', 'signature' => '', 'name_style' => '', 'display_name' => '', 'yt_channel' => '', 'country' => ($r->country ? $r->country : 'Japan'), 'date_format' => '', 'isClock24' => 1, 'isShowSeconds' => 1, 'isShowTimezone' => 1]);
|
||||
DB::table('usr_perm_id')->insert(['user_id' => $addUser, 'perm_id' => 4, 'usr_per_id' => 4, 'img_per_id' => 4, 'blg_per_id' => 4, 'for_per_id' => 4, 'sbx_per_id' => 4, 'str_per_id' => 4, 'doc_per_id' => 4, 'odb_per_id' => 4, 'inv_per_id' => 4]);
|
||||
|
||||
$checkName = DB::table('users')->select('kero_token')->where('id', $addUser)->first();
|
||||
|
||||
setcookie('kero_token', $checkName->kero_token, time()+157788000, '/', $_SERVER['HTTP_HOST'], 0, 1);
|
||||
return $this->login($r);
|
||||
|
||||
//return array('1');
|
||||
}
|
||||
|
||||
return array();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,156 +0,0 @@
|
|||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Illuminate\Http\Request;
|
||||
// use Illuminate\Support\Facades\Log;
|
||||
|
||||
use App\Http\Controllers\AuthController;
|
||||
|
||||
use App\Http\Controllers\User\Login;
|
||||
use App\Http\Controllers\User\Notification;
|
||||
use App\Http\Controllers\User\Profile;
|
||||
use App\Http\Controllers\User\Register;
|
||||
|
||||
class UserController extends Controller {
|
||||
private $objAuth;
|
||||
private $valid;
|
||||
|
||||
public function __construct () {
|
||||
if (isset($_COOKIE['language'])) app()->setLocale($_COOKIE['language']);
|
||||
|
||||
$this->objAuth = new AuthController();
|
||||
$this->menu = getPagesInMenu();
|
||||
$this->cook = (isset($_COOKIE['kero_token']) ? $_COOKIE['kero_token'] : '');
|
||||
$this->id = checkLegit($this->cook);
|
||||
$this->user = $this->getLoggedUser($this->id, $this->cook);
|
||||
}
|
||||
|
||||
public function profile ($id) {
|
||||
$r = new Profile($this->objAuth, $this->getUser($id, $this->cook), $this->getCountries(), $this->menu, $this->user);
|
||||
return $r->index($id, $this->cook);
|
||||
}
|
||||
|
||||
public function editProfile ($id, Request $rr) {
|
||||
$r = new Profile($this->objAuth, $this->getUser($id, $this->cook), $this->getCountries(), $this->menu, $this->user);
|
||||
return $r->edit($id, $rr);
|
||||
}
|
||||
|
||||
public function login (Request $rr) {
|
||||
$r = new Login($this->objAuth, $this->menu, $this->user);
|
||||
return $r->index($rr);
|
||||
}
|
||||
|
||||
public function register (Request $rr) {
|
||||
$r = new Register($this->objAuth, $this->getCountries(), $this->menu, $this->user);
|
||||
return $r->index($rr);
|
||||
}
|
||||
|
||||
public function getNotification () {
|
||||
$r = new Notification();
|
||||
return $r->get();
|
||||
}
|
||||
|
||||
public function addNotification ($uid, $aid, $txt, $sec, $goto) {
|
||||
$r = new Notification();
|
||||
return $r->add($uid, $aid, $txt, $sec, $goto);
|
||||
}
|
||||
|
||||
public function delNotification ($id) {
|
||||
$r = new Notification();
|
||||
return $r->delete($id);
|
||||
}
|
||||
|
||||
function getUser ($id, $kero) {
|
||||
$check = checkLegit($kero);
|
||||
|
||||
$valid = $this->objAuth->getPermissions($kero);
|
||||
$cols = $this->getGroupColours()->toArray();
|
||||
|
||||
$get = DB::table('users')->where('id', $id)->first();
|
||||
if (!$get) return false;
|
||||
$get->details = DB::table('usr_details')->where('user_id', $id)->first();
|
||||
$get->profile = DB::table('usr_profile')->where('user_id', $id)->first();
|
||||
$get->contacts = DB::table('usr_contacts')->where('user_id', $id)->first();
|
||||
$get->perm_id = DB::table('usr_perm_id')->where('user_id', $id)->first();
|
||||
$get->perm_module = DB::table('usr_perm_module')->where('usr_perm_id', $get->perm_id->usr_per_id)->first();
|
||||
if (is_null($get->profile->avatar) || empty($get->profile->avatar) || $get->profile->avatar == '') {
|
||||
$get->profile->avatar = 'http'.(isset($_SERVER['HTTPS']) ? 's' : '').'://'.$_SERVER['HTTP_HOST'].'/img/noicon.jpg';
|
||||
}
|
||||
else $get->profile->avatar = '/'.$get->profile->avatar;
|
||||
|
||||
$get->profile->gender_name = '不明';
|
||||
if ($get->profile->gender == 1) $get->profile->gender_name = '男性';
|
||||
else if ($get->profile->gender == 2) $get->profile->gender_name = '女性';
|
||||
|
||||
$get->details->reg_date = strftime('%Y年%m月%d日(%a)', $get->details->reg_date);
|
||||
$get->profile->showname = (!empty($get->profile->display_name) && !is_null($get->profile->display_name) ? $get->profile->display_name : $get->username);
|
||||
|
||||
if ($id != $check) {
|
||||
unset($get->password);
|
||||
unset($get->kero_token);
|
||||
unset($get->salt);
|
||||
}
|
||||
|
||||
if ($valid['usr_emailshow'] == 0 && $id != $check) unset($get->email);
|
||||
if ($valid['usr_ipshow'] == 0 && $id != $check) unset($get->profile->ip_address);
|
||||
if ($valid['usr_canwarn'] == 0 && $id != $check) unset($get->details->strikes);
|
||||
|
||||
return $get;
|
||||
}
|
||||
|
||||
function getLoggedUser ($id, $kero) {
|
||||
$check = checkLegit($kero);
|
||||
if ($check == 0) return 0;
|
||||
|
||||
$valid = $this->objAuth->getPermissions($kero);
|
||||
$cols = $this->getGroupColours()->toArray();
|
||||
|
||||
$get = DB::table('users')->where('id', $id)->first();
|
||||
$get->profile = DB::table('usr_profile')->where('user_id', $id)->first();
|
||||
$get->profile->showname = (!empty($get->profile->display_name) && !is_null($get->profile->display_name) ? $get->profile->display_name : $get->username);
|
||||
$perm_id = DB::table('usr_perm_id')->select('perm_id')->where('user_id', $get->id)->first()->perm_id;
|
||||
$ucol = DB::table('usr_perm_module')->select('id', 'colour_m', 'colour_f', 'colour_u')->get();
|
||||
|
||||
if (!empty($get->profile->name_style)) $get->profile->name_style = $get->profile->name_style;
|
||||
else {
|
||||
foreach ($ucol as $j3) {
|
||||
if ($j3->id == $perm_id) {
|
||||
if ($get->profile->gender == 1) $get->profile->name_style = $j3->colour_m;
|
||||
else if ($get->profile->gender == 2) $get->profile->name_style = $j3->colour_f;
|
||||
else $get->profile->name_style = $j3->colour_u;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$get->perm = $valid;
|
||||
if (empty($get->profile->avatar) || $get->profile->avatar == '') $get->profile->avatar = 'img/noicon.jpg';
|
||||
$get->profile->avatar = '/'.$get->profile->avatar;
|
||||
|
||||
return $get;
|
||||
}
|
||||
|
||||
function getCountries () {
|
||||
$flags = DB::table('nhn_country')->orderBy('id', 'asc')->get();
|
||||
$res = array();
|
||||
|
||||
foreach ($flags as $flag) {
|
||||
$protocol = isset($_SERVER["HTTPS"]) ? 'https' : 'http';
|
||||
|
||||
$res[] = array(
|
||||
'value' => $flag->nameEng,
|
||||
'label' => $flag->name
|
||||
);
|
||||
}
|
||||
|
||||
return $res;
|
||||
}
|
||||
|
||||
function getGroupName($id) {
|
||||
return DB::table('usr_perm_module')->join('usr_perm_id', 'usr_perm_id.perm_id', '=', 'usr_perm_module.id')->where('user_id', $id)->get(array('name'));
|
||||
}
|
||||
|
||||
function getGroupColours() {
|
||||
return DB::table('usr_perm_module')->select('id', 'colour_m', 'colour_f', 'colour_u')->get();
|
||||
}
|
||||
}
|
|
@ -3,32 +3,27 @@
|
|||
namespace App\Http\Controllers\Video;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Illuminate\Http\Request;
|
||||
use App\Http\Controllers\Engine;
|
||||
// use Illuminate\Support\Facades\Log;
|
||||
|
||||
class Game {
|
||||
private $menu;
|
||||
private $user;
|
||||
private $suc;
|
||||
private $err;
|
||||
class Game extends Engine {
|
||||
private $engine;
|
||||
|
||||
public function __construct ($m, $u) {
|
||||
$this->menu = $m;
|
||||
$this->user = $u;
|
||||
$this->suc = '';
|
||||
$this->err = '';
|
||||
public function __construct () {
|
||||
$this->engine = new Engine;
|
||||
}
|
||||
|
||||
public function index () {
|
||||
$res = DB::table('vid_game')->get();
|
||||
if (!$res) return notfound($this->menu, $this->user, $res);
|
||||
if (!$res) return view('pages.site.notfound');
|
||||
$new = DB::table('vid_video')->orderBy('publish_date', 'desc')->limit(8)->get();
|
||||
$pop = DB::table('vid_video')->orderBy('view', 'desc')->orderBy('publish_date', 'desc')->limit(8)->get();
|
||||
|
||||
return view('pages.site.video.game', ['res' => $res, 'new' => $new, 'pop' => $pop, 'menu' => $this->menu, 'user' => $this->user, 'err' => $this->err, 'suc' => $this->suc]);
|
||||
return view('pages.site.video.game', ['res' => $res, 'new' => $new, 'pop' => $pop, 'err' => $this->engine->err, 'suc' => $this->engine->suc]);
|
||||
}
|
||||
|
||||
public function add (Request $r) {
|
||||
if ($this->user && $this->user->perm['blg_addpost']) {
|
||||
if ($this->engine->user && $this->engine->user->perm['blg_addpost']) {
|
||||
$err = '';
|
||||
$res = '';
|
||||
$frm = array('name' => '', 'slug' => '');
|
||||
|
@ -52,25 +47,25 @@ class Game {
|
|||
}
|
||||
|
||||
// エラーがあったら、フォームに戻って。なければ、データベースに保存したり、ページ又はポストへ移転して
|
||||
if (!empty($err)) return view('pages.site.video.game.add', ['res' => $res, 'menu' => $this->menu, 'user' => $this->user, 'err' => $err, 'frm' => $frm]);
|
||||
if (!empty($err)) return view('pages.site.video.game.add', ['res' => $res, 'err' => $err, 'frm' => $frm]);
|
||||
else {
|
||||
// できたの?
|
||||
if ($res = DB::table('vid_game')->insert($frm)) return redirect('/video/'.$r->slug);
|
||||
else {
|
||||
// やれやれ…
|
||||
return view('pages.site.video.game.add', ['res' => $res, 'menu' => $this->menu, 'user' => $this->user, 'err' => $err, 'frm' => $frm]);
|
||||
return view('pages.site.video.game.add', ['res' => $res, 'err' => $err, 'frm' => $frm]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return view('pages.site.video.game.add', ['res' => $res, 'menu' => $this->menu, 'user' => $this->user, 'err' => $err, 'frm' => $frm]);
|
||||
return view('pages.site.video.game.add', ['res' => $res, 'err' => $err, 'frm' => $frm]);
|
||||
}
|
||||
|
||||
return view('pages.site.notallowed', ['menu' => $this->menu, 'user' => $this->user]);
|
||||
return view('pages.site.notallowed');
|
||||
}
|
||||
|
||||
public function delete (Request $r) {
|
||||
if ($this->user->perm['blg_delpost']) {
|
||||
if ($this->engine->user->perm['blg_delpost']) {
|
||||
return DB::table('vid_game')->where('slug', $r->slug)->delete();
|
||||
}
|
||||
|
||||
|
@ -78,9 +73,9 @@ class Game {
|
|||
}
|
||||
|
||||
public function edit (Request $r) {
|
||||
if ($this->user && $this->user->perm['blg_addpost']) {
|
||||
if ($this->engine->user && $this->engine->user->perm['blg_addpost']) {
|
||||
$frm = DB::table('vid_game')->where('slug', $r->slug)->first();
|
||||
if (!$frm) return view('pages.site.notfound', ['menu' => $this->menu, 'user' => $this->user]);
|
||||
if (!$frm) return view('pages.site.notfound');
|
||||
$err = '';
|
||||
$res = '';
|
||||
|
||||
|
@ -96,21 +91,21 @@ class Game {
|
|||
if (count($incomplete) > 0) $err = implode('、', $incomplete).'をご入力下さい。';
|
||||
|
||||
// エラーがあったら、フォームに戻って。なければ、データベースに保存したり、ページ又はポストへ移転して
|
||||
if (!empty($err)) return view('pages.site.video.game.edit', ['res' => $res, 'menu' => $this->menu, 'user' => $this->user, 'err' => $err, 'frm' => $frm]);
|
||||
if (!empty($err)) return view('pages.site.video.game.edit', ['res' => $res, 'err' => $err, 'frm' => $frm]);
|
||||
else {
|
||||
// できたの?
|
||||
if ($res = DB::table('vid_game')->where('slug', $r->slug)->update((array)$frm)) return redirect('/video/'.$r->slug);
|
||||
else {
|
||||
// やれやれ…
|
||||
$err = '編集失敗…';
|
||||
return view('pages.site.video.game.edit', ['res' => $res, 'menu' => $this->menu, 'user' => $this->user, 'err' => $err, 'frm' => $frm]);
|
||||
return view('pages.site.video.game.edit', ['res' => $res, 'err' => $err, 'frm' => $frm]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return view('pages.site.video.game.edit', ['res' => $res, 'menu' => $this->menu, 'user' => $this->user, 'err' => $err, 'frm' => $frm]);
|
||||
return view('pages.site.video.game.edit', ['res' => $res, 'err' => $err, 'frm' => $frm]);
|
||||
}
|
||||
|
||||
return view('pages.site.notallowed', ['menu' => $this->menu, 'user' => $this->user]);
|
||||
return view('pages.site.notallowed');
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,24 +2,21 @@
|
|||
|
||||
namespace App\Http\Controllers\Video;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use App\Http\Controllers\Engine;
|
||||
// use Illuminate\Support\Facades\Log;
|
||||
|
||||
class Prayer {
|
||||
private $menu;
|
||||
private $cook;
|
||||
private $user;
|
||||
class Prayer extends Engine {
|
||||
private $engine;
|
||||
|
||||
public function __construct ($m, $c, $u) {
|
||||
$this->menu = $m;
|
||||
$this->cook = $c;
|
||||
$this->user = $u;
|
||||
public function __construct () {
|
||||
$this->engine = new Engine;
|
||||
}
|
||||
|
||||
public function index ($vid) {
|
||||
$res = DB::table('vid_video')->where('vid', $vid)->first();
|
||||
if (!$res) return view('pages.site.notfound', ['menu' => $this->menu, 'user' => $this->user]);
|
||||
if (!$res) return view('pages.site.notfound');
|
||||
$game = DB::table('vid_game')->where('id', $res->game_id)->first();
|
||||
if (!$game) return view('pages.site.notfound', ['menu' => $this->menu, 'user' => $this->user]);
|
||||
if (!$game) return view('pages.site.notfound');
|
||||
|
||||
$res->publish_date = date('Y月m月d日', $res->publish_date);
|
||||
$res->gametitle = explode('】', $res->title);
|
||||
|
@ -42,14 +39,22 @@ class Prayer {
|
|||
}
|
||||
}
|
||||
|
||||
$res->kvcomment = array();
|
||||
$kvslug = explode('/', $res->kerotube);
|
||||
if (isset($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->backupPeerComment($slugger, $res->kvcomment);
|
||||
|
||||
foreach ($comments as $k => $c) {
|
||||
$c->replyCount = 0;
|
||||
$c->isvideo = 't';
|
||||
$c->src = 'TS';
|
||||
|
||||
if (!is_null($c->user_id) && !empty(userDetail($c->user_id))) {
|
||||
$det = userDetail($c->user_id);
|
||||
|
@ -70,15 +75,65 @@ class Prayer {
|
|||
}
|
||||
}
|
||||
|
||||
$res->user = userDetail(null, $this->cook);
|
||||
$res->user = userDetail(null, (isset($_COOKIE['kero_token']) ? $_COOKIE['kero_token'] : ''));
|
||||
$res->comments['total'] = count($comments);
|
||||
$res->comments['come'] = $comments;
|
||||
$res->comments['total'] += (isset($res->ytcomment['total']) ? $res->ytcomment['total'] : 0);
|
||||
$res->comments['total'] += (isset($res->kvcomment['total']) ? $res->kvcomment['total'] : 0);
|
||||
if (isset($res->ytcomment['come'])) $res->comments['come'] = array_merge($res->comments['come'], $res->ytcomment['come']);
|
||||
if (isset($res->kvcomment['come'])) $res->comments['come'] = array_merge($res->comments['come'], $res->kvcomment['come']);
|
||||
|
||||
DB::table('vid_video')->where('vid', $vid)->update(['view' => $res->view+1]);
|
||||
|
||||
return view('pages.site.video.prayer', ['res' => $res, 'menu' => $this->menu, 'user' => $this->user]);
|
||||
return view('pages.site.video.prayer', ['res' => $res, 'user' => $this->user]);
|
||||
}
|
||||
|
||||
function getPeerCome ($slug, $tslug) {
|
||||
$come = [];
|
||||
$ch = curl_init();
|
||||
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);
|
||||
|
||||
$get = curl_exec($ch);
|
||||
$err = curl_error($ch);
|
||||
curl_close($ch);
|
||||
|
||||
if (!$get) return $err;
|
||||
$get = json_decode($get);
|
||||
|
||||
$come = array();
|
||||
$come['come'] = array();
|
||||
|
||||
if (isset($get->error) || !$get) {
|
||||
if ($tslug != '') {
|
||||
if (!$get = DB::table('vid_kerocomment')->where('vid', $tslug)->first()) return array();
|
||||
$come = unserialize($get->come);
|
||||
return $come;
|
||||
}
|
||||
}
|
||||
|
||||
if (isset($get->data)) {
|
||||
foreach ($get->data as $g) {
|
||||
$g->comments = new \stdClass();
|
||||
$g->comments->id = $g->id;
|
||||
$g->comments->name = $g->account->displayName;
|
||||
$g->comments->channel = $g->account->url;
|
||||
$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));
|
||||
$g->comments->replyCount = (isset($g->totalReplies) ? $g->totalReplies : 0);
|
||||
$g->comments->isvideo = 'n';
|
||||
$g->comments->src = '076';
|
||||
|
||||
$come['come'][] = $g->comments;
|
||||
}
|
||||
}
|
||||
|
||||
$come['total'] = $get->totalNotDeletedComments;
|
||||
|
||||
return $come;
|
||||
}
|
||||
|
||||
function checkYouTubeCome ($res, $slug, $next='') {
|
||||
|
@ -124,6 +179,7 @@ class Prayer {
|
|||
$g->comment->message = strip_tags($g->snippet->topLevelComment->snippet->textDisplay, array('<br />'));
|
||||
$g->comment->replyCount = (isset($g->snippet->totalReplyCount) ? $g->snippet->totalReplyCount : 0);
|
||||
$g->comment->isvideo = 'n';
|
||||
$g->comment->src = 'YT';
|
||||
|
||||
if (isset($g->replies)) {
|
||||
$g->comment->replies = array();
|
||||
|
@ -151,7 +207,8 @@ class Prayer {
|
|||
function backupYTComment ($slug, $com) {
|
||||
foreach ($com['come'] as $c) {
|
||||
$icon = substr($c->icon, 0, strpos($c->icon, "="));
|
||||
$icon = str_replace('https://yt3.ggpht.com/ytc/', '', $icon).'.jpg';
|
||||
$icon = str_replace('https://yt3.ggpht.com/', '', $icon).'.jpg';
|
||||
$icon = str_replace('ytc/', '', $icon).'.jpg';
|
||||
if ($icon != '.jpg') {
|
||||
$isicon = array_diff(scandir(dirname(__DIR__, 4).'/storage/app/public/yt_icon'), array('..', '.'));
|
||||
if (!in_array($icon, $isicon)) passthru('wget -O '.dirname(__DIR__, 4).'/storage/app/public/yt_icon/'.$icon.' '.$c->icon);
|
||||
|
@ -161,7 +218,8 @@ class Prayer {
|
|||
if (isset($c->replies)) {
|
||||
foreach ($c->replies as $i => $r) {
|
||||
$icon = substr($r['icon'], 0, strpos($r['icon'], "="));
|
||||
$icon = str_replace('https://yt3.ggpht.com/ytc/', '', $icon).'.jpg';
|
||||
$icon = str_replace('https://yt3.ggpht.com/', '', $icon).'.jpg';
|
||||
$icon = str_replace('ytc/', '', $icon).'.jpg';
|
||||
if ($icon != '.jpg') {
|
||||
$isicon = array_diff(scandir(dirname(__DIR__, 4).'/storage/app/public/yt_icon'), array('..', '.'));
|
||||
if (!in_array($icon, $isicon)) passthru('wget -O '.dirname(__DIR__, 4).'/storage/app/public/yt_icon/'.$icon.' '.$r['icon']);
|
||||
|
@ -176,4 +234,21 @@ class Prayer {
|
|||
|
||||
return $com;
|
||||
}
|
||||
|
||||
function backupPeerComment ($slug, $com) {
|
||||
foreach ($com['come'] as $c) {
|
||||
$icon = strstr($c->icon, 'avatars/');
|
||||
$icon = str_replace('avatars/', '', $icon);
|
||||
if ($icon != '.jpg') {
|
||||
$isicon = array_diff(scandir(dirname(__DIR__, 4).'/storage/app/public/kero_icon'), array('..', '.'));
|
||||
if (!in_array($icon, $isicon)) passthru('wget -O '.dirname(__DIR__, 4).'/storage/app/public/kero_icon/'.$icon.' '.$c->icon);
|
||||
$c->icon = '/storage/kero_icon/'.$icon;
|
||||
}
|
||||
}
|
||||
|
||||
if ($chk = DB::table('vid_kerocomment')->where('vid', $slug)->first()) DB::table('vid_kerocomment')->where('vid', $slug)->update(['come' => serialize($com)]);
|
||||
else DB::table('vid_kerocomment')->insert(['vid' => $slug, 'come' => serialize($com)]);
|
||||
|
||||
return $com;
|
||||
}
|
||||
}
|
|
@ -3,22 +3,21 @@
|
|||
namespace App\Http\Controllers\Video;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Illuminate\Http\Request;
|
||||
use App\Http\Controllers\Engine;
|
||||
// use Illuminate\Support\Facades\Log;
|
||||
|
||||
class VideoTable {
|
||||
private $menu;
|
||||
private $user;
|
||||
class VideoTable extends Engine {
|
||||
private $engine;
|
||||
|
||||
public function __construct ($m, $u) {
|
||||
$this->menu = $m;
|
||||
$this->user = $u;
|
||||
public function __construct () {
|
||||
$this->engine = new Engine;
|
||||
}
|
||||
|
||||
public function index ($slug) {
|
||||
$slg = DB::table('vid_game')->select('id', 'name')->where('slug', $slug)->first();
|
||||
if (!$slg) return view('pages.site.notfound', ['menu' => $this->menu, 'user' => $this->user]);
|
||||
if (!$slg) return view('pages.site.notfound');
|
||||
$res = DB::table('vid_video')->where('game_id', $slg->id)->orderBy('publish_date', 'desc')->get();
|
||||
if (!$res) return view('pages.site.notfound', ['menu' => $this->menu, 'user' => $this->user]);
|
||||
if (!$res) return view('pages.site.notfound');
|
||||
|
||||
foreach ($res as $r) {
|
||||
$r->publish_date = date('Y月m月d日', $r->publish_date);
|
||||
|
@ -30,18 +29,17 @@ class VideoTable {
|
|||
if ($r->gametitle == '') $r->gametitle = '初代';
|
||||
}
|
||||
|
||||
return view('pages.site.video.videotable', ['res' => $res, 'menu' => $this->menu, 'user' => $this->user]);
|
||||
return view('pages.site.video.videotable', ['res' => $res]);
|
||||
}
|
||||
|
||||
public function add (Request $r) {
|
||||
if ($this->user && $this->user->perm['blg_addpost']) {
|
||||
if ($this->engine->user && $this->engine->user->perm['blg_addpost']) {
|
||||
$game = DB::table('vid_game')->get();
|
||||
$err = '';
|
||||
$res = '';
|
||||
$frm = array('title' => '', 'vid' => '', 'game_id' => '', 'thumbnail' => '', 'url' => '', 'youtube' => '', 'nicovideo' => '', 'bitchute' => '', 'odysee' => '', 'kerotube' => '');
|
||||
|
||||
if (isset($r->submit)) {
|
||||
if (empty($err)) { if ($r->url == '' && $r->youtube == '' && $r->nicovideo == '' && $r->bitchute == '' && $r->odysee == '' && $r->kerotube == '') $err = '1以上の動画URLをご入力下さい。'; }
|
||||
if (empty($this->engine->err)) { if ($r->url == '' && $r->youtube == '' && $r->nicovideo == '' && $r->bitchute == '' && $r->odysee == '' && $r->kerotube == '') $this->engine->err = '1以上の動画URLをご入力下さい。'; }
|
||||
|
||||
// フォームの値を保存して
|
||||
$frm['title'] = $r->title;
|
||||
|
@ -59,39 +57,39 @@ class VideoTable {
|
|||
// 件名、文章又はスラッグがなければ、エラーを出て
|
||||
$verify = array('件名' => $r->title, 'スラッグ' => $r->vid);
|
||||
$incomplete = array();
|
||||
if (empty($err)) {
|
||||
if (empty($this->engine->err)) {
|
||||
foreach ($verify as $k => $v) { if (is_null($v) || empty($v) || !isset($v)) $incomplete[] = $k; }
|
||||
if (count($incomplete) > 0) $err = implode('、', $incomplete).'をご入力下さい。';
|
||||
if (count($incomplete) > 0) $this->engine->err = implode('、', $incomplete).'をご入力下さい。';
|
||||
}
|
||||
|
||||
if (empty($err)) { if ($r->game_id == 0) $err = 'ゲームをご選択下さい。'; }
|
||||
if (empty($this->engine->err)) { if ($r->game_id == 0) $this->engine->err = 'ゲームをご選択下さい。'; }
|
||||
|
||||
// スラッグが既に存在したら、エラーを出て
|
||||
if (empty($err)) {
|
||||
if (empty($this->engine->err)) {
|
||||
$sl = DB::table('vid_video')->select('vid')->where('vid', $r->vid)->first();
|
||||
if ($sl && $sl->vid == $r->vid) $err = 'このスラッグがもう存在しています。';
|
||||
if ($sl && $sl->vid == $r->vid) $this->engine->err = 'このスラッグがもう存在しています。';
|
||||
}
|
||||
|
||||
// エラーがあったら、フォームに戻って。なければ、データベースに保存したり、ページ又はポストへ移転して
|
||||
if (!empty($err)) return view('pages.site.video.play.add', ['res' => $res, 'menu' => $this->menu, 'user' => $this->user, 'err' => $err, 'frm' => $frm, 'game' => $game]);
|
||||
if (!empty($this->engine->err)) return view('pages.site.video.play.add', ['res' => $res, 'err' => $this->engine->err, 'frm' => $frm, 'game' => $game]);
|
||||
else {
|
||||
// できたの?
|
||||
if ($res = DB::table('vid_video')->insert($frm)) return redirect('/video/play/'.$r->vid);
|
||||
else {
|
||||
// やれやれ…
|
||||
return view('pages.site.video.play.add', ['res' => $res, 'menu' => $this->menu, 'user' => $this->user, 'err' => $err, 'frm' => $frm, 'game' => $game]);
|
||||
return view('pages.site.video.play.add', ['res' => $res, 'err' => $this->engine->err, 'frm' => $frm, 'game' => $game]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return view('pages.site.video.play.add', ['res' => $res, 'menu' => $this->menu, 'user' => $this->user, 'err' => $err, 'frm' => $frm, 'game' => $game]);
|
||||
return view('pages.site.video.play.add', ['res' => $res, 'err' => $this->engine->err, 'frm' => $frm, 'game' => $game]);
|
||||
}
|
||||
|
||||
return view('pages.site.notallowed', ['menu' => $this->menu, 'user' => $this->user]);
|
||||
return view('pages.site.notallowed');
|
||||
}
|
||||
|
||||
public function delete (Request $r) {
|
||||
if ($this->user->perm['blg_delpost']) {
|
||||
if ($this->engine->user->perm['blg_delpost']) {
|
||||
$get = DB::table('vid_video')->select('game_id')->where('vid', $r->slug)->first();
|
||||
$red = DB::table('vid_game')->select('slug')->where('id', $get->game_id)->first();
|
||||
DB::table('vid_video')->where('vid', $r->slug)->delete();
|
||||
|
@ -102,15 +100,14 @@ class VideoTable {
|
|||
}
|
||||
|
||||
public function edit (Request $r) {
|
||||
if ($this->user && $this->user->perm['blg_addpost']) {
|
||||
if ($this->engine->user && $this->engine->user->perm['blg_addpost']) {
|
||||
$game = DB::table('vid_game')->get();
|
||||
$frm = DB::table('vid_video')->where('vid', $r->vid)->first();
|
||||
if (!$frm) return view('pages.site.notfound', ['menu' => $this->menu, 'user' => $this->user]);
|
||||
$err = '';
|
||||
if (!$frm) return view('pages.site.notfound');
|
||||
$res = '';
|
||||
|
||||
if (isset($r->submit)) {
|
||||
if (empty($err)) { if ($r->url == '' && $r->youtube == '' && $r->nicovideo == '' && $r->bitchute == '' && $r->odysee == '' && $r->kerotube) $err = '1以上の動画URLをご入力下さい。'; }
|
||||
if (empty($this->engine->err)) { if ($r->url == '' && $r->youtube == '' && $r->nicovideo == '' && $r->bitchute == '' && $r->odysee == '' && $r->kerotube) $this->engine->err = '1以上の動画URLをご入力下さい。'; }
|
||||
|
||||
// フォームの値を保存して
|
||||
$frm->title = $r->title;
|
||||
|
@ -127,28 +124,28 @@ class VideoTable {
|
|||
// 件名、文章又はスラッグがなければ、エラーを出て
|
||||
$verify = array('件名' => $r->title, 'スラッグ' => $r->vid);
|
||||
$incomplete = array();
|
||||
if (empty($err)) {
|
||||
if (empty($this->engine->err)) {
|
||||
foreach ($verify as $k => $v) { if (is_null($v) || empty($v) || !isset($v)) $incomplete[] = $k; }
|
||||
if (count($incomplete) > 0) $err = implode('、', $incomplete).'をご入力下さい。';
|
||||
if (count($incomplete) > 0) $this->engine->err = implode('、', $incomplete).'をご入力下さい。';
|
||||
}
|
||||
|
||||
if (empty($err)) { if ($r->game_id == 0) $err = 'ゲームをご選択下さい。'; }
|
||||
if (empty($this->engine->err)) { if ($r->game_id == 0) $this->engine->err = 'ゲームをご選択下さい。'; }
|
||||
|
||||
// エラーがあったら、フォームに戻って。なければ、データベースに保存したり、ページ又はポストへ移転して
|
||||
if (!empty($err)) return view('pages.site.video.play.edit', ['res' => $res, 'menu' => $this->menu, 'user' => $this->user, 'err' => $err, 'frm' => $frm, 'game' => $game]);
|
||||
if (!empty($this->engine->err)) return view('pages.site.video.play.edit', ['res' => $res, 'err' => $this->engine->err, 'frm' => $frm, 'game' => $game]);
|
||||
else {
|
||||
// できたの?
|
||||
if ($res = DB::table('vid_video')->where('vid', $r->vid)->update((array)$frm)) return redirect('/video/play/'.$r->vid);
|
||||
else {
|
||||
// やれやれ…
|
||||
return view('pages.site.video.play.edit', ['res' => $res, 'menu' => $this->menu, 'user' => $this->user, 'err' => $err, 'frm' => $frm, 'game' => $game]);
|
||||
return view('pages.site.video.play.edit', ['res' => $res, 'err' => $this->engine->err, 'frm' => $frm, 'game' => $game]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return view('pages.site.video.play.edit', ['res' => $res, 'menu' => $this->menu, 'user' => $this->user, 'err' => $err, 'frm' => $frm, 'game' => $game]);
|
||||
return view('pages.site.video.play.edit', ['res' => $res, 'err' => $this->engine->err, 'frm' => $frm, 'game' => $game]);
|
||||
}
|
||||
|
||||
return view('pages.site.notallowed', ['menu' => $this->menu, 'user' => $this->user]);
|
||||
return view('pages.site.notallowed');
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,75 +0,0 @@
|
|||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
use Illuminate\Http\Request;
|
||||
// use Illuminate\Support\Facades\Log;
|
||||
|
||||
use App\Http\Controllers\AuthController;
|
||||
use App\Http\Controllers\UserController;
|
||||
|
||||
use App\Http\Controllers\Video\Game;
|
||||
use App\Http\Controllers\Video\VideoTable;
|
||||
use App\Http\Controllers\Video\Prayer;
|
||||
|
||||
class VideoController extends Controller {
|
||||
private $objUser;
|
||||
private $menu;
|
||||
private $cook;
|
||||
private $id;
|
||||
private $user;
|
||||
|
||||
public function __construct() {
|
||||
if (isset($_COOKIE['language'])) app()->setLocale($_COOKIE['language']);
|
||||
|
||||
$this->objUser = new UserController();
|
||||
$this->menu = getPagesInMenu();
|
||||
$this->cook = (isset($_COOKIE['kero_token']) ? $_COOKIE['kero_token'] : '');
|
||||
$this->id = checkLegit($this->cook);
|
||||
$this->user = $this->objUser->getLoggedUser($this->id, $this->cook);
|
||||
}
|
||||
|
||||
public function index () {
|
||||
$r = new Game($this->menu, $this->user);
|
||||
return $r->index();
|
||||
}
|
||||
|
||||
public function table ($slug) {
|
||||
$r = new VideoTable($this->menu, $this->user);
|
||||
return $r->index($slug);
|
||||
}
|
||||
|
||||
public function prayer ($vid) {
|
||||
$r = new Prayer($this->menu, $this->cook, $this->user);
|
||||
return $r->index($vid);
|
||||
}
|
||||
|
||||
public function addGame (Request $rr) {
|
||||
$r = new Game($this->menu, $this->user);
|
||||
return $r->add($rr);
|
||||
}
|
||||
|
||||
public function delGame (Request $rr) {
|
||||
$r = new Game($this->menu, $this->user);
|
||||
return $r->delete($rr);
|
||||
}
|
||||
|
||||
public function editGame (Request $rr) {
|
||||
$r = new Game($this->menu, $this->user);
|
||||
return $r->edit($rr);
|
||||
}
|
||||
|
||||
public function addVideo (Request $rr) {
|
||||
$r = new VideoTable($this->menu, $this->user);
|
||||
return $r->add($rr);
|
||||
}
|
||||
|
||||
public function delVideo (Request $rr) {
|
||||
$r = new VideoTable($this->menu, $this->user);
|
||||
return $r->delete($rr);
|
||||
}
|
||||
|
||||
public function editVideo (Request $rr) {
|
||||
$r = new VideoTable($this->menu, $this->user);
|
||||
return $r->edit($rr);
|
||||
}
|
||||
}
|
39
app/User.php
39
app/User.php
|
@ -1,39 +0,0 @@
|
|||
<?php
|
||||
|
||||
namespace App;
|
||||
|
||||
use Illuminate\Contracts\Auth\MustVerifyEmail;
|
||||
use Illuminate\Foundation\Auth\User as Authenticatable;
|
||||
use Illuminate\Notifications\Notifiable;
|
||||
|
||||
class User extends Authenticatable
|
||||
{
|
||||
use Notifiable;
|
||||
|
||||
/**
|
||||
* The attributes that are mass assignable.
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
protected $fillable = [
|
||||
'name', 'email', 'password',
|
||||
];
|
||||
|
||||
/**
|
||||
* The attributes that should be hidden for arrays.
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
protected $hidden = [
|
||||
'password', 'remember_token',
|
||||
];
|
||||
|
||||
/**
|
||||
* The attributes that should be cast to native types.
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
protected $casts = [
|
||||
'email_verified_at' => 'datetime',
|
||||
];
|
||||
}
|
|
@ -16,6 +16,25 @@ function getPagesInMenu () {
|
|||
return $res;
|
||||
}
|
||||
|
||||
function getCss () {
|
||||
$engine = new \App\Http\Controllers\Engine;
|
||||
return $engine->css;
|
||||
}
|
||||
|
||||
function getPerms () {
|
||||
$engine = new \App\Http\Controllers\Engine;
|
||||
return $engine->getPermissions((isset($_COOKIE['kero_token']) ? $_COOKIE['kero_token'] : ''));
|
||||
}
|
||||
|
||||
function getUser () {
|
||||
$engine = new \App\Http\Controllers\Engine;
|
||||
return $engine->user;
|
||||
}
|
||||
|
||||
function getGroupColours () {
|
||||
return DB::table('usr_perm_module')->select('id', 'colour_m', 'colour_f', 'colour_u')->get()->toArray();
|
||||
}
|
||||
|
||||
function getIp () {
|
||||
if (!empty($_SERVER['HTTP_CLIENT_IP'])) $ip = $_SERVER['HTTP_CLIENT_IP'];
|
||||
elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
|
||||
|
@ -63,4 +82,32 @@ function userDetail ($id, $kero=null) {
|
|||
return new \stdClass();
|
||||
}
|
||||
|
||||
function getCountries () {
|
||||
$flags = DB::table('nhn_country')->orderBy('id', 'asc')->get();
|
||||
$res = array();
|
||||
|
||||
foreach ($flags as $flag) {
|
||||
$protocol = isset($_SERVER["HTTPS"]) ? 'https' : 'http';
|
||||
|
||||
$res[] = array(
|
||||
'value' => $flag->nameEng,
|
||||
'label' => $flag->name
|
||||
);
|
||||
}
|
||||
|
||||
return $res;
|
||||
}
|
||||
|
||||
function makeToken () {
|
||||
$c = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ$!%&()';
|
||||
$clen = strlen($c);
|
||||
$token = '';
|
||||
|
||||
for ($i = 0; $i < 128; $i++) {
|
||||
$token .= $c[rand(0, $clen - 1)];
|
||||
}
|
||||
|
||||
return $token;
|
||||
}
|
||||
|
||||
?>
|
||||
|
|
|
@ -0,0 +1,19 @@
|
|||
#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; }
|
|
@ -0,0 +1,2 @@
|
|||
a { color: #f31de8; }
|
||||
a:hover { color: #e93de9; }
|
|
@ -0,0 +1,2 @@
|
|||
a { color: #1d99f3; }
|
||||
a:hover { color: #3daee9; }
|
|
@ -0,0 +1,3 @@
|
|||
.badge-danger { color: #fff; background-color: #dc3545; }
|
||||
.badge-light { color: #212529; background-color: #f8f9fa; }
|
||||
.badge { font-size: 100%; }
|
長すぎる行があるためファイル差分は表示されません
|
@ -0,0 +1,165 @@
|
|||
.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;
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
.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;
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
.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,8 +1,4 @@
|
|||
.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: $white1;
|
||||
background-color: $suwa03;
|
||||
border-color: $suwa04;
|
||||
}
|
||||
{ color: #fcfcfc; background-color: #cb81ea; border-color: #b16cce; }
|
|
@ -0,0 +1,4 @@
|
|||
.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; }
|
|
@ -0,0 +1,4 @@
|
|||
.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; }
|
|
@ -0,0 +1,5 @@
|
|||
.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; }
|
|
@ -0,0 +1,42 @@
|
|||
.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, .barm {
|
||||
text-align: center;
|
||||
color: #fcfcfc;
|
||||
padding: 5px;
|
||||
font-size: 20px;
|
||||
border-bottom: solid 2px #cb81ea;
|
||||
cursor: pointer;
|
||||
transition: background 0.3s, color 0.3s;
|
||||
}
|
||||
.barm { background: linear-gradient(180deg, #313639 0, #4d4d4d 34%, #232629 100%); border-bottom: solid 2px #fcfcfc; font-size: 24px; cursor: default; font-weight: bolder; }
|
||||
.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;
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
.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; }
|
|
@ -0,0 +1,9 @@
|
|||
.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; }
|
|
@ -0,0 +1,4 @@
|
|||
.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; }
|
|
@ -0,0 +1,2 @@
|
|||
.form-control { border: 1px solid #5e345c; }
|
||||
.form-control:focus { border: 1px solid #e93de9; }
|
|
@ -0,0 +1,2 @@
|
|||
.form-control { border: 1px solid #34495e; }
|
||||
.form-control:focus { border: 1px solid #3daee9; }
|
|
@ -0,0 +1,9 @@
|
|||
@font-face {
|
||||
font-family: "jpserriffont";
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
src: url(/fonts/jpserriffont.woff?7c80edebf55afde76b91a29eb69e6e21);
|
||||
font-display: swap;
|
||||
}
|
||||
|
||||
body { font-family: jpserriffont; }
|
|
@ -0,0 +1,41 @@
|
|||
.logo-img { border: 2px solid #cb81ea; box-shadow: 0 0 7px 3px #b16cce; }
|
||||
.logo-sns { transition: background 0.3s, color 0.3s; background-color: #31363b; border: 1px solid #eff0f1; padding: 8px; margin: 4px 10px; }
|
||||
.logo-sns:hover { background-color: #eff0f1; border: 1px solid #31363b; }
|
||||
.logo-play { transition: background 0.3s, color 0.3s; background-color: transparent; border-radius: 25%; padding: 2px; }
|
||||
.logo-play:hover { background-color: #ff3636; }
|
||||
.logo-br { padding: 8px; }
|
||||
|
||||
@-webkit-keyframes sitenamehover {
|
||||
0% { text-shadow: -4px -4px 0 #b16cce, -4px -3px 0 #b16cce, -4px -2px 0 #b16cce, -4px -1px 0 #b16cce, -4px 0px 0 #b16cce, -4px 1px 0 #b16cce, -4px 2px 0 #b16cce, -4px 3px 0 #b16cce, -4px 4px 0 #b16cce, -3px -4px 0 #b16cce, -3px -3px 0 #b16cce, -3px -2px 0 #b16cce, -3px -1px 0 #b16cce, -3px 0px 0 #b16cce, -3px 1px 0 #b16cce, -3px 2px 0 #b16cce, -3px 3px 0 #b16cce, -3px 4px 0 #b16cce, -2px -4px 0 #b16cce, -2px -3px 0 #b16cce, -2px -2px 0 #b16cce, -2px -1px 0 #b16cce, -2px 0px 0 #b16cce, -2px 1px 0 #b16cce, -2px 2px 0 #b16cce, -2px 3px 0 #b16cce, -2px 4px 0 #b16cce, -1px -4px 0 #b16cce, -1px -3px 0 #b16cce, -1px -2px 0 #b16cce, -1px -1px 0 #b16cce, -1px 0px 0 #b16cce, -1px 1px 0 #b16cce, -1px 2px 0 #b16cce, -1px 3px 0 #b16cce, -1px 4px 0 #b16cce, 0px -4px 0 #b16cce, 0px -3px 0 #b16cce, 0px -2px 0 #b16cce, 0px -1px 0 #b16cce, 0px 0px 0 #b16cce, 0px 1px 0 #b16cce, 0px 2px 0 #b16cce, 0px 3px 0 #b16cce, 0px 4px 0 #b16cce, 1px -4px 0 #b16cce, 1px -3px 0 #b16cce, 1px -2px 0 #b16cce, 1px -1px 0 #b16cce, 1px 0px 0 #b16cce, 1px 1px 0 #b16cce, 1px 2px 0 #b16cce, 1px 3px 0 #b16cce, 1px 4px 0 #b16cce, 2px -4px 0 #b16cce, 2px -3px 0 #b16cce, 2px -2px 0 #b16cce, 2px -1px 0 #b16cce, 2px 0px 0 #b16cce, 2px 1px 0 #b16cce, 2px 2px 0 #b16cce, 2px 3px 0 #b16cce, 2px 4px 0 #b16cce, 3px -4px 0 #b16cce, 3px -3px 0 #b16cce, 3px -2px 0 #b16cce, 3px -1px 0 #b16cce, 3px 0px 0 #b16cce, 3px 1px 0 #b16cce, 3px 2px 0 #b16cce, 3px 3px 0 #b16cce, 3px 4px 0 #b16cce, 4px -4px 0 #b16cce, 4px -3px 0 #b16cce, 4px -2px 0 #b16cce, 4px -1px 0 #b16cce, 4px 0px 0 #b16cce, 4px 1px 0 #b16cce, 4px 2px 0 #b16cce, 4px 3px 0 #b16cce, 4px 4px 0 #b16cce; }
|
||||
25% { text-shadow: -4px -4px 0 #cb81ea, -4px -3px 0 #cb81ea, -4px -2px 0 #cb81ea, -4px -1px 0 #cb81ea, -4px 0px 0 #cb81ea, -4px 1px 0 #cb81ea, -4px 2px 0 #cb81ea, -4px 3px 0 #cb81ea, -4px 4px 0 #cb81ea, -3px -4px 0 #cb81ea, -3px -3px 0 #cb81ea, -3px -2px 0 #cb81ea, -3px -1px 0 #cb81ea, -3px 0px 0 #cb81ea, -3px 1px 0 #cb81ea, -3px 2px 0 #cb81ea, -3px 3px 0 #cb81ea, -3px 4px 0 #cb81ea, -2px -4px 0 #cb81ea, -2px -3px 0 #cb81ea, -2px -2px 0 #cb81ea, -2px -1px 0 #cb81ea, -2px 0px 0 #cb81ea, -2px 1px 0 #cb81ea, -2px 2px 0 #cb81ea, -2px 3px 0 #cb81ea, -2px 4px 0 #cb81ea, -1px -4px 0 #cb81ea, -1px -3px 0 #cb81ea, -1px -2px 0 #cb81ea, -1px -1px 0 #cb81ea, -1px 0px 0 #cb81ea, -1px 1px 0 #cb81ea, -1px 2px 0 #cb81ea, -1px 3px 0 #cb81ea, -1px 4px 0 #cb81ea, 0px -4px 0 #cb81ea, 0px -3px 0 #cb81ea, 0px -2px 0 #cb81ea, 0px -1px 0 #cb81ea, 0px 0px 0 #cb81ea, 0px 1px 0 #cb81ea, 0px 2px 0 #cb81ea, 0px 3px 0 #cb81ea, 0px 4px 0 #cb81ea, 1px -4px 0 #cb81ea, 1px -3px 0 #cb81ea, 1px -2px 0 #cb81ea, 1px -1px 0 #cb81ea, 1px 0px 0 #cb81ea, 1px 1px 0 #cb81ea, 1px 2px 0 #cb81ea, 1px 3px 0 #cb81ea, 1px 4px 0 #cb81ea, 2px -4px 0 #cb81ea, 2px -3px 0 #cb81ea, 2px -2px 0 #cb81ea, 2px -1px 0 #cb81ea, 2px 0px 0 #cb81ea, 2px 1px 0 #cb81ea, 2px 2px 0 #cb81ea, 2px 3px 0 #cb81ea, 2px 4px 0 #cb81ea, 3px -4px 0 #cb81ea, 3px -3px 0 #cb81ea, 3px -2px 0 #cb81ea, 3px -1px 0 #cb81ea, 3px 0px 0 #cb81ea, 3px 1px 0 #cb81ea, 3px 2px 0 #cb81ea, 3px 3px 0 #cb81ea, 3px 4px 0 #cb81ea, 4px -4px 0 #cb81ea, 4px -3px 0 #cb81ea, 4px -2px 0 #cb81ea, 4px -1px 0 #cb81ea, 4px 0px 0 #cb81ea, 4px 1px 0 #cb81ea, 4px 2px 0 #cb81ea, 4px 3px 0 #cb81ea, 4px 4px 0 #cb81ea; }
|
||||
50% { text-shadow: -4px -4px 0 #f1d0ff, -4px -3px 0 #f1d0ff, -4px -2px 0 #f1d0ff, -4px -1px 0 #f1d0ff, -4px 0px 0 #f1d0ff, -4px 1px 0 #f1d0ff, -4px 2px 0 #f1d0ff, -4px 3px 0 #f1d0ff, -4px 4px 0 #f1d0ff, -3px -4px 0 #f1d0ff, -3px -3px 0 #f1d0ff, -3px -2px 0 #f1d0ff, -3px -1px 0 #f1d0ff, -3px 0px 0 #f1d0ff, -3px 1px 0 #f1d0ff, -3px 2px 0 #f1d0ff, -3px 3px 0 #f1d0ff, -3px 4px 0 #f1d0ff, -2px -4px 0 #f1d0ff, -2px -3px 0 #f1d0ff, -2px -2px 0 #f1d0ff, -2px -1px 0 #f1d0ff, -2px 0px 0 #f1d0ff, -2px 1px 0 #f1d0ff, -2px 2px 0 #f1d0ff, -2px 3px 0 #f1d0ff, -2px 4px 0 #f1d0ff, -1px -4px 0 #f1d0ff, -1px -3px 0 #f1d0ff, -1px -2px 0 #f1d0ff, -1px -1px 0 #f1d0ff, -1px 0px 0 #f1d0ff, -1px 1px 0 #f1d0ff, -1px 2px 0 #f1d0ff, -1px 3px 0 #f1d0ff, -1px 4px 0 #f1d0ff, 0px -4px 0 #f1d0ff, 0px -3px 0 #f1d0ff, 0px -2px 0 #f1d0ff, 0px -1px 0 #f1d0ff, 0px 0px 0 #f1d0ff, 0px 1px 0 #f1d0ff, 0px 2px 0 #f1d0ff, 0px 3px 0 #f1d0ff, 0px 4px 0 #f1d0ff, 1px -4px 0 #f1d0ff, 1px -3px 0 #f1d0ff, 1px -2px 0 #f1d0ff, 1px -1px 0 #f1d0ff, 1px 0px 0 #f1d0ff, 1px 1px 0 #f1d0ff, 1px 2px 0 #f1d0ff, 1px 3px 0 #f1d0ff, 1px 4px 0 #f1d0ff, 2px -4px 0 #f1d0ff, 2px -3px 0 #f1d0ff, 2px -2px 0 #f1d0ff, 2px -1px 0 #f1d0ff, 2px 0px 0 #f1d0ff, 2px 1px 0 #f1d0ff, 2px 2px 0 #f1d0ff, 2px 3px 0 #f1d0ff, 2px 4px 0 #f1d0ff, 3px -4px 0 #f1d0ff, 3px -3px 0 #f1d0ff, 3px -2px 0 #f1d0ff, 3px -1px 0 #f1d0ff, 3px 0px 0 #f1d0ff, 3px 1px 0 #f1d0ff, 3px 2px 0 #f1d0ff, 3px 3px 0 #f1d0ff, 3px 4px 0 #f1d0ff, 4px -4px 0 #f1d0ff, 4px -3px 0 #f1d0ff, 4px -2px 0 #f1d0ff, 4px -1px 0 #f1d0ff, 4px 0px 0 #f1d0ff, 4px 1px 0 #f1d0ff, 4px 2px 0 #f1d0ff, 4px 3px 0 #f1d0ff, 4px 4px 0 #f1d0ff; }
|
||||
75% { text-shadow: -4px -4px 0 #cb81ea, -4px -3px 0 #cb81ea, -4px -2px 0 #cb81ea, -4px -1px 0 #cb81ea, -4px 0px 0 #cb81ea, -4px 1px 0 #cb81ea, -4px 2px 0 #cb81ea, -4px 3px 0 #cb81ea, -4px 4px 0 #cb81ea, -3px -4px 0 #cb81ea, -3px -3px 0 #cb81ea, -3px -2px 0 #cb81ea, -3px -1px 0 #cb81ea, -3px 0px 0 #cb81ea, -3px 1px 0 #cb81ea, -3px 2px 0 #cb81ea, -3px 3px 0 #cb81ea, -3px 4px 0 #cb81ea, -2px -4px 0 #cb81ea, -2px -3px 0 #cb81ea, -2px -2px 0 #cb81ea, -2px -1px 0 #cb81ea, -2px 0px 0 #cb81ea, -2px 1px 0 #cb81ea, -2px 2px 0 #cb81ea, -2px 3px 0 #cb81ea, -2px 4px 0 #cb81ea, -1px -4px 0 #cb81ea, -1px -3px 0 #cb81ea, -1px -2px 0 #cb81ea, -1px -1px 0 #cb81ea, -1px 0px 0 #cb81ea, -1px 1px 0 #cb81ea, -1px 2px 0 #cb81ea, -1px 3px 0 #cb81ea, -1px 4px 0 #cb81ea, 0px -4px 0 #cb81ea, 0px -3px 0 #cb81ea, 0px -2px 0 #cb81ea, 0px -1px 0 #cb81ea, 0px 0px 0 #cb81ea, 0px 1px 0 #cb81ea, 0px 2px 0 #cb81ea, 0px 3px 0 #cb81ea, 0px 4px 0 #cb81ea, 1px -4px 0 #cb81ea, 1px -3px 0 #cb81ea, 1px -2px 0 #cb81ea, 1px -1px 0 #cb81ea, 1px 0px 0 #cb81ea, 1px 1px 0 #cb81ea, 1px 2px 0 #cb81ea, 1px 3px 0 #cb81ea, 1px 4px 0 #cb81ea, 2px -4px 0 #cb81ea, 2px -3px 0 #cb81ea, 2px -2px 0 #cb81ea, 2px -1px 0 #cb81ea, 2px 0px 0 #cb81ea, 2px 1px 0 #cb81ea, 2px 2px 0 #cb81ea, 2px 3px 0 #cb81ea, 2px 4px 0 #cb81ea, 3px -4px 0 #cb81ea, 3px -3px 0 #cb81ea, 3px -2px 0 #cb81ea, 3px -1px 0 #cb81ea, 3px 0px 0 #cb81ea, 3px 1px 0 #cb81ea, 3px 2px 0 #cb81ea, 3px 3px 0 #cb81ea, 3px 4px 0 #cb81ea, 4px -4px 0 #cb81ea, 4px -3px 0 #cb81ea, 4px -2px 0 #cb81ea, 4px -1px 0 #cb81ea, 4px 0px 0 #cb81ea, 4px 1px 0 #cb81ea, 4px 2px 0 #cb81ea, 4px 3px 0 #cb81ea, 4px 4px 0 #cb81ea; }
|
||||
100% { text-shadow: -4px -4px 0 #b16cce, -4px -3px 0 #b16cce, -4px -2px 0 #b16cce, -4px -1px 0 #b16cce, -4px 0px 0 #b16cce, -4px 1px 0 #b16cce, -4px 2px 0 #b16cce, -4px 3px 0 #b16cce, -4px 4px 0 #b16cce, -3px -4px 0 #b16cce, -3px -3px 0 #b16cce, -3px -2px 0 #b16cce, -3px -1px 0 #b16cce, -3px 0px 0 #b16cce, -3px 1px 0 #b16cce, -3px 2px 0 #b16cce, -3px 3px 0 #b16cce, -3px 4px 0 #b16cce, -2px -4px 0 #b16cce, -2px -3px 0 #b16cce, -2px -2px 0 #b16cce, -2px -1px 0 #b16cce, -2px 0px 0 #b16cce, -2px 1px 0 #b16cce, -2px 2px 0 #b16cce, -2px 3px 0 #b16cce, -2px 4px 0 #b16cce, -1px -4px 0 #b16cce, -1px -3px 0 #b16cce, -1px -2px 0 #b16cce, -1px -1px 0 #b16cce, -1px 0px 0 #b16cce, -1px 1px 0 #b16cce, -1px 2px 0 #b16cce, -1px 3px 0 #b16cce, -1px 4px 0 #b16cce, 0px -4px 0 #b16cce, 0px -3px 0 #b16cce, 0px -2px 0 #b16cce, 0px -1px 0 #b16cce, 0px 0px 0 #b16cce, 0px 1px 0 #b16cce, 0px 2px 0 #b16cce, 0px 3px 0 #b16cce, 0px 4px 0 #b16cce, 1px -4px 0 #b16cce, 1px -3px 0 #b16cce, 1px -2px 0 #b16cce, 1px -1px 0 #b16cce, 1px 0px 0 #b16cce, 1px 1px 0 #b16cce, 1px 2px 0 #b16cce, 1px 3px 0 #b16cce, 1px 4px 0 #b16cce, 2px -4px 0 #b16cce, 2px -3px 0 #b16cce, 2px -2px 0 #b16cce, 2px -1px 0 #b16cce, 2px 0px 0 #b16cce, 2px 1px 0 #b16cce, 2px 2px 0 #b16cce, 2px 3px 0 #b16cce, 2px 4px 0 #b16cce, 3px -4px 0 #b16cce, 3px -3px 0 #b16cce, 3px -2px 0 #b16cce, 3px -1px 0 #b16cce, 3px 0px 0 #b16cce, 3px 1px 0 #b16cce, 3px 2px 0 #b16cce, 3px 3px 0 #b16cce, 3px 4px 0 #b16cce, 4px -4px 0 #b16cce, 4px -3px 0 #b16cce, 4px -2px 0 #b16cce, 4px -1px 0 #b16cce, 4px 0px 0 #b16cce, 4px 1px 0 #b16cce, 4px 2px 0 #b16cce, 4px 3px 0 #b16cce, 4px 4px 0 #b16cce; }
|
||||
}
|
||||
|
||||
@keyframes sitenamehover {
|
||||
0% { text-shadow: -4px -4px 0 #b16cce, -4px -3px 0 #b16cce, -4px -2px 0 #b16cce, -4px -1px 0 #b16cce, -4px 0px 0 #b16cce, -4px 1px 0 #b16cce, -4px 2px 0 #b16cce, -4px 3px 0 #b16cce, -4px 4px 0 #b16cce, -3px -4px 0 #b16cce, -3px -3px 0 #b16cce, -3px -2px 0 #b16cce, -3px -1px 0 #b16cce, -3px 0px 0 #b16cce, -3px 1px 0 #b16cce, -3px 2px 0 #b16cce, -3px 3px 0 #b16cce, -3px 4px 0 #b16cce, -2px -4px 0 #b16cce, -2px -3px 0 #b16cce, -2px -2px 0 #b16cce, -2px -1px 0 #b16cce, -2px 0px 0 #b16cce, -2px 1px 0 #b16cce, -2px 2px 0 #b16cce, -2px 3px 0 #b16cce, -2px 4px 0 #b16cce, -1px -4px 0 #b16cce, -1px -3px 0 #b16cce, -1px -2px 0 #b16cce, -1px -1px 0 #b16cce, -1px 0px 0 #b16cce, -1px 1px 0 #b16cce, -1px 2px 0 #b16cce, -1px 3px 0 #b16cce, -1px 4px 0 #b16cce, 0px -4px 0 #b16cce, 0px -3px 0 #b16cce, 0px -2px 0 #b16cce, 0px -1px 0 #b16cce, 0px 0px 0 #b16cce, 0px 1px 0 #b16cce, 0px 2px 0 #b16cce, 0px 3px 0 #b16cce, 0px 4px 0 #b16cce, 1px -4px 0 #b16cce, 1px -3px 0 #b16cce, 1px -2px 0 #b16cce, 1px -1px 0 #b16cce, 1px 0px 0 #b16cce, 1px 1px 0 #b16cce, 1px 2px 0 #b16cce, 1px 3px 0 #b16cce, 1px 4px 0 #b16cce, 2px -4px 0 #b16cce, 2px -3px 0 #b16cce, 2px -2px 0 #b16cce, 2px -1px 0 #b16cce, 2px 0px 0 #b16cce, 2px 1px 0 #b16cce, 2px 2px 0 #b16cce, 2px 3px 0 #b16cce, 2px 4px 0 #b16cce, 3px -4px 0 #b16cce, 3px -3px 0 #b16cce, 3px -2px 0 #b16cce, 3px -1px 0 #b16cce, 3px 0px 0 #b16cce, 3px 1px 0 #b16cce, 3px 2px 0 #b16cce, 3px 3px 0 #b16cce, 3px 4px 0 #b16cce, 4px -4px 0 #b16cce, 4px -3px 0 #b16cce, 4px -2px 0 #b16cce, 4px -1px 0 #b16cce, 4px 0px 0 #b16cce, 4px 1px 0 #b16cce, 4px 2px 0 #b16cce, 4px 3px 0 #b16cce, 4px 4px 0 #b16cce; }
|
||||
25% { text-shadow: -4px -4px 0 #cb81ea, -4px -3px 0 #cb81ea, -4px -2px 0 #cb81ea, -4px -1px 0 #cb81ea, -4px 0px 0 #cb81ea, -4px 1px 0 #cb81ea, -4px 2px 0 #cb81ea, -4px 3px 0 #cb81ea, -4px 4px 0 #cb81ea, -3px -4px 0 #cb81ea, -3px -3px 0 #cb81ea, -3px -2px 0 #cb81ea, -3px -1px 0 #cb81ea, -3px 0px 0 #cb81ea, -3px 1px 0 #cb81ea, -3px 2px 0 #cb81ea, -3px 3px 0 #cb81ea, -3px 4px 0 #cb81ea, -2px -4px 0 #cb81ea, -2px -3px 0 #cb81ea, -2px -2px 0 #cb81ea, -2px -1px 0 #cb81ea, -2px 0px 0 #cb81ea, -2px 1px 0 #cb81ea, -2px 2px 0 #cb81ea, -2px 3px 0 #cb81ea, -2px 4px 0 #cb81ea, -1px -4px 0 #cb81ea, -1px -3px 0 #cb81ea, -1px -2px 0 #cb81ea, -1px -1px 0 #cb81ea, -1px 0px 0 #cb81ea, -1px 1px 0 #cb81ea, -1px 2px 0 #cb81ea, -1px 3px 0 #cb81ea, -1px 4px 0 #cb81ea, 0px -4px 0 #cb81ea, 0px -3px 0 #cb81ea, 0px -2px 0 #cb81ea, 0px -1px 0 #cb81ea, 0px 0px 0 #cb81ea, 0px 1px 0 #cb81ea, 0px 2px 0 #cb81ea, 0px 3px 0 #cb81ea, 0px 4px 0 #cb81ea, 1px -4px 0 #cb81ea, 1px -3px 0 #cb81ea, 1px -2px 0 #cb81ea, 1px -1px 0 #cb81ea, 1px 0px 0 #cb81ea, 1px 1px 0 #cb81ea, 1px 2px 0 #cb81ea, 1px 3px 0 #cb81ea, 1px 4px 0 #cb81ea, 2px -4px 0 #cb81ea, 2px -3px 0 #cb81ea, 2px -2px 0 #cb81ea, 2px -1px 0 #cb81ea, 2px 0px 0 #cb81ea, 2px 1px 0 #cb81ea, 2px 2px 0 #cb81ea, 2px 3px 0 #cb81ea, 2px 4px 0 #cb81ea, 3px -4px 0 #cb81ea, 3px -3px 0 #cb81ea, 3px -2px 0 #cb81ea, 3px -1px 0 #cb81ea, 3px 0px 0 #cb81ea, 3px 1px 0 #cb81ea, 3px 2px 0 #cb81ea, 3px 3px 0 #cb81ea, 3px 4px 0 #cb81ea, 4px -4px 0 #cb81ea, 4px -3px 0 #cb81ea, 4px -2px 0 #cb81ea, 4px -1px 0 #cb81ea, 4px 0px 0 #cb81ea, 4px 1px 0 #cb81ea, 4px 2px 0 #cb81ea, 4px 3px 0 #cb81ea, 4px 4px 0 #cb81ea; }
|
||||
50% { text-shadow: -4px -4px 0 #f1d0ff, -4px -3px 0 #f1d0ff, -4px -2px 0 #f1d0ff, -4px -1px 0 #f1d0ff, -4px 0px 0 #f1d0ff, -4px 1px 0 #f1d0ff, -4px 2px 0 #f1d0ff, -4px 3px 0 #f1d0ff, -4px 4px 0 #f1d0ff, -3px -4px 0 #f1d0ff, -3px -3px 0 #f1d0ff, -3px -2px 0 #f1d0ff, -3px -1px 0 #f1d0ff, -3px 0px 0 #f1d0ff, -3px 1px 0 #f1d0ff, -3px 2px 0 #f1d0ff, -3px 3px 0 #f1d0ff, -3px 4px 0 #f1d0ff, -2px -4px 0 #f1d0ff, -2px -3px 0 #f1d0ff, -2px -2px 0 #f1d0ff, -2px -1px 0 #f1d0ff, -2px 0px 0 #f1d0ff, -2px 1px 0 #f1d0ff, -2px 2px 0 #f1d0ff, -2px 3px 0 #f1d0ff, -2px 4px 0 #f1d0ff, -1px -4px 0 #f1d0ff, -1px -3px 0 #f1d0ff, -1px -2px 0 #f1d0ff, -1px -1px 0 #f1d0ff, -1px 0px 0 #f1d0ff, -1px 1px 0 #f1d0ff, -1px 2px 0 #f1d0ff, -1px 3px 0 #f1d0ff, -1px 4px 0 #f1d0ff, 0px -4px 0 #f1d0ff, 0px -3px 0 #f1d0ff, 0px -2px 0 #f1d0ff, 0px -1px 0 #f1d0ff, 0px 0px 0 #f1d0ff, 0px 1px 0 #f1d0ff, 0px 2px 0 #f1d0ff, 0px 3px 0 #f1d0ff, 0px 4px 0 #f1d0ff, 1px -4px 0 #f1d0ff, 1px -3px 0 #f1d0ff, 1px -2px 0 #f1d0ff, 1px -1px 0 #f1d0ff, 1px 0px 0 #f1d0ff, 1px 1px 0 #f1d0ff, 1px 2px 0 #f1d0ff, 1px 3px 0 #f1d0ff, 1px 4px 0 #f1d0ff, 2px -4px 0 #f1d0ff, 2px -3px 0 #f1d0ff, 2px -2px 0 #f1d0ff, 2px -1px 0 #f1d0ff, 2px 0px 0 #f1d0ff, 2px 1px 0 #f1d0ff, 2px 2px 0 #f1d0ff, 2px 3px 0 #f1d0ff, 2px 4px 0 #f1d0ff, 3px -4px 0 #f1d0ff, 3px -3px 0 #f1d0ff, 3px -2px 0 #f1d0ff, 3px -1px 0 #f1d0ff, 3px 0px 0 #f1d0ff, 3px 1px 0 #f1d0ff, 3px 2px 0 #f1d0ff, 3px 3px 0 #f1d0ff, 3px 4px 0 #f1d0ff, 4px -4px 0 #f1d0ff, 4px -3px 0 #f1d0ff, 4px -2px 0 #f1d0ff, 4px -1px 0 #f1d0ff, 4px 0px 0 #f1d0ff, 4px 1px 0 #f1d0ff, 4px 2px 0 #f1d0ff, 4px 3px 0 #f1d0ff, 4px 4px 0 #f1d0ff; }
|
||||
75% { text-shadow: -4px -4px 0 #cb81ea, -4px -3px 0 #cb81ea, -4px -2px 0 #cb81ea, -4px -1px 0 #cb81ea, -4px 0px 0 #cb81ea, -4px 1px 0 #cb81ea, -4px 2px 0 #cb81ea, -4px 3px 0 #cb81ea, -4px 4px 0 #cb81ea, -3px -4px 0 #cb81ea, -3px -3px 0 #cb81ea, -3px -2px 0 #cb81ea, -3px -1px 0 #cb81ea, -3px 0px 0 #cb81ea, -3px 1px 0 #cb81ea, -3px 2px 0 #cb81ea, -3px 3px 0 #cb81ea, -3px 4px 0 #cb81ea, -2px -4px 0 #cb81ea, -2px -3px 0 #cb81ea, -2px -2px 0 #cb81ea, -2px -1px 0 #cb81ea, -2px 0px 0 #cb81ea, -2px 1px 0 #cb81ea, -2px 2px 0 #cb81ea, -2px 3px 0 #cb81ea, -2px 4px 0 #cb81ea, -1px -4px 0 #cb81ea, -1px -3px 0 #cb81ea, -1px -2px 0 #cb81ea, -1px -1px 0 #cb81ea, -1px 0px 0 #cb81ea, -1px 1px 0 #cb81ea, -1px 2px 0 #cb81ea, -1px 3px 0 #cb81ea, -1px 4px 0 #cb81ea, 0px -4px 0 #cb81ea, 0px -3px 0 #cb81ea, 0px -2px 0 #cb81ea, 0px -1px 0 #cb81ea, 0px 0px 0 #cb81ea, 0px 1px 0 #cb81ea, 0px 2px 0 #cb81ea, 0px 3px 0 #cb81ea, 0px 4px 0 #cb81ea, 1px -4px 0 #cb81ea, 1px -3px 0 #cb81ea, 1px -2px 0 #cb81ea, 1px -1px 0 #cb81ea, 1px 0px 0 #cb81ea, 1px 1px 0 #cb81ea, 1px 2px 0 #cb81ea, 1px 3px 0 #cb81ea, 1px 4px 0 #cb81ea, 2px -4px 0 #cb81ea, 2px -3px 0 #cb81ea, 2px -2px 0 #cb81ea, 2px -1px 0 #cb81ea, 2px 0px 0 #cb81ea, 2px 1px 0 #cb81ea, 2px 2px 0 #cb81ea, 2px 3px 0 #cb81ea, 2px 4px 0 #cb81ea, 3px -4px 0 #cb81ea, 3px -3px 0 #cb81ea, 3px -2px 0 #cb81ea, 3px -1px 0 #cb81ea, 3px 0px 0 #cb81ea, 3px 1px 0 #cb81ea, 3px 2px 0 #cb81ea, 3px 3px 0 #cb81ea, 3px 4px 0 #cb81ea, 4px -4px 0 #cb81ea, 4px -3px 0 #cb81ea, 4px -2px 0 #cb81ea, 4px -1px 0 #cb81ea, 4px 0px 0 #cb81ea, 4px 1px 0 #cb81ea, 4px 2px 0 #cb81ea, 4px 3px 0 #cb81ea, 4px 4px 0 #cb81ea; }
|
||||
100% { text-shadow: -4px -4px 0 #b16cce, -4px -3px 0 #b16cce, -4px -2px 0 #b16cce, -4px -1px 0 #b16cce, -4px 0px 0 #b16cce, -4px 1px 0 #b16cce, -4px 2px 0 #b16cce, -4px 3px 0 #b16cce, -4px 4px 0 #b16cce, -3px -4px 0 #b16cce, -3px -3px 0 #b16cce, -3px -2px 0 #b16cce, -3px -1px 0 #b16cce, -3px 0px 0 #b16cce, -3px 1px 0 #b16cce, -3px 2px 0 #b16cce, -3px 3px 0 #b16cce, -3px 4px 0 #b16cce, -2px -4px 0 #b16cce, -2px -3px 0 #b16cce, -2px -2px 0 #b16cce, -2px -1px 0 #b16cce, -2px 0px 0 #b16cce, -2px 1px 0 #b16cce, -2px 2px 0 #b16cce, -2px 3px 0 #b16cce, -2px 4px 0 #b16cce, -1px -4px 0 #b16cce, -1px -3px 0 #b16cce, -1px -2px 0 #b16cce, -1px -1px 0 #b16cce, -1px 0px 0 #b16cce, -1px 1px 0 #b16cce, -1px 2px 0 #b16cce, -1px 3px 0 #b16cce, -1px 4px 0 #b16cce, 0px -4px 0 #b16cce, 0px -3px 0 #b16cce, 0px -2px 0 #b16cce, 0px -1px 0 #b16cce, 0px 0px 0 #b16cce, 0px 1px 0 #b16cce, 0px 2px 0 #b16cce, 0px 3px 0 #b16cce, 0px 4px 0 #b16cce, 1px -4px 0 #b16cce, 1px -3px 0 #b16cce, 1px -2px 0 #b16cce, 1px -1px 0 #b16cce, 1px 0px 0 #b16cce, 1px 1px 0 #b16cce, 1px 2px 0 #b16cce, 1px 3px 0 #b16cce, 1px 4px 0 #b16cce, 2px -4px 0 #b16cce, 2px -3px 0 #b16cce, 2px -2px 0 #b16cce, 2px -1px 0 #b16cce, 2px 0px 0 #b16cce, 2px 1px 0 #b16cce, 2px 2px 0 #b16cce, 2px 3px 0 #b16cce, 2px 4px 0 #b16cce, 3px -4px 0 #b16cce, 3px -3px 0 #b16cce, 3px -2px 0 #b16cce, 3px -1px 0 #b16cce, 3px 0px 0 #b16cce, 3px 1px 0 #b16cce, 3px 2px 0 #b16cce, 3px 3px 0 #b16cce, 3px 4px 0 #b16cce, 4px -4px 0 #b16cce, 4px -3px 0 #b16cce, 4px -2px 0 #b16cce, 4px -1px 0 #b16cce, 4px 0px 0 #b16cce, 4px 1px 0 #b16cce, 4px 2px 0 #b16cce, 4px 3px 0 #b16cce, 4px 4px 0 #b16cce; }
|
||||
}
|
||||
|
||||
.logo-c {
|
||||
font-size: 64px;
|
||||
font-weight: bolder;
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
transform: translate(-50%, -50%);
|
||||
text-shadow: -4px -4px 0 #b16cce, -4px -3px 0 #b16cce, -4px -2px 0 #b16cce, -4px -1px 0 #b16cce, -4px 0px 0 #b16cce, -4px 1px 0 #b16cce, -4px 2px 0 #b16cce, -4px 3px 0 #b16cce, -4px 4px 0 #b16cce, -3px -4px 0 #b16cce, -3px -3px 0 #b16cce, -3px -2px 0 #b16cce, -3px -1px 0 #b16cce, -3px 0px 0 #b16cce, -3px 1px 0 #b16cce, -3px 2px 0 #b16cce, -3px 3px 0 #b16cce, -3px 4px 0 #b16cce, -2px -4px 0 #b16cce, -2px -3px 0 #b16cce, -2px -2px 0 #b16cce, -2px -1px 0 #b16cce, -2px 0px 0 #b16cce, -2px 1px 0 #b16cce, -2px 2px 0 #b16cce, -2px 3px 0 #b16cce, -2px 4px 0 #b16cce, -1px -4px 0 #b16cce, -1px -3px 0 #b16cce, -1px -2px 0 #b16cce, -1px -1px 0 #b16cce, -1px 0px 0 #b16cce, -1px 1px 0 #b16cce, -1px 2px 0 #b16cce, -1px 3px 0 #b16cce, -1px 4px 0 #b16cce, 0px -4px 0 #b16cce, 0px -3px 0 #b16cce, 0px -2px 0 #b16cce, 0px -1px 0 #b16cce, 0px 0px 0 #b16cce, 0px 1px 0 #b16cce, 0px 2px 0 #b16cce, 0px 3px 0 #b16cce, 0px 4px 0 #b16cce, 1px -4px 0 #b16cce, 1px -3px 0 #b16cce, 1px -2px 0 #b16cce, 1px -1px 0 #b16cce, 1px 0px 0 #b16cce, 1px 1px 0 #b16cce, 1px 2px 0 #b16cce, 1px 3px 0 #b16cce, 1px 4px 0 #b16cce, 2px -4px 0 #b16cce, 2px -3px 0 #b16cce, 2px -2px 0 #b16cce, 2px -1px 0 #b16cce, 2px 0px 0 #b16cce, 2px 1px 0 #b16cce, 2px 2px 0 #b16cce, 2px 3px 0 #b16cce, 2px 4px 0 #b16cce, 3px -4px 0 #b16cce, 3px -3px 0 #b16cce, 3px -2px 0 #b16cce, 3px -1px 0 #b16cce, 3px 0px 0 #b16cce, 3px 1px 0 #b16cce, 3px 2px 0 #b16cce, 3px 3px 0 #b16cce, 3px 4px 0 #b16cce, 4px -4px 0 #b16cce, 4px -3px 0 #b16cce, 4px -2px 0 #b16cce, 4px -1px 0 #b16cce, 4px 0px 0 #b16cce, 4px 1px 0 #b16cce, 4px 2px 0 #b16cce, 4px 3px 0 #b16cce, 4px 4px 0 #b16cce;
|
||||
}
|
||||
|
||||
.logo-c:hover { animation: sitenamehover 2s linear infinite; }
|
||||
|
||||
@media (max-width : 1200px) {
|
||||
.logo-c { font-size: 32px; }
|
||||
}
|
||||
@media (max-width : 968px) {
|
||||
.logo-c { font-size: 20px; }
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
.logo-img { border: 2px solid #e93de9; box-shadow: 0 0 7px 3px #f31de8; }
|
||||
@-webkit-keyframes sitenamehover {
|
||||
0% { text-shadow: -4px -4px 0 #f31de8, -4px -3px 0 #f31de8, -4px -2px 0 #f31de8, -4px -1px 0 #f31de8, -4px 0px 0 #f31de8, -4px 1px 0 #f31de8, -4px 2px 0 #f31de8, -4px 3px 0 #f31de8, -4px 4px 0 #f31de8, -3px -4px 0 #f31de8, -3px -3px 0 #f31de8, -3px -2px 0 #f31de8, -3px -1px 0 #f31de8, -3px 0px 0 #f31de8, -3px 1px 0 #f31de8, -3px 2px 0 #f31de8, -3px 3px 0 #f31de8, -3px 4px 0 #f31de8, -2px -4px 0 #f31de8, -2px -3px 0 #f31de8, -2px -2px 0 #f31de8, -2px -1px 0 #f31de8, -2px 0px 0 #f31de8, -2px 1px 0 #f31de8, -2px 2px 0 #f31de8, -2px 3px 0 #f31de8, -2px 4px 0 #f31de8, -1px -4px 0 #f31de8, -1px -3px 0 #f31de8, -1px -2px 0 #f31de8, -1px -1px 0 #f31de8, -1px 0px 0 #f31de8, -1px 1px 0 #f31de8, -1px 2px 0 #f31de8, -1px 3px 0 #f31de8, -1px 4px 0 #f31de8, 0px -4px 0 #f31de8, 0px -3px 0 #f31de8, 0px -2px 0 #f31de8, 0px -1px 0 #f31de8, 0px 0px 0 #f31de8, 0px 1px 0 #f31de8, 0px 2px 0 #f31de8, 0px 3px 0 #f31de8, 0px 4px 0 #f31de8, 1px -4px 0 #f31de8, 1px -3px 0 #f31de8, 1px -2px 0 #f31de8, 1px -1px 0 #f31de8, 1px 0px 0 #f31de8, 1px 1px 0 #f31de8, 1px 2px 0 #f31de8, 1px 3px 0 #f31de8, 1px 4px 0 #f31de8, 2px -4px 0 #f31de8, 2px -3px 0 #f31de8, 2px -2px 0 #f31de8, 2px -1px 0 #f31de8, 2px 0px 0 #f31de8, 2px 1px 0 #f31de8, 2px 2px 0 #f31de8, 2px 3px 0 #f31de8, 2px 4px 0 #f31de8, 3px -4px 0 #f31de8, 3px -3px 0 #f31de8, 3px -2px 0 #f31de8, 3px -1px 0 #f31de8, 3px 0px 0 #f31de8, 3px 1px 0 #f31de8, 3px 2px 0 #f31de8, 3px 3px 0 #f31de8, 3px 4px 0 #f31de8, 4px -4px 0 #f31de8, 4px -3px 0 #f31de8, 4px -2px 0 #f31de8, 4px -1px 0 #f31de8, 4px 0px 0 #f31de8, 4px 1px 0 #f31de8, 4px 2px 0 #f31de8, 4px 3px 0 #f31de8, 4px 4px 0 #f31de8; }
|
||||
25% { text-shadow: -4px -4px 0 #e93de9, -4px -3px 0 #e93de9, -4px -2px 0 #e93de9, -4px -1px 0 #e93de9, -4px 0px 0 #e93de9, -4px 1px 0 #e93de9, -4px 2px 0 #e93de9, -4px 3px 0 #e93de9, -4px 4px 0 #e93de9, -3px -4px 0 #e93de9, -3px -3px 0 #e93de9, -3px -2px 0 #e93de9, -3px -1px 0 #e93de9, -3px 0px 0 #e93de9, -3px 1px 0 #e93de9, -3px 2px 0 #e93de9, -3px 3px 0 #e93de9, -3px 4px 0 #e93de9, -2px -4px 0 #e93de9, -2px -3px 0 #e93de9, -2px -2px 0 #e93de9, -2px -1px 0 #e93de9, -2px 0px 0 #e93de9, -2px 1px 0 #e93de9, -2px 2px 0 #e93de9, -2px 3px 0 #e93de9, -2px 4px 0 #e93de9, -1px -4px 0 #e93de9, -1px -3px 0 #e93de9, -1px -2px 0 #e93de9, -1px -1px 0 #e93de9, -1px 0px 0 #e93de9, -1px 1px 0 #e93de9, -1px 2px 0 #e93de9, -1px 3px 0 #e93de9, -1px 4px 0 #e93de9, 0px -4px 0 #e93de9, 0px -3px 0 #e93de9, 0px -2px 0 #e93de9, 0px -1px 0 #e93de9, 0px 0px 0 #e93de9, 0px 1px 0 #e93de9, 0px 2px 0 #e93de9, 0px 3px 0 #e93de9, 0px 4px 0 #e93de9, 1px -4px 0 #e93de9, 1px -3px 0 #e93de9, 1px -2px 0 #e93de9, 1px -1px 0 #e93de9, 1px 0px 0 #e93de9, 1px 1px 0 #e93de9, 1px 2px 0 #e93de9, 1px 3px 0 #e93de9, 1px 4px 0 #e93de9, 2px -4px 0 #e93de9, 2px -3px 0 #e93de9, 2px -2px 0 #e93de9, 2px -1px 0 #e93de9, 2px 0px 0 #e93de9, 2px 1px 0 #e93de9, 2px 2px 0 #e93de9, 2px 3px 0 #e93de9, 2px 4px 0 #e93de9, 3px -4px 0 #e93de9, 3px -3px 0 #e93de9, 3px -2px 0 #e93de9, 3px -1px 0 #e93de9, 3px 0px 0 #e93de9, 3px 1px 0 #e93de9, 3px 2px 0 #e93de9, 3px 3px 0 #e93de9, 3px 4px 0 #e93de9, 4px -4px 0 #e93de9, 4px -3px 0 #e93de9, 4px -2px 0 #e93de9, 4px -1px 0 #e93de9, 4px 0px 0 #e93de9, 4px 1px 0 #e93de9, 4px 2px 0 #e93de9, 4px 3px 0 #e93de9, 4px 4px 0 #e93de9; }
|
||||
50% { text-shadow: -4px -4px 0 #ffe6f9, -4px -3px 0 #ffe6f9, -4px -2px 0 #ffe6f9, -4px -1px 0 #ffe6f9, -4px 0px 0 #ffe6f9, -4px 1px 0 #ffe6f9, -4px 2px 0 #ffe6f9, -4px 3px 0 #ffe6f9, -4px 4px 0 #ffe6f9, -3px -4px 0 #ffe6f9, -3px -3px 0 #ffe6f9, -3px -2px 0 #ffe6f9, -3px -1px 0 #ffe6f9, -3px 0px 0 #ffe6f9, -3px 1px 0 #ffe6f9, -3px 2px 0 #ffe6f9, -3px 3px 0 #ffe6f9, -3px 4px 0 #ffe6f9, -2px -4px 0 #ffe6f9, -2px -3px 0 #ffe6f9, -2px -2px 0 #ffe6f9, -2px -1px 0 #ffe6f9, -2px 0px 0 #ffe6f9, -2px 1px 0 #ffe6f9, -2px 2px 0 #ffe6f9, -2px 3px 0 #ffe6f9, -2px 4px 0 #ffe6f9, -1px -4px 0 #ffe6f9, -1px -3px 0 #ffe6f9, -1px -2px 0 #ffe6f9, -1px -1px 0 #ffe6f9, -1px 0px 0 #ffe6f9, -1px 1px 0 #ffe6f9, -1px 2px 0 #ffe6f9, -1px 3px 0 #ffe6f9, -1px 4px 0 #ffe6f9, 0px -4px 0 #ffe6f9, 0px -3px 0 #ffe6f9, 0px -2px 0 #ffe6f9, 0px -1px 0 #ffe6f9, 0px 0px 0 #ffe6f9, 0px 1px 0 #ffe6f9, 0px 2px 0 #ffe6f9, 0px 3px 0 #ffe6f9, 0px 4px 0 #ffe6f9, 1px -4px 0 #ffe6f9, 1px -3px 0 #ffe6f9, 1px -2px 0 #ffe6f9, 1px -1px 0 #ffe6f9, 1px 0px 0 #ffe6f9, 1px 1px 0 #ffe6f9, 1px 2px 0 #ffe6f9, 1px 3px 0 #ffe6f9, 1px 4px 0 #ffe6f9, 2px -4px 0 #ffe6f9, 2px -3px 0 #ffe6f9, 2px -2px 0 #ffe6f9, 2px -1px 0 #ffe6f9, 2px 0px 0 #ffe6f9, 2px 1px 0 #ffe6f9, 2px 2px 0 #ffe6f9, 2px 3px 0 #ffe6f9, 2px 4px 0 #ffe6f9, 3px -4px 0 #ffe6f9, 3px -3px 0 #ffe6f9, 3px -2px 0 #ffe6f9, 3px -1px 0 #ffe6f9, 3px 0px 0 #ffe6f9, 3px 1px 0 #ffe6f9, 3px 2px 0 #ffe6f9, 3px 3px 0 #ffe6f9, 3px 4px 0 #ffe6f9, 4px -4px 0 #ffe6f9, 4px -3px 0 #ffe6f9, 4px -2px 0 #ffe6f9, 4px -1px 0 #ffe6f9, 4px 0px 0 #ffe6f9, 4px 1px 0 #ffe6f9, 4px 2px 0 #ffe6f9, 4px 3px 0 #ffe6f9, 4px 4px 0 #ffe6f9; }
|
||||
75% { text-shadow: -4px -4px 0 #e93de9, -4px -3px 0 #e93de9, -4px -2px 0 #e93de9, -4px -1px 0 #e93de9, -4px 0px 0 #e93de9, -4px 1px 0 #e93de9, -4px 2px 0 #e93de9, -4px 3px 0 #e93de9, -4px 4px 0 #e93de9, -3px -4px 0 #e93de9, -3px -3px 0 #e93de9, -3px -2px 0 #e93de9, -3px -1px 0 #e93de9, -3px 0px 0 #e93de9, -3px 1px 0 #e93de9, -3px 2px 0 #e93de9, -3px 3px 0 #e93de9, -3px 4px 0 #e93de9, -2px -4px 0 #e93de9, -2px -3px 0 #e93de9, -2px -2px 0 #e93de9, -2px -1px 0 #e93de9, -2px 0px 0 #e93de9, -2px 1px 0 #e93de9, -2px 2px 0 #e93de9, -2px 3px 0 #e93de9, -2px 4px 0 #e93de9, -1px -4px 0 #e93de9, -1px -3px 0 #e93de9, -1px -2px 0 #e93de9, -1px -1px 0 #e93de9, -1px 0px 0 #e93de9, -1px 1px 0 #e93de9, -1px 2px 0 #e93de9, -1px 3px 0 #e93de9, -1px 4px 0 #e93de9, 0px -4px 0 #e93de9, 0px -3px 0 #e93de9, 0px -2px 0 #e93de9, 0px -1px 0 #e93de9, 0px 0px 0 #e93de9, 0px 1px 0 #e93de9, 0px 2px 0 #e93de9, 0px 3px 0 #e93de9, 0px 4px 0 #e93de9, 1px -4px 0 #e93de9, 1px -3px 0 #e93de9, 1px -2px 0 #e93de9, 1px -1px 0 #e93de9, 1px 0px 0 #e93de9, 1px 1px 0 #e93de9, 1px 2px 0 #e93de9, 1px 3px 0 #e93de9, 1px 4px 0 #e93de9, 2px -4px 0 #e93de9, 2px -3px 0 #e93de9, 2px -2px 0 #e93de9, 2px -1px 0 #e93de9, 2px 0px 0 #e93de9, 2px 1px 0 #e93de9, 2px 2px 0 #e93de9, 2px 3px 0 #e93de9, 2px 4px 0 #e93de9, 3px -4px 0 #e93de9, 3px -3px 0 #e93de9, 3px -2px 0 #e93de9, 3px -1px 0 #e93de9, 3px 0px 0 #e93de9, 3px 1px 0 #e93de9, 3px 2px 0 #e93de9, 3px 3px 0 #e93de9, 3px 4px 0 #e93de9, 4px -4px 0 #e93de9, 4px -3px 0 #e93de9, 4px -2px 0 #e93de9, 4px -1px 0 #e93de9, 4px 0px 0 #e93de9, 4px 1px 0 #e93de9, 4px 2px 0 #e93de9, 4px 3px 0 #e93de9, 4px 4px 0 #e93de9; }
|
||||
100% { text-shadow: -4px -4px 0 #f31de8, -4px -3px 0 #f31de8, -4px -2px 0 #f31de8, -4px -1px 0 #f31de8, -4px 0px 0 #f31de8, -4px 1px 0 #f31de8, -4px 2px 0 #f31de8, -4px 3px 0 #f31de8, -4px 4px 0 #f31de8, -3px -4px 0 #f31de8, -3px -3px 0 #f31de8, -3px -2px 0 #f31de8, -3px -1px 0 #f31de8, -3px 0px 0 #f31de8, -3px 1px 0 #f31de8, -3px 2px 0 #f31de8, -3px 3px 0 #f31de8, -3px 4px 0 #f31de8, -2px -4px 0 #f31de8, -2px -3px 0 #f31de8, -2px -2px 0 #f31de8, -2px -1px 0 #f31de8, -2px 0px 0 #f31de8, -2px 1px 0 #f31de8, -2px 2px 0 #f31de8, -2px 3px 0 #f31de8, -2px 4px 0 #f31de8, -1px -4px 0 #f31de8, -1px -3px 0 #f31de8, -1px -2px 0 #f31de8, -1px -1px 0 #f31de8, -1px 0px 0 #f31de8, -1px 1px 0 #f31de8, -1px 2px 0 #f31de8, -1px 3px 0 #f31de8, -1px 4px 0 #f31de8, 0px -4px 0 #f31de8, 0px -3px 0 #f31de8, 0px -2px 0 #f31de8, 0px -1px 0 #f31de8, 0px 0px 0 #f31de8, 0px 1px 0 #f31de8, 0px 2px 0 #f31de8, 0px 3px 0 #f31de8, 0px 4px 0 #f31de8, 1px -4px 0 #f31de8, 1px -3px 0 #f31de8, 1px -2px 0 #f31de8, 1px -1px 0 #f31de8, 1px 0px 0 #f31de8, 1px 1px 0 #f31de8, 1px 2px 0 #f31de8, 1px 3px 0 #f31de8, 1px 4px 0 #f31de8, 2px -4px 0 #f31de8, 2px -3px 0 #f31de8, 2px -2px 0 #f31de8, 2px -1px 0 #f31de8, 2px 0px 0 #f31de8, 2px 1px 0 #f31de8, 2px 2px 0 #f31de8, 2px 3px 0 #f31de8, 2px 4px 0 #f31de8, 3px -4px 0 #f31de8, 3px -3px 0 #f31de8, 3px -2px 0 #f31de8, 3px -1px 0 #f31de8, 3px 0px 0 #f31de8, 3px 1px 0 #f31de8, 3px 2px 0 #f31de8, 3px 3px 0 #f31de8, 3px 4px 0 #f31de8, 4px -4px 0 #f31de8, 4px -3px 0 #f31de8, 4px -2px 0 #f31de8, 4px -1px 0 #f31de8, 4px 0px 0 #f31de8, 4px 1px 0 #f31de8, 4px 2px 0 #f31de8, 4px 3px 0 #f31de8, 4px 4px 0 #f31de8; }
|
||||
}
|
||||
@keyframes sitenamehover {
|
||||
0% { text-shadow: -4px -4px 0 #f31de8, -4px -3px 0 #f31de8, -4px -2px 0 #f31de8, -4px -1px 0 #f31de8, -4px 0px 0 #f31de8, -4px 1px 0 #f31de8, -4px 2px 0 #f31de8, -4px 3px 0 #f31de8, -4px 4px 0 #f31de8, -3px -4px 0 #f31de8, -3px -3px 0 #f31de8, -3px -2px 0 #f31de8, -3px -1px 0 #f31de8, -3px 0px 0 #f31de8, -3px 1px 0 #f31de8, -3px 2px 0 #f31de8, -3px 3px 0 #f31de8, -3px 4px 0 #f31de8, -2px -4px 0 #f31de8, -2px -3px 0 #f31de8, -2px -2px 0 #f31de8, -2px -1px 0 #f31de8, -2px 0px 0 #f31de8, -2px 1px 0 #f31de8, -2px 2px 0 #f31de8, -2px 3px 0 #f31de8, -2px 4px 0 #f31de8, -1px -4px 0 #f31de8, -1px -3px 0 #f31de8, -1px -2px 0 #f31de8, -1px -1px 0 #f31de8, -1px 0px 0 #f31de8, -1px 1px 0 #f31de8, -1px 2px 0 #f31de8, -1px 3px 0 #f31de8, -1px 4px 0 #f31de8, 0px -4px 0 #f31de8, 0px -3px 0 #f31de8, 0px -2px 0 #f31de8, 0px -1px 0 #f31de8, 0px 0px 0 #f31de8, 0px 1px 0 #f31de8, 0px 2px 0 #f31de8, 0px 3px 0 #f31de8, 0px 4px 0 #f31de8, 1px -4px 0 #f31de8, 1px -3px 0 #f31de8, 1px -2px 0 #f31de8, 1px -1px 0 #f31de8, 1px 0px 0 #f31de8, 1px 1px 0 #f31de8, 1px 2px 0 #f31de8, 1px 3px 0 #f31de8, 1px 4px 0 #f31de8, 2px -4px 0 #f31de8, 2px -3px 0 #f31de8, 2px -2px 0 #f31de8, 2px -1px 0 #f31de8, 2px 0px 0 #f31de8, 2px 1px 0 #f31de8, 2px 2px 0 #f31de8, 2px 3px 0 #f31de8, 2px 4px 0 #f31de8, 3px -4px 0 #f31de8, 3px -3px 0 #f31de8, 3px -2px 0 #f31de8, 3px -1px 0 #f31de8, 3px 0px 0 #f31de8, 3px 1px 0 #f31de8, 3px 2px 0 #f31de8, 3px 3px 0 #f31de8, 3px 4px 0 #f31de8, 4px -4px 0 #f31de8, 4px -3px 0 #f31de8, 4px -2px 0 #f31de8, 4px -1px 0 #f31de8, 4px 0px 0 #f31de8, 4px 1px 0 #f31de8, 4px 2px 0 #f31de8, 4px 3px 0 #f31de8, 4px 4px 0 #f31de8; }
|
||||
25% { text-shadow: -4px -4px 0 #e93de9, -4px -3px 0 #e93de9, -4px -2px 0 #e93de9, -4px -1px 0 #e93de9, -4px 0px 0 #e93de9, -4px 1px 0 #e93de9, -4px 2px 0 #e93de9, -4px 3px 0 #e93de9, -4px 4px 0 #e93de9, -3px -4px 0 #e93de9, -3px -3px 0 #e93de9, -3px -2px 0 #e93de9, -3px -1px 0 #e93de9, -3px 0px 0 #e93de9, -3px 1px 0 #e93de9, -3px 2px 0 #e93de9, -3px 3px 0 #e93de9, -3px 4px 0 #e93de9, -2px -4px 0 #e93de9, -2px -3px 0 #e93de9, -2px -2px 0 #e93de9, -2px -1px 0 #e93de9, -2px 0px 0 #e93de9, -2px 1px 0 #e93de9, -2px 2px 0 #e93de9, -2px 3px 0 #e93de9, -2px 4px 0 #e93de9, -1px -4px 0 #e93de9, -1px -3px 0 #e93de9, -1px -2px 0 #e93de9, -1px -1px 0 #e93de9, -1px 0px 0 #e93de9, -1px 1px 0 #e93de9, -1px 2px 0 #e93de9, -1px 3px 0 #e93de9, -1px 4px 0 #e93de9, 0px -4px 0 #e93de9, 0px -3px 0 #e93de9, 0px -2px 0 #e93de9, 0px -1px 0 #e93de9, 0px 0px 0 #e93de9, 0px 1px 0 #e93de9, 0px 2px 0 #e93de9, 0px 3px 0 #e93de9, 0px 4px 0 #e93de9, 1px -4px 0 #e93de9, 1px -3px 0 #e93de9, 1px -2px 0 #e93de9, 1px -1px 0 #e93de9, 1px 0px 0 #e93de9, 1px 1px 0 #e93de9, 1px 2px 0 #e93de9, 1px 3px 0 #e93de9, 1px 4px 0 #e93de9, 2px -4px 0 #e93de9, 2px -3px 0 #e93de9, 2px -2px 0 #e93de9, 2px -1px 0 #e93de9, 2px 0px 0 #e93de9, 2px 1px 0 #e93de9, 2px 2px 0 #e93de9, 2px 3px 0 #e93de9, 2px 4px 0 #e93de9, 3px -4px 0 #e93de9, 3px -3px 0 #e93de9, 3px -2px 0 #e93de9, 3px -1px 0 #e93de9, 3px 0px 0 #e93de9, 3px 1px 0 #e93de9, 3px 2px 0 #e93de9, 3px 3px 0 #e93de9, 3px 4px 0 #e93de9, 4px -4px 0 #e93de9, 4px -3px 0 #e93de9, 4px -2px 0 #e93de9, 4px -1px 0 #e93de9, 4px 0px 0 #e93de9, 4px 1px 0 #e93de9, 4px 2px 0 #e93de9, 4px 3px 0 #e93de9, 4px 4px 0 #e93de9; }
|
||||
50% { text-shadow: -4px -4px 0 #ffe6f9, -4px -3px 0 #ffe6f9, -4px -2px 0 #ffe6f9, -4px -1px 0 #ffe6f9, -4px 0px 0 #ffe6f9, -4px 1px 0 #ffe6f9, -4px 2px 0 #ffe6f9, -4px 3px 0 #ffe6f9, -4px 4px 0 #ffe6f9, -3px -4px 0 #ffe6f9, -3px -3px 0 #ffe6f9, -3px -2px 0 #ffe6f9, -3px -1px 0 #ffe6f9, -3px 0px 0 #ffe6f9, -3px 1px 0 #ffe6f9, -3px 2px 0 #ffe6f9, -3px 3px 0 #ffe6f9, -3px 4px 0 #ffe6f9, -2px -4px 0 #ffe6f9, -2px -3px 0 #ffe6f9, -2px -2px 0 #ffe6f9, -2px -1px 0 #ffe6f9, -2px 0px 0 #ffe6f9, -2px 1px 0 #ffe6f9, -2px 2px 0 #ffe6f9, -2px 3px 0 #ffe6f9, -2px 4px 0 #ffe6f9, -1px -4px 0 #ffe6f9, -1px -3px 0 #ffe6f9, -1px -2px 0 #ffe6f9, -1px -1px 0 #ffe6f9, -1px 0px 0 #ffe6f9, -1px 1px 0 #ffe6f9, -1px 2px 0 #ffe6f9, -1px 3px 0 #ffe6f9, -1px 4px 0 #ffe6f9, 0px -4px 0 #ffe6f9, 0px -3px 0 #ffe6f9, 0px -2px 0 #ffe6f9, 0px -1px 0 #ffe6f9, 0px 0px 0 #ffe6f9, 0px 1px 0 #ffe6f9, 0px 2px 0 #ffe6f9, 0px 3px 0 #ffe6f9, 0px 4px 0 #ffe6f9, 1px -4px 0 #ffe6f9, 1px -3px 0 #ffe6f9, 1px -2px 0 #ffe6f9, 1px -1px 0 #ffe6f9, 1px 0px 0 #ffe6f9, 1px 1px 0 #ffe6f9, 1px 2px 0 #ffe6f9, 1px 3px 0 #ffe6f9, 1px 4px 0 #ffe6f9, 2px -4px 0 #ffe6f9, 2px -3px 0 #ffe6f9, 2px -2px 0 #ffe6f9, 2px -1px 0 #ffe6f9, 2px 0px 0 #ffe6f9, 2px 1px 0 #ffe6f9, 2px 2px 0 #ffe6f9, 2px 3px 0 #ffe6f9, 2px 4px 0 #ffe6f9, 3px -4px 0 #ffe6f9, 3px -3px 0 #ffe6f9, 3px -2px 0 #ffe6f9, 3px -1px 0 #ffe6f9, 3px 0px 0 #ffe6f9, 3px 1px 0 #ffe6f9, 3px 2px 0 #ffe6f9, 3px 3px 0 #ffe6f9, 3px 4px 0 #ffe6f9, 4px -4px 0 #ffe6f9, 4px -3px 0 #ffe6f9, 4px -2px 0 #ffe6f9, 4px -1px 0 #ffe6f9, 4px 0px 0 #ffe6f9, 4px 1px 0 #ffe6f9, 4px 2px 0 #ffe6f9, 4px 3px 0 #ffe6f9, 4px 4px 0 #ffe6f9; }
|
||||
75% { text-shadow: -4px -4px 0 #e93de9, -4px -3px 0 #e93de9, -4px -2px 0 #e93de9, -4px -1px 0 #e93de9, -4px 0px 0 #e93de9, -4px 1px 0 #e93de9, -4px 2px 0 #e93de9, -4px 3px 0 #e93de9, -4px 4px 0 #e93de9, -3px -4px 0 #e93de9, -3px -3px 0 #e93de9, -3px -2px 0 #e93de9, -3px -1px 0 #e93de9, -3px 0px 0 #e93de9, -3px 1px 0 #e93de9, -3px 2px 0 #e93de9, -3px 3px 0 #e93de9, -3px 4px 0 #e93de9, -2px -4px 0 #e93de9, -2px -3px 0 #e93de9, -2px -2px 0 #e93de9, -2px -1px 0 #e93de9, -2px 0px 0 #e93de9, -2px 1px 0 #e93de9, -2px 2px 0 #e93de9, -2px 3px 0 #e93de9, -2px 4px 0 #e93de9, -1px -4px 0 #e93de9, -1px -3px 0 #e93de9, -1px -2px 0 #e93de9, -1px -1px 0 #e93de9, -1px 0px 0 #e93de9, -1px 1px 0 #e93de9, -1px 2px 0 #e93de9, -1px 3px 0 #e93de9, -1px 4px 0 #e93de9, 0px -4px 0 #e93de9, 0px -3px 0 #e93de9, 0px -2px 0 #e93de9, 0px -1px 0 #e93de9, 0px 0px 0 #e93de9, 0px 1px 0 #e93de9, 0px 2px 0 #e93de9, 0px 3px 0 #e93de9, 0px 4px 0 #e93de9, 1px -4px 0 #e93de9, 1px -3px 0 #e93de9, 1px -2px 0 #e93de9, 1px -1px 0 #e93de9, 1px 0px 0 #e93de9, 1px 1px 0 #e93de9, 1px 2px 0 #e93de9, 1px 3px 0 #e93de9, 1px 4px 0 #e93de9, 2px -4px 0 #e93de9, 2px -3px 0 #e93de9, 2px -2px 0 #e93de9, 2px -1px 0 #e93de9, 2px 0px 0 #e93de9, 2px 1px 0 #e93de9, 2px 2px 0 #e93de9, 2px 3px 0 #e93de9, 2px 4px 0 #e93de9, 3px -4px 0 #e93de9, 3px -3px 0 #e93de9, 3px -2px 0 #e93de9, 3px -1px 0 #e93de9, 3px 0px 0 #e93de9, 3px 1px 0 #e93de9, 3px 2px 0 #e93de9, 3px 3px 0 #e93de9, 3px 4px 0 #e93de9, 4px -4px 0 #e93de9, 4px -3px 0 #e93de9, 4px -2px 0 #e93de9, 4px -1px 0 #e93de9, 4px 0px 0 #e93de9, 4px 1px 0 #e93de9, 4px 2px 0 #e93de9, 4px 3px 0 #e93de9, 4px 4px 0 #e93de9; }
|
||||
100% { text-shadow: -4px -4px 0 #f31de8, -4px -3px 0 #f31de8, -4px -2px 0 #f31de8, -4px -1px 0 #f31de8, -4px 0px 0 #f31de8, -4px 1px 0 #f31de8, -4px 2px 0 #f31de8, -4px 3px 0 #f31de8, -4px 4px 0 #f31de8, -3px -4px 0 #f31de8, -3px -3px 0 #f31de8, -3px -2px 0 #f31de8, -3px -1px 0 #f31de8, -3px 0px 0 #f31de8, -3px 1px 0 #f31de8, -3px 2px 0 #f31de8, -3px 3px 0 #f31de8, -3px 4px 0 #f31de8, -2px -4px 0 #f31de8, -2px -3px 0 #f31de8, -2px -2px 0 #f31de8, -2px -1px 0 #f31de8, -2px 0px 0 #f31de8, -2px 1px 0 #f31de8, -2px 2px 0 #f31de8, -2px 3px 0 #f31de8, -2px 4px 0 #f31de8, -1px -4px 0 #f31de8, -1px -3px 0 #f31de8, -1px -2px 0 #f31de8, -1px -1px 0 #f31de8, -1px 0px 0 #f31de8, -1px 1px 0 #f31de8, -1px 2px 0 #f31de8, -1px 3px 0 #f31de8, -1px 4px 0 #f31de8, 0px -4px 0 #f31de8, 0px -3px 0 #f31de8, 0px -2px 0 #f31de8, 0px -1px 0 #f31de8, 0px 0px 0 #f31de8, 0px 1px 0 #f31de8, 0px 2px 0 #f31de8, 0px 3px 0 #f31de8, 0px 4px 0 #f31de8, 1px -4px 0 #f31de8, 1px -3px 0 #f31de8, 1px -2px 0 #f31de8, 1px -1px 0 #f31de8, 1px 0px 0 #f31de8, 1px 1px 0 #f31de8, 1px 2px 0 #f31de8, 1px 3px 0 #f31de8, 1px 4px 0 #f31de8, 2px -4px 0 #f31de8, 2px -3px 0 #f31de8, 2px -2px 0 #f31de8, 2px -1px 0 #f31de8, 2px 0px 0 #f31de8, 2px 1px 0 #f31de8, 2px 2px 0 #f31de8, 2px 3px 0 #f31de8, 2px 4px 0 #f31de8, 3px -4px 0 #f31de8, 3px -3px 0 #f31de8, 3px -2px 0 #f31de8, 3px -1px 0 #f31de8, 3px 0px 0 #f31de8, 3px 1px 0 #f31de8, 3px 2px 0 #f31de8, 3px 3px 0 #f31de8, 3px 4px 0 #f31de8, 4px -4px 0 #f31de8, 4px -3px 0 #f31de8, 4px -2px 0 #f31de8, 4px -1px 0 #f31de8, 4px 0px 0 #f31de8, 4px 1px 0 #f31de8, 4px 2px 0 #f31de8, 4px 3px 0 #f31de8, 4px 4px 0 #f31de8; }
|
||||
}
|
||||
.logo-c { text-shadow: -4px -4px 0 #f31de8, -4px -3px 0 #f31de8, -4px -2px 0 #f31de8, -4px -1px 0 #f31de8, -4px 0px 0 #f31de8, -4px 1px 0 #f31de8, -4px 2px 0 #f31de8, -4px 3px 0 #f31de8, -4px 4px 0 #f31de8, -3px -4px 0 #f31de8, -3px -3px 0 #f31de8, -3px -2px 0 #f31de8, -3px -1px 0 #f31de8, -3px 0px 0 #f31de8, -3px 1px 0 #f31de8, -3px 2px 0 #f31de8, -3px 3px 0 #f31de8, -3px 4px 0 #f31de8, -2px -4px 0 #f31de8, -2px -3px 0 #f31de8, -2px -2px 0 #f31de8, -2px -1px 0 #f31de8, -2px 0px 0 #f31de8, -2px 1px 0 #f31de8, -2px 2px 0 #f31de8, -2px 3px 0 #f31de8, -2px 4px 0 #f31de8, -1px -4px 0 #f31de8, -1px -3px 0 #f31de8, -1px -2px 0 #f31de8, -1px -1px 0 #f31de8, -1px 0px 0 #f31de8, -1px 1px 0 #f31de8, -1px 2px 0 #f31de8, -1px 3px 0 #f31de8, -1px 4px 0 #f31de8, 0px -4px 0 #f31de8, 0px -3px 0 #f31de8, 0px -2px 0 #f31de8, 0px -1px 0 #f31de8, 0px 0px 0 #f31de8, 0px 1px 0 #f31de8, 0px 2px 0 #f31de8, 0px 3px 0 #f31de8, 0px 4px 0 #f31de8, 1px -4px 0 #f31de8, 1px -3px 0 #f31de8, 1px -2px 0 #f31de8, 1px -1px 0 #f31de8, 1px 0px 0 #f31de8, 1px 1px 0 #f31de8, 1px 2px 0 #f31de8, 1px 3px 0 #f31de8, 1px 4px 0 #f31de8, 2px -4px 0 #f31de8, 2px -3px 0 #f31de8, 2px -2px 0 #f31de8, 2px -1px 0 #f31de8, 2px 0px 0 #f31de8, 2px 1px 0 #f31de8, 2px 2px 0 #f31de8, 2px 3px 0 #f31de8, 2px 4px 0 #f31de8, 3px -4px 0 #f31de8, 3px -3px 0 #f31de8, 3px -2px 0 #f31de8, 3px -1px 0 #f31de8, 3px 0px 0 #f31de8, 3px 1px 0 #f31de8, 3px 2px 0 #f31de8, 3px 3px 0 #f31de8, 3px 4px 0 #f31de8, 4px -4px 0 #f31de8, 4px -3px 0 #f31de8, 4px -2px 0 #f31de8, 4px -1px 0 #f31de8, 4px 0px 0 #f31de8, 4px 1px 0 #f31de8, 4px 2px 0 #f31de8, 4px 3px 0 #f31de8, 4px 4px 0 #f31de8; }
|
|
@ -0,0 +1,16 @@
|
|||
.logo-img { border: 2px solid #3daee9; box-shadow: 0 0 7px 3px #1d99f3; }
|
||||
@-webkit-keyframes sitenamehover {
|
||||
0% { text-shadow: -4px -4px 0 #1d99f3, -4px -3px 0 #1d99f3, -4px -2px 0 #1d99f3, -4px -1px 0 #1d99f3, -4px 0px 0 #1d99f3, -4px 1px 0 #1d99f3, -4px 2px 0 #1d99f3, -4px 3px 0 #1d99f3, -4px 4px 0 #1d99f3, -3px -4px 0 #1d99f3, -3px -3px 0 #1d99f3, -3px -2px 0 #1d99f3, -3px -1px 0 #1d99f3, -3px 0px 0 #1d99f3, -3px 1px 0 #1d99f3, -3px 2px 0 #1d99f3, -3px 3px 0 #1d99f3, -3px 4px 0 #1d99f3, -2px -4px 0 #1d99f3, -2px -3px 0 #1d99f3, -2px -2px 0 #1d99f3, -2px -1px 0 #1d99f3, -2px 0px 0 #1d99f3, -2px 1px 0 #1d99f3, -2px 2px 0 #1d99f3, -2px 3px 0 #1d99f3, -2px 4px 0 #1d99f3, -1px -4px 0 #1d99f3, -1px -3px 0 #1d99f3, -1px -2px 0 #1d99f3, -1px -1px 0 #1d99f3, -1px 0px 0 #1d99f3, -1px 1px 0 #1d99f3, -1px 2px 0 #1d99f3, -1px 3px 0 #1d99f3, -1px 4px 0 #1d99f3, 0px -4px 0 #1d99f3, 0px -3px 0 #1d99f3, 0px -2px 0 #1d99f3, 0px -1px 0 #1d99f3, 0px 0px 0 #1d99f3, 0px 1px 0 #1d99f3, 0px 2px 0 #1d99f3, 0px 3px 0 #1d99f3, 0px 4px 0 #1d99f3, 1px -4px 0 #1d99f3, 1px -3px 0 #1d99f3, 1px -2px 0 #1d99f3, 1px -1px 0 #1d99f3, 1px 0px 0 #1d99f3, 1px 1px 0 #1d99f3, 1px 2px 0 #1d99f3, 1px 3px 0 #1d99f3, 1px 4px 0 #1d99f3, 2px -4px 0 #1d99f3, 2px -3px 0 #1d99f3, 2px -2px 0 #1d99f3, 2px -1px 0 #1d99f3, 2px 0px 0 #1d99f3, 2px 1px 0 #1d99f3, 2px 2px 0 #1d99f3, 2px 3px 0 #1d99f3, 2px 4px 0 #1d99f3, 3px -4px 0 #1d99f3, 3px -3px 0 #1d99f3, 3px -2px 0 #1d99f3, 3px -1px 0 #1d99f3, 3px 0px 0 #1d99f3, 3px 1px 0 #1d99f3, 3px 2px 0 #1d99f3, 3px 3px 0 #1d99f3, 3px 4px 0 #1d99f3, 4px -4px 0 #1d99f3, 4px -3px 0 #1d99f3, 4px -2px 0 #1d99f3, 4px -1px 0 #1d99f3, 4px 0px 0 #1d99f3, 4px 1px 0 #1d99f3, 4px 2px 0 #1d99f3, 4px 3px 0 #1d99f3, 4px 4px 0 #1d99f3; }
|
||||
25% { text-shadow: -4px -4px 0 #3daee9, -4px -3px 0 #3daee9, -4px -2px 0 #3daee9, -4px -1px 0 #3daee9, -4px 0px 0 #3daee9, -4px 1px 0 #3daee9, -4px 2px 0 #3daee9, -4px 3px 0 #3daee9, -4px 4px 0 #3daee9, -3px -4px 0 #3daee9, -3px -3px 0 #3daee9, -3px -2px 0 #3daee9, -3px -1px 0 #3daee9, -3px 0px 0 #3daee9, -3px 1px 0 #3daee9, -3px 2px 0 #3daee9, -3px 3px 0 #3daee9, -3px 4px 0 #3daee9, -2px -4px 0 #3daee9, -2px -3px 0 #3daee9, -2px -2px 0 #3daee9, -2px -1px 0 #3daee9, -2px 0px 0 #3daee9, -2px 1px 0 #3daee9, -2px 2px 0 #3daee9, -2px 3px 0 #3daee9, -2px 4px 0 #3daee9, -1px -4px 0 #3daee9, -1px -3px 0 #3daee9, -1px -2px 0 #3daee9, -1px -1px 0 #3daee9, -1px 0px 0 #3daee9, -1px 1px 0 #3daee9, -1px 2px 0 #3daee9, -1px 3px 0 #3daee9, -1px 4px 0 #3daee9, 0px -4px 0 #3daee9, 0px -3px 0 #3daee9, 0px -2px 0 #3daee9, 0px -1px 0 #3daee9, 0px 0px 0 #3daee9, 0px 1px 0 #3daee9, 0px 2px 0 #3daee9, 0px 3px 0 #3daee9, 0px 4px 0 #3daee9, 1px -4px 0 #3daee9, 1px -3px 0 #3daee9, 1px -2px 0 #3daee9, 1px -1px 0 #3daee9, 1px 0px 0 #3daee9, 1px 1px 0 #3daee9, 1px 2px 0 #3daee9, 1px 3px 0 #3daee9, 1px 4px 0 #3daee9, 2px -4px 0 #3daee9, 2px -3px 0 #3daee9, 2px -2px 0 #3daee9, 2px -1px 0 #3daee9, 2px 0px 0 #3daee9, 2px 1px 0 #3daee9, 2px 2px 0 #3daee9, 2px 3px 0 #3daee9, 2px 4px 0 #3daee9, 3px -4px 0 #3daee9, 3px -3px 0 #3daee9, 3px -2px 0 #3daee9, 3px -1px 0 #3daee9, 3px 0px 0 #3daee9, 3px 1px 0 #3daee9, 3px 2px 0 #3daee9, 3px 3px 0 #3daee9, 3px 4px 0 #3daee9, 4px -4px 0 #3daee9, 4px -3px 0 #3daee9, 4px -2px 0 #3daee9, 4px -1px 0 #3daee9, 4px 0px 0 #3daee9, 4px 1px 0 #3daee9, 4px 2px 0 #3daee9, 4px 3px 0 #3daee9, 4px 4px 0 #3daee9; }
|
||||
50% { text-shadow: -4px -4px 0 #9ed6ff, -4px -3px 0 #9ed6ff, -4px -2px 0 #9ed6ff, -4px -1px 0 #9ed6ff, -4px 0px 0 #9ed6ff, -4px 1px 0 #9ed6ff, -4px 2px 0 #9ed6ff, -4px 3px 0 #9ed6ff, -4px 4px 0 #9ed6ff, -3px -4px 0 #9ed6ff, -3px -3px 0 #9ed6ff, -3px -2px 0 #9ed6ff, -3px -1px 0 #9ed6ff, -3px 0px 0 #9ed6ff, -3px 1px 0 #9ed6ff, -3px 2px 0 #9ed6ff, -3px 3px 0 #9ed6ff, -3px 4px 0 #9ed6ff, -2px -4px 0 #9ed6ff, -2px -3px 0 #9ed6ff, -2px -2px 0 #9ed6ff, -2px -1px 0 #9ed6ff, -2px 0px 0 #9ed6ff, -2px 1px 0 #9ed6ff, -2px 2px 0 #9ed6ff, -2px 3px 0 #9ed6ff, -2px 4px 0 #9ed6ff, -1px -4px 0 #9ed6ff, -1px -3px 0 #9ed6ff, -1px -2px 0 #9ed6ff, -1px -1px 0 #9ed6ff, -1px 0px 0 #9ed6ff, -1px 1px 0 #9ed6ff, -1px 2px 0 #9ed6ff, -1px 3px 0 #9ed6ff, -1px 4px 0 #9ed6ff, 0px -4px 0 #9ed6ff, 0px -3px 0 #9ed6ff, 0px -2px 0 #9ed6ff, 0px -1px 0 #9ed6ff, 0px 0px 0 #9ed6ff, 0px 1px 0 #9ed6ff, 0px 2px 0 #9ed6ff, 0px 3px 0 #9ed6ff, 0px 4px 0 #9ed6ff, 1px -4px 0 #9ed6ff, 1px -3px 0 #9ed6ff, 1px -2px 0 #9ed6ff, 1px -1px 0 #9ed6ff, 1px 0px 0 #9ed6ff, 1px 1px 0 #9ed6ff, 1px 2px 0 #9ed6ff, 1px 3px 0 #9ed6ff, 1px 4px 0 #9ed6ff, 2px -4px 0 #9ed6ff, 2px -3px 0 #9ed6ff, 2px -2px 0 #9ed6ff, 2px -1px 0 #9ed6ff, 2px 0px 0 #9ed6ff, 2px 1px 0 #9ed6ff, 2px 2px 0 #9ed6ff, 2px 3px 0 #9ed6ff, 2px 4px 0 #9ed6ff, 3px -4px 0 #9ed6ff, 3px -3px 0 #9ed6ff, 3px -2px 0 #9ed6ff, 3px -1px 0 #9ed6ff, 3px 0px 0 #9ed6ff, 3px 1px 0 #9ed6ff, 3px 2px 0 #9ed6ff, 3px 3px 0 #9ed6ff, 3px 4px 0 #9ed6ff, 4px -4px 0 #9ed6ff, 4px -3px 0 #9ed6ff, 4px -2px 0 #9ed6ff, 4px -1px 0 #9ed6ff, 4px 0px 0 #9ed6ff, 4px 1px 0 #9ed6ff, 4px 2px 0 #9ed6ff, 4px 3px 0 #9ed6ff, 4px 4px 0 #9ed6ff; }
|
||||
75% { text-shadow: -4px -4px 0 #3daee9, -4px -3px 0 #3daee9, -4px -2px 0 #3daee9, -4px -1px 0 #3daee9, -4px 0px 0 #3daee9, -4px 1px 0 #3daee9, -4px 2px 0 #3daee9, -4px 3px 0 #3daee9, -4px 4px 0 #3daee9, -3px -4px 0 #3daee9, -3px -3px 0 #3daee9, -3px -2px 0 #3daee9, -3px -1px 0 #3daee9, -3px 0px 0 #3daee9, -3px 1px 0 #3daee9, -3px 2px 0 #3daee9, -3px 3px 0 #3daee9, -3px 4px 0 #3daee9, -2px -4px 0 #3daee9, -2px -3px 0 #3daee9, -2px -2px 0 #3daee9, -2px -1px 0 #3daee9, -2px 0px 0 #3daee9, -2px 1px 0 #3daee9, -2px 2px 0 #3daee9, -2px 3px 0 #3daee9, -2px 4px 0 #3daee9, -1px -4px 0 #3daee9, -1px -3px 0 #3daee9, -1px -2px 0 #3daee9, -1px -1px 0 #3daee9, -1px 0px 0 #3daee9, -1px 1px 0 #3daee9, -1px 2px 0 #3daee9, -1px 3px 0 #3daee9, -1px 4px 0 #3daee9, 0px -4px 0 #3daee9, 0px -3px 0 #3daee9, 0px -2px 0 #3daee9, 0px -1px 0 #3daee9, 0px 0px 0 #3daee9, 0px 1px 0 #3daee9, 0px 2px 0 #3daee9, 0px 3px 0 #3daee9, 0px 4px 0 #3daee9, 1px -4px 0 #3daee9, 1px -3px 0 #3daee9, 1px -2px 0 #3daee9, 1px -1px 0 #3daee9, 1px 0px 0 #3daee9, 1px 1px 0 #3daee9, 1px 2px 0 #3daee9, 1px 3px 0 #3daee9, 1px 4px 0 #3daee9, 2px -4px 0 #3daee9, 2px -3px 0 #3daee9, 2px -2px 0 #3daee9, 2px -1px 0 #3daee9, 2px 0px 0 #3daee9, 2px 1px 0 #3daee9, 2px 2px 0 #3daee9, 2px 3px 0 #3daee9, 2px 4px 0 #3daee9, 3px -4px 0 #3daee9, 3px -3px 0 #3daee9, 3px -2px 0 #3daee9, 3px -1px 0 #3daee9, 3px 0px 0 #3daee9, 3px 1px 0 #3daee9, 3px 2px 0 #3daee9, 3px 3px 0 #3daee9, 3px 4px 0 #3daee9, 4px -4px 0 #3daee9, 4px -3px 0 #3daee9, 4px -2px 0 #3daee9, 4px -1px 0 #3daee9, 4px 0px 0 #3daee9, 4px 1px 0 #3daee9, 4px 2px 0 #3daee9, 4px 3px 0 #3daee9, 4px 4px 0 #3daee9; }
|
||||
100% { text-shadow: -4px -4px 0 #1d99f3, -4px -3px 0 #1d99f3, -4px -2px 0 #1d99f3, -4px -1px 0 #1d99f3, -4px 0px 0 #1d99f3, -4px 1px 0 #1d99f3, -4px 2px 0 #1d99f3, -4px 3px 0 #1d99f3, -4px 4px 0 #1d99f3, -3px -4px 0 #1d99f3, -3px -3px 0 #1d99f3, -3px -2px 0 #1d99f3, -3px -1px 0 #1d99f3, -3px 0px 0 #1d99f3, -3px 1px 0 #1d99f3, -3px 2px 0 #1d99f3, -3px 3px 0 #1d99f3, -3px 4px 0 #1d99f3, -2px -4px 0 #1d99f3, -2px -3px 0 #1d99f3, -2px -2px 0 #1d99f3, -2px -1px 0 #1d99f3, -2px 0px 0 #1d99f3, -2px 1px 0 #1d99f3, -2px 2px 0 #1d99f3, -2px 3px 0 #1d99f3, -2px 4px 0 #1d99f3, -1px -4px 0 #1d99f3, -1px -3px 0 #1d99f3, -1px -2px 0 #1d99f3, -1px -1px 0 #1d99f3, -1px 0px 0 #1d99f3, -1px 1px 0 #1d99f3, -1px 2px 0 #1d99f3, -1px 3px 0 #1d99f3, -1px 4px 0 #1d99f3, 0px -4px 0 #1d99f3, 0px -3px 0 #1d99f3, 0px -2px 0 #1d99f3, 0px -1px 0 #1d99f3, 0px 0px 0 #1d99f3, 0px 1px 0 #1d99f3, 0px 2px 0 #1d99f3, 0px 3px 0 #1d99f3, 0px 4px 0 #1d99f3, 1px -4px 0 #1d99f3, 1px -3px 0 #1d99f3, 1px -2px 0 #1d99f3, 1px -1px 0 #1d99f3, 1px 0px 0 #1d99f3, 1px 1px 0 #1d99f3, 1px 2px 0 #1d99f3, 1px 3px 0 #1d99f3, 1px 4px 0 #1d99f3, 2px -4px 0 #1d99f3, 2px -3px 0 #1d99f3, 2px -2px 0 #1d99f3, 2px -1px 0 #1d99f3, 2px 0px 0 #1d99f3, 2px 1px 0 #1d99f3, 2px 2px 0 #1d99f3, 2px 3px 0 #1d99f3, 2px 4px 0 #1d99f3, 3px -4px 0 #1d99f3, 3px -3px 0 #1d99f3, 3px -2px 0 #1d99f3, 3px -1px 0 #1d99f3, 3px 0px 0 #1d99f3, 3px 1px 0 #1d99f3, 3px 2px 0 #1d99f3, 3px 3px 0 #1d99f3, 3px 4px 0 #1d99f3, 4px -4px 0 #1d99f3, 4px -3px 0 #1d99f3, 4px -2px 0 #1d99f3, 4px -1px 0 #1d99f3, 4px 0px 0 #1d99f3, 4px 1px 0 #1d99f3, 4px 2px 0 #1d99f3, 4px 3px 0 #1d99f3, 4px 4px 0 #1d99f3; }
|
||||
}
|
||||
@keyframes sitenamehover {
|
||||
0% { text-shadow: -4px -4px 0 #1d99f3, -4px -3px 0 #1d99f3, -4px -2px 0 #1d99f3, -4px -1px 0 #1d99f3, -4px 0px 0 #1d99f3, -4px 1px 0 #1d99f3, -4px 2px 0 #1d99f3, -4px 3px 0 #1d99f3, -4px 4px 0 #1d99f3, -3px -4px 0 #1d99f3, -3px -3px 0 #1d99f3, -3px -2px 0 #1d99f3, -3px -1px 0 #1d99f3, -3px 0px 0 #1d99f3, -3px 1px 0 #1d99f3, -3px 2px 0 #1d99f3, -3px 3px 0 #1d99f3, -3px 4px 0 #1d99f3, -2px -4px 0 #1d99f3, -2px -3px 0 #1d99f3, -2px -2px 0 #1d99f3, -2px -1px 0 #1d99f3, -2px 0px 0 #1d99f3, -2px 1px 0 #1d99f3, -2px 2px 0 #1d99f3, -2px 3px 0 #1d99f3, -2px 4px 0 #1d99f3, -1px -4px 0 #1d99f3, -1px -3px 0 #1d99f3, -1px -2px 0 #1d99f3, -1px -1px 0 #1d99f3, -1px 0px 0 #1d99f3, -1px 1px 0 #1d99f3, -1px 2px 0 #1d99f3, -1px 3px 0 #1d99f3, -1px 4px 0 #1d99f3, 0px -4px 0 #1d99f3, 0px -3px 0 #1d99f3, 0px -2px 0 #1d99f3, 0px -1px 0 #1d99f3, 0px 0px 0 #1d99f3, 0px 1px 0 #1d99f3, 0px 2px 0 #1d99f3, 0px 3px 0 #1d99f3, 0px 4px 0 #1d99f3, 1px -4px 0 #1d99f3, 1px -3px 0 #1d99f3, 1px -2px 0 #1d99f3, 1px -1px 0 #1d99f3, 1px 0px 0 #1d99f3, 1px 1px 0 #1d99f3, 1px 2px 0 #1d99f3, 1px 3px 0 #1d99f3, 1px 4px 0 #1d99f3, 2px -4px 0 #1d99f3, 2px -3px 0 #1d99f3, 2px -2px 0 #1d99f3, 2px -1px 0 #1d99f3, 2px 0px 0 #1d99f3, 2px 1px 0 #1d99f3, 2px 2px 0 #1d99f3, 2px 3px 0 #1d99f3, 2px 4px 0 #1d99f3, 3px -4px 0 #1d99f3, 3px -3px 0 #1d99f3, 3px -2px 0 #1d99f3, 3px -1px 0 #1d99f3, 3px 0px 0 #1d99f3, 3px 1px 0 #1d99f3, 3px 2px 0 #1d99f3, 3px 3px 0 #1d99f3, 3px 4px 0 #1d99f3, 4px -4px 0 #1d99f3, 4px -3px 0 #1d99f3, 4px -2px 0 #1d99f3, 4px -1px 0 #1d99f3, 4px 0px 0 #1d99f3, 4px 1px 0 #1d99f3, 4px 2px 0 #1d99f3, 4px 3px 0 #1d99f3, 4px 4px 0 #1d99f3; }
|
||||
25% { text-shadow: -4px -4px 0 #3daee9, -4px -3px 0 #3daee9, -4px -2px 0 #3daee9, -4px -1px 0 #3daee9, -4px 0px 0 #3daee9, -4px 1px 0 #3daee9, -4px 2px 0 #3daee9, -4px 3px 0 #3daee9, -4px 4px 0 #3daee9, -3px -4px 0 #3daee9, -3px -3px 0 #3daee9, -3px -2px 0 #3daee9, -3px -1px 0 #3daee9, -3px 0px 0 #3daee9, -3px 1px 0 #3daee9, -3px 2px 0 #3daee9, -3px 3px 0 #3daee9, -3px 4px 0 #3daee9, -2px -4px 0 #3daee9, -2px -3px 0 #3daee9, -2px -2px 0 #3daee9, -2px -1px 0 #3daee9, -2px 0px 0 #3daee9, -2px 1px 0 #3daee9, -2px 2px 0 #3daee9, -2px 3px 0 #3daee9, -2px 4px 0 #3daee9, -1px -4px 0 #3daee9, -1px -3px 0 #3daee9, -1px -2px 0 #3daee9, -1px -1px 0 #3daee9, -1px 0px 0 #3daee9, -1px 1px 0 #3daee9, -1px 2px 0 #3daee9, -1px 3px 0 #3daee9, -1px 4px 0 #3daee9, 0px -4px 0 #3daee9, 0px -3px 0 #3daee9, 0px -2px 0 #3daee9, 0px -1px 0 #3daee9, 0px 0px 0 #3daee9, 0px 1px 0 #3daee9, 0px 2px 0 #3daee9, 0px 3px 0 #3daee9, 0px 4px 0 #3daee9, 1px -4px 0 #3daee9, 1px -3px 0 #3daee9, 1px -2px 0 #3daee9, 1px -1px 0 #3daee9, 1px 0px 0 #3daee9, 1px 1px 0 #3daee9, 1px 2px 0 #3daee9, 1px 3px 0 #3daee9, 1px 4px 0 #3daee9, 2px -4px 0 #3daee9, 2px -3px 0 #3daee9, 2px -2px 0 #3daee9, 2px -1px 0 #3daee9, 2px 0px 0 #3daee9, 2px 1px 0 #3daee9, 2px 2px 0 #3daee9, 2px 3px 0 #3daee9, 2px 4px 0 #3daee9, 3px -4px 0 #3daee9, 3px -3px 0 #3daee9, 3px -2px 0 #3daee9, 3px -1px 0 #3daee9, 3px 0px 0 #3daee9, 3px 1px 0 #3daee9, 3px 2px 0 #3daee9, 3px 3px 0 #3daee9, 3px 4px 0 #3daee9, 4px -4px 0 #3daee9, 4px -3px 0 #3daee9, 4px -2px 0 #3daee9, 4px -1px 0 #3daee9, 4px 0px 0 #3daee9, 4px 1px 0 #3daee9, 4px 2px 0 #3daee9, 4px 3px 0 #3daee9, 4px 4px 0 #3daee9; }
|
||||
50% { text-shadow: -4px -4px 0 #9ed6ff, -4px -3px 0 #9ed6ff, -4px -2px 0 #9ed6ff, -4px -1px 0 #9ed6ff, -4px 0px 0 #9ed6ff, -4px 1px 0 #9ed6ff, -4px 2px 0 #9ed6ff, -4px 3px 0 #9ed6ff, -4px 4px 0 #9ed6ff, -3px -4px 0 #9ed6ff, -3px -3px 0 #9ed6ff, -3px -2px 0 #9ed6ff, -3px -1px 0 #9ed6ff, -3px 0px 0 #9ed6ff, -3px 1px 0 #9ed6ff, -3px 2px 0 #9ed6ff, -3px 3px 0 #9ed6ff, -3px 4px 0 #9ed6ff, -2px -4px 0 #9ed6ff, -2px -3px 0 #9ed6ff, -2px -2px 0 #9ed6ff, -2px -1px 0 #9ed6ff, -2px 0px 0 #9ed6ff, -2px 1px 0 #9ed6ff, -2px 2px 0 #9ed6ff, -2px 3px 0 #9ed6ff, -2px 4px 0 #9ed6ff, -1px -4px 0 #9ed6ff, -1px -3px 0 #9ed6ff, -1px -2px 0 #9ed6ff, -1px -1px 0 #9ed6ff, -1px 0px 0 #9ed6ff, -1px 1px 0 #9ed6ff, -1px 2px 0 #9ed6ff, -1px 3px 0 #9ed6ff, -1px 4px 0 #9ed6ff, 0px -4px 0 #9ed6ff, 0px -3px 0 #9ed6ff, 0px -2px 0 #9ed6ff, 0px -1px 0 #9ed6ff, 0px 0px 0 #9ed6ff, 0px 1px 0 #9ed6ff, 0px 2px 0 #9ed6ff, 0px 3px 0 #9ed6ff, 0px 4px 0 #9ed6ff, 1px -4px 0 #9ed6ff, 1px -3px 0 #9ed6ff, 1px -2px 0 #9ed6ff, 1px -1px 0 #9ed6ff, 1px 0px 0 #9ed6ff, 1px 1px 0 #9ed6ff, 1px 2px 0 #9ed6ff, 1px 3px 0 #9ed6ff, 1px 4px 0 #9ed6ff, 2px -4px 0 #9ed6ff, 2px -3px 0 #9ed6ff, 2px -2px 0 #9ed6ff, 2px -1px 0 #9ed6ff, 2px 0px 0 #9ed6ff, 2px 1px 0 #9ed6ff, 2px 2px 0 #9ed6ff, 2px 3px 0 #9ed6ff, 2px 4px 0 #9ed6ff, 3px -4px 0 #9ed6ff, 3px -3px 0 #9ed6ff, 3px -2px 0 #9ed6ff, 3px -1px 0 #9ed6ff, 3px 0px 0 #9ed6ff, 3px 1px 0 #9ed6ff, 3px 2px 0 #9ed6ff, 3px 3px 0 #9ed6ff, 3px 4px 0 #9ed6ff, 4px -4px 0 #9ed6ff, 4px -3px 0 #9ed6ff, 4px -2px 0 #9ed6ff, 4px -1px 0 #9ed6ff, 4px 0px 0 #9ed6ff, 4px 1px 0 #9ed6ff, 4px 2px 0 #9ed6ff, 4px 3px 0 #9ed6ff, 4px 4px 0 #9ed6ff; }
|
||||
75% { text-shadow: -4px -4px 0 #3daee9, -4px -3px 0 #3daee9, -4px -2px 0 #3daee9, -4px -1px 0 #3daee9, -4px 0px 0 #3daee9, -4px 1px 0 #3daee9, -4px 2px 0 #3daee9, -4px 3px 0 #3daee9, -4px 4px 0 #3daee9, -3px -4px 0 #3daee9, -3px -3px 0 #3daee9, -3px -2px 0 #3daee9, -3px -1px 0 #3daee9, -3px 0px 0 #3daee9, -3px 1px 0 #3daee9, -3px 2px 0 #3daee9, -3px 3px 0 #3daee9, -3px 4px 0 #3daee9, -2px -4px 0 #3daee9, -2px -3px 0 #3daee9, -2px -2px 0 #3daee9, -2px -1px 0 #3daee9, -2px 0px 0 #3daee9, -2px 1px 0 #3daee9, -2px 2px 0 #3daee9, -2px 3px 0 #3daee9, -2px 4px 0 #3daee9, -1px -4px 0 #3daee9, -1px -3px 0 #3daee9, -1px -2px 0 #3daee9, -1px -1px 0 #3daee9, -1px 0px 0 #3daee9, -1px 1px 0 #3daee9, -1px 2px 0 #3daee9, -1px 3px 0 #3daee9, -1px 4px 0 #3daee9, 0px -4px 0 #3daee9, 0px -3px 0 #3daee9, 0px -2px 0 #3daee9, 0px -1px 0 #3daee9, 0px 0px 0 #3daee9, 0px 1px 0 #3daee9, 0px 2px 0 #3daee9, 0px 3px 0 #3daee9, 0px 4px 0 #3daee9, 1px -4px 0 #3daee9, 1px -3px 0 #3daee9, 1px -2px 0 #3daee9, 1px -1px 0 #3daee9, 1px 0px 0 #3daee9, 1px 1px 0 #3daee9, 1px 2px 0 #3daee9, 1px 3px 0 #3daee9, 1px 4px 0 #3daee9, 2px -4px 0 #3daee9, 2px -3px 0 #3daee9, 2px -2px 0 #3daee9, 2px -1px 0 #3daee9, 2px 0px 0 #3daee9, 2px 1px 0 #3daee9, 2px 2px 0 #3daee9, 2px 3px 0 #3daee9, 2px 4px 0 #3daee9, 3px -4px 0 #3daee9, 3px -3px 0 #3daee9, 3px -2px 0 #3daee9, 3px -1px 0 #3daee9, 3px 0px 0 #3daee9, 3px 1px 0 #3daee9, 3px 2px 0 #3daee9, 3px 3px 0 #3daee9, 3px 4px 0 #3daee9, 4px -4px 0 #3daee9, 4px -3px 0 #3daee9, 4px -2px 0 #3daee9, 4px -1px 0 #3daee9, 4px 0px 0 #3daee9, 4px 1px 0 #3daee9, 4px 2px 0 #3daee9, 4px 3px 0 #3daee9, 4px 4px 0 #3daee9; }
|
||||
100% { text-shadow: -4px -4px 0 #1d99f3, -4px -3px 0 #1d99f3, -4px -2px 0 #1d99f3, -4px -1px 0 #1d99f3, -4px 0px 0 #1d99f3, -4px 1px 0 #1d99f3, -4px 2px 0 #1d99f3, -4px 3px 0 #1d99f3, -4px 4px 0 #1d99f3, -3px -4px 0 #1d99f3, -3px -3px 0 #1d99f3, -3px -2px 0 #1d99f3, -3px -1px 0 #1d99f3, -3px 0px 0 #1d99f3, -3px 1px 0 #1d99f3, -3px 2px 0 #1d99f3, -3px 3px 0 #1d99f3, -3px 4px 0 #1d99f3, -2px -4px 0 #1d99f3, -2px -3px 0 #1d99f3, -2px -2px 0 #1d99f3, -2px -1px 0 #1d99f3, -2px 0px 0 #1d99f3, -2px 1px 0 #1d99f3, -2px 2px 0 #1d99f3, -2px 3px 0 #1d99f3, -2px 4px 0 #1d99f3, -1px -4px 0 #1d99f3, -1px -3px 0 #1d99f3, -1px -2px 0 #1d99f3, -1px -1px 0 #1d99f3, -1px 0px 0 #1d99f3, -1px 1px 0 #1d99f3, -1px 2px 0 #1d99f3, -1px 3px 0 #1d99f3, -1px 4px 0 #1d99f3, 0px -4px 0 #1d99f3, 0px -3px 0 #1d99f3, 0px -2px 0 #1d99f3, 0px -1px 0 #1d99f3, 0px 0px 0 #1d99f3, 0px 1px 0 #1d99f3, 0px 2px 0 #1d99f3, 0px 3px 0 #1d99f3, 0px 4px 0 #1d99f3, 1px -4px 0 #1d99f3, 1px -3px 0 #1d99f3, 1px -2px 0 #1d99f3, 1px -1px 0 #1d99f3, 1px 0px 0 #1d99f3, 1px 1px 0 #1d99f3, 1px 2px 0 #1d99f3, 1px 3px 0 #1d99f3, 1px 4px 0 #1d99f3, 2px -4px 0 #1d99f3, 2px -3px 0 #1d99f3, 2px -2px 0 #1d99f3, 2px -1px 0 #1d99f3, 2px 0px 0 #1d99f3, 2px 1px 0 #1d99f3, 2px 2px 0 #1d99f3, 2px 3px 0 #1d99f3, 2px 4px 0 #1d99f3, 3px -4px 0 #1d99f3, 3px -3px 0 #1d99f3, 3px -2px 0 #1d99f3, 3px -1px 0 #1d99f3, 3px 0px 0 #1d99f3, 3px 1px 0 #1d99f3, 3px 2px 0 #1d99f3, 3px 3px 0 #1d99f3, 3px 4px 0 #1d99f3, 4px -4px 0 #1d99f3, 4px -3px 0 #1d99f3, 4px -2px 0 #1d99f3, 4px -1px 0 #1d99f3, 4px 0px 0 #1d99f3, 4px 1px 0 #1d99f3, 4px 2px 0 #1d99f3, 4px 3px 0 #1d99f3, 4px 4px 0 #1d99f3; }
|
||||
}
|
||||
.logo-c { text-shadow: -4px -4px 0 #1d99f3, -4px -3px 0 #1d99f3, -4px -2px 0 #1d99f3, -4px -1px 0 #1d99f3, -4px 0px 0 #1d99f3, -4px 1px 0 #1d99f3, -4px 2px 0 #1d99f3, -4px 3px 0 #1d99f3, -4px 4px 0 #1d99f3, -3px -4px 0 #1d99f3, -3px -3px 0 #1d99f3, -3px -2px 0 #1d99f3, -3px -1px 0 #1d99f3, -3px 0px 0 #1d99f3, -3px 1px 0 #1d99f3, -3px 2px 0 #1d99f3, -3px 3px 0 #1d99f3, -3px 4px 0 #1d99f3, -2px -4px 0 #1d99f3, -2px -3px 0 #1d99f3, -2px -2px 0 #1d99f3, -2px -1px 0 #1d99f3, -2px 0px 0 #1d99f3, -2px 1px 0 #1d99f3, -2px 2px 0 #1d99f3, -2px 3px 0 #1d99f3, -2px 4px 0 #1d99f3, -1px -4px 0 #1d99f3, -1px -3px 0 #1d99f3, -1px -2px 0 #1d99f3, -1px -1px 0 #1d99f3, -1px 0px 0 #1d99f3, -1px 1px 0 #1d99f3, -1px 2px 0 #1d99f3, -1px 3px 0 #1d99f3, -1px 4px 0 #1d99f3, 0px -4px 0 #1d99f3, 0px -3px 0 #1d99f3, 0px -2px 0 #1d99f3, 0px -1px 0 #1d99f3, 0px 0px 0 #1d99f3, 0px 1px 0 #1d99f3, 0px 2px 0 #1d99f3, 0px 3px 0 #1d99f3, 0px 4px 0 #1d99f3, 1px -4px 0 #1d99f3, 1px -3px 0 #1d99f3, 1px -2px 0 #1d99f3, 1px -1px 0 #1d99f3, 1px 0px 0 #1d99f3, 1px 1px 0 #1d99f3, 1px 2px 0 #1d99f3, 1px 3px 0 #1d99f3, 1px 4px 0 #1d99f3, 2px -4px 0 #1d99f3, 2px -3px 0 #1d99f3, 2px -2px 0 #1d99f3, 2px -1px 0 #1d99f3, 2px 0px 0 #1d99f3, 2px 1px 0 #1d99f3, 2px 2px 0 #1d99f3, 2px 3px 0 #1d99f3, 2px 4px 0 #1d99f3, 3px -4px 0 #1d99f3, 3px -3px 0 #1d99f3, 3px -2px 0 #1d99f3, 3px -1px 0 #1d99f3, 3px 0px 0 #1d99f3, 3px 1px 0 #1d99f3, 3px 2px 0 #1d99f3, 3px 3px 0 #1d99f3, 3px 4px 0 #1d99f3, 4px -4px 0 #1d99f3, 4px -3px 0 #1d99f3, 4px -2px 0 #1d99f3, 4px -1px 0 #1d99f3, 4px 0px 0 #1d99f3, 4px 1px 0 #1d99f3, 4px 2px 0 #1d99f3, 4px 3px 0 #1d99f3, 4px 4px 0 #1d99f3; }
|
|
@ -0,0 +1,4 @@
|
|||
.modal-header, .modal-body, .modal-footer { color: #fcfcfc; }
|
||||
.modal-header { background: linear-gradient(to bottom, #b16cce 0%, #d898f3 34%, #cb81ea 100%); }
|
||||
.modal-body { background-color: #4d4d4d; }
|
||||
.modal-footer { background-color: #31363b; }
|
|
@ -0,0 +1 @@
|
|||
.modal-header { background: linear-gradient(to bottom, #f31de8 0%, #ea81e8 34%, #e93de9 100%); }
|
|
@ -0,0 +1 @@
|
|||
.modal-header { background: linear-gradient(to bottom, #1d99f3 0%, #6ec0fb 34%, #3daee9 100%); }
|
|
@ -0,0 +1,12 @@
|
|||
.bg-dark { background: radial-gradient(farthest-corner at 50% 85%, #9b59b6 0%, #232629 100%); border: 2px solid #cb81ea; box-shadow: 0 0 7px 3px #b16cce; }
|
||||
.navbar { padding: 0px; }
|
||||
.navbar-toggler { border: 0px solid transparent; }
|
||||
.navbar-nav .dropdown-menu { background-color: #31363b; color: #fcfcfc; border: 2px solid #cb81ea; box-shadow: 0 0 7px 3px #b16cce; }
|
||||
.dropdown-item { color: #fcfcfc; }
|
||||
.dropdown-item.active, .dropdown-item:active, .dropdown-item:hover, .dropdown-item:focus { color: #fcfcfc; background-color: #cb81ea; }
|
||||
.navbar-brand { padding: 5px; }
|
||||
.navbar-brand, .nav-item { transition: background 0.3s; border-radius: 2px; cursor: pointer; }
|
||||
.navbar-brand:hover, .nav-item:hover { background-color: #61237c; }
|
||||
.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus { border-color: #46195a; }
|
||||
.nav-tabs .nav-link.active, .nav-tabs .nav-item.show .nav-link { color: #fcfcfc; background-color: #b16cce; border-color: #46195a; }
|
||||
.nav-tabs { border-bottom: 1px solid #cb81ea; }
|
|
@ -0,0 +1,7 @@
|
|||
.bg-dark { background: radial-gradient(farthest-corner at 50% 85%, #db34d3 0%, #232629 100%); border: 2px solid #e93de9; box-shadow: 0 0 7px 3px #f31de8; }
|
||||
.navbar-nav .dropdown-menu { border: 2px solid #e93de9; box-shadow: 0 0 7px 3px #f31de8; }
|
||||
.dropdown-item.active, .dropdown-item:active, .dropdown-item:hover, .dropdown-item:focus { background-color: #e93de9; }
|
||||
.navbar-brand:hover, .nav-item:hover { background-color: #b459b6; }
|
||||
.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus { border-color: #7d2069; }
|
||||
.nav-tabs .nav-link.active, .nav-tabs .nav-item.show .nav-link { background-color: #f31de8; border-color: #7d2069; }
|
||||
.nav-tabs { border-bottom: 1px solid #e93de9; }
|
|
@ -0,0 +1,7 @@
|
|||
.bg-dark { background: radial-gradient(farthest-corner at 50% 85%, #3498db 0%, #232629 100%); border: 2px solid #3daee9; box-shadow: 0 0 7px 3px #1d99f3; }
|
||||
.navbar-nav .dropdown-menu { border: 2px solid #3daee9; box-shadow: 0 0 7px 3px #1d99f3; }
|
||||
.dropdown-item.active, .dropdown-item:active, .dropdown-item:hover, .dropdown-item:focus { background-color: #3daee9; }
|
||||
.navbar-brand:hover, .nav-item:hover { background-color: #2980b9; }
|
||||
.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus { border-color: #205e7d; }
|
||||
.nav-tabs .nav-link.active, .nav-tabs .nav-item.show .nav-link { background-color: #1d99f3; border-color: #205e7d; }
|
||||
.nav-tabs { border-bottom: 1px solid #3daee9; }
|
|
@ -0,0 +1,28 @@
|
|||
.page-link {
|
||||
background: linear-gradient(to bottom, #57229c 0%, #6b4386 34%, #2d1a46 100%);
|
||||
}
|
||||
|
||||
.page-link, .page-item .disabled {
|
||||
text-align: center;
|
||||
color: #fcfcfc;
|
||||
padding: 8px 20px;
|
||||
font-size: 28px;
|
||||
border-bottom: solid 2px #cb81ea;
|
||||
cursor: pointer;
|
||||
transition: background 0.3s, color 0.3s;
|
||||
margin: auto;
|
||||
}
|
||||
|
||||
.page-link > a { color: #fcfcfc; }
|
||||
|
||||
.page-link > a:hover { text-decoration: none; }
|
||||
|
||||
.page-link:hover {
|
||||
color: #fcfcfc;
|
||||
background: linear-gradient(to bottom, #6c29b9 0%, #916ead 34%, #5d2b8b 100%);
|
||||
}
|
||||
|
||||
.page-item.disabled > .page-link { color: #fcfcfc; background: linear-gradient(to bottom, #4d4d4d 0%, #727272 34%, #495051 100%); border-color: #b16cce; }
|
||||
.page-item.active > .page-link { color: #fcfcfc; background: linear-gradient(to bottom, #b16cce 0%, #e4b4f8 34%, #9b59b6 100%); border-color: #b16cce; }
|
||||
.page-item.active > .page-link:hover { color: #fcfcfc; background: linear-gradient(to bottom, #cb81ea 0%, #f1d0ff 34%, #d898f3 100%); }
|
||||
.pagination { margin: auto; padding: 8px; }
|
|
@ -0,0 +1,6 @@
|
|||
.page-link { background: linear-gradient(to bottom, #9c2296 0%, #864386 34%, #421a46 100%); }
|
||||
.page-link, .page-item .disabled { border-bottom: solid 2px #e93de9; }
|
||||
.page-link:hover { background: linear-gradient(to bottom, #b929ad 0%, #ad6ea8 34%, #832b8b 100%); }
|
||||
.page-item.disabled > .page-link { border-color: #f31de8; }
|
||||
.page-item.active > .page-link { background: linear-gradient(to bottom, #f31de8 0%, #e599e5 34%, #db34d3 100%); border-color: #f31de8; }
|
||||
.page-item.active > .page-link:hover { background: linear-gradient(to bottom, #e93de9 0%, #ffe6f9 34%, #ea81e8 100%); }
|
|
@ -0,0 +1,6 @@
|
|||
.page-link { background: linear-gradient(to bottom, #22699c 0%, #436a86 34%, #1a3746 100%); }
|
||||
.page-link, .page-item .disabled { border-bottom: solid 2px #3daee9; }
|
||||
.page-link:hover { background: linear-gradient(to bottom, #2980b9 0%, #6e93ad 34%, #2b6b8b 100%); }
|
||||
.page-item.disabled > .page-link { border-color: #1d99f3; }
|
||||
.page-item.active > .page-link { background: linear-gradient(to bottom, #1d99f3 0%, #8bb6d6 34%, #3498db 100%); border-color: #1d99f3; }
|
||||
.page-item.active > .page-link:hover { background: linear-gradient(to bottom, #3daee9 0%, #9ed6ff 34%, #6ec0fb 100%); }
|
長すぎる行があるためファイル差分は表示されません
|
@ -0,0 +1,5 @@
|
|||
::-webkit-scrollbar { width: 6px; }
|
||||
::-webkit-scrollbar-thumb { background: #cb81ea; transition: background 0.3s; }
|
||||
::-webkit-scrollbar-thumb:hover { background: #e4b4f8; }
|
||||
::-webkit-scrollbar-thumb:active { background: #46195a; }
|
||||
::-webkit-scrollbar-track { background-color: #fcfcfc; background: #232629; }
|
|
@ -0,0 +1,3 @@
|
|||
::-webkit-scrollbar-thumb { background: #e93de9; }
|
||||
::-webkit-scrollbar-thumb:hover { background: #e599e5; }
|
||||
::-webkit-scrollbar-thumb:active { background: #7d2069; }
|
|
@ -0,0 +1,3 @@
|
|||
::-webkit-scrollbar-thumb { background: #3daee9; }
|
||||
::-webkit-scrollbar-thumb:hover { background: #8bb6d6; }
|
||||
::-webkit-scrollbar-thumb:active { background: #205e7d; }
|
|
@ -0,0 +1 @@
|
|||
.custom-select { background-color: #232629; border: 1px solid #220a2c; color: #fcfcfc; }
|
|
@ -0,0 +1 @@
|
|||
.custom-select { border: 1px solid #5e345c; }
|
|
@ -0,0 +1 @@
|
|||
.custom-select { border: 1px solid #34495e; }
|
|
@ -0,0 +1,2 @@
|
|||
.sidemenu { border: 2px solid #cb81ea; box-shadow: 0 0 7px 3px #b16cce; }
|
||||
.nav-pills .nav-link { border-radius: 0px; }
|
|
@ -0,0 +1 @@
|
|||
.sidemenu { border: 2px solid #e93de9; box-shadow: 0 0 7px 3px #f31de8; }
|
|
@ -0,0 +1 @@
|
|||
.sidemenu { border: 2px solid #3daee9; box-shadow: 0 0 7px 3px #1d99f3; }
|
|
@ -0,0 +1,9 @@
|
|||
.table-dark {
|
||||
color: #fcfcfc;
|
||||
background-color: #4d4d4d;
|
||||
border: 2px solid #cb81ea;
|
||||
transition: background-color 0.3s;
|
||||
}
|
||||
.table-dark th, .table-dark td, .table-dark thead th { border-color: #cb81ea; }
|
||||
.table-dark.table-hover tbody tr { transition: background-color 0.3s; background-color: #4d4d4d; }
|
||||
.table-dark.table-hover tbody tr:hover { color: #fcfcfc; background-color: #61237c; }
|
|
@ -0,0 +1,3 @@
|
|||
.table-dark { border: 2px solid #e93de9; }
|
||||
.table-dark th, .table-dark td, .table-dark thead th { border-color: #e93de9; }
|
||||
.table-dark.table-hover tbody tr:hover { background-color: #b459b6; }
|
|
@ -0,0 +1,3 @@
|
|||
.table-dark { border: 2px solid #3daee9; }
|
||||
.table-dark th, .table-dark td, .table-dark thead th { border-color: #3daee9; }
|
||||
.table-dark.table-hover tbody tr:hover { background-color: #2980b9; }
|
バイナリファイルは表示されません。
変更前 幅: | 高さ: | サイズ: 46 KiB 変更後 幅: | 高さ: | サイズ: 220 KiB |
長すぎる行があるためファイル差分は表示されません
長すぎる行があるためファイル差分は表示されません
|
@ -1 +0,0 @@
|
|||
require('./bootstrap');
|
|
@ -1,46 +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('appbar', require('./components/appbar.vue').default);
|
||||
Vue.component('comments', require('./components/comments.vue').default);
|
||||
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);
|
||||
Vue.component('discord', require('./components/discord.vue').default);
|
||||
Vue.component('gender', require('./components/gender.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,15 +0,0 @@
|
|||
<template>
|
||||
<span>
|
||||
<bash />
|
||||
<note />
|
||||
</span>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import Bash from './bash';
|
||||
import Note from './note';
|
||||
|
||||
export default {
|
||||
components: { Bash, Note }
|
||||
}
|
||||
</script>
|
|
@ -1,237 +0,0 @@
|
|||
<template>
|
||||
<span>
|
||||
<a href="#" @click="show = true"><img class="icon" src="/img/bash/app_icon.png" width="50" height="50" alt="ロリ端末" /></a>
|
||||
<span v-if="show">
|
||||
<label :for="`konsoleinput-${output.length-1}`">
|
||||
<vue-draggable-resizable style="border: 0px solid #232629;" :drag-handle="'.drag-handle'" class-name-handle="resize-handle" class="konsoleuser" :x="-50" :y="-100" :z="99999999">
|
||||
<div style="width: 100%; position: relative;">
|
||||
<div class="drag-handle-left"></div>
|
||||
<div class="drag-handle">ロリ端末</div>
|
||||
<div class="drag-handle-min"></div>
|
||||
<div class="drag-handle-max"></div>
|
||||
<div class="drag-handle-right" @click="show = false"></div>
|
||||
</div>
|
||||
<div class="konsole_left"></div>
|
||||
<div style="padding: 5px; height: 100%; overflow: scroll;">
|
||||
<div v-for="(o, i) in output" :key="`output-${i}`">
|
||||
<div v-html="o"></div>
|
||||
<div class="row">
|
||||
<div class="col-auto" style="padding-right: 6px;">shiken@technicalsuwako.jp:/$</div>
|
||||
<div class="col" style="padding-left: 0px;">
|
||||
<input :ref="`konsoleinput-${i}`" :id="`konsoleinput-${i}`" class="konsole_input" type="text" :disabled="i !== output.length-1" v-model="cmd[i]" @keyup.enter="exec(i)" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</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>
|
||||
</label>
|
||||
</span>
|
||||
</span>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import VueDraggableResizable from 'vue-draggable-resizable';
|
||||
import 'vue-draggable-resizable/dist/VueDraggableResizable.css';
|
||||
|
||||
Vue.component('vue-draggable-resizable', VueDraggableResizable);
|
||||
|
||||
export default {
|
||||
data: function () {
|
||||
return {
|
||||
cmd: [''],
|
||||
output: ['ロリコマンドラインですね〜♡'],
|
||||
show: false,
|
||||
width: 0,
|
||||
height: 0,
|
||||
x: 0,
|
||||
y: 0
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
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
|
||||
},
|
||||
exec (i) {
|
||||
axios.post('/api/rpc/bash/exec', { args: this.cmd[i] }).then(res => {
|
||||
this.output.push(res.data);
|
||||
this.cmd.push('');
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.konsole {
|
||||
width: 600px;
|
||||
height: 358px;
|
||||
margin: auto;
|
||||
color: #fcfcfc;
|
||||
}
|
||||
|
||||
.drag-handle-left {
|
||||
height: 30px;
|
||||
width: 30px;
|
||||
background: url('/img/bash/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: 74px;
|
||||
padding-top: 7px;
|
||||
padding-left: 32px;
|
||||
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: 325px;
|
||||
}
|
||||
|
||||
.konsole_right {
|
||||
width: 2px;
|
||||
background: url('/img/bash/right_bg.png') repeat-y;
|
||||
position: absolute;
|
||||
height: 325px;
|
||||
top: 30px;
|
||||
right: 0;
|
||||
}
|
||||
|
||||
.konsoleuser { background: url('/img/bash/user_bg.png') repeat; cursor: text; }
|
||||
.konsoleroot { background: url('/img/bash/root_bg.png') repeat; cursor: text; }
|
||||
|
||||
.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: 316px !important;
|
||||
width: 586px !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: 595px;
|
||||
}
|
||||
|
||||
.konsole_bottom_right {
|
||||
height: 3px;
|
||||
width: 3px;
|
||||
background: url('/img/bash/bottom_right.png') no-repeat;
|
||||
position: absolute;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
}
|
||||
|
||||
.konsole_input, .konsole_input:focus, .konsole_input:disabled {
|
||||
width: 100%;
|
||||
background: transparent;
|
||||
border-color: transparent;
|
||||
outline: none;
|
||||
caret-color: #fcfcfc;
|
||||
color: #fcfcfc;
|
||||
line-height: 14px;
|
||||
}
|
||||
|
||||
.icon {
|
||||
transition: background 0.3s;
|
||||
}
|
||||
|
||||
.icon:hover {
|
||||
background-color:#eff0f180;
|
||||
}
|
||||
</style>
|
|
@ -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.isvideo == 'n' ? '(YT)' : '(TS)') }}</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.isvideo == 'n' ? '(YT)' : '(TS)') }}</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,226 +0,0 @@
|
|||
<template>
|
||||
<span>
|
||||
<a href="#" @click="show = true"><img src="/img/discord.png" alt="ディスコード" /></a>
|
||||
<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;">テクニカル諏訪子#3116</div>
|
||||
<div style="text-align:right; line-height: 15; padding: 10px;"><button type="button" class="btn btn-popup" @click="show = false">OK</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>
|
||||
</span>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import VueDraggableResizable from 'vue-draggable-resizable';
|
||||
import 'vue-draggable-resizable/dist/VueDraggableResizable.css';
|
||||
|
||||
Vue.component('vue-draggable-resizable', VueDraggableResizable);
|
||||
|
||||
export default {
|
||||
data: function () {
|
||||
return {
|
||||
show: false,
|
||||
text: (localStorage.shotanote || 'かいて〜♡'),
|
||||
width: 0,
|
||||
height: 0,
|
||||
x: 0,
|
||||
y: 0
|
||||
}
|
||||
},
|
||||
watch: { text (x) { localStorage.shotanote = x; } },
|
||||
methods: {
|
||||
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;
|
||||
}
|
||||
|
||||
.btn {
|
||||
width: 100px;
|
||||
border: 1px solid #4d4d4d;
|
||||
}
|
||||
|
||||
.btn: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>
|
|
@ -1,235 +0,0 @@
|
|||
<template>
|
||||
<span>
|
||||
<a href="#" @click="show = true"><img class="icon" src="/img/bash/note_icon.png" width="50" height="50" alt="ショタノート" /></a>
|
||||
<span v-if="show">
|
||||
<vue-draggable-resizable style="border: 0px solid #232629;" :drag-handle="'.drag-handle'" class-name-handle="resize-handle" class="shotanote" :x="50" :y="-100" :z="99999999">
|
||||
<div style="width: 100%; position: relative;">
|
||||
<div class="drag-handle-left"></div>
|
||||
<div class="drag-handle">ショタノート</div>
|
||||
<div class="drag-handle-min"></div>
|
||||
<div class="drag-handle-max"></div>
|
||||
<div class="drag-handle-right" @click="show = false"></div>
|
||||
</div>
|
||||
<div class="konsole_left"></div>
|
||||
<div style="padding: 5px; color: #232629;">
|
||||
<textarea cols="30" rows="10" class="noter" v-model="text"></textarea>
|
||||
</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>
|
||||
</span>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import VueDraggableResizable from 'vue-draggable-resizable';
|
||||
import 'vue-draggable-resizable/dist/VueDraggableResizable.css';
|
||||
|
||||
Vue.component('vue-draggable-resizable', VueDraggableResizable);
|
||||
|
||||
export default {
|
||||
data: function () {
|
||||
return {
|
||||
show: false,
|
||||
text: (localStorage.shotanote || 'かいて〜♡'),
|
||||
width: 0,
|
||||
height: 0,
|
||||
x: 0,
|
||||
y: 0
|
||||
}
|
||||
},
|
||||
watch: { text (x) { localStorage.shotanote = x; } },
|
||||
methods: {
|
||||
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 {
|
||||
width: 8px;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-track {
|
||||
background: #7f8c8d;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-thumb {
|
||||
border-radius: 5px;
|
||||
background: #ff80e0;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-thumb:hover {
|
||||
background: #452886;
|
||||
}
|
||||
|
||||
.drag-handle-left {
|
||||
height: 30px;
|
||||
width: 30px;
|
||||
background: url('/img/bash/note_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: 74px;
|
||||
padding-top: 7px;
|
||||
padding-left: 26px;
|
||||
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: 367px;
|
||||
}
|
||||
|
||||
.konsole_right {
|
||||
width: 2px;
|
||||
background: url('/img/bash/right_bg.png') repeat-y;
|
||||
position: absolute;
|
||||
height: 367px;
|
||||
top: 30px;
|
||||
right: 0;
|
||||
}
|
||||
|
||||
.shotanote { background: url('/img/bash/note_bg.png') repeat; }
|
||||
|
||||
.noter, .noter:active, .noter:focus {
|
||||
background: transparent;
|
||||
border: 0;
|
||||
min-height: 360px;
|
||||
width: 290px;
|
||||
resize: none;
|
||||
}
|
||||
|
||||
.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: 400px !important;
|
||||
width: 300px !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: 295px;
|
||||
}
|
||||
|
||||
.konsole_bottom_right {
|
||||
height: 3px;
|
||||
width: 3px;
|
||||
background: url('/img/bash/bottom_right.png') no-repeat;
|
||||
position: absolute;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
}
|
||||
|
||||
.icon {
|
||||
transition: background 0.3s;
|
||||
}
|
||||
|
||||
.icon:hover {
|
||||
background-color:#eff0f180;
|
||||
}
|
||||
</style>
|
|
@ -1,101 +0,0 @@
|
|||
.bar {
|
||||
background: linear-gradient(to bottom, $evil4 0%, $evil1 34%, $evil6 100%);
|
||||
}
|
||||
|
||||
.bara {
|
||||
background: linear-gradient(180deg, $suwa05 0, $suwa01 34%, $evil5 100%);
|
||||
}
|
||||
|
||||
.bar, .bara {
|
||||
text-align: center;
|
||||
color: $white1;
|
||||
padding: 5px;
|
||||
font-size: 20px;
|
||||
border-bottom: solid 2px $suwa03;
|
||||
cursor: pointer;
|
||||
transition: background 0.3s, color 0.3s;
|
||||
}
|
||||
|
||||
.bar > a {
|
||||
color: $white1;
|
||||
}
|
||||
|
||||
.bar > a:hover {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.bar:hover {
|
||||
color: $white1;
|
||||
background: linear-gradient(to bottom, $evil3 0%, $evil0 34%, $evil2 100%);
|
||||
}
|
||||
|
||||
.indexborder {
|
||||
border: 2px solid $suwa03;
|
||||
box-shadow: 0px 0px 7px 3px $suwa04;
|
||||
padding: 8px;
|
||||
background-color: $black1;
|
||||
}
|
||||
|
||||
.meta {
|
||||
padding: 5px;
|
||||
text-align: left;
|
||||
background-color: $suwa09;
|
||||
border-bottom: solid 2px $suwa03;
|
||||
}
|
||||
|
||||
.comment {
|
||||
border-top: solid 2px $suwa03;
|
||||
}
|
||||
|
||||
.back, .comment {
|
||||
padding: 4px;
|
||||
background-color: $black2;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.commentloop {
|
||||
padding: 10px 4px 40px 4px;
|
||||
}
|
||||
|
||||
.commentloop > .name {
|
||||
color: $ok3;
|
||||
}
|
||||
|
||||
.within {
|
||||
margin: 0 auto;
|
||||
border: 2px solid $suwa03;
|
||||
box-shadow: 0px 0px 7px 3px $suwa04;
|
||||
}
|
||||
|
||||
.wny {
|
||||
border: solid 2px $ng5;
|
||||
box-shadow: 0px 0px 20px 10px $ng4;
|
||||
}
|
||||
|
||||
.bny, .cny {
|
||||
background-color: $ng2;
|
||||
border-bottom: solid 2px $ng5;
|
||||
}
|
||||
|
||||
.mny {
|
||||
background-color: $ng6;
|
||||
border-bottom: solid 2px $ng5;
|
||||
}
|
||||
|
||||
.kero-section {
|
||||
width: 100%;
|
||||
font-size: 150%;
|
||||
font-weight: bolder;
|
||||
text-align: center;
|
||||
padding: 4px;
|
||||
margin: 8px 0;
|
||||
background: linear-gradient(to bottom, $suwa03 0%, $evil4 34%, $suwa02 100%);
|
||||
color: $white1;
|
||||
border-bottom-color: $suwa00;
|
||||
border-right-color: $suwa00;
|
||||
border-bottom-color: $suwa00;
|
||||
border-right-color: $suwa00;
|
||||
border-width: 1px;
|
||||
border-radius: 25px;
|
||||
cursor: default;
|
||||
}
|
|
@ -1,16 +0,0 @@
|
|||
// @font-face {
|
||||
// font-family: jpserriffont;
|
||||
// src: url('jpserriffont.woff');
|
||||
// }
|
||||
|
||||
@font-face {
|
||||
font-family: 'jpserriffont';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
src: url('../fonts/jpserriffont.woff');
|
||||
font-display: swap;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: jpserriffont;
|
||||
}
|
|
@ -1,100 +0,0 @@
|
|||
.logo-img {
|
||||
border: 2px solid $suwa03;
|
||||
box-shadow: 0 0 7px 3px $suwa04;
|
||||
}
|
||||
|
||||
.logo-sns {
|
||||
transition: background 0.3s, color 0.3s;
|
||||
background-color: $black2;
|
||||
border: 1px solid $white2;
|
||||
padding: 8px;
|
||||
margin: 4px 10px;
|
||||
}
|
||||
|
||||
.logo-sns:hover {
|
||||
background-color: $white2;
|
||||
border: 1px solid $black2;
|
||||
}
|
||||
|
||||
.logo-play {
|
||||
transition: background 0.3s, color 0.3s;
|
||||
background-color: transparent;
|
||||
border-radius: 25%;
|
||||
padding: 2px;
|
||||
}
|
||||
|
||||
.logo-play:hover {
|
||||
background-color: $ng4;
|
||||
}
|
||||
|
||||
.logo-br {
|
||||
position: absolute;
|
||||
bottom: 8px;
|
||||
right: 16px;
|
||||
}
|
||||
|
||||
/// Stroke font-character
|
||||
/// @param {Integer} $stroke - Stroke width
|
||||
/// @param {Color} $color - Stroke color
|
||||
/// @return {List} - text-shadow list
|
||||
@function stroke($stroke, $color) {
|
||||
$shadow: ();
|
||||
$from: $stroke*-1;
|
||||
@for $i from $from through $stroke {
|
||||
@for $j from $from through $stroke {
|
||||
$shadow: append($shadow, $i*1px $j*1px 0 $color, comma);
|
||||
}
|
||||
}
|
||||
@return $shadow;
|
||||
}
|
||||
/// Stroke font-character
|
||||
/// @param {Integer} $stroke - Stroke width
|
||||
/// @param {Color} $color - Stroke color
|
||||
/// @return {Style} - text-shadow
|
||||
@mixin stroke($stroke, $color) {
|
||||
text-shadow: stroke($stroke, $color);
|
||||
}
|
||||
|
||||
@keyframes sitenamehover {
|
||||
0% { text-shadow: stroke(4, $suwa04); }
|
||||
25% { text-shadow: stroke(4, $suwa03); }
|
||||
50% { text-shadow: stroke(4, $suwa00); }
|
||||
75% { text-shadow: stroke(4, $suwa03); }
|
||||
100% { text-shadow: stroke(4, $suwa04); }
|
||||
}
|
||||
|
||||
.logo-c {
|
||||
font-size: 64px;
|
||||
font-weight: bolder;
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
transform: translate(-50%, -50%);
|
||||
text-shadow: stroke(4, $suwa04);
|
||||
}
|
||||
|
||||
.logo-c:hover {
|
||||
animation: sitenamehover 2s linear infinite;
|
||||
}
|
||||
|
||||
@media (max-width : 1200px) {
|
||||
.logo-c {
|
||||
font-size: 32px;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width : 968px) {
|
||||
.logo-c {
|
||||
font-size: 20px;
|
||||
}
|
||||
|
||||
.logo-br, .nomobile {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width : 525px) {
|
||||
.logo-br, .nomobile {
|
||||
display: none;
|
||||
}
|
||||
}
|
|
@ -1,57 +0,0 @@
|
|||
.bg-dark {
|
||||
background: radial-gradient(farthest-corner at 50% 85%, $suwa06 0%, $black1 100%);
|
||||
border: 2px solid $suwa03;
|
||||
box-shadow: 0 0 7px 3px $suwa04;
|
||||
}
|
||||
|
||||
.navbar {
|
||||
padding: 0px;
|
||||
}
|
||||
|
||||
.navbar-toggler {
|
||||
border: 0px solid transparent;
|
||||
}
|
||||
|
||||
.navbar-nav .dropdown-menu {
|
||||
background-color: $black2;
|
||||
color: $white1;
|
||||
border: 2px solid $suwa03;
|
||||
box-shadow: 0 0 7px 3px $suwa04;
|
||||
}
|
||||
|
||||
.dropdown-item {
|
||||
color: $white1;
|
||||
}
|
||||
|
||||
.dropdown-item.active, .dropdown-item:active, .dropdown-item:hover, .dropdown-item:focus {
|
||||
color: $white1;
|
||||
background-color: $suwa03;
|
||||
}
|
||||
|
||||
.navbar-brand {
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
.navbar-brand, .nav-item {
|
||||
transition: background 0.3s;
|
||||
border-radius: 2px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.navbar-brand:hover, .nav-item:hover {
|
||||
background-color: $suwa07;
|
||||
}
|
||||
|
||||
.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {
|
||||
border-color: $suwa08;
|
||||
}
|
||||
|
||||
.nav-tabs .nav-link.active, .nav-tabs .nav-item.show .nav-link {
|
||||
color: $white1;
|
||||
background-color: $suwa04;
|
||||
border-color: $suwa08;
|
||||
}
|
||||
|
||||
.nav-tabs {
|
||||
border-bottom: 1px solid $suwa03;
|
||||
}
|
|
@ -1,21 +0,0 @@
|
|||
::-webkit-scrollbar {
|
||||
width: 6px;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-thumb {
|
||||
background: $suwa03;
|
||||
transition: background 0.3s;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-thumb:hover {
|
||||
background: $suwa01;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-thumb:active {
|
||||
background: $suwa08;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-track {
|
||||
background-color: $white1;
|
||||
background: $black1;
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
.sidemenu {
|
||||
border: 2px solid $suwa03;
|
||||
box-shadow: 0 0 7px 3px $suwa04;
|
||||
}
|
||||
|
||||
.nav-pills .nav-link {
|
||||
border-radius: 0px;
|
||||
}
|
|
@ -1,61 +0,0 @@
|
|||
// Variables
|
||||
@import "variables";
|
||||
|
||||
// Bootstrap
|
||||
@import '~bootstrap/scss/bootstrap';
|
||||
|
||||
// フォント
|
||||
@import "jpserriffont";
|
||||
|
||||
// ロゴ
|
||||
@import "logo";
|
||||
|
||||
// ナビバー
|
||||
@import "navbar";
|
||||
|
||||
// サイドメニュー
|
||||
@import "sidemenu";
|
||||
|
||||
// コンテンツ
|
||||
@import "contents";
|
||||
|
||||
// スクロール
|
||||
@import "scroll";
|
||||
|
||||
// コンポーネント
|
||||
@import "conponent/badge";
|
||||
@import "conponent/button";
|
||||
@import "conponent/check";
|
||||
@import "conponent/form";
|
||||
@import "conponent/modal";
|
||||
@import "conponent/pagination";
|
||||
@import "conponent/select";
|
||||
|
||||
// テーブル
|
||||
@import "conponent/table";
|
||||
|
||||
// その他
|
||||
#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: $white1;
|
||||
background-color: $black1;
|
||||
}
|
||||
|
||||
a { color: $suwa04; }
|
||||
a:hover { color: $suwa03; }
|
||||
// .new { background-color: $suwa09; margin: 10px auto; padding: 0; }
|
||||
// .head > div { margin: 5px 0; }
|
||||
// .new-head, .new-body { padding: 10px; }
|
||||
// .new-head { border: 2px solid $suwa03; background-color: $suwa10; }
|
||||
// .new-body { border-bottom: 2px solid $suwa03; border-left: 2px solid $suwa03; border-right: 2px solid $suwa03; }
|
|
@ -1,62 +0,0 @@
|
|||
// Variables
|
||||
@import "variables";
|
||||
@import "variables_f";
|
||||
|
||||
// Bootstrap
|
||||
@import '~bootstrap/scss/bootstrap';
|
||||
|
||||
// フォント
|
||||
@import "jpserriffont";
|
||||
|
||||
// ロゴ
|
||||
@import "logo";
|
||||
|
||||
// ナビバー
|
||||
@import "navbar";
|
||||
|
||||
// サイドメニュー
|
||||
@import "sidemenu";
|
||||
|
||||
// コンテンツ
|
||||
@import "contents";
|
||||
|
||||
// スクロール
|
||||
@import "scroll";
|
||||
|
||||
// コンポーネント
|
||||
@import "conponent/badge";
|
||||
@import "conponent/button";
|
||||
@import "conponent/check";
|
||||
@import "conponent/form";
|
||||
@import "conponent/modal";
|
||||
@import "conponent/pagination";
|
||||
@import "conponent/select";
|
||||
|
||||
// テーブル
|
||||
@import "conponent/table";
|
||||
|
||||
// その他
|
||||
#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: $white1;
|
||||
background-color: $black1;
|
||||
}
|
||||
|
||||
a { color: $suwa04; }
|
||||
a:hover { color: $suwa03; }
|
||||
// .new { background-color: $suwa09; margin: 10px auto; padding: 0; }
|
||||
// .head > div { margin: 5px 0; }
|
||||
// .new-head, .new-body { padding: 10px; }
|
||||
// .new-head { border: 2px solid $suwa03; background-color: $suwa10; }
|
||||
// .new-body { border-bottom: 2px solid $suwa03; border-left: 2px solid $suwa03; border-right: 2px solid $suwa03; }
|
|
@ -1,62 +0,0 @@
|
|||
// Variables
|
||||
@import "variables";
|
||||
@import "variables_m";
|
||||
|
||||
// Bootstrap
|
||||
@import '~bootstrap/scss/bootstrap';
|
||||
|
||||
// フォント
|
||||
@import "jpserriffont";
|
||||
|
||||
// ロゴ
|
||||
@import "logo";
|
||||
|
||||
// ナビバー
|
||||
@import "navbar";
|
||||
|
||||
// サイドメニュー
|
||||
@import "sidemenu";
|
||||
|
||||
// コンテンツ
|
||||
@import "contents";
|
||||
|
||||
// スクロール
|
||||
@import "scroll";
|
||||
|
||||
// コンポーネント
|
||||
@import "conponent/badge";
|
||||
@import "conponent/button";
|
||||
@import "conponent/check";
|
||||
@import "conponent/form";
|
||||
@import "conponent/modal";
|
||||
@import "conponent/pagination";
|
||||
@import "conponent/select";
|
||||
|
||||
// テーブル
|
||||
@import "conponent/table";
|
||||
|
||||
// その他
|
||||
#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: $white1;
|
||||
background-color: $black1;
|
||||
}
|
||||
|
||||
a { color: $suwa04; }
|
||||
a:hover { color: $suwa03; }
|
||||
// .new { background-color: $suwa09; margin: 10px auto; padding: 0; }
|
||||
// .head > div { margin: 5px 0; }
|
||||
// .new-head, .new-body { padding: 10px; }
|
||||
// .new-head { border: 2px solid $suwa03; background-color: $suwa10; }
|
||||
// .new-body { border-bottom: 2px solid $suwa03; border-left: 2px solid $suwa03; border-right: 2px solid $suwa03; }
|
変更されたファイルが多すぎるため、一部のファイルは表示されません さらに表示
新しいイシューから参照