Ion Prodan's Avatar

Ion Prodan

@iprodan.dev

πŸš€ Front-end dev. #Angular, SolidJS, Astro & more. πŸ‘¨πŸ»β€πŸ’» - iprodan.dev

1,273
Followers
646
Following
210
Posts
04.11.2024
Joined
Posts Following

Latest posts by Ion Prodan @iprodan.dev

Post image

This is the easiest way to switch between Dark/Light and System mode. πŸ‘‡

Simply add an element with the selected `data-theme` mode, or remove it from the DOM to switch to System mode.

It might not be perfect, but it's the fastest and simplest method! πŸš€

05.03.2026 17:08 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Back in the days when I learned development, everyone used borders exclusively. I’m not sure if outlines were a thing back then, at least I wasn’t aware of them.

And borders remain the same today.

05.03.2026 05:45 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Why does it hurt though? πŸ˜€

04.03.2026 19:24 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Post image

Sometimes, this is still the most reliable CSS debugger we have πŸ’ͺ

04.03.2026 19:22 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

Image from Netanel Basal.

06.11.2025 15:56 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Post image

Debouce in Angular signal form.

Still in WIP.

06.11.2025 15:54 πŸ‘ 6 πŸ” 1 πŸ’¬ 1 πŸ“Œ 0
Post image

New encapsulation in Angular 21, and nobody's talking about it! 😢

Handy for email builders, when you don't want any external styles to affect the builder elements, such as text and images, it should look the same as in an email service.

Still in WIP, btw.

05.11.2025 14:47 πŸ‘ 4 πŸ” 1 πŸ’¬ 1 πŸ“Œ 0
Post image

You don't know what this is aboutπŸ’‘!

A long, long time ago, I wanted to 'emulate' the Angular router, but only using CDK Portals and also supporting different outlets, lazy loading, and smooth transitions.

Wait for it, you'll like it! 🀟

04.11.2025 16:23 πŸ‘ 3 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Post image

In Angular 21, we will probably have a structural directive `*routerOutletPlaceholder` for the Router placeholder.

It hasn't been merged yet.

The previous idea was to add support for `<ng-container routerOutlet />`, but it was reverted.

What do you think about the placeholder?

28.10.2025 09:57 πŸ‘ 5 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Yes, they are! Both of them have their place.

28.10.2025 07:41 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

This is the problem, ai helps those who knows what are doing, but most probably will replace who doesn’t know!

27.10.2025 19:32 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Agree, it's not a direct competition, rxjs still has its place in Angular and in general.

RxJS for complex, signals for 90% of cases.

27.10.2025 16:38 πŸ‘ 2 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

signals > rxjs

(change my mind)

#Angular

27.10.2025 15:23 πŸ‘ 3 πŸ” 0 πŸ’¬ 3 πŸ“Œ 0

Speaking of the `URL` class, let's see if we understand the difference from the old way (see previous tweet).

So, what's the output of this?

13.10.2025 07:21 πŸ‘ 2 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Post image

Did you know? Thank me later!

13.10.2025 07:19 πŸ‘ 2 πŸ” 0 πŸ’¬ 0 πŸ“Œ 1

How about this?

09.10.2025 08:49 πŸ‘ 2 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Post image

Do you know you MUST provide a valid reply email address to stay compliant?

Even your no-reply address must be able to receive emails and handle "unsubscribe' requests or anything else the user wants.

It's no longer enough to just include a link!

08.10.2025 11:07 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Post image

How would a senior refactor this? How would you do?

08.10.2025 11:02 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 1

I'm so old now to just learning and understanding what cognitive dissonance and confirmation bias are.

I feel a bit ashamed.

03.09.2025 07:02 πŸ‘ 3 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

I'm planning to start a banking startup! It sounds crazy and feels risky, but I want to do it.

I’m not alone in this.

But some circumstances aren't in my control.

I hope I can get past them and move on to the easy part: building.

07.07.2025 13:06 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

What if we won't need to build the frontend anymore? All we'll need to do is just an MCP πŸ”₯

30.06.2025 15:49 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Post image

I agree, but I use exhaustMap more often when handling the requests.

And I use `tapResponse` to handle error, next, and finalize.

17.06.2025 06:25 πŸ‘ 2 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

Yes, great operators, but not used so often, no?

17.06.2025 06:23 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Post image

This is mostly all I need from rxjs! πŸ˜€ with a few exceptions!

What's your most used rxjs operators?

16.06.2025 17:21 πŸ‘ 1 πŸ” 1 πŸ’¬ 2 πŸ“Œ 1
Post image

I remember talking about CDK Portals a long time ago!

It’s a feature that still exists and is waiting to be used more.

I had an idea back then to 'emulate' the Angular router, but with just portals πŸ™‚.

An experiment that would teach us, and you, in-depth how to use them.

12.06.2025 18:03 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Thanks, I’ll take a closer look!

09.06.2025 18:43 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

I started reading again! πŸ“–

I used to read much more often, but since my son was born, the rules have changedβ€”by 180 degrees!

Now he's five years old! πŸ‘Ά

I'm trying to get this habit back.

Any recommendations? Startups, coding, tech!

09.06.2025 15:36 πŸ‘ 3 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Post image

Angular's `canMatch` guard is great!

It allows different pages on the same path.

For example, authenticated users see the dash page, while others see the auth page.

It matches children, but it sends 2 requests if `canMatch` returns false from a child path.

I like this method.

07.06.2025 11:52 πŸ‘ 2 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Not the best, but still good!

What company details would you like to see next? I can show them to you for free today! πŸ˜€

All data should be publicly available.

06.06.2025 06:44 πŸ‘ 2 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Help, please πŸ™

Designers, how can I display all this data? Should I use a table or simple blocks?

It's a lot of data to show!

05.06.2025 17:43 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 1