@@ -39,7 +39,7 @@ export const SessionDataPage: React.VFC = () => {
{score.data && (
みす廃データ
-
+
内容 |
@@ -67,6 +67,6 @@ export const SessionDataPage: React.VFC = () => {
)}
- >
+
);
};
diff --git a/src/frontend/components/SettingPage.tsx b/src/frontend/components/SettingPage.tsx
index 4a94927..b3104f3 100644
--- a/src/frontend/components/SettingPage.tsx
+++ b/src/frontend/components/SettingPage.tsx
@@ -1,4 +1,4 @@
-import React, { useEffect, useReducer } from 'react';
+import React, { useEffect, useMemo, useReducer } from 'react';
import { AlertMode } from '../../common/types/alert-mode';
import { IUser } from '../../common/types/user';
import { Visibility } from '../../common/types/visibility';
@@ -42,52 +42,63 @@ export const SettingPage: React.VFC = () => {
}
}, [session.data]);
+ const saveButton = useMemo(() => (
+
+ ), []);
+
return session.isLoading || !data ? (
) : (
-
-
-
-
- {draft.alertMode === 'notification' && (
-
-
- 「Misskey に通知」オプションは古いMisskeyでは動作しません。
+
+
+
+
スコア通知方法
+
+
+ {draft.alertMode === 'notification' && (
+
+
+ 「Misskey に通知」オプションは古いMisskeyでは動作しません。
+
+ )}
- )}
-
- { draft.alertMode === 'note' && (
-
-
-
-
+ { draft.alertMode === 'note' && (
+
+
+
+
+
+ )}
+ {saveButton}
+
+
+
+
+
テンプレート
+
- )}
-
-
-
-
);
};
diff --git a/src/frontend/init.tsx b/src/frontend/init.tsx
index 9226256..7a06669 100644
--- a/src/frontend/init.tsx
+++ b/src/frontend/init.tsx
@@ -2,6 +2,8 @@ import * as React from 'react';
import * as ReactDOM from 'react-dom';
import { App } from './App';
+document.body.classList.add('dark');
+
// cookieにトークンが入ってたらlocalStorageに移し替える
const token = document.cookie
.split('; ')
diff --git a/src/frontend/pages/index.session.tsx b/src/frontend/pages/index.session.tsx
index ae78280..1241fcc 100644
--- a/src/frontend/pages/index.session.tsx
+++ b/src/frontend/pages/index.session.tsx
@@ -29,10 +29,10 @@ export const IndexSessionPage: React.VFC = () => {
+
+ {component}
+
>
);
};
diff --git a/src/frontend/style.scss b/src/frontend/style.scss
index 1d29445..6225bb0 100644
--- a/src/frontend/style.scss
+++ b/src/frontend/style.scss
@@ -6,25 +6,29 @@ body {
.xarticle {
margin: auto;
max-width: 720px;
- overflow: hidden;
}
.skeleton {
border-radius: var(--radius);
- background: var(--tone-1);
+ background: var(--tone-2);
position: relative;
overflow: hidden;
&::after {
content: "";
inset: 0;
position: absolute;
- background: linear-gradient(90deg, transparent, var(--tone-2) 50%, transparent 100%);
+ background: linear-gradient(90deg, transparent, var(--tone-3) 50%, transparent 100%);
animation: 1.2s ease-out 0s infinite skeleton;
}
}
+.fade {
+ animation: 0.3s ease-out 0s fadeIn;
+}
+
.tab {
display: flex;
+ flex-wrap: wrap;
background: var(--panel);
.item {
position: relative;
@@ -67,3 +71,14 @@ body {
transform: translateX(300%);
}
}
+
+@keyframes fadeIn {
+ from {
+ opacity: 0;
+ transform: translateY(-8px);
+ }
+ to {
+ opacity: 1;
+ transform: none;
+ }
+}