Skip to content

Commit 3ca0d83

Browse files
committed
adding about and confirmation to remove/reset times + other minor improvements
1 parent cbd551d commit 3ca0d83

File tree

5 files changed

+125
-6
lines changed

5 files changed

+125
-6
lines changed

index.html

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,12 @@
44
<meta charset="UTF-8" />
55
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
66
<title>[On-Time]</title>
7+
<meta
8+
name="description"
9+
content="on-time is a handy tool for showing schedule times and display the remaining time until next bus stop, works even in offline and have ability to read any excel file as input from internet"
10+
/>
711
<link rel="icon" href="./ontime512.png" />
812
<link rel="apple-touch-icon" href="./ontime512.png" />
9-
<meta name="theme-color" content="#326cd8" />
1013
</head>
1114
<body>
1215
<div id="root"></div>

src/About.tsx

Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,105 @@
1+
import { base, origin } from "./vars";
2+
3+
type Props = {};
4+
const About = (props: Props) => {
5+
return (
6+
<div className="rtl text-right leading-8">
7+
<h1 className="text-2xl text-primary border-b border-primary font-bold text-center mb-5">
8+
راهنما
9+
</h1>
10+
<p>
11+
پروژه <strong className="text-primary">آن‌تایم</strong> با هدف راحت‌تر
12+
کردن دسترسی به زمان سرویس‌ها و اطلاع از زمان سرویس بعدی ساخته شده است.
13+
</p>
14+
<p>
15+
این وب اپلیکیشن قابلیت نصب و اجرای آفلاین بر روی دستگاه‌های موبایل را
16+
دارا است. برای نصب مراحل زیر را دنبال کنید:
17+
</p>
18+
<ul className="list-disc ps-5">
19+
<li>ابتدا این وب‌سایت را با مرورگری همانند گوگل کروم باز کنید.</li>
20+
<li>
21+
پس از باز کردن پیغامی برای نصب ظاهر می‌شود و می‌توانید اقدام به نصب
22+
کنید. در صورتیکه پیامی نیامد به مرحله بعد بروید.
23+
</li>
24+
<li>
25+
از گوشه مرورگر بر روی دکمه (...) کلیک کنید و گزینه Add to Home screen
26+
را انتخاب کنید.
27+
</li>
28+
<li>
29+
در صفحه باز شده بر روی Install کلیک کنید و در پنجره بعدی مجددا Install
30+
را انتخاب کنید.
31+
</li>
32+
<li>
33+
با انجام کارهای بالا آن‌تایم به لیست برنامه‌های نصب شده شما در صفحه
34+
اصلی اضافه خواهد شد.
35+
</li>
36+
</ul>
37+
<hr className="my-3" />
38+
<p>
39+
این برنامه از فایل اکسل برای خواندن اطلاعات استفاده می‌کند. در صورتیکه
40+
دانشجوی دانشگاه صنعتی ارومیه نیستید همچنان می‌توانید با انجام مراحل زیر
41+
هر برنامه زمانی را به این وب اپلیکیشن اضافه کنید:
42+
</p>
43+
<ul className="list-disc ps-5">
44+
<li>
45+
دانلود و ویرایش{" "}
46+
<a
47+
href={origin + base + "UUT-BUS.xlsx"}
48+
target="_blank"
49+
rel="noopener noreferrer"
50+
className="text-primary"
51+
>
52+
فایل نمونه اکسل
53+
</a>{" "}
54+
مطابق برنامه زمانی شما
55+
</li>
56+
<li>آپلود فایل در اینترنت (پیشنهادی: گوگل شیت با دسترسی عمومی)</li>
57+
<li>
58+
انتخاب دکمه افزودن برنامه جدید از تنظیمات و وارد کردن لینک فایل اکسل و
59+
نام برنامه زمانی و تست برنامه
60+
</li>
61+
<li>
62+
{" "}
63+
انتخاب دکمه اشتراک گذاری برنامه مدنظر از قسمت «برنامه‌های زمانی فعال»
64+
برای کپی کردن لینک
65+
</li>
66+
<li>اشتراک گذاری این لینک با بقیه افراد برای اضافه کردن راحت‌تر</li>
67+
</ul>
68+
<p>
69+
توضیحات در مورد فایل اکسل: هر ستون یک برنامه زمانی است و فایل حداقل باید
70+
دو ستون داشته باشد (ستون اول رفت و ستون دوم برگشت) ردیف اول ستون نام
71+
سرویس‌ها است. در صورتیکه برنامه شما دارای زیر برنامه است (مثلا برای
72+
روزهای خاص هفته) کافی است اسم همان برنامه را عینا با یک فاصله و سپس نام
73+
زیر برنامه را داخل پارانتز بنویسید. در این صورت این ستون زیر برنامه‌ای
74+
از برنامه مدنظر خواهد بود. سلول‌های خالی و سلول‌هایی که - دارند نادیده
75+
گرفته خواهد شد.
76+
</p>
77+
<hr className="my-3" />
78+
79+
<div className="text-center">
80+
<p>
81+
برنامه‌نویسی شده توسط{" "}
82+
<a
83+
href="http://mohsenfaraj.ir"
84+
target="_blank"
85+
rel="noopener noreferrer"
86+
className="text-primary"
87+
>
88+
محسن فرج‌اللهی
89+
</a>
90+
</p>
91+
<p>
92+
<a
93+
href="http://codegeeks.ir"
94+
target="_blank"
95+
rel="noopener noreferrer"
96+
className="text-primary"
97+
>
98+
انجمن علمی کامپیوتر دانشگاه صنعتی ارومیه
99+
</a>
100+
</p>
101+
</div>
102+
</div>
103+
);
104+
};
105+
export default About;

src/AddRepo.tsx

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
// TODO: Check file format before adding to the repos
22
import React, { useEffect } from "react";
33
import { repoType } from "./xlsxLoader";
4-
import { useLocation } from "react-router-dom";
4+
import { useNavigate, useLocation } from "react-router-dom";
5+
import { base } from "./vars";
56

67
type Props = {
78
repos: repoType[];
@@ -13,7 +14,8 @@ const AddRepo = ({ repos, setRepos }: Props) => {
1314
const queryParams = new URLSearchParams(location.search);
1415
const name = queryParams.get("name");
1516
const link = queryParams.get("link");
16-
const overwrite = queryParams.get("rm");
17+
const overwrite = queryParams.get("rm") == "true";
18+
const navigate = useNavigate();
1719

1820
function handleSubmit(e: React.SyntheticEvent<HTMLFormElement>) {
1921
e.preventDefault();
@@ -37,6 +39,7 @@ const AddRepo = ({ repos, setRepos }: Props) => {
3739
});
3840
}
3941
alert(`برنامه ${newRepo.name} با موفقیت اضافه شد!`);
42+
navigate(base + "settings");
4043
}
4144
}
4245
return (
@@ -90,7 +93,7 @@ const AddRepo = ({ repos, setRepos }: Props) => {
9093
id="overwrite"
9194
type="checkbox"
9295
name="overwrite"
93-
value={"true"}
96+
defaultChecked={overwrite || false}
9497
className="w-5 h-5"
9598
/>
9699
<label htmlFor="overwrite" className="ms-2 text-gray-900">

src/Repo.tsx

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,12 @@ export default function Repo({ name, link, remove, disabled }: props) {
3232
className="h-5 w-5 flex justify-center items-center bg-red-700 disabled:opacity-50 p-4 rounded text-white"
3333
disabled={disabled}
3434
onClick={() => {
35-
remove(link);
35+
let RuSureAboutDat = confirm(
36+
`آیا از حذف برنامه «${name}» مطمئن هستید؟`
37+
);
38+
if (RuSureAboutDat) {
39+
remove(link);
40+
}
3641
}}
3742
>
3843
<i className="fas fa-trash"></i>

src/Settings.tsx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import Repo from "./Repo";
33
import { repoType } from "./xlsxLoader";
44
import { defaultRepo, SettingsType } from "./App";
55
import { base } from "./vars";
6+
import About from "./About";
67

78
type props = {
89
repos: repoType[];
@@ -25,7 +26,8 @@ export default function Settings({
2526
}
2627

2728
function resetProgram() {
28-
setRepos(defaultRepo);
29+
let RuSureAboutDat = confirm(`آیا از بازنشانی برنامه‌ها مطمئن هستید؟`);
30+
if (RuSureAboutDat) setRepos(defaultRepo);
2931
}
3032

3133
return (
@@ -76,6 +78,7 @@ export default function Settings({
7678
استفاده از فرمت زمانی ۲۴ ساعته
7779
</label>
7880
</div>
81+
<About />
7982
</div>
8083
);
8184
}

0 commit comments

Comments
 (0)