x-star-design 0.0.141 → 0.0.142

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,3 +1,21 @@
1
+ import { Dayjs } from 'dayjs';
1
2
  import { RawConfig } from '../ac-config/define';
2
- export type ContestType = 'OI' | 'XCPC' | 'IOI' | 'HOMEWORK1' | 'HOMEWORK2' | 'XCAMP_HOMEWORK';
3
- export declare const CONTEST_TEMPLATES: Record<ContestType, Partial<RawConfig>>;
3
+ import { TenantName } from '../tenant-provider';
4
+ /**
5
+ * 计算自动提交时间
6
+ * @param courseEndTime 开课结束时间
7
+ * @returns 开课结束时间 + 14天,取当天0点
8
+ * @example
9
+ * const endTime = dayjs('2026-03-10 18:00:00');
10
+ * const autoSubmitTime = calculateAutoSubmitTime(endTime);
11
+ * // 返回: dayjs('2026-03-24 00:00:00')
12
+ */
13
+ export declare const calculateAutoSubmitTime: (courseEndTime: Dayjs) => Dayjs;
14
+ export type BaseContestType = 'OI' | 'XCPC' | 'IOI';
15
+ export type ContestType = BaseContestType | 'HOMEWORK1' | 'HOMEWORK2' | 'XCAMP_HOMEWORK' | 'XCAMP_FINAL_NO_LIMIT' | 'XCAMP_FINAL_LIMIT';
16
+ export declare const CONTEST_TEMPLATES: Record<BaseContestType, Partial<RawConfig>>;
17
+ export type XYDContestType = 'HOMEWORK1' | 'HOMEWORK2';
18
+ export declare const XYD_CONTEST_TEMPLATES: Record<XYDContestType, Partial<RawConfig>>;
19
+ export type XCampContestType = 'XCAMP_HOMEWORK' | 'XCAMP_FINAL_NO_LIMIT' | 'XCAMP_FINAL_LIMIT';
20
+ export declare const XCAMP_CONTEST_TEMPLATES: Record<XCampContestType, Partial<RawConfig>>;
21
+ export declare const getTemplatesByTenant: (tenantName: TenantName, courseEndTime?: Dayjs) => Record<ContestType, Partial<RawConfig>>;
@@ -1,4 +1,22 @@
1
+ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
1
2
  import dayjs from 'dayjs';
3
+ /**
4
+ * 计算自动提交时间
5
+ * @param courseEndTime 开课结束时间
6
+ * @returns 开课结束时间 + 14天,取当天0点
7
+ * @example
8
+ * const endTime = dayjs('2026-03-10 18:00:00');
9
+ * const autoSubmitTime = calculateAutoSubmitTime(endTime);
10
+ * // 返回: dayjs('2026-03-24 00:00:00')
11
+ */
12
+ export var calculateAutoSubmitTime = function calculateAutoSubmitTime(courseEndTime) {
13
+ return courseEndTime.add(14, 'day').startOf('day');
14
+ };
15
+ // 基础竞赛类型(公用模板)
16
+
17
+ // 所有竞赛类型
18
+
19
+ // 公用的竞赛模板(OI、XCPC、IOI)
2
20
  export var CONTEST_TEMPLATES = {
3
21
  OI: {
4
22
  gradeTime: dayjs(),
@@ -98,7 +116,12 @@ export var CONTEST_TEMPLATES = {
98
116
  // dualEvaluation: false,
99
117
  enableAutoSubmit: false,
100
118
  autoSubmitTime: undefined
101
- },
119
+ }
120
+ };
121
+
122
+ // XYD 租户特有的作业模板
123
+
124
+ export var XYD_CONTEST_TEMPLATES = {
102
125
  HOMEWORK1: {
103
126
  contestTime: 'noLimit',
104
127
  gradeTime: dayjs(),
@@ -174,7 +197,12 @@ export var CONTEST_TEMPLATES = {
174
197
  // dualEvaluation: false,
175
198
  enableAutoSubmit: false,
176
199
  autoSubmitTime: undefined
177
- },
200
+ }
201
+ };
202
+
203
+ // XCamp 租户特有的作业模板
204
+
205
+ export var XCAMP_CONTEST_TEMPLATES = {
178
206
  XCAMP_HOMEWORK: {
179
207
  contestTime: 'noLimit',
180
208
  gradeTime: dayjs(),
@@ -196,7 +224,7 @@ export var CONTEST_TEMPLATES = {
196
224
  downloadDataEnable: true,
197
225
  downloadDataCount: 5,
198
226
  scoreTypeInMatch: 'maxScore',
199
- lang: ['gcc', 'g++', 'g++11', 'g++14', 'g++17', 'python2.7', 'python3.8', 'java8', 'fpc'],
227
+ lang: ['gcc', 'g++', 'g++11', 'g++14', 'g++17', 'python3.8', 'java8'],
200
228
  showTopNSubmission: false,
201
229
  showTopNSubmissionCount: 0,
202
230
  rankListShowRealName: false,
@@ -214,5 +242,104 @@ export var CONTEST_TEMPLATES = {
214
242
  enableRevisal: true,
215
243
  enableAutoSubmit: false,
216
244
  autoSubmitTime: undefined
245
+ },
246
+ XCAMP_FINAL_NO_LIMIT: {
247
+ contestTime: 'limitTime',
248
+ limitTime: {
249
+ limitHour: 336,
250
+ limitMinute: 0
251
+ },
252
+ gradeTime: dayjs(),
253
+ rankListTime: dayjs(),
254
+ paperTime: dayjs(),
255
+ answerTime: dayjs(),
256
+ tipTime: dayjs(),
257
+ gradeRelease: 'afterExam',
258
+ rankListRelease: 'afterGradeRelease',
259
+ paperRelease: 'afterExam',
260
+ answerRelease: 'afterExam',
261
+ tipRelease: 'always',
262
+ submission: 'noEarlySubmission',
263
+ restriction: 'never',
264
+ disorder: [],
265
+ personalScoreVisibility: 'always',
266
+ rankingMethod: 'score',
267
+ highScoreProgramVisibility: 'never',
268
+ downloadDataEnable: true,
269
+ downloadDataCount: 5,
270
+ scoreTypeInMatch: 'maxScore',
271
+ lang: ['gcc', 'g++', 'g++11', 'g++14', 'g++17', 'python3.8', 'java8'],
272
+ showTopNSubmission: false,
273
+ showTopNSubmissionCount: 0,
274
+ rankListShowRealName: false,
275
+ rankShowUserLabel: false,
276
+ submissionLimitTime: {
277
+ limitHour: 0,
278
+ limitMinute: 0
279
+ },
280
+ revisalCount: 5,
281
+ enableRevisal: true,
282
+ enableAutoSubmit: true,
283
+ autoSubmitTime: calculateAutoSubmitTime(dayjs())
284
+ },
285
+ XCAMP_FINAL_LIMIT: {
286
+ contestTime: 'limitTime',
287
+ limitTime: {
288
+ limitHour: 4,
289
+ limitMinute: 0
290
+ },
291
+ gradeTime: dayjs(),
292
+ rankListTime: dayjs(),
293
+ paperTime: dayjs(),
294
+ answerTime: dayjs(),
295
+ tipTime: dayjs(),
296
+ gradeRelease: 'afterExam',
297
+ rankListRelease: 'afterGradeRelease',
298
+ paperRelease: 'afterExam',
299
+ answerRelease: 'afterExam',
300
+ tipRelease: 'always',
301
+ submission: 'noEarlySubmission',
302
+ restriction: 'never',
303
+ disorder: [],
304
+ personalScoreVisibility: 'always',
305
+ rankingMethod: 'score',
306
+ highScoreProgramVisibility: 'never',
307
+ downloadDataEnable: true,
308
+ downloadDataCount: 5,
309
+ scoreTypeInMatch: 'maxScore',
310
+ lang: ['gcc', 'g++', 'g++11', 'g++14', 'g++17', 'python3.8', 'java8'],
311
+ showTopNSubmission: false,
312
+ showTopNSubmissionCount: 0,
313
+ rankListShowRealName: false,
314
+ rankShowUserLabel: false,
315
+ submissionLimitTime: {
316
+ limitHour: 0,
317
+ limitMinute: 0
318
+ },
319
+ revisalCount: 5,
320
+ enableRevisal: true,
321
+ enableAutoSubmit: true,
322
+ autoSubmitTime: calculateAutoSubmitTime(dayjs())
323
+ }
324
+ };
325
+
326
+ // 根据租户类型获取模板配置
327
+ export var getTemplatesByTenant = function getTemplatesByTenant(tenantName, courseEndTime) {
328
+ var baseTemplates = _objectSpread({}, CONTEST_TEMPLATES);
329
+ if (tenantName === 'xcamp') {
330
+ var xcampTemplates = _objectSpread({}, XCAMP_CONTEST_TEMPLATES);
331
+
332
+ // 如果提供了课程结束时间,自动计算 autoSubmitTime
333
+ if (courseEndTime) {
334
+ xcampTemplates.XCAMP_FINAL_NO_LIMIT = _objectSpread(_objectSpread({}, xcampTemplates.XCAMP_FINAL_NO_LIMIT), {}, {
335
+ autoSubmitTime: calculateAutoSubmitTime(courseEndTime)
336
+ });
337
+ xcampTemplates.XCAMP_FINAL_LIMIT = _objectSpread(_objectSpread({}, xcampTemplates.XCAMP_FINAL_LIMIT), {}, {
338
+ autoSubmitTime: calculateAutoSubmitTime(courseEndTime)
339
+ });
340
+ }
341
+ return _objectSpread(_objectSpread({}, baseTemplates), xcampTemplates);
342
+ } else {
343
+ return _objectSpread(_objectSpread({}, baseTemplates), XYD_CONTEST_TEMPLATES);
217
344
  }
218
345
  };
@@ -3,6 +3,7 @@ import { RawConfig } from '../ac-config/define';
3
3
  import { ContestType } from './define';
4
4
  interface ConfigTemplateProps {
5
5
  onSelect?: (config: Partial<RawConfig>, configType: ContestType) => void;
6
+ courseEndTime?: number;
6
7
  }
7
- declare const ConfigTemplate: ({ onSelect }: ConfigTemplateProps) => React.JSX.Element;
8
+ declare const ConfigTemplate: ({ onSelect, courseEndTime }: ConfigTemplateProps) => React.JSX.Element;
8
9
  export default ConfigTemplate;
@@ -1,32 +1,59 @@
1
1
  import { Card, Col, message, Popconfirm, Row, Space, Typography } from 'antd';
2
- import React from 'react';
2
+ import dayjs from 'dayjs';
3
+ import React, { useMemo } from 'react';
3
4
  import { useLocale } from "../locales";
5
+ import { useTenant } from "../tenant-provider";
4
6
  import { prefix } from "../utils/global";
5
- import { CONTEST_TEMPLATES } from "./define";
7
+ import { getTemplatesByTenant } from "./define";
6
8
  var Text = Typography.Text;
7
9
  var ConfigTemplate = function ConfigTemplate(_ref) {
8
- var onSelect = _ref.onSelect;
10
+ var onSelect = _ref.onSelect,
11
+ courseEndTime = _ref.courseEndTime;
9
12
  var _useLocale = useLocale('ConfigTemplate'),
10
13
  t = _useLocale.format;
11
- var template = [{
12
- type: 'OI',
13
- title: t('OI')
14
- }, {
15
- type: 'XCPC',
16
- title: t('XCPC')
17
- }, {
18
- type: 'IOI',
19
- title: t('IOI')
20
- }, {
21
- type: 'HOMEWORK1',
22
- title: t('Homework_Mode_1')
23
- }, {
24
- type: 'HOMEWORK2',
25
- title: t('Homework_Mode_2')
26
- }, {
27
- type: 'XCAMP_HOMEWORK',
28
- title: t('XCAMP_HOMEWORK')
29
- }];
14
+ var _useTenant = useTenant(),
15
+ tenant = _useTenant.tenant;
16
+
17
+ // 根据租户获取对应的模板配置
18
+ var TEMPLATES = useMemo(function () {
19
+ return getTemplatesByTenant(tenant.name, courseEndTime ? dayjs.unix(courseEndTime) : undefined);
20
+ }, [tenant.name, courseEndTime]);
21
+
22
+ // 根据租户动态生成模板列表
23
+ var template = useMemo(function () {
24
+ var baseTemplates = [{
25
+ type: 'OI',
26
+ title: t('OI')
27
+ }, {
28
+ type: 'XCPC',
29
+ title: t('XCPC')
30
+ }, {
31
+ type: 'IOI',
32
+ title: t('IOI')
33
+ }];
34
+
35
+ // 根据租户添加特定模板
36
+ if (tenant.name === 'xcamp') {
37
+ return [].concat(baseTemplates, [{
38
+ type: 'XCAMP_HOMEWORK',
39
+ title: t('XCAMP_HOMEWORK')
40
+ }, {
41
+ type: 'XCAMP_FINAL_NO_LIMIT',
42
+ title: t('XCAMP_FINAL_NO_LIMIT')
43
+ }, {
44
+ type: 'XCAMP_FINAL_LIMIT',
45
+ title: t('XCAMP_FINAL_LIMIT')
46
+ }]);
47
+ } else {
48
+ return [].concat(baseTemplates, [{
49
+ type: 'HOMEWORK1',
50
+ title: t('Homework_Mode_1')
51
+ }, {
52
+ type: 'HOMEWORK2',
53
+ title: t('Homework_Mode_2')
54
+ }]);
55
+ }
56
+ }, [tenant.name, t]);
30
57
  var templateConfig = {
31
58
  OI: {
32
59
  title: t('OI'),
@@ -117,6 +144,38 @@ var ConfigTemplate = function ConfigTemplate(_ref) {
117
144
  text: t('Download_Count_15'),
118
145
  icon: '►'
119
146
  }]
147
+ },
148
+ XCAMP_FINAL_NO_LIMIT: {
149
+ title: t('XCAMP_FINAL_NO_LIMIT'),
150
+ features: [{
151
+ text: t('XCAMP_FINAL_NO_LIMIT_TIME'),
152
+ icon: '►'
153
+ }, {
154
+ text: t('XCAMP_FINAL_NO_LIMIT_NO_EARLY_SUBMISSION'),
155
+ icon: '►'
156
+ }, {
157
+ text: t('XCAMP_FINAL_NO_LIMIT_AUTO_SUBMISSION'),
158
+ icon: '►'
159
+ }, {
160
+ text: t('XCAMP_FINAL_NO_LIMIT_AUTO_SUBMISSION_TIME'),
161
+ icon: '►'
162
+ }]
163
+ },
164
+ XCAMP_FINAL_LIMIT: {
165
+ title: t('XCAMP_FINAL_LIMIT'),
166
+ features: [{
167
+ text: t('XCAMP_FINAL_LIMIT_TIME'),
168
+ icon: '►'
169
+ }, {
170
+ text: t('XCAMP_FINAL_NO_LIMIT_NO_EARLY_SUBMISSION'),
171
+ icon: '►'
172
+ }, {
173
+ text: t('XCAMP_FINAL_NO_LIMIT_AUTO_SUBMISSION'),
174
+ icon: '►'
175
+ }, {
176
+ text: t('XCAMP_FINAL_NO_LIMIT_AUTO_SUBMISSION_TIME'),
177
+ icon: '►'
178
+ }]
120
179
  }
121
180
  };
122
181
  return /*#__PURE__*/React.createElement(Row, {
@@ -129,7 +188,7 @@ var ConfigTemplate = function ConfigTemplate(_ref) {
129
188
  title: t('Current_Operation_Hint'),
130
189
  "data-testid": "popconfirm",
131
190
  onConfirm: function onConfirm() {
132
- onSelect === null || onSelect === void 0 ? void 0 : onSelect(CONTEST_TEMPLATES[item.type], item.type);
191
+ onSelect === null || onSelect === void 0 ? void 0 : onSelect(TEMPLATES[item.type], item.type);
133
192
  message.success({
134
193
  key: 'success',
135
194
  content: t('Cover_successfully')
@@ -238,9 +238,16 @@ declare const _default: {
238
238
  readonly Same_Score_First_AC: "Same score, rank by first AC time";
239
239
  readonly No_Submission_Result_In_Contest: "No submission result in contest";
240
240
  readonly Submit_By_Last_Submission: "Submit by last submission";
241
- readonly XCAMP_HOMEWORK: "X-Camp Homework Mode";
241
+ readonly XCAMP_HOMEWORK: "Homework Mode";
242
+ readonly XCAMP_FINAL_NO_LIMIT: "Final Exam (No Time Limit)";
242
243
  readonly Download_Count_15: "Download error data (XJOI) 2 pairs";
243
244
  readonly Rank_List_Not_Show_Real_Name: "Ranklist not show real name";
245
+ readonly XCAMP_FINAL_LIMIT: "Final Exam (Time Limit)";
246
+ readonly XCAMP_FINAL_NO_LIMIT_TIME: "Homework time limit 14 days";
247
+ readonly XCAMP_FINAL_NO_LIMIT_NO_EARLY_SUBMISSION: "No early submission";
248
+ readonly XCAMP_FINAL_NO_LIMIT_AUTO_SUBMISSION: "Automatic submission enabled";
249
+ readonly XCAMP_FINAL_NO_LIMIT_AUTO_SUBMISSION_TIME: "Automatic submission after 14 days";
250
+ readonly XCAMP_FINAL_LIMIT_TIME: "Homework time limit 4 hours";
244
251
  };
245
252
  };
246
253
  export default _default;
@@ -238,8 +238,15 @@ export default {
238
238
  Same_Score_First_AC: 'Same score, rank by first AC time',
239
239
  No_Submission_Result_In_Contest: 'No submission result in contest',
240
240
  Submit_By_Last_Submission: 'Submit by last submission',
241
- XCAMP_HOMEWORK: 'X-Camp Homework Mode',
241
+ XCAMP_HOMEWORK: 'Homework Mode',
242
+ XCAMP_FINAL_NO_LIMIT: 'Final Exam (No Time Limit)',
242
243
  Download_Count_15: 'Download error data (XJOI) 2 pairs',
243
- Rank_List_Not_Show_Real_Name: 'Ranklist not show real name'
244
+ Rank_List_Not_Show_Real_Name: 'Ranklist not show real name',
245
+ XCAMP_FINAL_LIMIT: 'Final Exam (Time Limit)',
246
+ XCAMP_FINAL_NO_LIMIT_TIME: 'Homework time limit 14 days',
247
+ XCAMP_FINAL_NO_LIMIT_NO_EARLY_SUBMISSION: 'No early submission',
248
+ XCAMP_FINAL_NO_LIMIT_AUTO_SUBMISSION: 'Automatic submission enabled',
249
+ XCAMP_FINAL_NO_LIMIT_AUTO_SUBMISSION_TIME: 'Automatic submission after 14 days',
250
+ XCAMP_FINAL_LIMIT_TIME: 'Homework time limit 4 hours'
244
251
  }
245
252
  };
@@ -249,9 +249,16 @@ export declare const useLocale: <T extends "VisualDataConfig" | "TranslateButton
249
249
  readonly Same_Score_First_AC: "同分按首次AC时间排名";
250
250
  readonly No_Submission_Result_In_Contest: "比赛中不显示提交结果";
251
251
  readonly Submit_By_Last_Submission: "提交按最后一次提交时间计分";
252
- readonly XCAMP_HOMEWORK: "X-Camp作业模式";
252
+ readonly XCAMP_HOMEWORK: "作业模式";
253
+ readonly XCAMP_FINAL_NO_LIMIT: "期末考试(不限时)";
253
254
  readonly Download_Count_15: "下载错误数据(XJOI)2对";
254
255
  readonly Rank_List_Not_Show_Real_Name: "排行榜不显示真实姓名";
256
+ readonly XCAMP_FINAL_LIMIT: "期末考试(限时)";
257
+ readonly XCAMP_FINAL_NO_LIMIT_TIME: "作业时长14天";
258
+ readonly XCAMP_FINAL_NO_LIMIT_NO_EARLY_SUBMISSION: "不允许提前交卷";
259
+ readonly XCAMP_FINAL_NO_LIMIT_AUTO_SUBMISSION: "定时自动交卷开启";
260
+ readonly XCAMP_FINAL_NO_LIMIT_AUTO_SUBMISSION_TIME: "结课之日起14天后自动交卷";
261
+ readonly XCAMP_FINAL_LIMIT_TIME: "作业时长4小时";
255
262
  };
256
263
  } | {
257
264
  readonly VisualDataConfig: {
@@ -493,9 +500,16 @@ export declare const useLocale: <T extends "VisualDataConfig" | "TranslateButton
493
500
  readonly Same_Score_First_AC: "Same score, rank by first AC time";
494
501
  readonly No_Submission_Result_In_Contest: "No submission result in contest";
495
502
  readonly Submit_By_Last_Submission: "Submit by last submission";
496
- readonly XCAMP_HOMEWORK: "X-Camp Homework Mode";
503
+ readonly XCAMP_HOMEWORK: "Homework Mode";
504
+ readonly XCAMP_FINAL_NO_LIMIT: "Final Exam (No Time Limit)";
497
505
  readonly Download_Count_15: "Download error data (XJOI) 2 pairs";
498
506
  readonly Rank_List_Not_Show_Real_Name: "Ranklist not show real name";
507
+ readonly XCAMP_FINAL_LIMIT: "Final Exam (Time Limit)";
508
+ readonly XCAMP_FINAL_NO_LIMIT_TIME: "Homework time limit 14 days";
509
+ readonly XCAMP_FINAL_NO_LIMIT_NO_EARLY_SUBMISSION: "No early submission";
510
+ readonly XCAMP_FINAL_NO_LIMIT_AUTO_SUBMISSION: "Automatic submission enabled";
511
+ readonly XCAMP_FINAL_NO_LIMIT_AUTO_SUBMISSION_TIME: "Automatic submission after 14 days";
512
+ readonly XCAMP_FINAL_LIMIT_TIME: "Homework time limit 4 hours";
499
513
  };
500
514
  })[T][U];
501
515
  };
@@ -238,9 +238,16 @@ declare const _default: {
238
238
  readonly Same_Score_First_AC: "同分按首次AC时间排名";
239
239
  readonly No_Submission_Result_In_Contest: "比赛中不显示提交结果";
240
240
  readonly Submit_By_Last_Submission: "提交按最后一次提交时间计分";
241
- readonly XCAMP_HOMEWORK: "X-Camp作业模式";
241
+ readonly XCAMP_HOMEWORK: "作业模式";
242
+ readonly XCAMP_FINAL_NO_LIMIT: "期末考试(不限时)";
242
243
  readonly Download_Count_15: "下载错误数据(XJOI)2对";
243
244
  readonly Rank_List_Not_Show_Real_Name: "排行榜不显示真实姓名";
245
+ readonly XCAMP_FINAL_LIMIT: "期末考试(限时)";
246
+ readonly XCAMP_FINAL_NO_LIMIT_TIME: "作业时长14天";
247
+ readonly XCAMP_FINAL_NO_LIMIT_NO_EARLY_SUBMISSION: "不允许提前交卷";
248
+ readonly XCAMP_FINAL_NO_LIMIT_AUTO_SUBMISSION: "定时自动交卷开启";
249
+ readonly XCAMP_FINAL_NO_LIMIT_AUTO_SUBMISSION_TIME: "结课之日起14天后自动交卷";
250
+ readonly XCAMP_FINAL_LIMIT_TIME: "作业时长4小时";
244
251
  };
245
252
  };
246
253
  export default _default;
@@ -238,8 +238,15 @@ export default {
238
238
  Same_Score_First_AC: '同分按首次AC时间排名',
239
239
  No_Submission_Result_In_Contest: '比赛中不显示提交结果',
240
240
  Submit_By_Last_Submission: '提交按最后一次提交时间计分',
241
- XCAMP_HOMEWORK: 'X-Camp作业模式',
241
+ XCAMP_HOMEWORK: '作业模式',
242
+ XCAMP_FINAL_NO_LIMIT: '期末考试(不限时)',
242
243
  Download_Count_15: '下载错误数据(XJOI)2对',
243
- Rank_List_Not_Show_Real_Name: '排行榜不显示真实姓名'
244
+ Rank_List_Not_Show_Real_Name: '排行榜不显示真实姓名',
245
+ XCAMP_FINAL_LIMIT: '期末考试(限时)',
246
+ XCAMP_FINAL_NO_LIMIT_TIME: '作业时长14天',
247
+ XCAMP_FINAL_NO_LIMIT_NO_EARLY_SUBMISSION: '不允许提前交卷',
248
+ XCAMP_FINAL_NO_LIMIT_AUTO_SUBMISSION: '定时自动交卷开启',
249
+ XCAMP_FINAL_NO_LIMIT_AUTO_SUBMISSION_TIME: '结课之日起14天后自动交卷',
250
+ XCAMP_FINAL_LIMIT_TIME: '作业时长4小时'
244
251
  }
245
252
  };
@@ -811,6 +811,8 @@
811
811
  border-radius: 4px;
812
812
  color: #1990fe;
813
813
  background-color: #e6f4ff;
814
+ white-space: wrap;
815
+ word-break: break-all;
814
816
  }
815
817
  .x-star-design-templateCard .x-star-design-title {
816
818
  display: block;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "x-star-design",
3
- "version": "0.0.141",
3
+ "version": "0.0.142",
4
4
  "description": "A react component library developed by turingstar",
5
5
  "license": "MIT",
6
6
  "module": "dist/index.js",