diff --git a/src/Flows.css b/src/Flows.css index a1f4ec0..d8af56a 100644 --- a/src/Flows.css +++ b/src/Flows.css @@ -15,7 +15,7 @@ .root-dark-mode .box { background-color: var(--box-bgcolor-dark); color: var(--foreground-dark); - box-shadow: 0 0 10px rgba(255,255,255,.1); + box-shadow: 0 0 5px rgba(255,255,255,.15); } .root-dark-mode .sidebar .box { diff --git a/src/Sidebar.css b/src/Sidebar.css index 114f5b4..576f834 100644 --- a/src/Sidebar.css +++ b/src/Sidebar.css @@ -40,7 +40,7 @@ } .root-dark-mode .sidebar { - background-color: hsla(0,0%,5%,.5); + background-color: hsla(0,0%,5%,.4); } .sidebar, .sidebar-title { diff --git a/src/UserAction.js b/src/UserAction.js index f1ced4b..a3e1aea 100644 --- a/src/UserAction.js +++ b/src/UserAction.js @@ -298,7 +298,7 @@ export class ReplyForm extends Component { data.append('pid',this.props.pid); data.append('text',this.state.text); data.append('user_token',this.props.token); - fetch(API_BASE+'/api.php?action=docomment'+API_VERSION_PARAM, { + fetch(API_BASE+'/api.php?action=docomment'+API_VERSION_PARAM(), { method: 'POST', headers: { 'Content-Type': 'application/x-www-form-urlencoded', @@ -378,7 +378,7 @@ export class PostForm extends Component { if(img) data.append('data',img); - fetch(API_BASE+'/api.php?action=dopost'+API_VERSION_PARAM, { + fetch(API_BASE+'/api.php?action=dopost'+API_VERSION_PARAM(), { method: 'POST', headers: { 'Content-Type': 'application/x-www-form-urlencoded', diff --git a/src/flows_api.js b/src/flows_api.js index b4ea832..291b30d 100644 --- a/src/flows_api.js +++ b/src/flows_api.js @@ -3,11 +3,13 @@ import {PKUHELPER_ROOT} from './infrastructure/const'; import {API_BASE} from './Common'; import {cache} from './cache'; -export const API_VERSION_PARAM='&PKUHelperAPI=3.0'; +export function API_VERSION_PARAM() { + return '&PKUHelperAPI=3.0&jsapiver='+encodeURIComponent((process.env.REACT_APP_BUILD_INFO||'null')+'-'+Math.floor(+new Date()/3600000)); +} export {PKUHELPER_ROOT}; function token_param(token) { - return API_VERSION_PARAM + (token ? ('&user_token='+token) : ''); + return API_VERSION_PARAM()+(token ? ('&user_token='+token) : ''); } export {get_json}; @@ -72,7 +74,7 @@ export const API={ data.append('user_token',token); data.append('pid',pid); data.append('switch',attention ? '1' : '0'); - return fetch(API_BASE+'/api.php?action=attention'+API_VERSION_PARAM, { + return fetch(API_BASE+'/api.php?action=attention'+API_VERSION_PARAM(), { method: 'POST', headers: { 'Content-Type': 'application/x-www-form-urlencoded', @@ -97,7 +99,7 @@ export const API={ data.append('user_token',token); data.append('pid',pid); data.append('reason',reason); - return fetch(API_BASE+'/api.php?action=report'+API_VERSION_PARAM, { + return fetch(API_BASE+'/api.php?action=report'+API_VERSION_PARAM(), { method: 'POST', headers: { 'Content-Type': 'application/x-www-form-urlencoded', diff --git a/src/text_splitter.js b/src/text_splitter.js index a3f6899..241c5e7 100644 --- a/src/text_splitter.js +++ b/src/text_splitter.js @@ -1,7 +1,7 @@ // regexp should match the WHOLE segmented part export const PID_RE=/(^|[^\d\u20e3\ufe0e\ufe0f])([1-9]\d{4,5})(?![\d\u20e3\ufe0e\ufe0f])/g; export const URL_PID_RE=/((?:https?:\/\/)?pkuhelper\.pku\.edu\.cn\/hole\/?#(?:#|%23)([1-9]\d{4,5}))(?!\d|\u20e3|\ufe0e|\ufe0f)/g; -export const NICKNAME_RE=/(^|[^A-Za-z])((?:(?:Angry|Baby|Crazy|Diligent|Excited|Fat|Greedy|Hungry|Interesting|Japanese|Kind|Little|Magic|Naïve|Old|Powerful|Quiet|Rich|Superman|THU|Undefined|Valuable|Wifeless|Xiangbuchulai|Young|Zombie)\s)?(?:Alice|Bob|Carol|Dave|Eve|Francis|Grace|Hans|Isabella|Jason|Kate|Louis|Margaret|Nathan|Olivia|Paul|Queen|Richard|Susan|Thomas|Uma|Vivian|Winnie|Xander|Yasmine|Zach)|You Win(?: \d+)?|洞主)(?![A-Za-z])/gi; +export const NICKNAME_RE=/(^|[^A-Za-z])((?:(?:Angry|Baby|Crazy|Diligent|Excited|Fat|Greedy|Hungry|Interesting|Jolly|Kind|Little|Magic|Naïve|Old|Powerful|Quiet|Rich|Superman|THU|Undefined|Valuable|Wifeless|Xiangbuchulai|Young|Zombie)\s)?(?:Alice|Bob|Carol|Dave|Eve|Francis|Grace|Hans|Isabella|Jason|Kate|Louis|Margaret|Nathan|Olivia|Paul|Queen|Richard|Susan|Thomas|Uma|Vivian|Winnie|Xander|Yasmine|Zach)|You Win(?: \d+)?|洞主)(?![A-Za-z])/gi; export const URL_RE=/(^|[^.@a-zA-Z0-9_])((?:https?:\/\/)?(?:(?:[\w-]+\.)+[a-zA-Z]{2,3}|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})(?::\d{1,5})?(?:\/[\w~!@#$%^&*()\-_=+[\]{};:,./?|]*)?)(?![a-zA-Z0-9])/gi; export function split_text(txt,rules) {