@armoyu/ui 1.0.0 → 1.0.1
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.
- package/dist/app/layout.d.ts.map +1 -1
- package/dist/app/layout.js +16 -13
- package/dist/app/layout.js.map +1 -1
- package/dist/components/Button.d.ts +7 -7
- package/dist/components/Button.js +15 -15
- package/dist/components/GenderStatsBar.d.ts +5 -5
- package/dist/components/GenderStatsBar.js +7 -7
- package/dist/components/RollingNumber.js +3 -3
- package/dist/components/RollingNumber.js.map +1 -1
- package/dist/components/Slider.d.ts +10 -10
- package/dist/components/Slider.js +35 -35
- package/dist/components/StatsGrid.d.ts +5 -5
- package/dist/components/StatsGrid.js +13 -13
- package/dist/components/ViewModeToggle.d.ts +7 -7
- package/dist/components/ViewModeToggle.js +9 -9
- package/dist/components/modules/auth/Dashboard.d.ts +1 -1
- package/dist/components/modules/auth/Dashboard.js +250 -250
- package/dist/components/modules/auth/MediaLightbox.d.ts +13 -13
- package/dist/components/modules/auth/MediaLightbox.js +46 -46
- package/dist/components/modules/auth/PostCard.d.ts +24 -24
- package/dist/components/modules/auth/PostCard.js +112 -112
- package/dist/components/modules/auth/PostInteractionsModal.d.ts +11 -11
- package/dist/components/modules/auth/PostInteractionsModal.js +12 -12
- package/dist/components/modules/auth/RepostModal.d.ts +21 -21
- package/dist/components/modules/auth/RepostModal.js +75 -75
- package/dist/components/modules/auth/SidebarLeft.d.ts +1 -1
- package/dist/components/modules/auth/SidebarLeft.js +40 -40
- package/dist/components/modules/auth/Stories.d.ts +1 -1
- package/dist/components/modules/auth/Stories.js +15 -15
- package/dist/components/modules/auth/StoryViewer.d.ts +9 -9
- package/dist/components/modules/auth/StoryViewer.js +47 -47
- package/dist/components/modules/chat/ChatContainer.d.ts +1 -1
- package/dist/components/modules/chat/ChatContainer.js +196 -196
- package/dist/components/modules/chat/ChatInput.d.ts +4 -4
- package/dist/components/modules/chat/ChatInput.js +30 -30
- package/dist/components/modules/chat/ChatList.d.ts +6 -6
- package/dist/components/modules/chat/ChatList.js +51 -51
- package/dist/components/modules/chat/ChatMessage.d.ts +11 -11
- package/dist/components/modules/chat/ChatMessage.js +6 -6
- package/dist/components/modules/chat/ChatNotes.d.ts +1 -1
- package/dist/components/modules/chat/ChatNotes.js +11 -11
- package/dist/components/modules/community/GroupHeader.d.ts +10 -10
- package/dist/components/modules/community/GroupHeader.js +17 -17
- package/dist/components/modules/community/GroupMenu.d.ts +9 -9
- package/dist/components/modules/community/GroupMenu.js +16 -16
- package/dist/components/modules/community/SchoolCard.d.ts +6 -6
- package/dist/components/modules/community/SchoolCard.js +7 -7
- package/dist/components/modules/community/SurveyCard.d.ts +6 -6
- package/dist/components/modules/community/SurveyCard.js +35 -35
- package/dist/components/modules/forum/ForumBoard.d.ts +16 -16
- package/dist/components/modules/forum/ForumBoard.js +6 -6
- package/dist/components/modules/forum/ForumPost.d.ts +13 -13
- package/dist/components/modules/forum/ForumPost.js +5 -5
- package/dist/components/modules/forum/NewTopicModal.d.ts +7 -7
- package/dist/components/modules/forum/NewTopicModal.js +26 -26
- package/dist/components/modules/forum/TopicItem.d.ts +15 -15
- package/dist/components/modules/forum/TopicItem.js +6 -6
- package/dist/components/modules/galleries/GalleryCard.d.ts +9 -9
- package/dist/components/modules/galleries/GalleryCard.js +5 -5
- package/dist/components/modules/giveaways/GiveawayCard.d.ts +9 -9
- package/dist/components/modules/giveaways/GiveawayCard.js +6 -6
- package/dist/components/modules/groups/ApplicationModal.d.ts +7 -7
- package/dist/components/modules/groups/ApplicationModal.js +27 -27
- package/dist/components/modules/groups/GroupCard.d.ts +12 -12
- package/dist/components/modules/groups/GroupCard.js +6 -6
- package/dist/components/modules/guest/Introduction.d.ts +1 -1
- package/dist/components/modules/guest/Introduction.js +13 -13
- package/dist/components/modules/magaza/BackToStore.d.ts +1 -1
- package/dist/components/modules/magaza/BackToStore.js +10 -10
- package/dist/components/modules/magaza/StoreHeader.d.ts +5 -5
- package/dist/components/modules/magaza/StoreHeader.js +8 -8
- package/dist/components/modules/news/NewsCard.d.ts +11 -11
- package/dist/components/modules/news/NewsCard.js +6 -6
- package/dist/components/modules/news/NewsComments.d.ts +1 -1
- package/dist/components/modules/news/NewsComments.js +52 -52
- package/dist/components/modules/profile/CloudStorageModal.d.ts +8 -8
- package/dist/components/modules/profile/CloudStorageModal.js +31 -31
- package/dist/components/modules/profile/EditProfileModal.d.ts +8 -8
- package/dist/components/modules/profile/EditProfileModal.js +27 -27
- package/dist/components/modules/profile/ProfileContent.d.ts +4 -4
- package/dist/components/modules/profile/ProfileContent.js +70 -70
- package/dist/components/modules/profile/ProfileHeader.d.ts +7 -7
- package/dist/components/modules/profile/ProfileHeader.js +19 -19
- package/dist/components/modules/profile/ProfileStats.js +1 -1
- package/dist/components/modules/profile/ProfileStats.js.map +1 -1
- package/dist/components/modules/profile/TeamSelectorModal.d.ts +10 -10
- package/dist/components/modules/profile/TeamSelectorModal.js +16 -16
- package/dist/components/modules/stations/StationCard.d.ts +2 -2
- package/dist/components/modules/stations/StationCard.js +25 -25
- package/dist/components/modules/stations/StationQRModal.d.ts +9 -9
- package/dist/components/modules/stations/StationQRModal.js +12 -12
- package/dist/components/shared/FloatingChatButton.d.ts +4 -4
- package/dist/components/shared/FloatingChatButton.js +20 -20
- package/dist/components/shared/Footer.d.ts +1 -1
- package/dist/components/shared/Footer.js +9 -9
- package/dist/components/shared/Header.d.ts +1 -1
- package/dist/components/shared/Header.js +97 -97
- package/dist/components/shared/LoginModal.d.ts +4 -4
- package/dist/components/shared/LoginModal.js +69 -69
- package/dist/components/shared/MainLayoutWrapper.d.ts +3 -3
- package/dist/components/shared/MainLayoutWrapper.js +7 -7
- package/dist/components/shared/PageWidth.d.ts +5 -5
- package/dist/components/shared/PageWidth.js +13 -13
- package/dist/context/AuthContext.d.ts +18 -18
- package/dist/context/AuthContext.js +74 -74
- package/dist/context/CartContext.d.ts +16 -16
- package/dist/context/CartContext.js +63 -63
- package/dist/context/ChatContext.d.ts +12 -12
- package/dist/context/ChatContext.js +17 -17
- package/dist/context/LayoutContext.d.ts +10 -10
- package/dist/context/LayoutContext.js +16 -16
- package/dist/context/SocketContext.d.ts +12 -12
- package/dist/context/SocketContext.js +30 -30
- package/dist/context/ThemeContext.d.ts +10 -10
- package/dist/context/ThemeContext.js +39 -39
- package/dist/index.d.ts +65 -65
- package/dist/index.js +80 -80
- package/dist/lib/constants/educationData.d.ts +7 -7
- package/dist/lib/constants/educationData.js +117 -117
- package/dist/lib/constants/punishmentData.d.ts +29 -29
- package/dist/lib/constants/punishmentData.js +183 -183
- package/dist/lib/constants/seedData.d.ts +164 -164
- package/dist/lib/constants/seedData.js +694 -694
- package/dist/lib/constants/stationData.d.ts +13 -13
- package/dist/lib/constants/stationData.js +166 -166
- package/dist/lib/constants/surveyData.d.ts +2 -2
- package/dist/lib/constants/surveyData.js +49 -49
- package/dist/lib/constants/teamData.d.ts +12 -12
- package/dist/lib/constants/teamData.js +65 -65
- package/dist/types/stats.d.ts +17 -17
- package/dist/types/stats.js +1 -1
- package/next.config.ts +13 -13
- package/package.json +45 -46
- package/postcss.config.js +6 -6
- package/src/app/layout.tsx +67 -64
- package/src/app/page.tsx +101 -101
- package/src/components/RollingNumber.tsx +3 -3
- package/src/components/modules/profile/ProfileStats.tsx +4 -4
- package/src/components/showcase/CommunityTab.tsx +22 -22
- package/src/components/showcase/CorporateTab.tsx +38 -38
- package/src/components/showcase/GeneralTab.tsx +41 -41
- package/src/components/showcase/MessagesTab.tsx +26 -26
- package/src/components/showcase/ProfileTab.tsx +20 -20
- package/src/components/showcase/ShopTab.tsx +24 -24
- package/src/components/showcase/SocialTab.tsx +28 -28
- package/src/globals.css +187 -187
- package/src/lib/utils/numberFormat.ts +16 -16
- package/src/lib/utils/odpUtils.ts +51 -51
- package/src/types/index.ts +1 -1
|
@@ -1,66 +1,66 @@
|
|
|
1
|
-
import { Team } from '@armoyu/core';
|
|
2
|
-
/**
|
|
3
|
-
* Super League Teams Data
|
|
4
|
-
*/
|
|
5
|
-
export const SUPER_LEAGUE_TEAMS = [
|
|
6
|
-
new Team({
|
|
7
|
-
id: 't1',
|
|
8
|
-
name: 'Galatasaray',
|
|
9
|
-
shortName: 'GS',
|
|
10
|
-
logo: 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/37/Galatasaray_Star_Logo.png/600px-Galatasaray_Star_Logo.png',
|
|
11
|
-
primaryColor: '#ef4444'
|
|
12
|
-
}),
|
|
13
|
-
new Team({
|
|
14
|
-
id: 't2',
|
|
15
|
-
name: 'Fenerbahçe',
|
|
16
|
-
shortName: 'FB',
|
|
17
|
-
logo: 'https://upload.wikimedia.org/wikipedia/tr/thumb/8/86/Fenerbah%C3%A7e_SK.png/600px-Fenerbah%C3%A7e_SK.png',
|
|
18
|
-
primaryColor: '#fbbf24'
|
|
19
|
-
}),
|
|
20
|
-
new Team({
|
|
21
|
-
id: 't3',
|
|
22
|
-
name: 'Beşiktaş',
|
|
23
|
-
shortName: 'BJK',
|
|
24
|
-
logo: 'https://upload.wikimedia.org/wikipedia/commons/thumb/2/20/Logo_of_Be%C5%9Fikta%C5%9F_JK.svg/600px-Logo_of_Be%C5%9Fikta%C5%9F_JK.svg.png',
|
|
25
|
-
primaryColor: '#000000'
|
|
26
|
-
}),
|
|
27
|
-
new Team({
|
|
28
|
-
id: 't4',
|
|
29
|
-
name: 'Trabzonspor',
|
|
30
|
-
shortName: 'TS',
|
|
31
|
-
logo: 'https://upload.wikimedia.org/wikipedia/tr/thumb/a/ab/Trabzonspor_Logo.png/600px-Trabzonspor_Logo.png',
|
|
32
|
-
primaryColor: '#9d174d'
|
|
33
|
-
}),
|
|
34
|
-
new Team({
|
|
35
|
-
id: 't5',
|
|
36
|
-
name: 'Başakşehir',
|
|
37
|
-
shortName: 'IBFK',
|
|
38
|
-
logo: 'https://upload.wikimedia.org/wikipedia/tr/thumb/c/c6/Istanbul_Basaksehir_FK.png/600px-Istanbul_Basaksehir_FK.png',
|
|
39
|
-
primaryColor: '#f97316'
|
|
40
|
-
}),
|
|
41
|
-
new Team({
|
|
42
|
-
id: 'none',
|
|
43
|
-
name: 'Takım Tutmuyorum',
|
|
44
|
-
shortName: 'NONE',
|
|
45
|
-
logo: '',
|
|
46
|
-
primaryColor: '#808080'
|
|
47
|
-
})
|
|
48
|
-
];
|
|
49
|
-
/**
|
|
50
|
-
* Zodiac Signs Data
|
|
51
|
-
*/
|
|
52
|
-
export const ZODIAC_SIGNS = [
|
|
53
|
-
{ name: 'Koç', icon: '♈' },
|
|
54
|
-
{ name: 'Boğa', icon: '♉' },
|
|
55
|
-
{ name: 'İkizler', icon: '♊' },
|
|
56
|
-
{ name: 'Yengeç', icon: '♋' },
|
|
57
|
-
{ name: 'Aslan', icon: '♌' },
|
|
58
|
-
{ name: 'Başak', icon: '♍' },
|
|
59
|
-
{ name: 'Terazi', icon: '♎' },
|
|
60
|
-
{ name: 'Akrep', icon: '♏' },
|
|
61
|
-
{ name: 'Yay', icon: '♐' },
|
|
62
|
-
{ name: 'Oğlak', icon: '♑' },
|
|
63
|
-
{ name: 'Kova', icon: '♒' },
|
|
64
|
-
{ name: 'Balık', icon: '♓' }
|
|
65
|
-
];
|
|
1
|
+
import { Team } from '@armoyu/core';
|
|
2
|
+
/**
|
|
3
|
+
* Super League Teams Data
|
|
4
|
+
*/
|
|
5
|
+
export const SUPER_LEAGUE_TEAMS = [
|
|
6
|
+
new Team({
|
|
7
|
+
id: 't1',
|
|
8
|
+
name: 'Galatasaray',
|
|
9
|
+
shortName: 'GS',
|
|
10
|
+
logo: 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/37/Galatasaray_Star_Logo.png/600px-Galatasaray_Star_Logo.png',
|
|
11
|
+
primaryColor: '#ef4444'
|
|
12
|
+
}),
|
|
13
|
+
new Team({
|
|
14
|
+
id: 't2',
|
|
15
|
+
name: 'Fenerbahçe',
|
|
16
|
+
shortName: 'FB',
|
|
17
|
+
logo: 'https://upload.wikimedia.org/wikipedia/tr/thumb/8/86/Fenerbah%C3%A7e_SK.png/600px-Fenerbah%C3%A7e_SK.png',
|
|
18
|
+
primaryColor: '#fbbf24'
|
|
19
|
+
}),
|
|
20
|
+
new Team({
|
|
21
|
+
id: 't3',
|
|
22
|
+
name: 'Beşiktaş',
|
|
23
|
+
shortName: 'BJK',
|
|
24
|
+
logo: 'https://upload.wikimedia.org/wikipedia/commons/thumb/2/20/Logo_of_Be%C5%9Fikta%C5%9F_JK.svg/600px-Logo_of_Be%C5%9Fikta%C5%9F_JK.svg.png',
|
|
25
|
+
primaryColor: '#000000'
|
|
26
|
+
}),
|
|
27
|
+
new Team({
|
|
28
|
+
id: 't4',
|
|
29
|
+
name: 'Trabzonspor',
|
|
30
|
+
shortName: 'TS',
|
|
31
|
+
logo: 'https://upload.wikimedia.org/wikipedia/tr/thumb/a/ab/Trabzonspor_Logo.png/600px-Trabzonspor_Logo.png',
|
|
32
|
+
primaryColor: '#9d174d'
|
|
33
|
+
}),
|
|
34
|
+
new Team({
|
|
35
|
+
id: 't5',
|
|
36
|
+
name: 'Başakşehir',
|
|
37
|
+
shortName: 'IBFK',
|
|
38
|
+
logo: 'https://upload.wikimedia.org/wikipedia/tr/thumb/c/c6/Istanbul_Basaksehir_FK.png/600px-Istanbul_Basaksehir_FK.png',
|
|
39
|
+
primaryColor: '#f97316'
|
|
40
|
+
}),
|
|
41
|
+
new Team({
|
|
42
|
+
id: 'none',
|
|
43
|
+
name: 'Takım Tutmuyorum',
|
|
44
|
+
shortName: 'NONE',
|
|
45
|
+
logo: '',
|
|
46
|
+
primaryColor: '#808080'
|
|
47
|
+
})
|
|
48
|
+
];
|
|
49
|
+
/**
|
|
50
|
+
* Zodiac Signs Data
|
|
51
|
+
*/
|
|
52
|
+
export const ZODIAC_SIGNS = [
|
|
53
|
+
{ name: 'Koç', icon: '♈' },
|
|
54
|
+
{ name: 'Boğa', icon: '♉' },
|
|
55
|
+
{ name: 'İkizler', icon: '♊' },
|
|
56
|
+
{ name: 'Yengeç', icon: '♋' },
|
|
57
|
+
{ name: 'Aslan', icon: '♌' },
|
|
58
|
+
{ name: 'Başak', icon: '♍' },
|
|
59
|
+
{ name: 'Terazi', icon: '♎' },
|
|
60
|
+
{ name: 'Akrep', icon: '♏' },
|
|
61
|
+
{ name: 'Yay', icon: '♐' },
|
|
62
|
+
{ name: 'Oğlak', icon: '♑' },
|
|
63
|
+
{ name: 'Kova', icon: '♒' },
|
|
64
|
+
{ name: 'Balık', icon: '♓' }
|
|
65
|
+
];
|
|
66
66
|
//# sourceMappingURL=teamData.js.map
|
package/dist/types/stats.d.ts
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Global Statistics Interface
|
|
3
|
-
* Bu arayüz, sitemizin genelindeki tüm sayısal verileri tutmak için tasarlanmıştır.
|
|
4
|
-
* İlerleyen aşamalarda bu veriler backend API üzerinden dinamik olarak beslenecektir.
|
|
5
|
-
*/
|
|
6
|
-
export interface GlobalStats {
|
|
7
|
-
totalPlayers: number;
|
|
8
|
-
malePlayers: number;
|
|
9
|
-
femalePlayers: number;
|
|
10
|
-
totalForums: number;
|
|
11
|
-
totalPolls: number;
|
|
12
|
-
activeUsers24h: number;
|
|
13
|
-
totalMatchesPlayed: number;
|
|
14
|
-
totalGuilds: number;
|
|
15
|
-
monthlyVisitors: number;
|
|
16
|
-
totalNews: number;
|
|
17
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* Global Statistics Interface
|
|
3
|
+
* Bu arayüz, sitemizin genelindeki tüm sayısal verileri tutmak için tasarlanmıştır.
|
|
4
|
+
* İlerleyen aşamalarda bu veriler backend API üzerinden dinamik olarak beslenecektir.
|
|
5
|
+
*/
|
|
6
|
+
export interface GlobalStats {
|
|
7
|
+
totalPlayers: number;
|
|
8
|
+
malePlayers: number;
|
|
9
|
+
femalePlayers: number;
|
|
10
|
+
totalForums: number;
|
|
11
|
+
totalPolls: number;
|
|
12
|
+
activeUsers24h: number;
|
|
13
|
+
totalMatchesPlayed: number;
|
|
14
|
+
totalGuilds: number;
|
|
15
|
+
monthlyVisitors: number;
|
|
16
|
+
totalNews: number;
|
|
17
|
+
}
|
|
18
18
|
//# sourceMappingURL=stats.d.ts.map
|
package/dist/types/stats.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export {};
|
|
1
|
+
export {};
|
|
2
2
|
//# sourceMappingURL=stats.js.map
|
package/next.config.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import type { NextConfig } from "next";
|
|
2
|
-
|
|
3
|
-
const nextConfig: any = {
|
|
4
|
-
/* config options here */
|
|
5
|
-
typescript: {
|
|
6
|
-
ignoreBuildErrors: true,
|
|
7
|
-
},
|
|
8
|
-
eslint: {
|
|
9
|
-
ignoreDuringBuilds: true,
|
|
10
|
-
}
|
|
11
|
-
};
|
|
12
|
-
|
|
13
|
-
export default nextConfig;
|
|
1
|
+
import type { NextConfig } from "next";
|
|
2
|
+
|
|
3
|
+
const nextConfig: any = {
|
|
4
|
+
/* config options here */
|
|
5
|
+
typescript: {
|
|
6
|
+
ignoreBuildErrors: true,
|
|
7
|
+
},
|
|
8
|
+
eslint: {
|
|
9
|
+
ignoreDuringBuilds: true,
|
|
10
|
+
}
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
export default nextConfig;
|
package/package.json
CHANGED
|
@@ -1,46 +1,45 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@armoyu/ui",
|
|
3
|
-
"version": "1.0.
|
|
4
|
-
"description": "UI component library for ARMOYU platforms.",
|
|
5
|
-
"main": "dist/index.js",
|
|
6
|
-
"module": "dist/index.js",
|
|
7
|
-
"types": "dist/index.d.ts",
|
|
8
|
-
"files": [
|
|
9
|
-
"dist",
|
|
10
|
-
"src",
|
|
11
|
-
"tailwind.config.ts",
|
|
12
|
-
"postcss.config.js",
|
|
13
|
-
"next.config.ts"
|
|
14
|
-
],
|
|
15
|
-
"private": false,
|
|
16
|
-
"scripts": {
|
|
17
|
-
"build": "tsc -p tsconfig.lib.json",
|
|
18
|
-
"watch": "tsc -p tsconfig.lib.json --watch",
|
|
19
|
-
"dev": "next dev"
|
|
20
|
-
},
|
|
21
|
-
"
|
|
22
|
-
"@armoyu/core": "
|
|
23
|
-
"lucide-react": "^1.7.0",
|
|
24
|
-
"
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
"
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
"@
|
|
33
|
-
"@types/
|
|
34
|
-
"@types/react
|
|
35
|
-
"
|
|
36
|
-
"
|
|
37
|
-
"next": "^16.1.7",
|
|
38
|
-
"postcss": "^8.5.8",
|
|
39
|
-
"react": "^19.2.4",
|
|
40
|
-
"react-dom": "^19.2.4",
|
|
41
|
-
"
|
|
42
|
-
"
|
|
43
|
-
"
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@armoyu/ui",
|
|
3
|
+
"version": "1.0.1",
|
|
4
|
+
"description": "UI component library for ARMOYU platforms.",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"module": "dist/index.js",
|
|
7
|
+
"types": "dist/index.d.ts",
|
|
8
|
+
"files": [
|
|
9
|
+
"dist",
|
|
10
|
+
"src",
|
|
11
|
+
"tailwind.config.ts",
|
|
12
|
+
"postcss.config.js",
|
|
13
|
+
"next.config.ts"
|
|
14
|
+
],
|
|
15
|
+
"private": false,
|
|
16
|
+
"scripts": {
|
|
17
|
+
"build": "tsc -p tsconfig.lib.json",
|
|
18
|
+
"watch": "tsc -p tsconfig.lib.json --watch",
|
|
19
|
+
"dev": "next dev"
|
|
20
|
+
},
|
|
21
|
+
"dependencies": {
|
|
22
|
+
"@armoyu/core": "^1.0.0",
|
|
23
|
+
"lucide-react": "^1.7.0",
|
|
24
|
+
"socket.io-client": "^4.8.3"
|
|
25
|
+
},
|
|
26
|
+
"peerDependencies": {
|
|
27
|
+
"next": "^16.1.7",
|
|
28
|
+
"react": "^19.0.0",
|
|
29
|
+
"react-dom": "^19.0.0"
|
|
30
|
+
},
|
|
31
|
+
"devDependencies": {
|
|
32
|
+
"@tailwindcss/postcss": "^4.2.2",
|
|
33
|
+
"@types/node": "^20.0.0",
|
|
34
|
+
"@types/react": "^19.2.14",
|
|
35
|
+
"@types/react-dom": "^19.2.3",
|
|
36
|
+
"autoprefixer": "^10.4.27",
|
|
37
|
+
"next": "^16.1.7",
|
|
38
|
+
"postcss": "^8.5.8",
|
|
39
|
+
"react": "^19.2.4",
|
|
40
|
+
"react-dom": "^19.2.4",
|
|
41
|
+
"tailwindcss": "^4.2.2",
|
|
42
|
+
"tsc-alias": "^1.8.16",
|
|
43
|
+
"typescript": "^5.9.3"
|
|
44
|
+
}
|
|
45
|
+
}
|
package/postcss.config.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
module.exports = {
|
|
2
|
-
plugins: {
|
|
3
|
-
'@tailwindcss/postcss': {},
|
|
4
|
-
autoprefixer: {},
|
|
5
|
-
},
|
|
6
|
-
}
|
|
1
|
+
module.exports = {
|
|
2
|
+
plugins: {
|
|
3
|
+
'@tailwindcss/postcss': {},
|
|
4
|
+
autoprefixer: {},
|
|
5
|
+
},
|
|
6
|
+
}
|
package/src/app/layout.tsx
CHANGED
|
@@ -1,64 +1,67 @@
|
|
|
1
|
-
import type { Metadata } from 'next';
|
|
2
|
-
import { Inter } from 'next/font/google';
|
|
3
|
-
import "../globals.css";
|
|
4
|
-
import { ThemeProvider } from "../context/ThemeContext";
|
|
5
|
-
import { LayoutProvider } from "../context/LayoutContext";
|
|
6
|
-
import { AuthProvider } from "../context/AuthContext";
|
|
7
|
-
import { SocketProvider } from "../context/SocketContext";
|
|
8
|
-
import { CartProvider } from "../context/CartContext";
|
|
9
|
-
import { ChatProvider } from "../context/ChatContext";
|
|
10
|
-
|
|
11
|
-
const inter = Inter({
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
1
|
+
import type { Metadata } from 'next';
|
|
2
|
+
import { Inter } from 'next/font/google';
|
|
3
|
+
import "../globals.css";
|
|
4
|
+
import { ThemeProvider } from "../context/ThemeContext";
|
|
5
|
+
import { LayoutProvider } from "../context/LayoutContext";
|
|
6
|
+
import { AuthProvider } from "../context/AuthContext";
|
|
7
|
+
import { SocketProvider } from "../context/SocketContext";
|
|
8
|
+
import { CartProvider } from "../context/CartContext";
|
|
9
|
+
import { ChatProvider } from "../context/ChatContext";
|
|
10
|
+
|
|
11
|
+
const inter = Inter({
|
|
12
|
+
subsets: ['latin'],
|
|
13
|
+
variable: '--font-inter',
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
export const metadata: Metadata = {
|
|
17
|
+
title: "ARMOYU UI Showcase",
|
|
18
|
+
description: "Visual component gallery for Armoyu UI Library",
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
export default function RootLayout({
|
|
22
|
+
children,
|
|
23
|
+
}: Readonly<{
|
|
24
|
+
children: React.ReactNode;
|
|
25
|
+
}>) {
|
|
26
|
+
return (
|
|
27
|
+
<html lang="tr" className="scroll-smooth dark" suppressHydrationWarning>
|
|
28
|
+
<head>
|
|
29
|
+
<script
|
|
30
|
+
dangerouslySetInnerHTML={{
|
|
31
|
+
__html: `
|
|
32
|
+
(function() {
|
|
33
|
+
try {
|
|
34
|
+
var theme = localStorage.getItem('armoyu_theme');
|
|
35
|
+
if (theme === 'light') {
|
|
36
|
+
document.documentElement.classList.remove('dark');
|
|
37
|
+
} else {
|
|
38
|
+
document.documentElement.classList.add('dark');
|
|
39
|
+
}
|
|
40
|
+
} catch (e) {}
|
|
41
|
+
})();
|
|
42
|
+
`,
|
|
43
|
+
}}
|
|
44
|
+
/>
|
|
45
|
+
</head>
|
|
46
|
+
<body className={`${inter.variable} ${inter.className} bg-armoyu-bg text-armoyu-text min-h-screen flex flex-col antialiased relative transition-colors duration-500`}>
|
|
47
|
+
<ThemeProvider>
|
|
48
|
+
<AuthProvider>
|
|
49
|
+
<SocketProvider>
|
|
50
|
+
<LayoutProvider>
|
|
51
|
+
<CartProvider>
|
|
52
|
+
<ChatProvider>
|
|
53
|
+
<div className="fixed inset-0 pointer-events-none z-[-1]">
|
|
54
|
+
<div className="absolute top-[-10%] left-[-10%] w-[40%] h-[40%] bg-blue-600/20 blur-[120px] rounded-full" />
|
|
55
|
+
<div className="absolute bottom-[-10%] right-[-10%] w-[40%] h-[40%] bg-purple-600/20 blur-[120px] rounded-full" />
|
|
56
|
+
</div>
|
|
57
|
+
{children}
|
|
58
|
+
</ChatProvider>
|
|
59
|
+
</CartProvider>
|
|
60
|
+
</LayoutProvider>
|
|
61
|
+
</SocketProvider>
|
|
62
|
+
</AuthProvider>
|
|
63
|
+
</ThemeProvider>
|
|
64
|
+
</body>
|
|
65
|
+
</html>
|
|
66
|
+
);
|
|
67
|
+
}
|
package/src/app/page.tsx
CHANGED
|
@@ -1,101 +1,101 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
|
|
3
|
-
import React, { useState } from 'react';
|
|
4
|
-
import {
|
|
5
|
-
Box,
|
|
6
|
-
Layers,
|
|
7
|
-
Share2,
|
|
8
|
-
User,
|
|
9
|
-
MessageSquare,
|
|
10
|
-
ShoppingBag,
|
|
11
|
-
Users
|
|
12
|
-
} from 'lucide-react';
|
|
13
|
-
|
|
14
|
-
// Showcase Components
|
|
15
|
-
import { GeneralTab } from '../components/showcase/GeneralTab';
|
|
16
|
-
import { CorporateTab } from '../components/showcase/CorporateTab';
|
|
17
|
-
import { SocialTab } from '../components/showcase/SocialTab';
|
|
18
|
-
import { ProfileTab } from '../components/showcase/ProfileTab';
|
|
19
|
-
import { MessagesTab } from '../components/showcase/MessagesTab';
|
|
20
|
-
import { CommunityTab } from '../components/showcase/CommunityTab';
|
|
21
|
-
import { ShopTab } from '../components/showcase/ShopTab';
|
|
22
|
-
|
|
23
|
-
export default function ShowcasePage() {
|
|
24
|
-
const [activeTab, setActiveTab] = useState('Genel');
|
|
25
|
-
|
|
26
|
-
const tabs = [
|
|
27
|
-
{ name: 'Genel', icon: <Box size={18} /> },
|
|
28
|
-
{ name: 'Kurumsal', icon: <Layers size={18} /> },
|
|
29
|
-
{ name: 'Sosyal', icon: <Share2 size={18} /> },
|
|
30
|
-
{ name: 'Profil', icon: <User size={18} /> },
|
|
31
|
-
{ name: 'Mesajlar', icon: <MessageSquare size={18} /> },
|
|
32
|
-
{ name: 'Topluluk', icon: <Users size={18} /> },
|
|
33
|
-
{ name: 'Mağaza', icon: <ShoppingBag size={18} /> },
|
|
34
|
-
];
|
|
35
|
-
|
|
36
|
-
const renderTabContent = () => {
|
|
37
|
-
switch (activeTab) {
|
|
38
|
-
case 'Genel': return <GeneralTab />;
|
|
39
|
-
case 'Kurumsal': return <CorporateTab />;
|
|
40
|
-
case 'Sosyal': return <SocialTab />;
|
|
41
|
-
case 'Profil': return <ProfileTab />;
|
|
42
|
-
case 'Mesajlar': return <MessagesTab />;
|
|
43
|
-
case 'Topluluk': return <CommunityTab />;
|
|
44
|
-
case 'Mağaza': return <ShopTab />;
|
|
45
|
-
default: return <GeneralTab />;
|
|
46
|
-
}
|
|
47
|
-
};
|
|
48
|
-
|
|
49
|
-
return (
|
|
50
|
-
<div className="min-h-screen bg-armoyu-bg flex flex-col font-sans selection:bg-blue-500/30">
|
|
51
|
-
|
|
52
|
-
{/* MINIMAL SHOWCASE HEADER */}
|
|
53
|
-
<nav className="sticky top-0 z-[110] w-full border-b border-white/5 bg-black/20 backdrop-blur-2xl">
|
|
54
|
-
<div className="max-w-7xl mx-auto px-6 h-16 flex items-center justify-between">
|
|
55
|
-
<div className="flex items-center gap-4">
|
|
56
|
-
<div className="w-8 h-8 rounded-xl bg-gradient-to-br from-blue-600 to-indigo-600 flex items-center justify-center shadow-lg shadow-blue-600/20">
|
|
57
|
-
<span className="text-white font-black text-xs italic">UI</span>
|
|
58
|
-
</div>
|
|
59
|
-
<div>
|
|
60
|
-
<h2 className="text-sm font-black text-armoyu-text uppercase tracking-tighter italic">ARMOYU <span className="text-blue-500">VITRINI</span></h2>
|
|
61
|
-
<p className="text-[9px] font-bold text-armoyu-text-muted uppercase tracking-[0.2em] opacity-50">V3 Design System</p>
|
|
62
|
-
</div>
|
|
63
|
-
</div>
|
|
64
|
-
|
|
65
|
-
<div className="hidden md:flex items-center gap-1 bg-white/5 p-1 rounded-xl border border-white/5">
|
|
66
|
-
{tabs.map((tab) => (
|
|
67
|
-
<button
|
|
68
|
-
key={tab.name}
|
|
69
|
-
onClick={() => setActiveTab(tab.name)}
|
|
70
|
-
className={`px-4 py-2 rounded-lg text-[10px] font-black uppercase tracking-widest transition-all italic ${
|
|
71
|
-
activeTab === tab.name
|
|
72
|
-
? 'bg-white dark:bg-white/10 text-blue-500 shadow-sm'
|
|
73
|
-
: 'text-armoyu-text-muted hover:text-armoyu-text'
|
|
74
|
-
}`}
|
|
75
|
-
>
|
|
76
|
-
{tab.name}
|
|
77
|
-
</button>
|
|
78
|
-
))}
|
|
79
|
-
</div>
|
|
80
|
-
|
|
81
|
-
<div className="flex items-center gap-3">
|
|
82
|
-
<span className="text-[10px] font-black py-1.5 px-3 rounded-full bg-emerald-500/10 text-emerald-500 border border-emerald-500/20 uppercase tracking-widest">v1.0.0 Stable</span>
|
|
83
|
-
</div>
|
|
84
|
-
</div>
|
|
85
|
-
</nav>
|
|
86
|
-
|
|
87
|
-
<main className="flex-1 max-w-7xl mx-auto w-full px-4 py-12">
|
|
88
|
-
<div className="animate-in fade-in slide-in-from-bottom-4 duration-700">
|
|
89
|
-
{renderTabContent()}
|
|
90
|
-
</div>
|
|
91
|
-
</main>
|
|
92
|
-
|
|
93
|
-
{/* MINIMAL SHOWCASE FOOTER */}
|
|
94
|
-
<footer className="py-8 border-t border-white/5 text-center">
|
|
95
|
-
<p className="text-[10px] font-black text-armoyu-text-muted uppercase tracking-[0.4em] opacity-30 italic">
|
|
96
|
-
© 2024 ARMOYU DEVELOPER EXPERIENCE • VITRIN MODU
|
|
97
|
-
</p>
|
|
98
|
-
</footer>
|
|
99
|
-
</div>
|
|
100
|
-
);
|
|
101
|
-
}
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import React, { useState } from 'react';
|
|
4
|
+
import {
|
|
5
|
+
Box,
|
|
6
|
+
Layers,
|
|
7
|
+
Share2,
|
|
8
|
+
User,
|
|
9
|
+
MessageSquare,
|
|
10
|
+
ShoppingBag,
|
|
11
|
+
Users
|
|
12
|
+
} from 'lucide-react';
|
|
13
|
+
|
|
14
|
+
// Showcase Components
|
|
15
|
+
import { GeneralTab } from '../components/showcase/GeneralTab';
|
|
16
|
+
import { CorporateTab } from '../components/showcase/CorporateTab';
|
|
17
|
+
import { SocialTab } from '../components/showcase/SocialTab';
|
|
18
|
+
import { ProfileTab } from '../components/showcase/ProfileTab';
|
|
19
|
+
import { MessagesTab } from '../components/showcase/MessagesTab';
|
|
20
|
+
import { CommunityTab } from '../components/showcase/CommunityTab';
|
|
21
|
+
import { ShopTab } from '../components/showcase/ShopTab';
|
|
22
|
+
|
|
23
|
+
export default function ShowcasePage() {
|
|
24
|
+
const [activeTab, setActiveTab] = useState('Genel');
|
|
25
|
+
|
|
26
|
+
const tabs = [
|
|
27
|
+
{ name: 'Genel', icon: <Box size={18} /> },
|
|
28
|
+
{ name: 'Kurumsal', icon: <Layers size={18} /> },
|
|
29
|
+
{ name: 'Sosyal', icon: <Share2 size={18} /> },
|
|
30
|
+
{ name: 'Profil', icon: <User size={18} /> },
|
|
31
|
+
{ name: 'Mesajlar', icon: <MessageSquare size={18} /> },
|
|
32
|
+
{ name: 'Topluluk', icon: <Users size={18} /> },
|
|
33
|
+
{ name: 'Mağaza', icon: <ShoppingBag size={18} /> },
|
|
34
|
+
];
|
|
35
|
+
|
|
36
|
+
const renderTabContent = () => {
|
|
37
|
+
switch (activeTab) {
|
|
38
|
+
case 'Genel': return <GeneralTab />;
|
|
39
|
+
case 'Kurumsal': return <CorporateTab />;
|
|
40
|
+
case 'Sosyal': return <SocialTab />;
|
|
41
|
+
case 'Profil': return <ProfileTab />;
|
|
42
|
+
case 'Mesajlar': return <MessagesTab />;
|
|
43
|
+
case 'Topluluk': return <CommunityTab />;
|
|
44
|
+
case 'Mağaza': return <ShopTab />;
|
|
45
|
+
default: return <GeneralTab />;
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
return (
|
|
50
|
+
<div className="min-h-screen bg-armoyu-bg flex flex-col font-sans selection:bg-blue-500/30">
|
|
51
|
+
|
|
52
|
+
{/* MINIMAL SHOWCASE HEADER */}
|
|
53
|
+
<nav className="sticky top-0 z-[110] w-full border-b border-white/5 bg-black/20 backdrop-blur-2xl">
|
|
54
|
+
<div className="max-w-7xl mx-auto px-6 h-16 flex items-center justify-between">
|
|
55
|
+
<div className="flex items-center gap-4">
|
|
56
|
+
<div className="w-8 h-8 rounded-xl bg-gradient-to-br from-blue-600 to-indigo-600 flex items-center justify-center shadow-lg shadow-blue-600/20">
|
|
57
|
+
<span className="text-white font-black text-xs italic">UI</span>
|
|
58
|
+
</div>
|
|
59
|
+
<div>
|
|
60
|
+
<h2 className="text-sm font-black text-armoyu-text uppercase tracking-tighter italic">ARMOYU <span className="text-blue-500">VITRINI</span></h2>
|
|
61
|
+
<p className="text-[9px] font-bold text-armoyu-text-muted uppercase tracking-[0.2em] opacity-50">V3 Design System</p>
|
|
62
|
+
</div>
|
|
63
|
+
</div>
|
|
64
|
+
|
|
65
|
+
<div className="hidden md:flex items-center gap-1 bg-white/5 p-1 rounded-xl border border-white/5">
|
|
66
|
+
{tabs.map((tab) => (
|
|
67
|
+
<button
|
|
68
|
+
key={tab.name}
|
|
69
|
+
onClick={() => setActiveTab(tab.name)}
|
|
70
|
+
className={`px-4 py-2 rounded-lg text-[10px] font-black uppercase tracking-widest transition-all italic ${
|
|
71
|
+
activeTab === tab.name
|
|
72
|
+
? 'bg-white dark:bg-white/10 text-blue-500 shadow-sm'
|
|
73
|
+
: 'text-armoyu-text-muted hover:text-armoyu-text'
|
|
74
|
+
}`}
|
|
75
|
+
>
|
|
76
|
+
{tab.name}
|
|
77
|
+
</button>
|
|
78
|
+
))}
|
|
79
|
+
</div>
|
|
80
|
+
|
|
81
|
+
<div className="flex items-center gap-3">
|
|
82
|
+
<span className="text-[10px] font-black py-1.5 px-3 rounded-full bg-emerald-500/10 text-emerald-500 border border-emerald-500/20 uppercase tracking-widest">v1.0.0 Stable</span>
|
|
83
|
+
</div>
|
|
84
|
+
</div>
|
|
85
|
+
</nav>
|
|
86
|
+
|
|
87
|
+
<main className="flex-1 max-w-7xl mx-auto w-full px-4 py-12">
|
|
88
|
+
<div className="animate-in fade-in slide-in-from-bottom-4 duration-700">
|
|
89
|
+
{renderTabContent()}
|
|
90
|
+
</div>
|
|
91
|
+
</main>
|
|
92
|
+
|
|
93
|
+
{/* MINIMAL SHOWCASE FOOTER */}
|
|
94
|
+
<footer className="py-8 border-t border-white/5 text-center">
|
|
95
|
+
<p className="text-[10px] font-black text-armoyu-text-muted uppercase tracking-[0.4em] opacity-30 italic">
|
|
96
|
+
© 2024 ARMOYU DEVELOPER EXPERIENCE • VITRIN MODU
|
|
97
|
+
</p>
|
|
98
|
+
</footer>
|
|
99
|
+
</div>
|
|
100
|
+
);
|
|
101
|
+
}
|