Skip to content

Commit ce4d669

Browse files
committed
ADD: contact, terms, privacy pages
1 parent 9d498ce commit ce4d669

File tree

10 files changed

+206
-53
lines changed

10 files changed

+206
-53
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@
4848
* 2012-05-06: JavaScript beta
4949
* 2012-03-17: Go beta
5050
* 2012-01-12: dotNet golden
51+
* 2011-12-14: Python beta
5152
* 2011-12-11: Java bumped
5253
* 2011-12-11: dotNet beta
5354
* 2011-12-10: Java separated from www

TODO.md

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,10 @@
11
# To Do
22

33

4-
- [ ] fill in changelog
5-
- [ ] /support/contact.html
6-
- [ ] /advanced/options.html: probably want to redo how these work (each service has 2-way map of specific:common)
7-
- [ ] EngineButton: add color for alpha/beta
8-
- [ ] /support/privacy.html
9-
- [ ] /support/terms.html
4+
5+
- [ ] [analytics](https://nextjs.org/docs/app/building-your-application/optimizing/analytics)
6+
- [ ] get engine release level from remote instead of hard-coded
7+
- [ ] display status (and alpha/beta warning) on testing page
108
- [ ] card per engine on /support/index.html
119

1210
## Move to Regex.zone
@@ -59,6 +57,7 @@ Other lists:
5957

6058
## Future
6159

60+
- [ ] /advanced/options.html: probably want to redo how these work (each service has 2-way map of specific:common)
6261
- [ ] [colorizer](https://github.com/slevithan/regex-colorizer)
6362
- [ ] translations
6463
- [ ] Fuzzing

next.config.mjs

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,21 @@ const nextConfig = {
4848
destination: 'https://github.com/regexplanet/regexplanet-next/blob/main/CHANGELOG.md',
4949
permanent: false,
5050
},
51+
{
52+
source: '/support/license.html',
53+
destination: 'https://github.com/regexplanet/regexplanet-next/blob/main/LICENSE.txt',
54+
permanent: false,
55+
},
56+
{
57+
source: '/support/privacy.html',
58+
destination: '/legal/privacy.html',
59+
permanent: false,
60+
},
61+
{
62+
source: '/support/terms.html',
63+
destination: '/legal/terms.html',
64+
permanent: false,
65+
},
5166
{
5267
source: '/support/todo.html',
5368
destination: 'https://github.com/regexplanet/regexplanet-next/blob/main/TODO.md',

package-lock.json

Lines changed: 45 additions & 44 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"dependencies": {
33
"bootstrap": "^5.3.3",
44
"fetch-jsonp": "^1.3.0",
5-
"next": "14.2.12",
5+
"next": "^14.2.13",
66
"react": "^18",
77
"react-dom": "^18",
88
"react-icons": "^5.3.0"
@@ -25,4 +25,4 @@
2525
"start": "next start"
2626
},
2727
"version": "0.1.0"
28-
}
28+
}

src/app/legal/privacy.html/page.tsx

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
export default function Page() {
2+
return (
3+
<>
4+
<h1>Privacy Policy</h1>
5+
6+
The privacy of RegexPlanet users is important to me.
7+
8+
9+
<h2 className="py-2">What personal information do I collect?</h2>
10+
<ul>
11+
<li>IP address</li>
12+
<li>User Agent</li>
13+
<li>Anything else your browser sends</li>
14+
<li>Anything you type into one of the forms</li>
15+
</ul>
16+
17+
<h2 className="py-2">What do I do with this personal information?</h2>
18+
<ul>
19+
<li>Monitor who is using the service</li>
20+
<li>Respond to feedback and inquiries</li>
21+
<li>Hunt down spammers and string them up by their fingernails</li>
22+
</ul>
23+
24+
<h2 className="py-2">How do I keep this information secure?</h2>
25+
<p>
26+
I do not store any data locally. Raw log files are stored by the cloud provider (currently Google CloudRun).
27+
</p>
28+
29+
<h2 className="py-2">Is that it?</h2>
30+
<p>
31+
Unfortunately not. I use a variety of third party tools to run the site, each of which has their own privacy policy.
32+
The list includes but is not limited to:
33+
</p>
34+
35+
<ul>
36+
<li>Cloudflare</li>
37+
<li>Developer Media</li>
38+
<li>Google AdSense</li>
39+
<li>Google Analytics</li>
40+
<li>Google AppEngine</li>
41+
<li>Google CloudRun</li>
42+
<li>Regex.zone</li>
43+
<li>Vercel</li>
44+
<li>Wufoo</li>
45+
</ul>
46+
</>
47+
);
48+
}

src/app/legal/terms.html/page.tsx

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
export default function Page() {
2+
3+
return (
4+
<>
5+
<h1>Terms of Service</h1>
6+
7+
<h2 className="h4 py-2"><small>Thanks you for using RegexPlanet!</small></h2>
8+
9+
<div className="alert alert-warning" role="alert">tl;dr: It is a free service. Use it at your own risk and don&apos;t rely on it.</div>
10+
11+
<p className="py-2">
12+
These Terms of Service (“Terms”) govern your access to and use of any website, app, service, technology, API,
13+
widget, platform, channel or any other products or features owned, operated, branded or offered by RegexPlanet (“RegexPlanet” or the “Service”),
14+
</p>
15+
16+
<p className="py-2">
17+
Please read these Terms carefully, and contact us if you have any questions. By accessing or using the Service, you agree to be bound
18+
by these Terms and by our Privacy Policy. If you do not agree to our Terms, you must not access or use the Service.
19+
</p>
20+
21+
22+
<ol>
23+
<li className="py-2">
24+
<b>The Service</b><br/>
25+
RegexPlanet is a website for testing regular expressions. It is provided as a free service to the public.
26+
</li>
27+
<li className="py-2">
28+
<b>Disclaimer</b><br />
29+
The Service is provided “as is” and “as available” without any warranties of any kind, either express or implied. RegexPlanet does not warrant that the Service will be available, uninterrupted, secure, or error-free.
30+
</li>
31+
<li className="py-2">
32+
<b>Limitation of Liability</b><br/>
33+
RegexPlanet will not be liable for any actions, claims, losses, damages, liabilities and expenses including legal fees from your use of the Service.
34+
</li>
35+
<li className="py-2">
36+
<b>Links to Other Websites</b><br />
37+
RegexPlanet contains links to third party websites or services that we do not own or control. We are not responsible for the content, policies, or practices of any third party website or service linked to on our Site. It is your responsibility to read the terms and conditions and privacy policies of these third party websites before using these sites.
38+
</li>
39+
<li className="py-2">
40+
<b>Changes to the Terms</b><br/>
41+
RegexPlanet reserves the right to modify these Terms at any time. If we make changes to these Terms, we will post the revised Terms on the Site and update the “Last Updated” date at the top of these Terms. If you continue to use the Service after the changes are posted, you agree to the revised Terms.
42+
</li>
43+
<li className="py-2">
44+
<b>Termination</b><br/>
45+
RegexPlanet reserves the right to terminate or suspend your access to the Service at any time, without notice, for any reason.
46+
</li>
47+
<li className="py-2">
48+
<b>Feedback</b><br/>
49+
If you provide RegexPlanet with any feedback, comments, or suggestions regarding the Service, you grant RegexPlanet the right to
50+
use such feedback, comments, or suggestions for any purpose without any compensation to you.
51+
</li>
52+
<li className="py-2">
53+
<b>Governing Law</b><br/>
54+
These Terms are governed by the laws of the Commonwealth of Pennsylvania.
55+
</li>
56+
<li className="py-2">
57+
<b>Contact</b><br/>
58+
If you have any questions about these Terms, please contact us via the <a href="/support/contact.html">contact form linked in the footer</a>.
59+
</li>
60+
</ol>
61+
<p>Effective Date: January 1st, 2024</p>
62+
</>
63+
);
64+
}

src/app/sitemap.xml/route.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,10 @@ const ROOT = "https://www.regexplanet.com";
66
export async function GET() {
77
const urls = [
88
`/`,
9+
`/legal/privacy.html`,
10+
`/legal/terms.html`,
911
`/status.html`,
12+
`/support/contact.html`,
1013
`/support/index.html`,
1114
`/support/javascript.html`,
1215
];

0 commit comments

Comments
 (0)