m33n4n-site 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/README.md +5 -0
  2. package/package.json +82 -0
  3. package/src/app/fonts.css +8 -0
  4. package/src/app/globals.css +192 -0
  5. package/src/components/fonts/welcome.ttf +0 -0
  6. package/src/components/layout/header.tsx +50 -0
  7. package/src/components/layout/protected-layout.tsx +39 -0
  8. package/src/components/layout/sidebar-nav.tsx +150 -0
  9. package/src/components/logo.tsx +43 -0
  10. package/src/components/markdown-renderer.tsx +19 -0
  11. package/src/components/page-transition.tsx +45 -0
  12. package/src/components/password-gate.tsx +178 -0
  13. package/src/components/portal-page.tsx +471 -0
  14. package/src/components/profile-card.tsx +107 -0
  15. package/src/components/ui/accordion.tsx +58 -0
  16. package/src/components/ui/alert-dialog.tsx +141 -0
  17. package/src/components/ui/alert.tsx +59 -0
  18. package/src/components/ui/avatar.tsx +50 -0
  19. package/src/components/ui/badge.tsx +36 -0
  20. package/src/components/ui/button.tsx +56 -0
  21. package/src/components/ui/calendar.tsx +70 -0
  22. package/src/components/ui/card.tsx +79 -0
  23. package/src/components/ui/carousel.tsx +262 -0
  24. package/src/components/ui/chart.tsx +365 -0
  25. package/src/components/ui/checkbox.tsx +30 -0
  26. package/src/components/ui/collapsible.tsx +11 -0
  27. package/src/components/ui/dialog.tsx +122 -0
  28. package/src/components/ui/dropdown-menu.tsx +200 -0
  29. package/src/components/ui/form.tsx +178 -0
  30. package/src/components/ui/index.ts +38 -0
  31. package/src/components/ui/input.tsx +22 -0
  32. package/src/components/ui/label.tsx +26 -0
  33. package/src/components/ui/menubar.tsx +256 -0
  34. package/src/components/ui/popover.tsx +31 -0
  35. package/src/components/ui/progress.tsx +28 -0
  36. package/src/components/ui/radio-group.tsx +44 -0
  37. package/src/components/ui/scroll-area.tsx +48 -0
  38. package/src/components/ui/select.tsx +160 -0
  39. package/src/components/ui/separator.tsx +31 -0
  40. package/src/components/ui/sheet.tsx +140 -0
  41. package/src/components/ui/sidebar.tsx +790 -0
  42. package/src/components/ui/skeleton.tsx +15 -0
  43. package/src/components/ui/slider.tsx +28 -0
  44. package/src/components/ui/switch.tsx +29 -0
  45. package/src/components/ui/table.tsx +117 -0
  46. package/src/components/ui/tabs.tsx +55 -0
  47. package/src/components/ui/textarea.tsx +21 -0
  48. package/src/components/ui/toast.tsx +129 -0
  49. package/src/components/ui/toaster.tsx +35 -0
  50. package/src/components/ui/tooltip.tsx +30 -0
  51. package/src/components/upload-form.tsx +243 -0
  52. package/src/components/writeup-card.tsx +53 -0
  53. package/src/components/writeups-list.tsx +60 -0
  54. package/src/lib/actions.ts +21 -0
  55. package/src/lib/placeholder-images.json +88 -0
  56. package/src/lib/placeholder-images.ts +14 -0
  57. package/src/lib/types.ts +14 -0
  58. package/src/lib/utils.ts +6 -0
  59. package/src/lib/writeups.ts +76 -0
  60. package/tailwind.config.ts +110 -0
@@ -0,0 +1,110 @@
1
+ import type {Config} from 'tailwindcss';
2
+
3
+ export default {
4
+ darkMode: ['class'],
5
+ content: [
6
+ './src/pages/**/*.{js,ts,jsx,tsx,mdx}',
7
+ './src/components/**/*.{js,ts,jsx,tsx,mdx}',
8
+ './src/app/**/*.{js,ts,jsx,tsx,mdx}',
9
+ ],
10
+ theme: {
11
+ extend: {
12
+ fontFamily: {
13
+ body: ['Cinzel', 'serif'],
14
+ headline: ['Cinzel', 'serif'],
15
+ code: ['Source Code Pro', 'monospace'],
16
+ glitch: ['WelcomeFont', 'sans-serif'],
17
+ },
18
+ colors: {
19
+ background: 'hsl(var(--background))',
20
+ foreground: 'hsl(var(--foreground))',
21
+ card: {
22
+ DEFAULT: 'hsl(var(--card))',
23
+ foreground: 'hsl(var(--card-foreground))',
24
+ },
25
+ popover: {
26
+ DEFAULT: 'hsl(var(--popover))',
27
+ foreground: 'hsl(var(--popover-foreground))',
28
+ },
29
+ primary: {
30
+ DEFAULT: 'hsl(var(--primary))',
31
+ foreground: 'hsl(var(--primary-foreground))',
32
+ },
33
+ secondary: {
34
+ DEFAULT: 'hsl(var(--secondary))',
35
+ foreground: 'hsl(var(--secondary-foreground))',
36
+ },
37
+ muted: {
38
+ DEFAULT: 'hsl(var(--muted))',
39
+ foreground: 'hsl(var(--muted-foreground))',
40
+ },
41
+ accent: {
42
+ DEFAULT: 'hsl(var(--accent))',
43
+ foreground: 'hsl(var(--accent-foreground))',
44
+ },
45
+ destructive: {
46
+ DEFAULT: 'hsl(var(--destructive))',
47
+ foreground: 'hsl(var(--destructive-foreground))',
48
+ },
49
+ border: 'hsl(var(--border))',
50
+ input: 'hsl(var(--input))',
51
+ ring: 'hsl(var(--ring))',
52
+ chart: {
53
+ '1': 'hsl(var(--chart-1))',
54
+ '2': 'hsl(var(--chart-2))',
55
+ '3': 'hsl(var(--chart-3))',
56
+ '4': 'hsl(var(--chart-4))',
57
+ '5': 'hsl(var(--chart-5))',
58
+ },
59
+ sidebar: {
60
+ DEFAULT: 'hsl(var(--sidebar-background))',
61
+ foreground: 'hsl(var(--sidebar-foreground))',
62
+ primary: 'hsl(var(--sidebar-primary))',
63
+ 'primary-foreground': 'hsl(var(--sidebar-primary-foreground))',
64
+ accent: 'hsl(var(--sidebar-accent))',
65
+ 'accent-foreground': 'hsl(var(--sidebar-accent-foreground))',
66
+ border: 'hsl(var(--sidebar-border))',
67
+ ring: 'hsl(var(--sidebar-ring))',
68
+ },
69
+ },
70
+ borderRadius: {
71
+ lg: 'var(--radius)',
72
+ md: 'calc(var(--radius) - 2px)',
73
+ sm: 'calc(var(--radius) - 4px)',
74
+ },
75
+ keyframes: {
76
+ 'accordion-down': {
77
+ from: {
78
+ height: '0',
79
+ },
80
+ to: {
81
+ height: 'var(--radix-accordion-content-height)',
82
+ },
83
+ },
84
+ 'accordion-up': {
85
+ from: {
86
+ height: 'var(--radix-accordion-content-height)',
87
+ },
88
+ to: {
89
+ height: '0',
90
+ },
91
+ },
92
+ 'pulse-slow': {
93
+ '0%, 100%': { opacity: '0.4', transform: 'scale(1)' },
94
+ '50%': { opacity: '0.6', transform: 'scale(1.05)' },
95
+ },
96
+ 'pulse-slow-delay': {
97
+ '0%, 100%': { opacity: '0.5', transform: 'scale(1)' },
98
+ '50%': { opacity: '0.7', transform: 'scale(1.05)' },
99
+ },
100
+ },
101
+ animation: {
102
+ 'accordion-down': 'accordion-down 0.2s ease-out',
103
+ 'accordion-up': 'accordion-up 0.2s ease-out',
104
+ 'pulse-slow': 'pulse-slow 8s cubic-bezier(0.4, 0, 0.6, 1) infinite',
105
+ 'pulse-slow-delay': 'pulse-slow-delay 8s cubic-bezier(0.4, 0, 0.6, 1) infinite -4s',
106
+ },
107
+ },
108
+ },
109
+ plugins: [require('tailwindcss-animate'), require('@tailwindcss/typography')],
110
+ } satisfies Config;