antfu7 Profile Banner
Anthony Fu 🦋 @antfu.me Profile
Anthony Fu 🦋 @antfu.me

@antfu7

Followers
53K
Following
16K
Media
363
Statuses
5K

Coming alive over getting ahead.

Joined August 2017
Don't wanna be here? Send us removal request.
@antfu7
Anthony Fu 🦋 @antfu.me
1 month
<2024>. 🗣️ Conference Mode, 17 talks.💖 Sponsorship Forwarding Initiative.💰 Distributed 8k+ USD, $4,372 Fund + $3,987 Personal.🌈 Shiki v1, Nuxt Icon v1, and a lot of maintenance work.🙌 Building teams for OSS projects.✈️ 9 countries traveled. Looking forward to <2025>!.</2024>.
10
5
289
@antfu7
Anthony Fu 🦋 @antfu.me
3 years
Hey Twitter, I don't usually do this, but I'd like to share with you some personal updates that have happened around us recently. I am currently in Shanghai. The city has been locked down trying to control and "Zero-out" Omicron. 🧵 A thread 1/8.
90
484
2K
@antfu7
Anthony Fu 🦋 @antfu.me
2 months
Thank you GitHub, but that’s not how we build software. AI should help us focus more on reasoning, design, communication. Filter spam and unnecessary noise, not helping creating them.
@github
GitHub
2 months
Generate a summary of a pull request in seconds with GitHub Copilot on ⚡ Now available for all Individual and Business users. ⬇️
36
101
1K
@antfu7
Anthony Fu 🦋 @antfu.me
2 years
I am turning 25 today! 🥳.
185
9
1K
@antfu7
Anthony Fu 🦋 @antfu.me
2 years
👋 We have moved to Paris! 🇫🇷.
127
17
1K
@antfu7
Anthony Fu 🦋 @antfu.me
3 years
I have already been very thankful for the platform, Actions, Copilot, etc. that are provided free. But this is so cool, thank you @github!
Tweet media one
33
23
1K
@antfu7
Anthony Fu 🦋 @antfu.me
11 months
📝 New blog post! . Open source is becoming more challenging for me over time. I have written down some of my experiences and what I learned on my journey. Would love to hear what you think in the comments!.
60
180
1K
@antfu7
Anthony Fu 🦋 @antfu.me
5 years
Wait, is this actually working?? #vue in #react 😳
Tweet media one
54
186
958
@antfu7
Anthony Fu 🦋 @antfu.me
2 years
🔍 Now in the latest @nuxt_js DevTools, you are able to inspect the elements, open the corresponding source right inside the embedded VS Code, and edit them with HMR!. FULL FEEDBACK LOOP - make changes without the need to learn project structure - or even leave the browser! 🤯
18
117
955
@antfu7
Anthony Fu 🦋 @antfu.me
3 years
When seeing the screenshots of my apps, I sometimes find they render differently on others' devices. So I made the experiment Zeitreise to do the time-traveling and see what your apps would look like, without the new features from the browsers 🕝
29
108
933
@antfu7
Anthony Fu 🦋 @antfu.me
3 years
🚀 Introducing Smart Clicks for VS Code!. 🖱 Double-click the bracket, and select the content inside them. Or double-click on the HTML tag name and make changes with the end tag! (more to come!).
27
129
929
@antfu7
Anthony Fu 🦋 @antfu.me
3 years
▲ Thank you! @vercel
Tweet media one
11
12
896
@antfu7
Anthony Fu 🦋 @antfu.me
2 years
What's this? 👀.
53
105
865
@antfu7
Anthony Fu 🦋 @antfu.me
10 months
🎉 I am so happy to share with you that `eslint-flat-config-viewer` is now the official ESlint Config Inspector! 🚀. Huge thanks to @slicknet and the @geteslint team for offering the chance and being very supportive! 💜. Give it a try and I hope you will find it helpful! 😆
Tweet media one
@geteslint
ESLint
10 months
This release also includes the new config inspector written by the prolific @antfu7:.
14
94
836
@antfu7
Anthony Fu 🦋 @antfu.me
3 years
Just like how Vite works in the browser, Vitest also knows the graph of your modules, which makes it able to do smart detection and only rerun the related tests. Feels almost like HMR but for tests 😍
29
81
820
@antfu7
Anthony Fu 🦋 @antfu.me
3 years
console.log is always my best friend for debugging.
47
42
796
@antfu7
Anthony Fu 🦋 @antfu.me
3 years
We made a Chinese version of Wordle!. 汉兜 - 汉字 Wordle. 每天一词,汉字、声母、韵母、声调都会独立进行颜色判断,同时也支持繁体输入与注音,欢迎来玩 :) 😁.
87
184
770
@antfu7
Anthony Fu 🦋 @antfu.me
3 years
💚 Excited to announce that I am officially joining @nuxtlabs today!. Back in my college, I was using Nuxt to learn Vue and building apps as my very first journey to the frontend world. Could never imagine one day I'd be able to work on it with the incredible team! 🙌.
63
38
756
@antfu7
Anthony Fu 🦋 @antfu.me
1 year
🌈 Shikiji got a docs site!. It makes much more sense now to show you the code examples rendered by Shikiji itself :).
15
63
770
@antfu7
Anthony Fu 🦋 @antfu.me
3 years
<2021>. 🖖 Joined team Vite, Nuxt & Windi CSS.🚀 Launched Slidev, UnoCSS, Vitest, and some wheels.👀 12.5K contributions.🐙 Worked full-time OSS for a few months.💚 Joined the amazing NuxtLabs & still on OSS! 🤩.🎙 8 talks, 3 podcasts.💖 250+ Sponsors & so many of you!. </2021>.
21
17
750
@antfu7
Anthony Fu 🦋 @antfu.me
3 years
FINALLY! I am so excited to share this with you! 🚀. This is the project I have been working on this month. There are some really cool things that are definitely game changers to me. 👇 Hope you enjoy it!.
46
182
737
@antfu7
Anthony Fu 🦋 @antfu.me
3 years
The new VitePress theme by @KiaKing85 is just amazing! 🤩🔥. @vitest_dev's doc is live now and @vite_js's is pending for v3.
Tweet media one
23
95
748
@antfu7
Anthony Fu 🦋 @antfu.me
3 years
🆚 I wrote a small script to generate the config for file nesting with more cases. Put it into a repo so we could maintain it together!. Copy-n-paste from:.
Tweet media one
@dzhavatushev
Dzhavat Ushev
3 years
It literary took me 2 min to "hide" many config files under "package.json using the new "file nesting" feature in @code More 👉 Before ⬇️ After ⬇️
Tweet media one
Tweet media two
21
128
744
@antfu7
Anthony Fu 🦋 @antfu.me
4 years
Working on the homepage of #Slidev docs 😍
15
68
743
@antfu7
Anthony Fu 🦋 @antfu.me
2 years
React folks:. Just out of curiosity, what are the blockers/downsides that are preventing you from using/trying Vue? 👀.
339
100
723
@antfu7
Anthony Fu 🦋 @antfu.me
4 years
If you want to create a browser extension, this is probably the best starter template I could come up with so far.
16
105
727
@antfu7
Anthony Fu 🦋 @antfu.me
3 years
In other programming languages (e.g. Rust), some of them have the ability to run unit tests directly in their source files. So I am wondering why we don't have such things in JavaScript?.What are your thoughts if we have it in @vitest_dev?
Tweet media one
67
48
696
@antfu7
Anthony Fu 🦋 @antfu.me
2 years
🚀 Quality of Life updates to Icônes!. 🌵 Variants filter.🕦 Recently used icons.💡 Smart search alias (e.g. person/user/account etc.).🔍 Search all icons from the home page.
17
92
684
@antfu7
Anthony Fu 🦋 @antfu.me
2 years
Working from mountains today ⛰☕️😎
Tweet media one
38
10
671
@antfu7
Anthony Fu 🦋 @antfu.me
2 years
🏔️ @nuxt_js 💚
Tweet media one
14
44
658
@antfu7
Anthony Fu 🦋 @antfu.me
3 years
💡 Another WIP idea. 🎥 Live coding is hard to be perfect (I'm so good at typo), so why don't we automate it?. ⌨️ Take the snapshots for the changes(clicks), and then play it! Saves as plain text so you can edit it afterward and even commit to git. 💖 Source available to sponsors
33
61
671
@antfu7
Anthony Fu 🦋 @antfu.me
13 days
Shiki v2.0.0 is here, and it's boring!. v2 has no hard breaking-changes but will emit deprecation warnings by default. Upgrade and migrate following the warnings; v3 is coming soon!.
3
59
732
@antfu7
Anthony Fu 🦋 @antfu.me
3 years
🌈 UnoCSS finally got the docs! - unlike the traditional static docs, I'd like to make it as dynamic and interactive as possible. ✨ Introducing you the first preview of Made by 💚 with @nuxt_js 3 and UnoCSS ofc :)
34
77
634
@antfu7
Anthony Fu 🦋 @antfu.me
1 year
<2023>. 🇫🇷 moved to Paris thanks to @nuxtlabs .💚 first-ever in-person talk in @vuejsamsterdam .👋 met so many awesome people.⛰️ lead @nuxt_js DevTools.✈️ traveled 🇫🇷🇳🇱🇮🇹🇭🇺🇧🇪🇩🇪🇸🇬🇯🇵🇨🇭.🎙️ 6 talks + 6 podcasts.▶️ started doing live streams.🧀 starting to enjoy cheese. </2023>.
19
12
622
@antfu7
Anthony Fu 🦋 @antfu.me
2 years
The upcoming Picture-in-Picture API that @googlechrome is pushing is soo promising! 🤩.@nuxt_js DevTools will be able to pop up as a separate window soon!
20
75
598
@antfu7
Anthony Fu 🦋 @antfu.me
4 years
🎉 I am excited to announce that VueUse v4.0.0 has just been released!. 💚 Now we have 91 composable functions made by 40 awesome contributors. Thank you all!. 👇🏼 Check out the release note.
8
105
611
@antfu7
Anthony Fu 🦋 @antfu.me
2 years
Introducing Magicast! 🧀🪄. It lets you modify a JS/TS file and write back magically, just like JSON! It could be helpful for tools to update your configs written in JS. 🛠️. Brilliant idea and kickstart from @_pi0_ 🔥.
26
91
601
@antfu7
Anthony Fu 🦋 @antfu.me
2 years
My VS Code settings reached 1K stars milestones! 🎊🤣 Thanks!.
12
61
580
@antfu7
Anthony Fu 🦋 @antfu.me
4 years
I'll start doing open source FULL-TIME from today! 🥳. That also means your sponsorships mean even more to me. If you enjoy my works, consider sponsoring me if you haven't 🙌. Great thanks to all of you, you are literally making my dream come true! 🤩💖.
30
51
585
@antfu7
Anthony Fu 🦋 @antfu.me
2 years
💚 Nuxt is fantastic!. I'd recommend using Nuxt over Vitesse, even for simple SPA. It would make things easier and more maintainable in the long term as the framework covers a lot of low-level complexity.
22
49
578
@antfu7
Anthony Fu 🦋 @antfu.me
3 years
After 93 days of lockdown + quarantine we are finally out and in a coffee shop now! 🥳
Tweet media one
28
5
573
@antfu7
Anthony Fu 🦋 @antfu.me
1 year
🌈 Shiki v1.0 is here!.
14
65
582
@antfu7
Anthony Fu 🦋 @antfu.me
2 years
Can’t speak, can’t sleep.
44
22
550
@antfu7
Anthony Fu 🦋 @antfu.me
1 year
奔波两个月终于回到家了,和 @iiiiiiines_____ 花了些时间重新布局了一下
Tweet media one
36
8
565
@antfu7
Anthony Fu 🦋 @antfu.me
2 years
New blog post!.Hope this won't be perceived too harshly.
37
59
550
@antfu7
Anthony Fu 🦋 @antfu.me
2 years
Working on something exciting @nuxt_js 👀
Tweet media one
18
43
542
@antfu7
Anthony Fu 🦋 @antfu.me
3 years
📹 My first coding live stream will be on YouTube!. 💚 Let's build a World Clock app using Vue and Vite. We will set up the project, implement the logic and do some design on UI, all from scratch!. ⏰ Set your alarm and see you in 23 hours!.
Tweet media one
17
65
542
@antfu7
Anthony Fu 🦋 @antfu.me
5 months
Did I just make Shiki 1.7x faster (and smaller). by moving back from C to pure JavaScript? 😳.
23
40
547
@antfu7
Anthony Fu 🦋 @antfu.me
1 year
💡 Working on a VS Code extension to visualize what is bundled and what is tree-shaken, right in your source code!. PoC source code available to sponsors (finally put in use again, sorry for the long idleness 😜)
Tweet media one
12
40
529
@antfu7
Anthony Fu 🦋 @antfu.me
1 year
Found a good business model for npm: charge library maintainers $0.2 for every npm download 🤡.
36
20
513
@antfu7
Anthony Fu 🦋 @antfu.me
3 years
8/8. This might not be accurate and can't cover all the things happening in Shanghai. I just want to share this situation, that many of my friends and I are suffering from, with you. Regards,.Anthony Fu.
20
10
500
@antfu7
Anthony Fu 🦋 @antfu.me
9 months
I can't believe I just found this until now. It's truly amazing, and it helped me capture a lot of RegExp mistakes and potential performance issues. Honestly I think every project should have these rules on. eslint-plugin-regexp by @omoteota!.
9
62
514
@antfu7
Anthony Fu 🦋 @antfu.me
3 years
This is probably one of the best GitHub Markdown tricks I have ever seen. It's beautiful @anothergalvez! And . I am going to steal it :P. Thank @danielcroe for sharing.
Tweet media one
13
53
510
@antfu7
Anthony Fu 🦋 @antfu.me
1 year
When you come up with some ideas and think "there must be a lot ppl already doing so" - it often turns out there is not that many solutions. The world is smaller than you think (especially ppl in certain fields), and your power to change something is greater than you imagine.
14
65
490
@antfu7
Anthony Fu 🦋 @antfu.me
3 months
Twitter made my career. It gave me the opportunity to share my work and thoughts with the world, got my dream job, met so many amazing people, earned my reputation,and built my influence -- all through this platform. I deeply appreciate that. Should I ever leave this platform?.
28
34
502
@antfu7
Anthony Fu 🦋 @antfu.me
4 years
10,000 contributions on GitHub this year! 😳. I didn't expect myself to go so far, but hey, I made it!.Creating things that I love and being excited about, share my work to the world, while make a living - This is far beyond my dream!. Thanks to y'all! 🙌
Tweet media one
27
15
485
@antfu7
Anthony Fu 🦋 @antfu.me
3 years
Jest fails me on lacking async transformation and ESM support. So we decided to work on a Vite-powered alternative. It can apply the same plugins, resolvers, and transformations as your Vite app for consistency. And of course, it will be fast! 🐹.
30
33
482
@antfu7
Anthony Fu 🦋 @antfu.me
2 years
This was super fun to create! 😝
Tweet media one
17
25
459
@antfu7
Anthony Fu 🦋 @antfu.me
1 year
Let me present to you the fast-ever software:. ✨ No Code ✨. 🤯.
@robbyrussell
Robby Russell
1 year
"What is even better than esbuild?.What is even better than bun?" -- @dhh . #RailsWorld
Tweet media one
23
22
458
@antfu7
Anthony Fu 🦋 @antfu.me
3 years
This could be a good way to learn how Vite works and debug your apps and plugins. This plugin lets you see the intermediate states of plugins transform and the changes they applied. Now also with a cool module graph built with vis.js 🕸.
12
63
459
@antfu7
Anthony Fu 🦋 @antfu.me
2 years
We got a very interesting PR in VitePress, based on the View Transition API ☀️🌙. What do you think? 👀.
32
22
443
@antfu7
Anthony Fu 🦋 @antfu.me
2 years
To make some good progress, you just need to overcome a bit of laziness at the beginning every time 😉.
15
43
448
@antfu7
Anthony Fu 🦋 @antfu.me
1 year
💡 Every documentation should provide type information with jsdoc on code snippets. This would help significantly in the learning process. I'll make some integrations to make it easy to set up for VitePress and Nuxt Content soon.
Tweet media one
27
36
456
@antfu7
Anthony Fu 🦋 @antfu.me
2 years
🛹 Slidev finally got built-in slide transitions in v0.39.0! - something I wanted so much since the beginning!. Thanks a lot to @posva and for making this possible!. 📖 Documentation here:.
14
38
442
@antfu7
Anthony Fu 🦋 @antfu.me
2 years
We should seriously consider doing backup and moving away from this platform 😇
Tweet media one
22
23
423
@antfu7
Anthony Fu 🦋 @antfu.me
2 years
⚓️ Just landed in the @nuxt_js DevTools! Now we are able to inspect the Open Graph tags on each route, preview it and copy the snippet to improve them directly!. 💚 Great thanks to @arash_sheyda again for cooking so many awesome integrations! And @vercel for the nice design 😆
17
55
431
@antfu7
Anthony Fu 🦋 @antfu.me
2 years
✏️ New blog post, Animated SVG Logo!.
18
40
434
@antfu7
Anthony Fu 🦋 @antfu.me
4 years
Just reached my first 10K 🌟🙌
Tweet media one
6
16
424
@antfu7
Anthony Fu 🦋 @antfu.me
6 months
Sorry for acting a bit weird, and thanks for all the caring. I'm doing a lot better now, and everything is going well now. Please do not worry, I will be back on track soon.
41
3
418
@antfu7
Anthony Fu 🦋 @antfu.me
10 months
fix(docs):. should be. docs:. Thanks.
13
23
418
@antfu7
Anthony Fu 🦋 @antfu.me
4 years
Introducing useMagicKeys in @vueuse v4.7.0!🎹. Track the pressing state for ANY keys and ANY combinations as you want! 🆗. Docs and interactive demo 👇.
Tweet media one
5
41
411
@antfu7
Anthony Fu 🦋 @antfu.me
3 years
🛰 Quite some polishment made to Vue Starport since the release!. Now it no longer deps on Vue Router, meaning you can do components transition even on the same page (statefully!).
11
41
395
@antfu7
Anthony Fu 🦋 @antfu.me
4 months
Open-source software is built on top of trust, good faith, and love, aren't we? We share solutions, exchange ideas, and build together - to create more advanced technologies for everyone, don't we?. I hate the need to do self-defense against misinformation, hype, or anything.
7
58
400
@antfu7
Anthony Fu 🦋 @antfu.me
3 years
OMG How did you know that??!
Tweet media one
@youyuxi
Evan You
3 years
Pretty sure this is @antfu7’s bathroom.
13
6
393
@antfu7
Anthony Fu 🦋 @antfu.me
3 years
I love the fact that Vue's template and SFC are valid HTML. That you can paste HTML into it from elsewhere as-is. Or put the template into your HTML for the CDN usage or petite-vue.
9
38
386
@antfu7
Anthony Fu 🦋 @antfu.me
3 years
My workflow of writing a function. ❇️ A new test file, start `vitest -u` with it.🪜 Start the function inside the test file.📸 toMatchInlineSnapshot for the result and intermediate states instead of console.log.✏️ Make changes and see result immediately.🧱 Refactor it out to src/.
9
32
388
@antfu7
Anthony Fu 🦋 @antfu.me
3 years
@vite_js is now using @vitest_dev to test itself 🤩.
12
34
385
@antfu7
Anthony Fu 🦋 @antfu.me
2 years
🚀 And finally, reTypewriter is open sourced! ⌨️.
@antfu7
Anthony Fu 🦋 @antfu.me
3 years
💡 Another WIP idea. 🎥 Live coding is hard to be perfect (I'm so good at typo), so why don't we automate it?. ⌨️ Take the snapshots for the changes(clicks), and then play it! Saves as plain text so you can edit it afterward and even commit to git. 💖 Source available to sponsors
7
59
384
@antfu7
Anthony Fu 🦋 @antfu.me
3 years
Many thanks! 💚
Tweet media one
11
5
383
@antfu7
Anthony Fu 🦋 @antfu.me
7 months
📦 antfu/ni now supports interactive mode for install/uninstall, thanks to gearonix!.
10
38
383
@antfu7
Anthony Fu 🦋 @antfu.me
1 year
🔍 Made a Visualized Flat Config viewer for @geteslint. Hopefully, it would help to author high-quality eslint configs and rules discovery!. @nuxt_js made the whole process so simple, built the app and shipped it to npm with only a few lines of code 😆.
Tweet media one
2
61
368
@antfu7
Anthony Fu 🦋 @antfu.me
2 years
Building a side project using @nuxt_js for fun :P. A QR Code toolkit helps to identify mismatched blocks in AI-generated ones 😝
Tweet media one
8
23
374
@antfu7
Anthony Fu 🦋 @antfu.me
2 years
Lost about 100 active sponsors recently (~35%). While on the other hand, the maintenance work I have to do daily gets heavier than ever. If you are relying on my work, I would be appreciated it if you could convince your company to sponsor 💖 . Thank you!.
9
78
364
@antfu7
Anthony Fu 🦋 @antfu.me
2 years
Accidentally deleted my "projects" folder 😇. A few lessons I have learned:. 1. 🐙 Damn, it's so good to work on OSS. I got all the things backed up naturally :).2. ⬆️ Always push your commits.3. ☕️ Drink coffee before starting to work.
13
7
354
@antfu7
Anthony Fu 🦋 @antfu.me
1 year
Thank you community and team
Tweet media one
11
10
359
@antfu7
Anthony Fu 🦋 @antfu.me
1 year
ESLint Stylistic v1.0.0 is here! 🌈.
5
47
361
@antfu7
Anthony Fu 🦋 @antfu.me
1 year
is pretty much like a @vite_js but for servers to me👌.
12
36
357
@antfu7
Anthony Fu 🦋 @antfu.me
3 years
✨unplugin-icons now supports:. - Vanilla JavaScript.- Web Components.- Solid (thanks to @godoyjf).- Svelte (thanks to @Joaqun70556742). Look at the stacks you can use 👇🤯
Tweet media one
5
41
359
@antfu7
Anthony Fu 🦋 @antfu.me
3 years
So pleasant to watch tests running with the dot reporter on @vitest_dev 😆
9
21
360
@antfu7
Anthony Fu 🦋 @antfu.me
11 months
▶️ Slidev's latest beta now ships a "Runnable" Monaco Editor that executes & renders!. 🧑‍💻 It allows you to do live coding demos right in your slides and show the results immediately!. 🎉 Kudos @kermanx@mastodon.social for making a lot of awesome improvements like this!
10
37
362
@antfu7
Anthony Fu 🦋 @antfu.me
6 months
✅ TypeScript as notations.🙅‍♂️ TypeScript as language.
9
21
354
@antfu7
Anthony Fu 🦋 @antfu.me
5 months
👀 Wrote a small VS Code extension for @pnpmjs to show catalog versions inline at your package.json 🧡.
Tweet media one
13
28
365
@antfu7
Anthony Fu 🦋 @antfu.me
3 years
How do you share a component across routes/pages and do the transition(animation) when you navigate the page?. (would like to know how in Vue, a solution on any framework would also help. Thanks!
Tweet media one
41
28
350
@antfu7
Anthony Fu 🦋 @antfu.me
2 years
When you get used to writing performant JavaScript libraries, it becomes really painful to write React. As you will see a lot of redundant calculations here and there but you can't do anything about them because of React's limitations (or design?).
24
30
342
@antfu7
Anthony Fu 🦋 @antfu.me
2 years
Fluent Emoji from @MicrosoftDesign just joined the Iconify collection and is now available in Icônes! 😆. Kudos @slava_trushkin for including it! 🔥.
Tweet media one
9
39
337
@antfu7
Anthony Fu 🦋 @antfu.me
3 years
The inline snapshot in @vitest_dev is soo fast that you can even play with it like a REPL 🟥🟩. Merry Christmas!🎄
7
45
348
@antfu7
Anthony Fu 🦋 @antfu.me
1 year
🎥 Back on streaming! 👋. 💚 Let's build a @nuxt_js playground from scratch, using @stackblitz WebContainers!. I will stream every Tuesday and Thursday at 🕐 13:00 UTC, starting next week. Remember to subscribe!. 👉 Trailer:
Tweet media one
15
48
343
@antfu7
Anthony Fu 🦋 @antfu.me
5 months
In the latest @googlechrome v129 release, the JavaScript module import is broken with circular + top-level-await. It breaks Nuxt DevTools right now (and potentially some other sites). Be aware when you (not) upgrade. I will try to report it to Chromium later. Repro:
Tweet media one
15
43
347
@antfu7
Anthony Fu 🦋 @antfu.me
3 years
250 Sponsors ?! -- THAT IS AMAZING! 🤩. Much thanks for all the supports! 🍻
Tweet media one
15
13
344
@antfu7
Anthony Fu 🦋 @antfu.me
3 years
Ah, wow! Thank y'all!
Tweet media one
16
6
336
@antfu7
Anthony Fu 🦋 @antfu.me
3 years
Please, thanks!.
Tweet media one
24
25
337