Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

site: some more redesign todos #323

Merged
merged 7 commits into from
May 27, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion site/app/(marketing)/layout.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,9 @@ import MainFooter from '@/components/MainFooter';
const MarketingLayout: React.FC<{ children: React.ReactNode }> = ({ children }) => {
const path = usePathname();
const theme = path.includes(`blog`) ? `white` : `violet`;
const lang = path.includes(`bloquear`) ? `es` : `en`;
return (
<html lang="en">
<html lang={lang}>
<body
className={cx(
`min-h-screen flex flex-col`,
Expand Down
4 changes: 2 additions & 2 deletions site/components/DepressingStatisticsBlock.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -70,10 +70,10 @@ const DepressingStatisticsBlock: React.FC = () => {
className="lg:col-span-2"
/>
<Statistic
statistic={`37%`}
statistic={`10%`}
label={
<span>
Of all websites on the internet <Bold>are porn</Bold>
Of all material on the internet <Bold>is porn</Bold>
</span>
}
className="lg:row-span-2"
Expand Down
2 changes: 1 addition & 1 deletion site/components/HeroBlock.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ const HeroBlock: React.FC = () => {
return (
<section className="bg-gradient-to-b from-violet-500 to-fuchsia-500 p-20 h-screen flex flex-col justify-center items-center relative snap-center -mt-20">
<h1
className="text-5xl xs:text-6xl sm:text-7xl text-center text-white font-semibold fixed left-0 px-12 xs:px-16 sm:px-20 !leading-[1.1em] font-axiforma"
className="text-5xl xs:text-6xl sm:text-7xl text-center text-white font-semibold fixed px-12 xs:px-16 sm:px-20 !leading-[1.1em] font-axiforma"
style={{
transform: `scale(${1 + scrollY / 500})`,
filter: `blur(${scrollY / 30}px)`,
Expand Down
30 changes: 15 additions & 15 deletions site/components/SuperScrollerBlock.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -40,49 +40,49 @@ const SuperScrollerBlock: React.FC = () => {
return (
<section className="bg-white flex flex-col-reverse lg:flex-row relative">
<div className="lg:w-5/12 xl:w-2/5 2xl:w-1/2">
<Step index={1} title="Create an account" intersectionRef={firstStepRef}>
Lorem ipsum dolor sit amet, qui minim labore adipisicing minim sint cillum sint
consectetur cupidatat.
<Step index={1} title="Create a parent account" intersectionRef={firstStepRef}>
Parents start by registering an account with their own phone or computer.
Parents can use any kind of phone or computer.
</Step>
<Step
index={2}
title="Install the Mac app on your child's computer"
intersectionRef={secondStepRef}
>
Lorem ipsum dolor sit amet, qui minim labore adipisicing minim sint cillum sint
consectetur cupidatat.
The child being protected must be using a Mac computer. Download the app from
our site and launch to start the setup process.
</Step>
<Step
index={3}
title="You control what websites are allowed"
intersectionRef={thirdStepRef}
>
Lorem ipsum dolor sit amet, qui minim labore adipisicing minim sint cillum sint
consectetur cupidatat.
Once installed, Gertrude blocks the <em>entire</em> internet for all browsers
and apps, except for the parts <em>you choose</em>.
</Step>
<Step
index={4}
title="Children can request sites to be unblocked..."
intersectionRef={fourthStepRef}
>
Lorem ipsum dolor sit amet, qui minim labore adipisicing minim sint cillum sint
consectetur cupidatat.
If your child needs access to another site, they can see the blocked request and
click a button to request that you unblock it.
</Step>
<Step
index={5}
title="...you revieve notifications and can respond from wherever you are"
title="... and you can decide from wherever you are"
intersectionRef={fifthStepRef}
>
Lorem ipsum dolor sit amet, qui minim labore adipisicing minim sint cillum sint
consectetur cupidatat.
You'll receive a notification on your phone or computer, and you can respond
with a click to unblock the site or app if you feel it is safe.
</Step>
<Step
index={6}
title="Review and monitor activity and keystrokes remotely"
title="Review and monitor screenshots and keystrokes remotely"
intersectionRef={sixthStepRef}
>
Lorem ipsum dolor sit amet, qui minim labore adipisicing minim sint cillum sint
consectetur cupidatat.
Plus, you can review images of your child's screen, and review a log of
everything they've typed, all from your phone or computer.
</Step>
</div>
<div className="lg:w-7/12 xl:w-3/5 2xl:w-1/2 sticky top-0 flex justify-center items-center h-[55vh] lg:h-screen overflow-hidden [background:linear-gradient(white_90%,transparent)] to-trasnsparent lg:bg-white">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ As unpleasant as it might be, it's worth familiarizing yourself with some of the
doing homework
- the largest group of internet porn consumers is children ages 12-17
- 22% of teenage girls say they have posted nude or semi-nude photos of themselves online
- 37% of the internet is pornography
- 10% of all material on the internet is porn

{% /callout %}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,6 @@ Por muy desagradable que pueda resultar, vale la pena que te familiarices con al
- El grupo más grande de consumidores de pornografía son niños de 12 a 17 años
- 22% de las adolescentes afirman haber publicado en internet fotos suyas desnudas o
semi-desnudas
- 37% del contenido de internet es pornografía

{% /callout %}

Expand Down Expand Up @@ -116,7 +115,7 @@ explicamos a continuación.
Tanto las aplicaciones de **Apple Maps** y **Google Maps** pueden utilizarse para ver
**fotos de personas desnudas,** y deberían ser eliminadas. Para más detalles (incluyendo
una recomendación de una aplicación que las reemplace),
[ver aquí.](/blog/five-things-you-forgot-when-locking-down-your-kids-iphone#4-explicit-images-in-maps-apps).
[ver aquí.](/blog/five-things-you-forgot-when-locking-down-your-kids-iphone).

{% /callout %}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,6 @@ But the apps provided by Apple do not appear as options to disable.
until Apple fixes the issue. iOS 16 will work well for several years at least.
4. If you've already updated, we recommend temporarily crippling the Messages app by
setting it to be allowed only for 1 minute each day, with ScreenTime's
[App Limits](/docs/definitive-guide-to-locking-down-an-iphone#app-limits) feature.
[App Limits](/blog/definitive-guide-to-locking-down-an-iphone) feature.

{% /callout %}
3 changes: 2 additions & 1 deletion site/markdoc/articles/blog/mac-internet-filter.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,8 @@ and only where you want them to be.
According to recent estimates, there are over **2 billion** websites on the internet, with
over _250,000_ being created every day. There are a ton of innocent and educational
websites out there, but sadly they are mixed in with a **tremendous amount of dangerous
content**. Studies have indicated that perhaps **37% of the internet is pornography**.
content**. Studies have indicated that perhaps **10% of material the internet is
pornography**.

## An Illusion of Safety...

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ title: 'Authenticate an Admin User in a MacOS App'
date: '2021-04-19T11:28:05.000Z'
slug: macos-authenticate-admin-user
description:
I needed to challenge for an admin _user/password_ to protect an area of a MacOS app I'm
I needed to challenge for an admin user/password to protect an area of a MacOS app I'm
developing. After much pain and sorrow navigating the incredibly lacking and confusing
Apple documentation, I got the basic challenge working.
category: engineering
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ date: '2021-04-23T16:18:58Z'
slug: macos-request-accessibility-control
description:
If you need your app to have access to global events (like keystrokes) which require
that the app is granted authorization to _control your computer_ in the _Security and
Privacy_ pane of system extensions, you can prompt the user for this privilege with the
that the app is granted authorization to control your computer in the Security and
Privacy pane of system extensions, you can prompt the user for this privilege with the
below code
category: engineering
---
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ title: 'Get user id from NEFilterFlow.sourceAppAuditToken'
date: '2021-04-19T12:55:43.000Z'
slug: macos-user-id-from-sourceappaudittoken
description:
When building a _Content Filter_ System extension for Mac OS, the instance of
When building a Content Filter System extension for Mac OS, the instance of
`NEFilterFlow` you receive in your `NEFilterDataProvider` class doesn't have much
information (apart from the not-to-be-relied-upon `flow.description` string). Deriving
useful data from these objects is tricky, and poorly documented.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ title: 'Querying Running Applications in MacOS'
date: '2021-04-23T16:26:46Z'
slug: 'querying-running-applications-in-macos'
description:
If you want to list out all of the _currently running applications_ in a MacOS app, you
If you want to list out all of the currently running applications in a MacOS app, you
can call `NSWorkspace.shared.runningApplications`, and filter down the ones you're
interested in using the apps `.activationPolicy`.
category: engineering
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ date: '2022-04-27T15:56:05Z'
description:
I've been writing a lot of heavily generic Swift code lately, and figured out what seems
(to me at least) to be a really useful quirk/edge-case having to do with how Swift
selects between a protocol extension _static_ method, and a static method implemented on
a conforming type.
selects between a protocol extension static method, and a static method implemented on a
conforming type.
category: engineering
---

Expand Down
24 changes: 24 additions & 0 deletions site/next.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,30 @@ const nextConfig = {
},
async redirects() {
return [
// marketing site redesign
redir(`/docs/mac-internet-filter`, `/blog/mac-internet-filter`, 301),
redir(`/docs/mac-keylogger`, `/blog/mac-keylogger`, 301),
redir(
`/docs/ios-17-cant-delete-messages-images`,
`/blog/ios-17-cant-delete-messages-images`,
301,
),
redir(
`/docs/definitive-guide-to-locking-down-an-iphone`,
`/blog/definitive-guide-to-locking-down-an-iphone`,
301,
),
redir(
`/docs/five-things-you-forgot-when-locking-down-your-kids-iphone`,
`/blog/five-things-you-forgot-when-locking-down-your-kids-iphone`,
301,
),
redir(
`/docs/guia-definitiva-para-bloquear-un-iphone`,
`/blog/guia-definitiva-para-bloquear-un-iphone`,
301,
),
// misc
redir(`/support`, `/contact`, 301),
redir(`/docs/keeping-users-safe`, `/docs/keeping-children-safe`, 301), // parent rename
redir(`/docs`, `/docs/getting-started`, 302),
Expand Down