Procházet zdrojové kódy

Generate random data to demos (#2473)

Paweł Kuna před 3 týdny
rodič
revize
e16457fd2e

+ 88 - 0
shared/data/activity.json

@@ -158,5 +158,93 @@
   {
     "text": "<strong>%p</strong> shared a new design: <strong>Modern Dashboard UI</strong>",
     "icon": "layout"
+  },
+  {
+    "text": "<strong>%p</strong> completed the course: <strong>Advanced React Patterns</strong>",
+    "icon": "certificate"
+  },
+  {
+    "text": "<strong>%p</strong> started a new discussion: <strong>Best practices for mobile UI</strong>",
+    "icon": "message-square"
+  },
+  {
+    "text": "<strong>%p</strong> reached <strong>1000 followers</strong> milestone",
+    "icon": "trophy"
+  },
+  {
+    "text": "<strong>%p</strong> published a tutorial: <strong>Building Responsive Components</strong>",
+    "icon": "book-open"
+  },
+  {
+    "text": "<strong>%p</strong> organized a workshop: <strong>Design System Fundamentals</strong>",
+    "icon": "users-group"
+  },
+  {
+    "text": "<strong>%p</strong> contributed to <strong>Open Source Project</strong>",
+    "icon": "git-branch"
+  },
+  {
+    "text": "<strong>%p</strong> received a <strong>5-star review</strong> on their latest work",
+    "icon": "star"
+  },
+  {
+    "text": "<strong>%p</strong> launched a new product: <strong>TaskFlow Pro</strong>",
+    "icon": "rocket"
+  },
+  {
+    "text": "<strong>%p</strong> joined the mentorship program",
+    "icon": "graduation-cap"
+  },
+  {
+    "text": "<strong>%p</strong> created a design challenge: <strong>Minimalist Dashboard</strong>",
+    "icon": "target"
+  },
+  {
+    "text": "<strong>%p</strong> won the <strong>Design Award 2024</strong>",
+    "icon": "award"
+  },
+  {
+    "text": "<strong>%p</strong> started a podcast: <strong>Design & Development</strong>",
+    "icon": "microphone"
+  },
+  {
+    "text": "<strong>%p</strong> completed a <strong>30-day design challenge</strong>",
+    "icon": "calendar-check"
+  },
+  {
+    "text": "<strong>%p</strong> became a <strong>verified designer</strong>",
+    "icon": "badge-check"
+  },
+  {
+    "text": "<strong>%p</strong> published a case study: <strong>Redesigning E-commerce UX</strong>",
+    "icon": "file-text"
+  },
+  {
+    "text": "<strong>%p</strong> hosted a live stream: <strong>Design Q&A Session</strong>",
+    "icon": "video-plus"
+  },
+  {
+    "text": "<strong>%p</strong> created a design system: <strong>Component Library v2.0</strong>",
+    "icon": "library"
+  },
+  {
+    "text": "<strong>%p</strong> reached <strong>50k downloads</strong> on their template",
+    "icon": "download"
+  },
+  {
+    "text": "<strong>%p</strong> started a newsletter: <strong>Weekly Design Insights</strong>",
+    "icon": "mail"
+  },
+  {
+    "text": "<strong>%p</strong> collaborated on <strong>Community Design Project</strong>",
+    "icon": "users"
+  },
+  {
+    "text": "<strong>%p</strong> published a research paper: <strong>UI/UX Trends 2024</strong>",
+    "icon": "file-search"
+  },
+  {
+    "text": "<strong>%p</strong> became a <strong>featured creator</strong>",
+    "icon": "crown"
   }
 ]

+ 308 - 20
shared/data/articles.json

@@ -1,44 +1,332 @@
 [
   {
-    "title": "And this isn't my nose. This is a false one.",
-    "description": "Look, my liege! The Knights Who Say Ni demand a sacrifice! …Are you suggesting that coconuts migrate? Well, I got better.",
+    "title": "How to Build a Modern Web App with Vue 3",
+    "description": "Learn the fundamentals of Vue 3 and Composition API by creating a fully functional, modern web application from scratch.",
+    "tags": [
+      "vue",
+      "javascript",
+      "frontend"
+    ],
     "image": 14,
-    "author": 3
+    "author": 10
   },
   {
-    "title": "Well, I didn't vote for you.",
-    "description": "Well, we did do the nose. Why? Shut up! Will you shut up?! You don't frighten us, English pig-dogs! Go and boil your bottoms, sons of a silly person! I blow my nose at you, so-called Ah-thoor Keeng, you and all your silly English K-n-n-n-n-n-n-n-niggits!",
-    "image": 15,
-    "author": 4
+    "title": "10 UX Principles Every Designer Should Know",
+    "description": "A concise guide to user experience best practices, helping you design more intuitive and user-friendly interfaces.",
+    "tags": [
+      "ux",
+      "design",
+      "usability"
+    ],
+    "image": 5,
+    "author": 8
   },
   {
-    "title": "How do you know she is a witch?",
-    "description": "Are you suggesting that coconuts migrate? No, no, no! Yes, yes. A bit. But she's got a wart. You don't vote for kings. Ah, now we see the violence inherent in the system!",
+    "title": "Optimizing JavaScript Performance in Large-Scale Projects",
+    "description": "Explore techniques and tools to improve the speed and maintainability of your JavaScript applications at scale.",
+    "tags": [
+      "javascript",
+      "performance",
+      "best-practices"
+    ],
+    "image": 19,
+    "author": 14
+  },
+  {
+    "title": "The Future of CSS: What's Coming in 2025",
+    "description": "Get an early look at the next generation of CSS features and how they'll transform modern web development.",
+    "tags": [
+      "css",
+      "future",
+      "web-development"
+    ],
+    "image": 3,
+    "author": 11
+  },
+  {
+    "title": "Understanding TypeScript: A Beginner's Guide",
+    "description": "This article walks you through the basics of TypeScript, helping you write safer and more scalable JavaScript code.",
+    "tags": [
+      "typescript",
+      "javascript",
+      "beginner"
+    ],
     "image": 16,
     "author": 5
   },
   {
-    "title": "Shut up!",
-    "description": "Burn her! How do you know she is a witch? You don't frighten us, English pig-dogs! Go and boil your bottoms, sons of a silly person! I blow my nose at you, so-called Ah-thoor Keeng, you and all your silly English K-n-n-n-n-n-n-n-niggits!",
-    "image": 17,
+    "title": "Building a Design System with Tailwind CSS",
+    "description": "Learn how to create a consistent, reusable design system using utility-first CSS with Tailwind.",
+    "tags": [
+      "tailwind",
+      "design-system",
+      "css"
+    ],
+    "image": 22,
     "author": 6
   },
   {
-    "title": "Weaseling out of things is important to learn.",
-    "description": "Please do not offer my god a peanut. That's why I love elementary school, Edna. The children believe anything you tell them. Brace yourselves gentlemen. According to the gas chromatograph, the secret ingredient is… Love!? Who's been screwing with this thing?",
-    "image": 20,
+    "title": "5 Mistakes to Avoid in Web Accessibility",
+    "description": "Avoid common accessibility pitfalls and make your website inclusive for all users.",
+    "tags": [
+      "a11y",
+      "accessibility",
+      "html"
+    ],
+    "image": 12,
+    "author": 7
+  },
+  {
+    "title": "Deploying Your App with Vercel and GitHub Actions",
+    "description": "A step-by-step guide to automating your deployment process using GitHub Actions and Vercel.",
+    "tags": [
+      "devops",
+      "vercel",
+      "ci/cd"
+    ],
+    "image": 2,
+    "author": 15
+  },
+  {
+    "title": "A Dive into Reactive Programming with RxJS",
+    "description": "Understand the core concepts of reactive programming and learn how to use RxJS in real-world scenarios.",
+    "tags": [
+      "rxjs",
+      "reactive",
+      "javascript"
+    ],
+    "image": 17,
+    "author": 4
+  },
+  {
+    "title": "Creating Stunning Data Visualizations with D3.js",
+    "description": "Learn how to transform complex data into interactive, beautiful charts using D3.js.",
+    "tags": [
+      "d3",
+      "data-viz",
+      "charts"
+    ],
+    "image": 8,
     "author": 12
   },
   {
-    "title": "You don't like your job, you don't strike.",
-    "description": "But, Aquaman, you cannot marry a woman without gills. You're from two different worlds… Oh, I've wasted my life. Son, when you participate in sporting events, it's not whether you win or lose: it's how drunk you get.",
+    "title": "State Management in Vue 3 with Pinia",
+    "description": "Pinia is the new official store library for Vue—here's how to use it effectively.",
+    "tags": [
+      "vue",
+      "pinia",
+      "state-management"
+    ],
     "image": 21,
+    "author": 3
+  },
+  {
+    "title": "Dark Mode in CSS: Best Practices",
+    "description": "Implementing dark mode isn't just about switching colors. Learn how to do it right with CSS variables and media queries.",
+    "tags": [
+      "css",
+      "dark-mode",
+      "ui"
+    ],
+    "image": 7,
     "author": 13
   },
   {
-    "title": "I hope I didn't brain my damage.",
-    "description": "I don't like being outdoors, Smithers. For one thing, there's too many fat children. Oh, loneliness and cheeseburgers are a dangerous mix. Jesus must be spinning in his grave! I hope this has taught you kids a lesson: kids never learn.",
-    "image": 22,
+    "title": "Next.js vs Nuxt 3: A Head-to-Head Comparison",
+    "description": "Comparing the most popular frameworks for React and Vue. Which one should you choose?",
+    "tags": [
+      "nextjs",
+      "nuxt",
+      "frameworks"
+    ],
+    "image": 15,
+    "author": 6
+  },
+  {
+    "title": "Progressive Web Apps: How to Make Your Website Installable",
+    "description": "Turn your web project into a PWA and reach users offline or on mobile devices.",
+    "tags": [
+      "pwa",
+      "web-apps",
+      "offline"
+    ],
+    "image": 11,
+    "author": 9
+  },
+  {
+    "title": "Using Figma for Developer Handoff",
+    "description": "Bridge the gap between designers and developers by mastering Figma's handoff features.",
+    "tags": [
+      "figma",
+      "design",
+      "workflow"
+    ],
+    "image": 9,
     "author": 14
+  },
+  {
+    "title": "Improving Lighthouse Scores with Modern Techniques",
+    "description": "A practical guide to fixing common issues and optimizing your site for better Lighthouse results.",
+    "tags": [
+      "performance",
+      "seo",
+      "lighthouse"
+    ],
+    "image": 6,
+    "author": 2
+  },
+  {
+    "title": "Animating Interfaces with Framer Motion",
+    "description": "Bring your UI to life with simple, declarative animations using Framer Motion.",
+    "tags": [
+      "react",
+      "animations",
+      "framer-motion"
+    ],
+    "image": 1,
+    "author": 7
+  },
+  {
+    "title": "GraphQL vs REST: Which Should You Choose?",
+    "description": "Breaking down the pros and cons of GraphQL and REST to help you pick the right API design.",
+    "tags": [
+      "graphql",
+      "rest",
+      "api"
+    ],
+    "image": 13,
+    "author": 16
+  },
+  {
+    "title": "Building a Blog with Astro and Markdown",
+    "description": "Leverage Astro's performance and use Markdown to create a fast, flexible blog.",
+    "tags": [
+      "astro",
+      "markdown",
+      "static-sites"
+    ],
+    "image": 10,
+    "author": 5
+  },
+  {
+    "title": "Why You Should Use CSS Container Queries",
+    "description": "The long-awaited feature is here. Learn how to use container queries to write smarter, more responsive CSS.",
+    "tags": [
+      "css",
+      "container-queries",
+      "responsive"
+    ],
+    "image": 18,
+    "author": 11
+  },
+  {
+    "title": "Mastering React Server Components: A Complete Guide",
+    "description": "Dive deep into React Server Components and learn how to build faster, more efficient applications with this revolutionary feature.",
+    "tags": [
+      "react",
+      "server-components",
+      "performance"
+    ],
+    "image": 4,
+    "author": 8
+  },
+  {
+    "title": "Building Micro-Frontends with Module Federation",
+    "description": "Learn how to break down monolithic frontend applications into smaller, independently deployable micro-frontends.",
+    "tags": [
+      "micro-frontends",
+      "webpack",
+      "architecture"
+    ],
+    "image": 20,
+    "author": 12
+  },
+  {
+    "title": "The Complete Guide to CSS Grid Layout",
+    "description": "Master CSS Grid Layout with practical examples and real-world use cases for modern web layouts.",
+    "tags": [
+      "css",
+      "grid",
+      "layout"
+    ],
+    "image": 23,
+    "author": 9
+  },
+  {
+    "title": "Testing React Applications with Vitest and Testing Library",
+    "description": "Set up a modern testing environment for React applications using Vitest and React Testing Library.",
+    "tags": [
+      "react",
+      "testing",
+      "vitest"
+    ],
+    "image": 24,
+    "author": 15
+  },
+  {
+    "title": "Building Scalable APIs with Fastify and TypeScript",
+    "description": "Create high-performance APIs using Fastify and TypeScript with best practices for production applications.",
+    "tags": [
+      "fastify",
+      "typescript",
+      "api"
+    ],
+    "image": 25,
+    "author": 6
+  },
+  {
+    "title": "Implementing Authentication with NextAuth.js",
+    "description": "Add secure authentication to your Next.js applications with NextAuth.js and multiple provider support.",
+    "tags": [
+      "nextjs",
+      "authentication",
+      "security"
+    ],
+    "image": 26,
+    "author": 11
+  },
+  {
+    "title": "Optimizing Images for the Web: A Developer's Guide",
+    "description": "Learn modern techniques for optimizing images, including WebP, AVIF, and responsive image strategies.",
+    "tags": [
+      "images",
+      "performance",
+      "webp"
+    ],
+    "image": 27,
+    "author": 14
+  },
+  {
+    "title": "Building Interactive Maps with Mapbox and React",
+    "description": "Create stunning, interactive maps for your web applications using Mapbox GL JS and React.",
+    "tags": [
+      "maps",
+      "react",
+      "mapbox"
+    ],
+    "image": 28,
+    "author": 7
+  },
+  {
+    "title": "Mastering CSS Custom Properties and Theming",
+    "description": "Build flexible design systems with CSS custom properties and create dynamic theming solutions.",
+    "tags": [
+      "css",
+      "theming",
+      "design-system"
+    ],
+    "image": 29,
+    "author": 13
+  },
+  {
+    "title": "Building Real-Time Applications with Socket.io",
+    "description": "Create real-time features like chat, notifications, and live updates using Socket.io and Node.js.",
+    "tags": [
+      "socket.io",
+      "real-time",
+      "nodejs"
+    ],
+    "image": 30,
+    "author": 10
   }
 ]

+ 132 - 0
shared/data/channels.json

@@ -0,0 +1,132 @@
+[
+  {
+    "channel": "Facebook",
+    "icon": "brand-facebook",
+    "visitors": 11873,
+    "revenues": 8423.78,
+    "sales": 336,
+    "conversion": 2.83,
+    "bounceRate": 45.6,
+    "sessionDuration": 183,
+    "pagesPerSession": 3.1,
+    "costPerAcquisition": 7.22,
+    "clickThroughRate": 1.8
+  },
+  {
+    "channel": "Github",
+    "icon": "brand-github",
+    "visitors": 5372,
+    "revenues": 4876.12,
+    "sales": 188,
+    "conversion": 3.50,
+    "bounceRate": 32.4,
+    "sessionDuration": 246,
+    "pagesPerSession": 4.5,
+    "costPerAcquisition": 5.75,
+    "clickThroughRate": 2.1
+  },
+  {
+    "channel": "Twitter",
+    "icon": "brand-twitter",
+    "visitors": 7941,
+    "revenues": 6184.39,
+    "sales": 272,
+    "conversion": 3.42,
+    "bounceRate": 39.1,
+    "sessionDuration": 174,
+    "pagesPerSession": 3.3,
+    "costPerAcquisition": 6.90,
+    "clickThroughRate": 1.6
+  },
+  {
+    "channel": "LinkedIn",
+    "icon": "brand-linkedin",
+    "visitors": 3127,
+    "revenues": 2748.56,
+    "sales": 121,
+    "conversion": 3.87,
+    "bounceRate": 28.9,
+    "sessionDuration": 209,
+    "pagesPerSession": 4.0,
+    "costPerAcquisition": 6.10,
+    "clickThroughRate": 2.3
+  },
+  {
+    "channel": "Instagram",
+    "icon": "brand-instagram",
+    "visitors": 9442,
+    "revenues": 7632.91,
+    "sales": 308,
+    "conversion": 3.26,
+    "bounceRate": 41.2,
+    "sessionDuration": 192,
+    "pagesPerSession": 3.4,
+    "costPerAcquisition": 6.15,
+    "clickThroughRate": 1.9
+  },
+  {
+    "channel": "Reddit",
+    "icon": "brand-reddit",
+    "visitors": 4347,
+    "revenues": 3311.34,
+    "sales": 147,
+    "conversion": 3.38,
+    "bounceRate": 46.8,
+    "sessionDuration": 167,
+    "pagesPerSession": 2.9,
+    "costPerAcquisition": 7.10,
+    "clickThroughRate": 1.5
+  },
+  {
+    "channel": "YouTube",
+    "icon": "brand-youtube",
+    "visitors": 14856,
+    "revenues": 10573.44,
+    "sales": 393,
+    "conversion": 2.64,
+    "bounceRate": 38.7,
+    "sessionDuration": 221,
+    "pagesPerSession": 3.6,
+    "costPerAcquisition": 6.55,
+    "clickThroughRate": 2.0
+  },
+  {
+    "channel": "Pinterest",
+    "icon": "brand-pinterest",
+    "visitors": 3879,
+    "revenues": 2824.07,
+    "sales": 132,
+    "conversion": 3.40,
+    "bounceRate": 36.2,
+    "sessionDuration": 195,
+    "pagesPerSession": 3.7,
+    "costPerAcquisition": 6.00,
+    "clickThroughRate": 1.7
+  },
+  {
+    "channel": "TikTok",
+    "icon": "brand-tiktok",
+    "visitors": 8749,
+    "revenues": 6887.63,
+    "sales": 293,
+    "conversion": 3.35,
+    "bounceRate": 43.0,
+    "sessionDuration": 181,
+    "pagesPerSession": 3.2,
+    "costPerAcquisition": 6.40,
+    "clickThroughRate": 1.8
+  },
+  {
+    "channel": "Dribbble",
+    "icon": "brand-dribbble",
+    "visitors": 2623,
+    "revenues": 2113.28,
+    "sales": 99,
+    "conversion": 3.78,
+    "bounceRate": 29.6,
+    "sessionDuration": 204,
+    "pagesPerSession": 4.1,
+    "costPerAcquisition": 5.90,
+    "clickThroughRate": 2.2
+  }
+]

+ 11 - 1
shared/data/comments.json

@@ -4,5 +4,15 @@
   "She is so damn beautiful OMG i love her!!! does somebody knows what kind of music is this? sorry xD",
   "Did anyone go camping in Oshkosh Wisconsin last month?",
   "Hey i am subbed but i didnt get the notification how?",
-  "This is the best by far! I laughed for the hole sticking time 😂"
+  "This is the best by far! I laughed for the hole sticking time 😂",
+  "Can't stop watching this! The vibes are immaculate ✨",
+  "Who else is here from the algorithm? This popped up and I'm obsessed now 🔥",
+  "The editing in this is absolutely insane! How do you do it? 🤯",
+  "Finally found my new favorite channel! Subscribed immediately 💯",
+  "This gives me such good memories from last summer... anyone else? 🌞",
+  "The way you captured that moment is pure magic! Love it so much 🥰",
+  "Can we get a part 2? I need more of this content in my life! 🙏",
+  "This is exactly what I needed today, thank you for sharing! 💖",
+  "The quality is amazing! What camera do you use? 📸",
+  "This made my day so much better, sending good vibes back! ✌️"
 ]

+ 134 - 134
shared/data/commits.json

@@ -3,938 +3,938 @@
     "hash": "0964a88ac83d01395476695dd6a1307878543c13",
     "short_hash": "0964a88",
     "author": "Martijn Cuppens",
-    "date": "Thu Nov 28 08:48:33 2019 +0100",
+    "date": "Thu Nov 28 08:48:33 2025 +0100",
     "description": "Fix dart Sass compatibility (#29755)"
   },
   {
     "hash": "4de4874e722ad934bd3bf21f20a19475096c889a",
     "short_hash": "4de4874",
     "author": "Matthieu Vignolle",
-    "date": "Wed Nov 27 07:43:49 2019 +0100",
+    "date": "Wed Nov 27 07:43:49 2025 +0100",
     "description": "Change deprecated html tags to text decoration classes (#29604)"
   },
   {
     "hash": "1977a661e64572576f63acfd70f6b62b1beb382e",
     "short_hash": "1977a66",
     "author": "cccabinet",
-    "date": "Tue Nov 26 16:11:07 2019 +0900",
+    "date": "Tue Nov 26 16:11:07 2025 +0900",
     "description": "justify-content:between ⇒ justify-content:space-between (#29734)"
   },
   {
     "hash": "82d8dae7e738167ea1820c960f25f07fc9721297",
     "short_hash": "82d8dae",
     "author": "XhmikosR",
-    "date": "Tue Nov 26 09:00:21 2019 +0200",
+    "date": "Tue Nov 26 09:00:21 2025 +0200",
     "description": "Update change-version.js (#29736)"
   },
   {
     "hash": "a84f7233eab6e5713a6cfcb1ab22fafd79422a81",
     "short_hash": "a84f723",
     "author": "XhmikosR",
-    "date": "Mon Nov 25 16:30:53 2019 +0200",
+    "date": "Mon Nov 25 16:30:53 2025 +0200",
     "description": "Regenerate package-lock.json (#29730)"
   },
   {
     "hash": "2180daa6f53fb9a93e4760baec7f2bd4123e6a3e",
     "short_hash": "2180daa",
     "author": "Mark Otto",
-    "date": "Sun Nov 24 10:40:16 2019 -0800",
+    "date": "Sun Nov 24 10:40:16 2025 -0800",
     "description": "Some minor text tweaks"
   },
   {
     "hash": "d5c212bbcbcf2efe97540b3b890b4b8bdf6820f2",
     "short_hash": "d5c212b",
     "author": "Martijn Cuppens",
-    "date": "Fri Nov 1 11:22:29 2019 +0100",
+    "date": "Fri Nov 1 11:22:29 2025 +0100",
     "description": "Link to versioned docs"
   },
   {
     "hash": "ff256ca23c78471dfdc732b7262bece2dad59dff",
     "short_hash": "ff256ca",
     "author": "Mark Otto",
-    "date": "Mon Oct 28 09:08:19 2019 +0200",
+    "date": "Mon Oct 28 09:08:19 2025 +0200",
     "description": "Copywriting edits"
   },
   {
     "hash": "cd077cd599e55a8a126ce765d8f9adeb595ca3e2",
     "short_hash": "cd077cd",
     "author": "Martijn Cuppens",
-    "date": "Sun Oct 27 11:01:30 2019 +0100",
+    "date": "Sun Oct 27 11:01:30 2025 +0100",
     "description": "Enable RFS for font resizing"
   },
   {
     "hash": "787256cae401f9ebd8bea1391343a58140d0f235",
     "short_hash": "787256c",
     "author": "Martijn Cuppens",
-    "date": "Sun Nov 24 20:20:03 2019 +0100",
+    "date": "Sun Nov 24 20:20:03 2025 +0100",
     "description": "Compressed Sass output support (#29702)"
   },
   {
     "hash": "0caed940a578cb920a750dc0ce287c7d71e59a3e",
     "short_hash": "0caed94",
     "author": "Jonathan Hefner",
-    "date": "Sun Nov 24 13:15:35 2019 -0600",
+    "date": "Sun Nov 24 13:15:35 2025 -0600",
     "description": "Set vertical-align on .form-check-input (#29521)"
   },
   {
     "hash": "460ba061cb470df7aca18b32854079a0caf335dd",
     "short_hash": "460ba06",
     "author": "Martijn Cuppens",
-    "date": "Sun Nov 24 20:01:02 2019 +0100",
+    "date": "Sun Nov 24 20:01:02 2025 +0100",
     "description": "Keep themed appearance for print (#29714)"
   },
   {
     "hash": "a65d066530c463a973414e894924fd46bd34ee91",
     "short_hash": "a65d066",
     "author": "Martijn Cuppens",
-    "date": "Fri Nov 22 10:00:25 2019 +0100",
+    "date": "Fri Nov 22 10:00:25 2025 +0100",
     "description": "Use double quotes in `.stylelintrc` (#29709)"
   },
   {
     "hash": "db87297afbc6a6458912d490a2398801ea7108bb",
     "short_hash": "db87297",
     "author": "XhmikosR",
-    "date": "Thu Nov 21 16:35:21 2019 +0200",
+    "date": "Thu Nov 21 16:35:21 2025 +0200",
     "description": "Regenerate package-lock.json (#29695)"
   },
   {
     "hash": "099860d727f0ed2ab039ccac48e2ead61083427c",
     "short_hash": "099860d",
     "author": "XhmikosR",
-    "date": "Mon Nov 18 21:03:43 2019 +0200",
+    "date": "Mon Nov 18 21:03:43 2025 +0200",
     "description": "Switch to the Coveralls Action (#29478)"
   },
   {
     "hash": "47b1bc71af5bedab27df115a23237ea30e1ac30e",
     "short_hash": "47b1bc7",
     "author": "XhmikosR",
-    "date": "Fri Nov 15 15:52:50 2019 +0200",
+    "date": "Fri Nov 15 15:52:50 2025 +0200",
     "description": "Fix npm audit vulnerability (#29677)"
   },
   {
     "hash": "bca5b6ab9ca7277b03562e175e6914e81e27ddd7",
     "short_hash": "bca5b6a",
     "author": "XhmikosR",
-    "date": "Tue Nov 12 09:40:29 2019 +0200",
+    "date": "Tue Nov 12 09:40:29 2025 +0200",
     "description": "config.yml: update popper.js to v1.16.0 (#29624)"
   },
   {
     "hash": "2a4d526ce81093c1dd26e37d94b9371e89085f52",
     "short_hash": "2a4d526",
     "author": "XhmikosR",
-    "date": "Tue Nov 12 09:34:16 2019 +0200",
+    "date": "Tue Nov 12 09:34:16 2025 +0200",
     "description": "Update anchor.js to v4.2.1 (#29662)"
   },
   {
     "hash": "cc6f66f72a180af1910bb5f520f2067ad705f1b8",
     "short_hash": "cc6f66f",
     "author": "XhmikosR",
-    "date": "Fri Nov 8 10:11:23 2019 +0200",
+    "date": "Fri Nov 8 10:11:23 2025 +0200",
     "description": "Dist (#29638)"
   },
   {
     "hash": "eb849d73cda18a660d13c22b25a9e7ebbf42faca",
     "short_hash": "eb849d7",
     "author": "Martijn Cuppens",
-    "date": "Thu Nov 7 20:03:52 2019 +0100",
+    "date": "Thu Nov 7 20:03:52 2025 +0100",
     "description": "Make check label cursor customizable (#29654)"
   },
   {
     "hash": "dbeb85cb085c6231bd747f5fe597b91ef99ab2ae",
     "short_hash": "dbeb85c",
     "author": "Sam Duvall",
-    "date": "Thu Nov 7 13:34:54 2019 -0500",
+    "date": "Thu Nov 7 13:34:54 2025 -0500",
     "description": "Fixed input-height-sm and input-height-lg calculations (#29653)"
   },
   {
     "hash": "67015b4aa2c075726aae7e2a2e014c87827f6d20",
     "short_hash": "67015b4",
     "author": "Martijn Cuppens",
-    "date": "Thu Nov 7 19:28:51 2019 +0100",
+    "date": "Thu Nov 7 19:28:51 2025 +0100",
     "description": "package.json: Add funding property (#29646)"
   },
   {
     "hash": "c9ae98ee38f1c9108b079a0a48a1b21cdbd55001",
     "short_hash": "c9ae98e",
     "author": "XhmikosR",
-    "date": "Thu Nov 7 11:33:10 2019 +0200",
+    "date": "Thu Nov 7 11:33:10 2025 +0200",
     "description": "Remove shx. (#29636)"
   },
   {
     "hash": "c3fa502d32d78f580760500fe1b91bd0f04b845c",
     "short_hash": "c3fa502",
     "author": "XhmikosR",
-    "date": "Thu Nov 7 11:20:12 2019 +0200",
+    "date": "Thu Nov 7 11:20:12 2025 +0200",
     "description": "dashboard/index.html: update tabler-icons to v4.24.1 (#29651)"
   },
   {
     "hash": "1d30e05cafd986b1ca067edd20570899b0ad9e94",
     "short_hash": "1d30e05",
     "author": "XhmikosR",
-    "date": "Thu Nov 7 10:41:40 2019 +0200",
+    "date": "Thu Nov 7 10:41:40 2025 +0200",
     "description": "Regenerate package-lock.json."
   },
   {
     "hash": "258a56b473edea843eb20e80bbc7bf49eb040a32",
     "short_hash": "258a56b",
     "author": "XhmikosR",
-    "date": "Mon Nov 4 15:42:09 2019 +0200",
+    "date": "Mon Nov 4 15:42:09 2025 +0200",
     "description": "site/assets/js/search.js: ignore the LGTM alert (#29634)"
   },
   {
     "hash": "972369c997e4113607aaa002edd532e3d256f316",
     "short_hash": "972369c",
     "author": "XhmikosR",
-    "date": "Thu Oct 24 16:47:38 2019 +0300",
+    "date": "Thu Oct 24 16:47:38 2025 +0300",
     "description": "Tighten regex a bit. If we need to make this more robust in the future, we can revert this as needed."
   },
   {
     "hash": "e40b3355f09d444337eb0081877d02329fbf52c9",
     "short_hash": "e40b335",
     "author": "XhmikosR",
-    "date": "Tue Sep 17 14:22:56 2019 +0300",
+    "date": "Tue Sep 17 14:22:56 2025 +0300",
     "description": "example.html: use double quotes"
   },
   {
     "hash": "04acb679ab4282b50e2c6214c3ce7db634f9c2e1",
     "short_hash": "04acb67",
     "author": "Christopher Morrissey",
-    "date": "Fri Sep 6 18:35:43 2019 +0300",
+    "date": "Fri Sep 6 18:35:43 2025 +0300",
     "description": "Example shortcode: use a regex and simplify logic."
   },
   {
     "hash": "a28adc76663b00b72abee1ae326b53cc9c9d6b9c",
     "short_hash": "a28adc7",
     "author": "XhmikosR",
-    "date": "Mon Nov 4 14:44:07 2019 +0200",
+    "date": "Mon Nov 4 14:44:07 2025 +0200",
     "description": "Move docs JS one folder up. (#29632)"
   },
   {
     "hash": "504098d66466488927acd43369b6f0dd40daa1f7",
     "short_hash": "504098d",
     "author": "Martijn Cuppens",
-    "date": "Mon Nov 4 13:37:13 2019 +0100",
+    "date": "Mon Nov 4 13:37:13 2025 +0100",
     "description": "progress: Fix IE overflow (#29629)"
   },
   {
     "hash": "6b3ee0e5fde816ff3aaad28f55282d5a11328bcc",
     "short_hash": "6b3ee0e",
     "author": "Johann-S",
-    "date": "Mon Nov 4 10:50:07 2019 +0100",
+    "date": "Mon Nov 4 10:50:07 2025 +0100",
     "description": "removing last occurences of _fixTitle in our docs (#29631)"
   },
   {
     "hash": "8805122f73dc580aab449f6f680eb01b83cafeed",
     "short_hash": 8805122,
     "author": "XhmikosR",
-    "date": "Fri Nov 1 13:18:28 2019 +0200",
+    "date": "Fri Nov 1 13:18:28 2025 +0200",
     "description": "Update modal.md (#29621) Fix typo"
   },
   {
     "hash": "f2483febb61f6397fd855efe92d2c1e536262c26",
     "short_hash": "f2483fe",
     "author": "Martijn Cuppens",
-    "date": "Thu Oct 31 09:56:10 2019 +0100",
+    "date": "Thu Oct 31 09:56:10 2025 +0100",
     "description": "Update stylelint-config-twbs-bootstrap to 0.9.0 (#29612)"
   },
   {
     "hash": "08ba61e276a6393e8e2b97d56d2feb70a24fe22c",
     "short_hash": "08ba61e",
     "author": "Martijn Cuppens",
-    "date": "Wed Oct 30 09:03:53 2019 +0100",
+    "date": "Wed Oct 30 09:03:53 2025 +0100",
     "description": "Remove calc function from docs"
   },
   {
     "hash": "ca9731692ecbff4e3415a77ff28612ed1fc96ac6",
     "short_hash": "ca97316",
     "author": "Martijn Cuppens",
-    "date": "Wed Oct 30 08:57:09 2019 +0100",
+    "date": "Wed Oct 30 08:57:09 2025 +0100",
     "description": "Add calc() to function blacklist"
   },
   {
     "hash": "9e54d8e1208fbb292d48b879b66d19a404bba538",
     "short_hash": "9e54d8e",
     "author": "Mark Otto",
-    "date": "Sat Oct 19 08:32:29 2019 +0300",
+    "date": "Sat Oct 19 08:32:29 2025 +0300",
     "description": "Doc tweaks."
   },
   {
     "hash": "32b932c959818a2d7a6651ecc57ad88bc8e0d0ea",
     "short_hash": "32b932c",
     "author": "Martijn Cuppens",
-    "date": "Sat Oct 12 16:03:17 2019 +0200",
+    "date": "Sat Oct 12 16:03:17 2025 +0200",
     "description": "Revert complex calculation"
   },
   {
     "hash": "d6ebc60d3d98d48959e6e1bd4eeea4d6e8be4366",
     "short_hash": "d6ebc60",
     "author": "ysds",
-    "date": "Tue Sep 3 20:18:44 2019 +0300",
+    "date": "Tue Sep 3 20:18:44 2025 +0300",
     "description": "Add add and subtract function"
   },
   {
     "hash": "c62efc3ef69d7dd6e784928b707f52884fab87de",
     "short_hash": "c62efc3",
     "author": "Steffen Roßkamp",
-    "date": "Thu Oct 31 06:58:09 2019 +0100",
+    "date": "Thu Oct 31 06:58:09 2025 +0100",
     "description": "Update normalizeDataKey to match the spec (#29609)"
   },
   {
     "hash": "639c405c6510a286a3cfcfd6d733d28d0e7baf92",
     "short_hash": "639c405",
     "author": "Matias Puhakka",
-    "date": "Mon Oct 28 16:19:03 2019 +0200",
+    "date": "Mon Oct 28 16:19:03 2025 +0200",
     "description": "Remove redundant \"Navbar divider\" from \"Contents\" (#29601)"
   },
   {
     "hash": "b81a23a60d1a0c137dfeff17ce9f85c80ca9fe5c",
     "short_hash": "b81a23a",
     "author": "Mark Otto",
-    "date": "Mon Oct 28 00:12:07 2019 -0700",
+    "date": "Mon Oct 28 00:12:07 2025 -0700",
     "description": "Update .form-check to properly support gradients when enabled (#29338)"
   },
   {
     "hash": "9c7bc1a1111940158050db8aaf66340e8ce4d558",
     "short_hash": "9c7bc1a",
     "author": "Mark Otto",
-    "date": "Sun Oct 27 20:26:52 2019 -0700",
+    "date": "Sun Oct 27 20:26:52 2025 -0700",
     "description": "v5: Simplify navbars by requiring containers (#29339)"
   },
   {
     "hash": "23c3cdbd432947e30c755c56aace15218aafc99a",
     "short_hash": "23c3cdb",
     "author": "XhmikosR",
-    "date": "Sun Oct 27 16:39:54 2019 +0200",
+    "date": "Sun Oct 27 16:39:54 2025 +0200",
     "description": "Remove unneeded ESLint suppression and regenerate lock file (#29593)"
   },
   {
     "hash": "819f922276de18cbddb8f5d484b34e4a1a132886",
     "short_hash": "819f922",
     "author": "midzer",
-    "date": "Sat Oct 26 18:47:55 2019 +0200",
+    "date": "Sat Oct 26 18:47:55 2025 +0200",
     "description": "remove superflous transition parameter (#29595)"
   },
   {
     "hash": "46912797b24f12817c24d84a1a80a72d224d1b3a",
     "short_hash": 4691279,
     "author": "Higor Araújo dos Anjos",
-    "date": "Fri Oct 25 15:12:09 2019 -0300",
+    "date": "Fri Oct 25 15:12:09 2025 -0300",
     "description": "Added animation when modal backdrop is static (#29516)"
   },
   {
     "hash": "9ee9b8a1e8f6b2c9d1cbec6cf5c04ac5b8a2b378",
     "short_hash": "9ee9b8a",
     "author": "Martijn Cuppens",
-    "date": "Fri Oct 25 11:37:52 2019 +0200",
+    "date": "Fri Oct 25 11:37:52 2025 +0200",
     "description": "Add configurable button text wrapping (#29554)"
   },
   {
     "hash": "b3dfcdc7ed066469074e96d9ca80b0684d185d82",
     "short_hash": "b3dfcdc",
     "author": "Pawel Wolak",
-    "date": "Fri Oct 25 11:25:30 2019 +0200",
+    "date": "Fri Oct 25 11:25:30 2025 +0200",
     "description": "Enable eslint no-console rule except for build directory (#29585)"
   },
   {
     "hash": "e298e42e29022f275c42273e07cda7618b5d96c3",
     "short_hash": "e298e42",
     "author": "XhmikosR",
-    "date": "Tue Oct 22 20:56:19 2019 +0300",
+    "date": "Tue Oct 22 20:56:19 2025 +0300",
     "description": "Regenerate package-lock.json (#29571)"
   },
   {
     "hash": "6c0e75d6cf6f4a37eede6f221b4be83d29d31742",
     "short_hash": "6c0e75d",
     "author": "XhmikosR",
-    "date": "Tue Oct 22 12:22:27 2019 +0300",
+    "date": "Tue Oct 22 12:22:27 2025 +0300",
     "description": "Fix one dev npm vulnerability. (#29568)"
   },
   {
     "hash": "b91ce0940573dba21c574927e16ea092e3d50df5",
     "short_hash": "b91ce09",
     "author": "XhmikosR",
-    "date": "Tue Oct 22 07:49:06 2019 +0300",
+    "date": "Tue Oct 22 07:49:06 2025 +0300",
     "description": "Update hugo-bin to v0.47.0 (Hugo 0.59.0) (#29562)"
   },
   {
     "hash": "3b876be65273eb4e1096a7420f4b73767607fe59",
     "short_hash": "3b876be",
     "author": "Shohei Yoshida",
-    "date": "Tue Oct 22 11:27:43 2019 +0900",
+    "date": "Tue Oct 22 11:27:43 2025 +0900",
     "description": "Rename close icon to close button (#29387)"
   },
   {
     "hash": "3251de8d57b8e11b9dda0984298028cc977642eb",
     "short_hash": "3251de8",
     "author": "XhmikosR",
-    "date": "Tue Oct 22 05:11:22 2019 +0300",
+    "date": "Tue Oct 22 05:11:22 2025 +0300",
     "description": "Get rid of unneeded `div`s. (#29563)"
   },
   {
     "hash": "f3e84e026863e6a4bbc471a8e6c84e9a3b254c55",
     "short_hash": "f3e84e0",
     "author": "XhmikosR",
-    "date": "Sun Oct 20 18:57:15 2019 +0300",
+    "date": "Sun Oct 20 18:57:15 2025 +0300",
     "description": "Update popper.js to v1.16.0. (#29537)"
   },
   {
     "hash": "8d56c19b5509ef5b6358ee4b646a80bdffbe7396",
     "short_hash": "8d56c19",
     "author": "Mark Otto",
-    "date": "Fri Oct 18 11:06:12 2019 -0700",
+    "date": "Fri Oct 18 11:06:12 2025 -0700",
     "description": "v5: Icons docs cleanup (#29450)"
   },
   {
     "hash": "943bef258d661e0d752f2c4f129952fe2a9de47e",
     "short_hash": "943bef2",
     "author": "Mark Otto",
-    "date": "Fri Oct 18 11:04:27 2019 -0700",
+    "date": "Fri Oct 18 11:04:27 2025 -0700",
     "description": "v5: Update colors to add shades and tints (#29348)"
   },
   {
     "hash": "1fa337cc201a5c55f699af03595821b9c06273df",
     "short_hash": "1fa337c",
     "author": "Mark Otto",
-    "date": "Fri Oct 18 00:28:17 2019 -0700",
+    "date": "Fri Oct 18 00:28:17 2025 -0700",
     "description": "Add link to Icons site in our docs (#29544)"
   },
   {
     "hash": "c1ee395f80c05de8317588b07f34a65c5b95c42c",
     "short_hash": "c1ee395",
     "author": "Jeremy Jackson",
-    "date": "Thu Oct 17 15:01:44 2019 +0000",
+    "date": "Thu Oct 17 15:01:44 2025 +0000",
     "description": "Skip hidden dropdowns while focusing (#29523)"
   },
   {
     "hash": "104385c508a4c77761b04a9842e978bab6f359f6",
     "short_hash": "104385c",
     "author": "Mark Otto",
-    "date": "Wed Oct 16 23:46:34 2019 -0700",
+    "date": "Wed Oct 16 23:46:34 2025 -0700",
     "description": "Add make-col-auto mixin (#29367)"
   },
   {
     "hash": "b483f80b9ea79318273299c7b365c3abff3bfeea",
     "short_hash": "b483f80",
     "author": "XhmikosR",
-    "date": "Wed Oct 16 18:06:26 2019 +0300",
+    "date": "Wed Oct 16 18:06:26 2025 +0300",
     "description": "Update dependabot config (#29536)"
   },
   {
     "hash": "2a8486962ef0260553432ce1a0401cabba81b968",
     "short_hash": "2a84869",
     "author": "XhmikosR",
-    "date": "Wed Oct 16 14:48:28 2019 +0300",
+    "date": "Wed Oct 16 14:48:28 2025 +0300",
     "description": "Add dependabot config (#29526)"
   },
   {
     "hash": "b4e957d360899c2555cb29a3ae4589405883bba9",
     "short_hash": "b4e957d",
     "author": "XhmikosR",
-    "date": "Mon Oct 14 10:54:39 2019 +0300",
+    "date": "Mon Oct 14 10:54:39 2025 +0300",
     "description": "Update devDependencies. (#29508)"
   },
   {
     "hash": "7327e38b1c767051658e68171994042649a4203a",
     "short_hash": 7.327e+41,
     "author": "Martijn Cuppens",
-    "date": "Sat Oct 12 15:07:22 2019 +0200",
+    "date": "Sat Oct 12 15:07:22 2025 +0200",
     "description": "Fix top level ampersand (#29518)"
   },
   {
     "hash": "64e22b42842b2d216f328a94ff9105da744bccbe",
     "short_hash": "64e22b4",
     "author": "leshasmp",
-    "date": "Sat Oct 12 17:09:04 2019 +0500",
+    "date": "Sat Oct 12 17:09:04 2025 +0500",
     "description": "Carousel variables (#29493)"
   },
   {
     "hash": "09e6af48d7f44900e38d5676fb01ad7bb9ddd24b",
     "short_hash": "09e6af4",
     "author": "astrahov",
-    "date": "Sat Oct 12 16:56:29 2019 +0500",
+    "date": "Sat Oct 12 16:56:29 2025 +0500",
     "description": "Group line-height variables (#29466)"
   },
   {
     "hash": "4e37fc3ab4b9441ec749ab91edff66b7fc192456",
     "short_hash": "4e37fc3",
     "author": "Jeremy Jackson",
-    "date": "Sat Oct 12 08:21:22 2019 +0000",
+    "date": "Sat Oct 12 08:21:22 2025 +0000",
     "description": "Add color argument to button mixins (#29444)"
   },
   {
     "hash": "b3451ff258fad12e0803d3c4c0331230748720b8",
     "short_hash": "b3451ff",
     "author": "Mark Otto",
-    "date": "Thu Oct 10 11:18:19 2019 -0700",
+    "date": "Thu Oct 10 11:18:19 2025 -0700",
     "description": "Add new .bg-body utility class (#29511)"
   },
   {
     "hash": "133e0c8c9a7fdb7bd4d5ebd82ce6d8dc944e0a4f",
     "short_hash": "133e0c8",
     "author": "XhmikosR",
-    "date": "Wed Oct 9 11:11:37 2019 +0300",
+    "date": "Wed Oct 9 11:11:37 2025 +0300",
     "description": "Drop support for Node.js 8. (#29496)"
   },
   {
     "hash": "577bf8b14d76a864a8d69dbfb03b757fbeb6e241",
     "short_hash": "577bf8b",
     "author": "XhmikosR",
-    "date": "Wed Oct 9 01:27:43 2019 +0300",
+    "date": "Wed Oct 9 01:27:43 2025 +0300",
     "description": "Rename \"js/tests/units\" to \"js/tests/unit\". (#29503)"
   },
   {
     "hash": "1770691b339bdbf17de5e8824158b358dc0284a9",
     "short_hash": 1770691,
     "author": "XhmikosR",
-    "date": "Tue Oct 8 09:39:10 2019 +0300",
+    "date": "Tue Oct 8 09:39:10 2025 +0300",
     "description": "Dist (#29484)"
   },
   {
     "hash": "9c54d3579757aa1e4027ff8fb434a18c656d840c",
     "short_hash": "9c54d35",
     "author": "XhmikosR",
-    "date": "Tue Oct 8 08:47:40 2019 +0300",
+    "date": "Tue Oct 8 08:47:40 2025 +0300",
     "description": "CI: move `CI` env variable to the root of the workflow. (#29499)"
   },
   {
     "hash": "622c914a3acc1ab933b3e89d8abfdd63feeb4016",
     "short_hash": "622c914",
     "author": "XhmikosR",
-    "date": "Mon Oct 7 09:31:12 2019 +0300",
+    "date": "Mon Oct 7 09:31:12 2025 +0300",
     "description": "Update devDependencies. (#29447)"
   },
   {
     "hash": "60559d44a2166708a4dc2f6ccb835052da08ab65",
     "short_hash": "60559d4",
     "author": "astrahov",
-    "date": "Thu Oct 3 20:54:34 2019 +0500",
+    "date": "Thu Oct 3 20:54:34 2025 +0500",
     "description": "Add variable for `$breadcrumb-font-size` (#29467)"
   },
   {
     "hash": "e1b82f51e21b6329d783406cfbc9c847c798ef23",
     "short_hash": "e1b82f5",
     "author": "Johann-S",
-    "date": "Wed Oct 2 14:32:29 2019 +0200",
+    "date": "Wed Oct 2 14:32:29 2025 +0200",
     "description": "add modularity integration test"
   },
   {
     "hash": "3d12b541c488ea09efced2fb987fcbf384c656bb",
     "short_hash": "3d12b54",
     "author": "Johann-S",
-    "date": "Wed Oct 2 11:43:54 2019 +0200",
+    "date": "Wed Oct 2 11:43:54 2025 +0200",
     "description": "return to the original file structure to avoid breaking modularity"
   },
   {
     "hash": "393ddae09b0578c8d381540bdbb4e68cdec1b45b",
     "short_hash": "393ddae",
     "author": "Martijn Cuppens",
-    "date": "Thu Oct 3 09:43:45 2019 +0200",
+    "date": "Thu Oct 3 09:43:45 2025 +0200",
     "description": "Fix border for single card in accordion (#29453)"
   },
   {
     "hash": "03c9788f7a0293beef328c004b124f4433c3c64d",
     "short_hash": "03c9788",
     "author": "Martijn Cuppens",
-    "date": "Thu Oct 3 09:21:40 2019 +0200",
+    "date": "Thu Oct 3 09:21:40 2025 +0200",
     "description": "Variable card height (#29462)"
   },
   {
     "hash": "f6a1e2fc8990f2c8975b0f27fc14027a6f7e9fae",
     "short_hash": "f6a1e2f",
     "author": "Paweł Kuna",
-    "date": "Thu Oct 3 08:52:25 2019 +0200",
+    "date": "Thu Oct 3 08:52:25 2025 +0200",
     "description": "Better radio input (#29441)"
   },
   {
     "hash": "494713b55a40d5b1216acd8b44fe0e463224f73d",
     "short_hash": "494713b",
     "author": "Martijn Cuppens",
-    "date": "Wed Oct 2 21:48:15 2019 +0200",
+    "date": "Wed Oct 2 21:48:15 2025 +0200",
     "description": "Trim trailing whitespace from markdown files (#29460)"
   },
   {
     "hash": "de8c65158be3bbf150b9352a3985762c7e094933",
     "short_hash": "de8c651",
     "author": "Martijn Cuppens",
-    "date": "Wed Oct 2 21:37:24 2019 +0200",
+    "date": "Wed Oct 2 21:37:24 2025 +0200",
     "description": "Remove appearance from textarea (#29455)"
   },
   {
     "hash": "707973ebdd2ea058b297456ee6c7b0a27b725089",
     "short_hash": "707973e",
     "author": "Mark Otto",
-    "date": "Wed Oct 2 12:19:45 2019 -0700",
+    "date": "Wed Oct 2 12:19:45 2025 -0700",
     "description": "v5: .form-check layout changes (#29322)"
   },
   {
     "hash": "c306e963e8f75cf4e2b5b7b656266b6df01c8b83",
     "short_hash": "c306e96",
     "author": "Andreas Schroth",
-    "date": "Wed Oct 2 21:10:31 2019 +0200",
+    "date": "Wed Oct 2 21:10:31 2025 +0200",
     "description": "Remove \"extra\" section from composer.json (#29420)"
   },
   {
     "hash": "e41342b4c1be70ff8d6074f37ecc49dec632d80c",
     "short_hash": "e41342b",
     "author": "XhmikosR",
-    "date": "Wed Oct 2 22:05:15 2019 +0300",
+    "date": "Wed Oct 2 22:05:15 2025 +0300",
     "description": "coveralls: Add `COVERALLS_GIT_BRANCH` (#29458)"
   },
   {
     "hash": "b1a4b0ecc42e5d2359f18d6430b9386defdb9ddb",
     "short_hash": "b1a4b0e",
     "author": "XhmikosR",
-    "date": "Wed Oct 2 21:56:39 2019 +0300",
+    "date": "Wed Oct 2 21:56:39 2025 +0300",
     "description": "workflows/test.yml: specify `CI=true` (#29440)"
   },
   {
     "hash": "adfd3fbd4689b8d373d55df56bead6d09c728fcd",
     "short_hash": "adfd3fb",
     "author": "XhmikosR",
-    "date": "Wed Oct 2 21:49:34 2019 +0300",
+    "date": "Wed Oct 2 21:49:34 2025 +0300",
     "description": "README.md: link to the Actions page for Tests (#29480)"
   },
   {
     "hash": "46e8f1a34fe00468209f46b12aac6323b5322eee",
     "short_hash": "46e8f1a",
     "author": "astrahov",
-    "date": "Tue Oct 1 18:14:43 2019 +0500",
+    "date": "Tue Oct 1 18:14:43 2025 +0500",
     "description": "Variable carousel indicator opacity (#29468)"
   },
   {
     "hash": "0a3aa08b89031a835e73b53b161ba6c6d1cab848",
     "short_hash": "0a3aa08",
     "author": "Paweł Kuna",
-    "date": "Fri Sep 27 17:58:53 2019 +0200",
+    "date": "Fri Sep 27 17:58:53 2025 +0200",
     "description": "Remove outline from select box in FF (#29445)"
   },
   {
     "hash": "f2dff864aa09140dd7edc6b5e27ecf590f2f7fa5",
     "short_hash": "f2dff86",
     "author": "wojtask9",
-    "date": "Fri Sep 27 14:22:31 2019 +0200",
+    "date": "Fri Sep 27 14:22:31 2025 +0200",
     "description": "Remove duplicated td selector (#29454)"
   },
   {
     "hash": "6b150855df836210188b0cec5e989468ca5e9611",
     "short_hash": "6b15085",
     "author": "XhmikosR",
-    "date": "Fri Sep 27 09:01:36 2019 +0300",
+    "date": "Fri Sep 27 09:01:36 2025 +0300",
     "description": "Change blue and pink colors to be accessible. (#29198)"
   },
   {
     "hash": "de3a3731bd8034536654053130663d12ff1ec811",
     "short_hash": "de3a373",
     "author": "XhmikosR",
-    "date": "Thu Sep 26 21:50:14 2019 +0300",
+    "date": "Thu Sep 26 21:50:14 2025 +0300",
     "description": "Sass: remove redundant stylelint inline suppressions. (#29427)"
   },
   {
     "hash": "7e0901779043aa0357fa39e7544b60c2054cce01",
     "short_hash": null,
     "author": "XhmikosR",
-    "date": "Tue Sep 24 21:32:49 2019 +0300",
+    "date": "Tue Sep 24 21:32:49 2025 +0300",
     "description": "`update-deps`: remove moot `cross-env` call. (#29419)"
   },
   {
     "hash": "d2a24e09ecfd453618f7bd6c07bc0546e38fb261",
     "short_hash": "d2a24e0",
     "author": "Shohei Yoshida",
-    "date": "Tue Sep 24 19:48:45 2019 +0900",
+    "date": "Tue Sep 24 19:48:45 2025 +0900",
     "description": "Grid card example tweaks (#29409)"
   },
   {
     "hash": "84861ceadbb09ada3598a632fd0f5e1cc80b0e7a",
     "short_hash": "84861ce",
     "author": "XhmikosR",
-    "date": "Tue Sep 17 21:34:53 2019 +0300",
+    "date": "Tue Sep 17 21:34:53 2025 +0300",
     "description": ".eslintrc.json: Remove a couple of default rules."
   },
   {
     "hash": "90c5de151be15815469a07b2c7aa4ab0c01f2a86",
     "short_hash": "90c5de1",
     "author": "XhmikosR",
-    "date": "Tue Sep 24 12:53:50 2019 +0300",
+    "date": "Tue Sep 24 12:53:50 2025 +0300",
     "description": "GH Actions updates. (#29429)"
   },
   {
     "hash": "129bb08fc4d2c850ae71250371adf82a4441dc70",
     "short_hash": "129bb08",
     "author": "XhmikosR",
-    "date": "Tue Sep 17 00:22:49 2019 +0300",
+    "date": "Tue Sep 17 00:22:49 2025 +0300",
     "description": "Use Hugo for our docs Sass and JS. (#29280)"
   },
   {
     "hash": "a9c05ab798df7b1a40af41c25dd92faa84b13f99",
     "short_hash": "a9c05ab",
     "author": "XhmikosR",
-    "date": "Wed Aug 28 17:31:45 2019 +0300",
+    "date": "Wed Aug 28 17:31:45 2025 +0300",
     "description": "examples: darken gray a little bit."
   },
   {
     "hash": "758ee5f0f8c31f0140cd3df62cd3dd0eef33eecd",
     "short_hash": "758ee5f",
     "author": "XhmikosR",
-    "date": "Mon Aug 5 16:11:51 2019 +0300",
+    "date": "Mon Aug 5 16:11:51 2025 +0300",
     "description": "card.md: use `text-dark` for warning card."
   },
   {
     "hash": "1edba8072db996d72a9b774953c9137eb2159432",
     "short_hash": "1edba80",
     "author": "XhmikosR",
-    "date": "Sat Aug 3 18:47:13 2019 +0300",
+    "date": "Sat Aug 3 18:47:13 2025 +0300",
     "description": "badge.md: use `text-dark` for warning."
   },
   {
     "hash": "fbeed6f1d9a89d2fbe97312dfb94b6b8f85c195b",
     "short_hash": "fbeed6f",
     "author": "XhmikosR",
-    "date": "Sat Aug 3 18:27:11 2019 +0300",
+    "date": "Sat Aug 3 18:27:11 2025 +0300",
     "description": "Darken footer color."
   },
   {
     "hash": "943a074a2ba9dc753cb4e27075246b7e82eeb306",
     "short_hash": "943a074",
     "author": "XhmikosR",
-    "date": "Sat Aug 3 18:20:45 2019 +0300",
+    "date": "Sat Aug 3 18:20:45 2025 +0300",
     "description": "Tweak syntax highlighting colors to be WCAG2AA valid."
   },
   {
     "hash": "0126d9832b03fbb584066cc5f1eeadd283665ed6",
     "short_hash": "0126d98",
     "author": "XhmikosR",
-    "date": "Mon Sep 16 15:28:25 2019 +0300",
+    "date": "Mon Sep 16 15:28:25 2025 +0300",
     "description": "workflows/test.yml: switch to `setup-node@v1`. (#29410)"
   },
   {
     "hash": "e2a93ec094d6ec1283c10a220b26a2acb4b7417c",
     "short_hash": "e2a93ec",
     "author": "ysds",
-    "date": "Thu Sep 12 23:30:47 2019 +0900",
+    "date": "Thu Sep 12 23:30:47 2025 +0900",
     "description": "Fix incorrect aspect ratio on IE11"
   },
   {
     "hash": "6e638685002e8d5f5c42b274ce87ae3d044d52f2",
     "short_hash": null,
     "author": "Martijn Cuppens",
-    "date": "Thu Apr 25 21:10:55 2019 +0200",
+    "date": "Thu Apr 25 21:10:55 2025 +0200",
     "description": "Remove redundant properties"
   },
   {
     "hash": "d99ff902f8c7b849ccb283af69d6a8ac15356450",
     "short_hash": "d99ff90",
     "author": "jahanzaibsuleman07",
-    "date": "Fri Sep 13 23:15:20 2019 +0500",
+    "date": "Fri Sep 13 23:15:20 2025 +0500",
     "description": "Responsive sticky top (#29158)"
   },
   {
     "hash": "49469ca0dc383626b201d91b66bd4aaed8dceb0f",
     "short_hash": "49469ca",
     "author": "XhmikosR",
-    "date": "Fri Sep 13 12:13:08 2019 +0300",
+    "date": "Fri Sep 13 12:13:08 2025 +0300",
     "description": "Update devDependencies. (#29381)"
   },
   {
     "hash": "2f549ecda8b154ac9203056786e77c8271e78f30",
     "short_hash": "2f549ec",
     "author": "Martijn Cuppens",
-    "date": "Sat Sep 7 21:16:48 2019 +0200",
+    "date": "Sat Sep 7 21:16:48 2025 +0200",
     "description": "Typo fix (#29382)"
   },
   {
     "hash": "713dd824038aba59185b05e4c87bce8e5452e893",
     "short_hash": "713dd82",
     "author": "ysds",
-    "date": "Fri Sep 6 23:57:29 2019 +0900",
+    "date": "Fri Sep 6 23:57:29 2025 +0900",
     "description": "Remove unnecessary z-index"
   },
   {
     "hash": "9066f9495cb41459574ab181fc3d435c1b4e358a",
     "short_hash": "9066f94",
     "author": "Martijn Cuppens",
-    "date": "Fri Sep 6 09:24:08 2019 +0200",
+    "date": "Fri Sep 6 09:24:08 2025 +0200",
     "description": "Make sure the content doesn't cover the navbar dropdown"
   },
   {
     "hash": "c5e80ff2afe056fc959cd14b2ffda88016e0b81d",
     "short_hash": "c5e80ff",
     "author": "XhmikosR",
-    "date": "Sat Aug 31 14:41:15 2019 +0300",
+    "date": "Sat Aug 31 14:41:15 2025 +0300",
     "description": "about/brand.md: Remove unused class."
   },
   {
     "hash": "c6ac6365e57efeff86b2b099703c907c3d57b261",
     "short_hash": "c6ac636",
     "author": "XhmikosR",
-    "date": "Sat Aug 31 14:30:29 2019 +0300",
+    "date": "Sat Aug 31 14:30:29 2025 +0300",
     "description": "Use the `$white` variable."
   },
   {
     "hash": "b6b96c174bff4b27800fb9ddec75328d1ef30322",
     "short_hash": "b6b96c1",
     "author": "Martijn Cuppens",
-    "date": "Fri Aug 30 23:32:12 2019 +0300",
+    "date": "Fri Aug 30 23:32:12 2025 +0300",
     "description": "Docs tweaks"
   },
   {
     "hash": "d6945d5e8fa66a84cf363d9ff710684971bdea85",
     "short_hash": "d6945d5",
     "author": "XhmikosR",
-    "date": "Sun Sep 1 13:37:24 2019 +0300",
+    "date": "Sun Sep 1 13:37:24 2025 +0300",
     "description": "Move shortcodes used only once where they are needed."
   },
   {
     "hash": "2c9e22ef889b1b88df7b956d705a1069c10d5e68",
     "short_hash": "2c9e22e",
     "author": "XhmikosR",
-    "date": "Sun Sep 1 13:23:58 2019 +0300",
+    "date": "Sun Sep 1 13:23:58 2025 +0300",
     "description": "getting-started/theming.md: throw an error if the regex doesn't succeed."
   },
   {
     "hash": "cf4ae75eff7d432962cc67d56d4ede3b9e3ac42c",
     "short_hash": "cf4ae75",
     "author": "XhmikosR",
-    "date": "Sun Sep 1 13:23:31 2019 +0300",
+    "date": "Sun Sep 1 13:23:31 2025 +0300",
     "description": "Break a couple of long lines."
   },
   {
     "hash": "f7fe5d5bca78354c1ff27340702593ca5f81a3a3",
     "short_hash": "f7fe5d5",
     "author": "XhmikosR",
-    "date": "Fri Sep 6 08:51:46 2019 +0300",
+    "date": "Fri Sep 6 08:51:46 2025 +0300",
     "description": "homepage: remove redundant class (#29357)"
   },
   {
     "hash": "eb49bd11c9e5f2705d4efa78c029a1de3a2fb832",
     "short_hash": "eb49bd1",
     "author": "Mark Otto",
-    "date": "Thu Sep 5 11:43:31 2019 -0700",
+    "date": "Thu Sep 5 11:43:31 2025 -0700",
     "description": "Update subnav to remove breadcrumb and just keep versions and search (#29368)"
   },
   {
     "hash": "c6a82fcc6f46cc8679df45142dfd2de3312b85e6",
     "short_hash": "c6a82fc",
     "author": "XhmikosR",
-    "date": "Thu Sep 5 11:23:34 2019 +0300",
+    "date": "Thu Sep 5 11:23:34 2025 +0300",
     "description": "Update devDependencies. (#29349)"
   },
   {
     "hash": "db002902da3a56db6d4d65ea8ae78212c91ea3a1",
     "short_hash": "db00290",
     "author": "XhmikosR",
-    "date": "Tue Sep 3 18:04:11 2019 +0300",
+    "date": "Tue Sep 3 18:04:11 2025 +0300",
     "description": "Tweak form validation snippet. (#29359)"
   },
   {
     "hash": "d0affaa2eccdd0ab697bc3eee57b6c22f4bc24f9",
     "short_hash": "d0affaa",
     "author": "XhmikosR",
-    "date": "Mon Sep 2 19:19:25 2019 +0300",
+    "date": "Mon Sep 2 19:19:25 2025 +0300",
     "description": "Examples: use our utilities more. (#29358)"
   },
   {
     "hash": "88d7d8b8223911726d8a0aeed9a16010dca04287",
     "short_hash": "88d7d8b",
     "author": "XhmikosR",
-    "date": "Mon Sep 2 12:52:26 2019 +0300",
+    "date": "Mon Sep 2 12:52:26 2025 +0300",
     "description": "Use the example shortcode in more places. (#29346)"
   },
   {
     "hash": "6cb4ebc04870df30d5b6ec528ffcb84a07ab48c5",
     "short_hash": "6cb4ebc",
     "author": "XhmikosR",
-    "date": "Mon Sep 2 12:44:19 2019 +0300",
+    "date": "Mon Sep 2 12:44:19 2025 +0300",
     "description": "ESLint: specify `--report-unused-disable-directives` (#29350)"
   },
   {
     "hash": "6f1eb110e7c39dc2fb7e2126248b320519ae037a",
     "short_hash": "6f1eb11",
     "author": "XhmikosR",
-    "date": "Mon Sep 2 12:31:02 2019 +0300",
+    "date": "Mon Sep 2 12:31:02 2025 +0300",
     "description": "Docs: simplify a few Hugo `range`s. (#29333)"
   },
   {
     "hash": "edf7923c8f04b436291c0c2b8e405be7ae3f6ab1",
     "short_hash": "edf7923",
     "author": "XhmikosR",
-    "date": "Mon Sep 2 12:21:42 2019 +0300",
+    "date": "Mon Sep 2 12:21:42 2025 +0300",
     "description": "Fix a few redirected links. (#29352)"
   },
   {
     "hash": "919b526f17a08cefba51c42b831c922adecb4a9f",
     "short_hash": "919b526",
     "author": "XhmikosR",
-    "date": "Sat Aug 31 08:11:16 2019 +0300",
+    "date": "Sat Aug 31 08:11:16 2025 +0300",
     "description": "Fix shortcodes/example.html class bug. (#29344)"
   },
   {
     "hash": "b1f49092877c83bf2007cc363fc5c6925cc0dc8c",
     "short_hash": "b1f4909",
     "author": "ysds",
-    "date": "Thu Aug 29 22:12:26 2019 +0900",
+    "date": "Thu Aug 29 22:12:26 2025 +0900",
     "description": "Add responsive example"
   },
   {
     "hash": "ebfeaa4ad18aa67c8ff91ff483f1f3634b2afc85",
     "short_hash": "ebfeaa4",
     "author": "ysds",
-    "date": "Wed Aug 28 23:37:39 2019 +0900",
+    "date": "Wed Aug 28 23:37:39 2025 +0900",
     "description": "Allow override default col width"
   },
   {
     "hash": "cc248791b0f260aa6e0505a0aa7c3faeb1cbc797",
     "short_hash": "cc24879",
     "author": "Mark Otto",
-    "date": "Tue Jul 23 23:00:29 2019 -0700",
+    "date": "Tue Jul 23 23:00:29 2025 -0700",
     "description": "Cleanup"
   },
   {
     "hash": "db692d02d555a66219283d5e2150a681fafee1e6",
     "short_hash": "db692d0",
     "author": "Mark Otto",
-    "date": "Thu Jul 18 02:48:43 2019 +0300",
+    "date": "Thu Jul 18 02:48:43 2025 +0300",
     "description": "Move margins, and equal height via utility example"
   },
   {
     "hash": "e2252e023096daa7e852835a69c360484765c42b",
     "short_hash": "e2252e0",
     "author": "Mark Otto",
-    "date": "Thu Jul 18 02:27:53 2019 +0300",
+    "date": "Thu Jul 18 02:27:53 2025 +0300",
     "description": "First pass at .row-cols classes"
   },
   {
     "hash": "4041d70eb5462fe8fdd08040f68fcb0ccf67935e",
     "short_hash": "4041d70",
     "author": "XhmikosR",
-    "date": "Fri Aug 30 17:35:12 2019 +0300",
+    "date": "Fri Aug 30 17:35:12 2025 +0300",
     "description": "card.md remove empty `class` placeholder argument (#29345)"
   },
   {
     "hash": "aa3b4c41a4d98e054b0e18c0193efcce0db39d71",
     "short_hash": "aa3b4c4",
     "author": "XhmikosR",
-    "date": "Fri Aug 30 17:21:47 2019 +0300",
+    "date": "Fri Aug 30 17:21:47 2025 +0300",
     "description": "carousel.md: Remove duplicate bd-example div. (#29341)"
   },
   {
     "hash": "a6460d972743ecf4cf1fc382dafd06af945fff0a",
     "short_hash": "a6460d9",
     "author": "XhmikosR",
-    "date": "Fri Aug 30 11:52:22 2019 +0300",
+    "date": "Fri Aug 30 11:52:22 2025 +0300",
     "description": "Merge lint scripts (#29329)"
   },
   {
     "hash": "007ea0d8d043a788383109e1883717875fa5530d",
     "short_hash": "007ea0d",
     "author": "Martijn Cuppens",
-    "date": "Fri Aug 30 09:42:41 2019 +0200",
+    "date": "Fri Aug 30 09:42:41 2025 +0200",
     "description": "Clean up line heights & add line height utilities (#29271)"
   },
   {
     "hash": "ae249e8f559b88f9db78ed96a39f680aea43c051",
     "short_hash": "ae249e8",
     "author": "XhmikosR",
-    "date": "Fri Aug 30 08:01:21 2019 +0300",
+    "date": "Fri Aug 30 08:01:21 2025 +0300",
     "description": "docs-sidebar.html: reindent. (#29337)"
   }
 ]

+ 170 - 0
shared/data/notifications.json

@@ -0,0 +1,170 @@
+[
+  {
+    "id": "1",
+    "title": "New order received",
+    "description": "Order #12345 has been placed by John Doe",
+    "type": "order",
+    "status": "unread",
+    "priority": "high",
+    "icon": "shopping-cart",
+    "color": "success",
+    "timestamp": "2025-01-15T10:30:00Z",
+    "user_id": "123",
+    "action_url": "/orders/12345",
+    "is_important": true
+  },
+  {
+    "id": "2",
+    "title": "Payment failed",
+    "description": "Payment for order #12340 failed. Please review payment details.",
+    "type": "payment",
+    "status": "unread",
+    "priority": "critical",
+    "icon": "alert-triangle",
+    "color": "danger",
+    "timestamp": "2025-01-15T09:15:00Z",
+    "user_id": "456",
+    "action_url": "/payments/12340",
+    "is_important": true
+  },
+  {
+    "id": "3",
+    "title": "System maintenance",
+    "description": "Scheduled maintenance will begin in 2 hours. Expected downtime: 30 minutes.",
+    "type": "system",
+    "status": "unread",
+    "priority": "medium",
+    "icon": "settings",
+    "color": "warning",
+    "timestamp": "2025-01-15T08:45:00Z",
+    "user_id": null,
+    "action_url": "/maintenance",
+    "is_important": false
+  },
+  {
+    "id": "4",
+    "title": "New customer registered",
+    "description": "Sarah Johnson has created a new account",
+    "type": "user",
+    "status": "read",
+    "priority": "low",
+    "icon": "user-plus",
+    "color": "info",
+    "timestamp": "2025-01-15T07:20:00Z",
+    "user_id": "789",
+    "action_url": "/customers/789",
+    "is_important": false
+  },
+  {
+    "id": "5",
+    "title": "Inventory alert",
+    "description": "Product 'Premium Widget' is running low on stock (5 items remaining)",
+    "type": "inventory",
+    "status": "unread",
+    "priority": "high",
+    "icon": "package",
+    "color": "warning",
+    "timestamp": "2025-01-15T06:30:00Z",
+    "user_id": null,
+    "action_url": "/inventory/premium-widget",
+    "is_important": true
+  },
+  {
+    "id": "6",
+    "title": "Support ticket resolved",
+    "description": "Ticket #TKT-2025-001 has been resolved by support team",
+    "type": "support",
+    "status": "read",
+    "priority": "medium",
+    "icon": "message-circle",
+    "color": "success",
+    "timestamp": "2025-01-15T05:45:00Z",
+    "user_id": "234",
+    "action_url": "/support/tickets/TKT-2025-001",
+    "is_important": false
+  },
+  {
+    "id": "7",
+    "title": "Security alert",
+    "description": "Unusual login activity detected from new location",
+    "type": "security",
+    "status": "unread",
+    "priority": "critical",
+    "icon": "shield",
+    "color": "danger",
+    "timestamp": "2025-01-15T04:15:00Z",
+    "user_id": "567",
+    "action_url": "/security/activity",
+    "is_important": true
+  },
+  {
+    "id": "8",
+    "title": "Backup completed",
+    "description": "Daily backup has been completed successfully",
+    "type": "system",
+    "status": "read",
+    "priority": "low",
+    "icon": "database",
+    "color": "success",
+    "timestamp": "2025-01-15T03:00:00Z",
+    "user_id": null,
+    "action_url": "/system/backups",
+    "is_important": false
+  },
+  {
+    "id": "9",
+    "title": "New review received",
+    "description": "5-star review received for product 'Deluxe Package'",
+    "type": "review",
+    "status": "unread",
+    "priority": "medium",
+    "icon": "star",
+    "color": "success",
+    "timestamp": "2025-01-15T02:30:00Z",
+    "user_id": "890",
+    "action_url": "/reviews/deluxe-package",
+    "is_important": false
+  },
+  {
+    "id": "10",
+    "title": "API rate limit warning",
+    "description": "API usage is approaching the rate limit (85% used)",
+    "type": "system",
+    "status": "unread",
+    "priority": "medium",
+    "icon": "activity",
+    "color": "warning",
+    "timestamp": "2025-01-15T01:45:00Z",
+    "user_id": null,
+    "action_url": "/api/usage",
+    "is_important": true
+  },
+  {
+    "id": "11",
+    "title": "Refund processed",
+    "description": "Refund for order #12335 has been processed and sent to customer",
+    "type": "refund",
+    "status": "read",
+    "priority": "medium",
+    "icon": "refresh-ccw",
+    "color": "info",
+    "timestamp": "2025-01-15T00:20:00Z",
+    "user_id": "345",
+    "action_url": "/refunds/12335",
+    "is_important": false
+  },
+  {
+    "id": "12",
+    "title": "New feature available",
+    "description": "Advanced analytics dashboard is now available for all users",
+    "type": "feature",
+    "status": "unread",
+    "priority": "low",
+    "icon": "bar-chart",
+    "color": "info",
+    "timestamp": "2025-01-14T23:10:00Z",
+    "user_id": null,
+    "action_url": "/features/analytics",
+    "is_important": false
+  }
+]

Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 633 - 47
shared/data/people.json


+ 422 - 0
shared/data/transactions.json

@@ -0,0 +1,422 @@
+[
+  {
+    "id": "1",
+    "counterparty": "Form Builder CP",
+    "counterparty_logo": "static/brands/form-builder.svg",
+    "payment_date": "2025-01-22",
+    "status_name": "pending",
+    "status": "warning",
+    "amount": -1299.22,
+    "currency": "USD",
+    "transaction_type": "subscription",
+    "category": "software",
+    "description": "Annual subscription renewal",
+    "reference": "FB-2025-001"
+  },
+  {
+    "id": "2",
+    "counterparty": "Imperial Hotel ****",
+    "counterparty_logo": "static/brands/hotel.svg",
+    "payment_date": "2025-01-22",
+    "status_name": "completed",
+    "status": "success",
+    "amount": -1029.77,
+    "currency": "USD",
+    "transaction_type": "hotel",
+    "category": "travel",
+    "description": "Hotel accommodation for business trip",
+    "reference": "IH-2025-002"
+  },
+  {
+    "id": "3",
+    "counterparty": "Aprilynne Pills",
+    "counterparty_logo": "static/avatars/000m.jpg",
+    "payment_date": "2025-01-22",
+    "status_name": "pending",
+    "status": "warning",
+    "amount": 499.99,
+    "currency": "USD",
+    "transaction_type": "refund",
+    "category": "healthcare",
+    "description": "Refund for cancelled prescription",
+    "reference": "AP-2025-003"
+  },
+  {
+    "id": "4",
+    "counterparty": "Google Limited UK",
+    "counterparty_logo": "static/brands/google.svg",
+    "payment_date": "2025-01-22",
+    "status_name": "completed",
+    "status": "success",
+    "amount": -1029.77,
+    "currency": "USD",
+    "transaction_type": "advertising",
+    "category": "marketing",
+    "description": "Google Ads campaign payment",
+    "reference": "GL-2025-004"
+  },
+  {
+    "id": "5",
+    "counterparty": "Acme LTD UK",
+    "counterparty_logo": "static/brands/acme.svg",
+    "payment_date": "2025-01-22",
+    "status_name": "pending",
+    "status": "warning",
+    "amount": 2179.36,
+    "currency": "USD",
+    "transaction_type": "payment",
+    "category": "business",
+    "description": "Payment received for consulting services",
+    "reference": "AL-2025-005"
+  },
+  {
+    "id": "6",
+    "counterparty": "Google Limited UK",
+    "counterparty_logo": "static/brands/google.svg",
+    "payment_date": "2025-01-22",
+    "status_name": "canceled",
+    "status": "danger",
+    "amount": -1029.77,
+    "currency": "USD",
+    "transaction_type": "advertising",
+    "category": "marketing",
+    "description": "Cancelled Google Ads campaign",
+    "reference": "GL-2025-006"
+  },
+  {
+    "id": "7",
+    "counterparty": "Uber",
+    "counterparty_logo": "static/brands/uber.svg",
+    "payment_date": "2025-01-22",
+    "status_name": "completed",
+    "status": "success",
+    "amount": -272.88,
+    "currency": "USD",
+    "transaction_type": "transport",
+    "category": "travel",
+    "description": "Ride sharing service",
+    "reference": "UB-2025-007"
+  },
+  {
+    "id": "8",
+    "counterparty": "PublicOne Inc.",
+    "counterparty_logo": "static/brands/publicone.svg",
+    "payment_date": "2025-01-22",
+    "status_name": "completed",
+    "status": "success",
+    "amount": -199.87,
+    "currency": "USD",
+    "transaction_type": "subscription",
+    "category": "software",
+    "description": "Monthly software subscription",
+    "reference": "PO-2025-008"
+  },
+  {
+    "id": "9",
+    "counterparty": "Github Inc.",
+    "counterparty_logo": "static/brands/github.svg",
+    "payment_date": "2025-01-22",
+    "status_name": "completed",
+    "status": "success",
+    "amount": -42.87,
+    "currency": "USD",
+    "transaction_type": "subscription",
+    "category": "software",
+    "description": "GitHub Pro subscription",
+    "reference": "GH-2025-009"
+  },
+  {
+    "id": "10",
+    "counterparty": "Form Builder PRO",
+    "counterparty_logo": "static/brands/form-builder-pro.svg",
+    "payment_date": "2025-01-22",
+    "status_name": "completed",
+    "status": "success",
+    "amount": -112.44,
+    "currency": "USD",
+    "transaction_type": "subscription",
+    "category": "software",
+    "description": "Premium form builder subscription",
+    "reference": "FBP-2025-010"
+  },
+  {
+    "id": "11",
+    "counterparty": "Netflix",
+    "counterparty_logo": "static/brands/netflix.svg",
+    "payment_date": "2025-01-21",
+    "status_name": "completed",
+    "status": "success",
+    "amount": -15.99,
+    "currency": "USD",
+    "transaction_type": "subscription",
+    "category": "entertainment",
+    "description": "Monthly streaming subscription",
+    "reference": "NF-2025-011"
+  },
+  {
+    "id": "12",
+    "counterparty": "Amazon",
+    "counterparty_logo": "static/brands/amazon.svg",
+    "payment_date": "2025-01-21",
+    "status_name": "completed",
+    "status": "success",
+    "amount": -89.99,
+    "currency": "USD",
+    "transaction_type": "purchase",
+    "category": "shopping",
+    "description": "Office supplies purchase",
+    "reference": "AMZ-2025-012"
+  },
+  {
+    "id": "13",
+    "counterparty": "Starbucks",
+    "counterparty_logo": "static/brands/starbucks.svg",
+    "payment_date": "2025-01-21",
+    "status_name": "completed",
+    "status": "success",
+    "amount": -4.75,
+    "currency": "USD",
+    "transaction_type": "food",
+    "category": "dining",
+    "description": "Coffee purchase",
+    "reference": "SB-2025-013"
+  },
+  {
+    "id": "14",
+    "counterparty": "Microsoft",
+    "counterparty_logo": "static/brands/microsoft.svg",
+    "payment_date": "2025-01-21",
+    "status_name": "pending",
+    "status": "warning",
+    "amount": -299.99,
+    "currency": "USD",
+    "transaction_type": "subscription",
+    "category": "software",
+    "description": "Microsoft 365 Business subscription",
+    "reference": "MS-2025-014"
+  },
+  {
+    "id": "15",
+    "counterparty": "TechCorp Solutions",
+    "counterparty_logo": "static/brands/techcorp.svg",
+    "payment_date": "2025-01-21",
+    "status_name": "completed",
+    "status": "success",
+    "amount": 1500.00,
+    "currency": "USD",
+    "transaction_type": "payment",
+    "category": "business",
+    "description": "Payment for web development services",
+    "reference": "TCS-2025-015"
+  },
+  {
+    "id": "16",
+    "counterparty": "Spotify",
+    "counterparty_logo": "static/brands/spotify.svg",
+    "payment_date": "2025-01-20",
+    "status_name": "completed",
+    "status": "success",
+    "amount": -9.99,
+    "currency": "USD",
+    "transaction_type": "subscription",
+    "category": "entertainment",
+    "description": "Premium music subscription",
+    "reference": "SP-2025-016"
+  },
+  {
+    "id": "17",
+    "counterparty": "Zoom",
+    "counterparty_logo": "static/brands/zoom.svg",
+    "payment_date": "2025-01-20",
+    "status_name": "completed",
+    "status": "success",
+    "amount": -149.90,
+    "currency": "USD",
+    "transaction_type": "subscription",
+    "category": "software",
+    "description": "Annual Zoom Pro subscription",
+    "reference": "ZM-2025-017"
+  },
+  {
+    "id": "18",
+    "counterparty": "Slack",
+    "counterparty_logo": "static/brands/slack.svg",
+    "payment_date": "2025-01-20",
+    "status_name": "completed",
+    "status": "success",
+    "amount": -67.50,
+    "currency": "USD",
+    "transaction_type": "subscription",
+    "category": "software",
+    "description": "Monthly Slack workspace subscription",
+    "reference": "SL-2025-018"
+  },
+  {
+    "id": "19",
+    "counterparty": "Dropbox",
+    "counterparty_logo": "static/brands/dropbox.svg",
+    "payment_date": "2025-01-20",
+    "status_name": "pending",
+    "status": "warning",
+    "amount": -119.88,
+    "currency": "USD",
+    "transaction_type": "subscription",
+    "category": "software",
+    "description": "Annual cloud storage subscription",
+    "reference": "DB-2025-019"
+  },
+  {
+    "id": "20",
+    "counterparty": "Digital Marketing Agency",
+    "counterparty_logo": "static/brands/dma.svg",
+    "payment_date": "2025-01-19",
+    "status_name": "completed",
+    "status": "success",
+    "amount": 2500.00,
+    "currency": "USD",
+    "transaction_type": "payment",
+    "category": "business",
+    "description": "Payment for marketing campaign",
+    "reference": "DMA-2025-020"
+  },
+  {
+    "id": "21",
+    "counterparty": "Apple",
+    "counterparty_logo": "static/brands/apple.svg",
+    "payment_date": "2025-01-19",
+    "status_name": "completed",
+    "status": "success",
+    "amount": -99.99,
+    "currency": "USD",
+    "transaction_type": "subscription",
+    "category": "software",
+    "description": "Apple Developer Program",
+    "reference": "APL-2025-021"
+  },
+  {
+    "id": "22",
+    "counterparty": "LinkedIn",
+    "counterparty_logo": "static/brands/linkedin.svg",
+    "payment_date": "2025-01-19",
+    "status_name": "completed",
+    "status": "success",
+    "amount": -29.99,
+    "currency": "USD",
+    "transaction_type": "subscription",
+    "category": "business",
+    "description": "LinkedIn Premium subscription",
+    "reference": "LI-2025-022"
+  },
+  {
+    "id": "23",
+    "counterparty": "Canva",
+    "counterparty_logo": "static/brands/canva.svg",
+    "payment_date": "2025-01-18",
+    "status_name": "completed",
+    "status": "success",
+    "amount": -119.99,
+    "currency": "USD",
+    "transaction_type": "subscription",
+    "category": "software",
+    "description": "Annual Canva Pro subscription",
+    "reference": "CV-2025-023"
+  },
+  {
+    "id": "24",
+    "counterparty": "Figma",
+    "counterparty_logo": "static/brands/figma.svg",
+    "payment_date": "2025-01-18",
+    "status_name": "completed",
+    "status": "success",
+    "amount": -144.00,
+    "currency": "USD",
+    "transaction_type": "subscription",
+    "category": "software",
+    "description": "Annual Figma Professional subscription",
+    "reference": "FG-2025-024"
+  },
+  {
+    "id": "25",
+    "counterparty": "Notion",
+    "counterparty_logo": "static/brands/notion.svg",
+    "payment_date": "2025-01-18",
+    "status_name": "pending",
+    "status": "warning",
+    "amount": -96.00,
+    "currency": "USD",
+    "transaction_type": "subscription",
+    "category": "software",
+    "description": "Annual Notion Team subscription",
+    "reference": "NT-2025-025"
+  },
+  {
+    "id": "26",
+    "counterparty": "Salesforce",
+    "counterparty_logo": "static/brands/salesforce.svg",
+    "payment_date": "2025-01-17",
+    "status_name": "completed",
+    "status": "success",
+    "amount": -150.00,
+    "currency": "USD",
+    "transaction_type": "subscription",
+    "category": "software",
+    "description": "Monthly Salesforce subscription",
+    "reference": "SF-2025-026"
+  },
+  {
+    "id": "27",
+    "counterparty": "HubSpot",
+    "counterparty_logo": "static/brands/hubspot.svg",
+    "payment_date": "2025-01-17",
+    "status_name": "completed",
+    "status": "success",
+    "amount": -89.00,
+    "currency": "USD",
+    "transaction_type": "subscription",
+    "category": "software",
+    "description": "Monthly HubSpot Marketing subscription",
+    "reference": "HS-2025-027"
+  },
+  {
+    "id": "28",
+    "counterparty": "Mailchimp",
+    "counterparty_logo": "static/brands/mailchimp.svg",
+    "payment_date": "2025-01-17",
+    "status_name": "completed",
+    "status": "success",
+    "amount": -59.99,
+    "currency": "USD",
+    "transaction_type": "subscription",
+    "category": "software",
+    "description": "Monthly email marketing subscription",
+    "reference": "MC-2025-028"
+  },
+  {
+    "id": "29",
+    "counterparty": "Trello",
+    "counterparty_logo": "static/brands/trello.svg",
+    "payment_date": "2025-01-16",
+    "status_name": "completed",
+    "status": "success",
+    "amount": -59.88,
+    "currency": "USD",
+    "transaction_type": "subscription",
+    "category": "software",
+    "description": "Annual Trello Business Class",
+    "reference": "TR-2025-029"
+  },
+  {
+    "id": "30",
+    "counterparty": "Asana",
+    "counterparty_logo": "static/brands/asana.svg",
+    "payment_date": "2025-01-16",
+    "status_name": "completed",
+    "status": "success",
+    "amount": -131.88,
+    "currency": "USD",
+    "transaction_type": "subscription",
+    "category": "software",
+    "description": "Annual Asana Premium subscription",
+    "reference": "AS-2025-030"
+  }
+]

+ 70 - 0
shared/data/urls.json

@@ -54,5 +54,75 @@
     "unique": 450,
     "bounce": "8.69%",
     "data": "6, 15, 13, 13, 5, 7, 17, 20, 19"
+  },
+  {
+    "uri": "/buttons.html",
+    "visitors": 542,
+    "unique": 487,
+    "bounce": "28.45%",
+    "data": "8, 12, 15, 9, 6, 11, 14, 7, 13"
+  },
+  {
+    "uri": "/cards.html",
+    "visitors": 498,
+    "unique": 445,
+    "bounce": "31.23%",
+    "data": "5, 9, 12, 8, 15, 11, 6, 14, 10"
+  },
+  {
+    "uri": "/typography.html",
+    "visitors": 423,
+    "unique": 378,
+    "bounce": "35.67%",
+    "data": "7, 11, 9, 13, 8, 12, 6, 15, 10"
+  },
+  {
+    "uri": "/alerts.html",
+    "visitors": 387,
+    "unique": 342,
+    "bounce": "42.18%",
+    "data": "4, 8, 11, 7, 13, 9, 12, 6, 14"
+  },
+  {
+    "uri": "/modals.html",
+    "visitors": 356,
+    "unique": 298,
+    "bounce": "38.76%",
+    "data": "9, 6, 12, 8, 11, 14, 7, 13, 10"
+  },
+  {
+    "uri": "/tables.html",
+    "visitors": 312,
+    "unique": 267,
+    "bounce": "45.83%",
+    "data": "6, 10, 8, 12, 7, 11, 9, 13, 5"
+  },
+  {
+    "uri": "/charts.html",
+    "visitors": 289,
+    "unique": 234,
+    "bounce": "52.94%",
+    "data": "3, 7, 9, 5, 11, 8, 12, 6, 10"
+  },
+  {
+    "uri": "/pricing.html",
+    "visitors": 267,
+    "unique": 223,
+    "bounce": "48.69%",
+    "data": "8, 5, 11, 7, 9, 12, 6, 10, 13"
+  },
+  {
+    "uri": "/blog/",
+    "visitors": 245,
+    "unique": 198,
+    "bounce": "55.10%",
+    "data": "4, 8, 6, 10, 7, 9, 11, 5, 12"
+  },
+  {
+    "uri": "/profile.html",
+    "visitors": 198,
+    "unique": 156,
+    "bounce": "61.62%",
+    "data": "2, 6, 8, 4, 9, 7, 10, 5, 11"
   }
 ]

Některé soubory nejsou zobrazeny, neboť je v těchto rozdílových datech změněno mnoho souborů