diff --git a/src/webapp/features/settings/components/accountSummary/AccountSummary.stories.tsx b/src/webapp/features/settings/components/accountSummary/AccountSummary.stories.tsx
new file mode 100644
index 00000000..e6b1271b
--- /dev/null
+++ b/src/webapp/features/settings/components/accountSummary/AccountSummary.stories.tsx
@@ -0,0 +1,20 @@
+import type { Meta, StoryObj } from '@storybook/nextjs-vite';
+import AccountSummarySkeleton from './Skeleton.AccountSummary';
+
+const meta = {
+ title: 'Features/Settings/AccountSummarySkeleton',
+ component: AccountSummarySkeleton,
+ decorators: [
+ (Story) => (
+
+
+
+ ),
+ ],
+} satisfies Meta;
+
+export default meta;
+
+type Story = StoryObj;
+
+export const Default: Story = {};
diff --git a/src/webapp/features/settings/components/settingItem/SettingItem.stories.tsx b/src/webapp/features/settings/components/settingItem/SettingItem.stories.tsx
new file mode 100644
index 00000000..b6df9aba
--- /dev/null
+++ b/src/webapp/features/settings/components/settingItem/SettingItem.stories.tsx
@@ -0,0 +1,66 @@
+import type { Meta, StoryObj } from '@storybook/nextjs-vite';
+import { ButtonGroup } from '@mantine/core';
+import {
+ IoMdColorPalette,
+ IoMdHelpCircle,
+ IoMdInformationCircle,
+} from 'react-icons/io';
+import SettingItem from './SettingItem';
+import SettingItemSkeleton from './Skeleton.SettingItem';
+
+const meta: Meta = {
+ title: 'Features/Settings/SettingItem',
+ component: SettingItem,
+ decorators: [
+ (Story) => (
+
+
+
+ ),
+ ],
+ args: {
+ href: '/settings/appearance',
+ icon: IoMdColorPalette,
+ children: 'Appearance',
+ openInNewTab: false,
+ },
+};
+
+export default meta;
+
+type Story = StoryObj;
+
+export const Default: Story = {};
+
+export const OpenInNewTab: Story = {
+ args: {
+ href: 'https://help.example.com',
+ icon: IoMdHelpCircle,
+ children: 'Help & Support',
+ openInNewTab: true,
+ },
+};
+
+export const Group: Story = {
+ render: () => (
+
+
+ Appearance
+
+
+ Help & Support
+
+
+ About
+
+
+ ),
+};
+
+export const Skeleton: Story = {
+ render: () => ,
+};
diff --git a/src/webapp/features/settings/containers/aboutContainer/AboutContainer.stories.tsx b/src/webapp/features/settings/containers/aboutContainer/AboutContainer.stories.tsx
new file mode 100644
index 00000000..6d6d6af9
--- /dev/null
+++ b/src/webapp/features/settings/containers/aboutContainer/AboutContainer.stories.tsx
@@ -0,0 +1,18 @@
+import type { Meta, StoryObj } from '@storybook/nextjs-vite';
+import AboutContainer from './AboutContainer';
+import AboutContainerSkeleton from './Skeleton.AboutContainer';
+
+const meta: Meta = {
+ title: 'Features/Settings/AboutContainer',
+ component: AboutContainer,
+};
+
+export default meta;
+
+type Story = StoryObj;
+
+export const Default: Story = {};
+
+export const Skeleton: Story = {
+ render: () => ,
+};
diff --git a/src/webapp/features/settings/containers/advancedContainer/AdvancedContainer.stories.tsx b/src/webapp/features/settings/containers/advancedContainer/AdvancedContainer.stories.tsx
new file mode 100644
index 00000000..873e4874
--- /dev/null
+++ b/src/webapp/features/settings/containers/advancedContainer/AdvancedContainer.stories.tsx
@@ -0,0 +1,18 @@
+import type { Meta, StoryObj } from '@storybook/nextjs-vite';
+import AdvancedContainer from './AdvancedContainer';
+import AdvancedContainerSkeleton from './Skeleton.AdvancedContainer';
+
+const meta: Meta = {
+ title: 'Features/Settings/AdvancedContainer',
+ component: AdvancedContainer,
+};
+
+export default meta;
+
+type Story = StoryObj;
+
+export const Default: Story = {};
+
+export const Skeleton: Story = {
+ render: () => ,
+};
diff --git a/src/webapp/features/settings/containers/appearanceContainer/AppearanceContainer.stories.tsx b/src/webapp/features/settings/containers/appearanceContainer/AppearanceContainer.stories.tsx
new file mode 100644
index 00000000..11ab3c7b
--- /dev/null
+++ b/src/webapp/features/settings/containers/appearanceContainer/AppearanceContainer.stories.tsx
@@ -0,0 +1,18 @@
+import type { Meta, StoryObj } from '@storybook/nextjs-vite';
+import AppearanceContainer from './AppearanceContainer';
+import AppearanceContainerSkeleton from './Skeleton.AppearanceContainer';
+
+const meta: Meta = {
+ title: 'Features/Settings/AppearanceContainer',
+ component: AppearanceContainer,
+};
+
+export default meta;
+
+type Story = StoryObj;
+
+export const Default: Story = {};
+
+export const Skeleton: Story = {
+ render: () => ,
+};
diff --git a/src/webapp/features/settings/containers/feedSettingsContainer/FeedSettingsContainer.stories.tsx b/src/webapp/features/settings/containers/feedSettingsContainer/FeedSettingsContainer.stories.tsx
new file mode 100644
index 00000000..f9683507
--- /dev/null
+++ b/src/webapp/features/settings/containers/feedSettingsContainer/FeedSettingsContainer.stories.tsx
@@ -0,0 +1,13 @@
+import type { Meta, StoryObj } from '@storybook/nextjs-vite';
+import FeedSettingsContainer from './FeedSettingsContainer';
+
+const meta: Meta = {
+ title: 'Features/Settings/FeedSettingsContainer',
+ component: FeedSettingsContainer,
+};
+
+export default meta;
+
+type Story = StoryObj;
+
+export const Default: Story = {};
diff --git a/src/webapp/features/settings/containers/helpContainer/HelpContainer.stories.tsx b/src/webapp/features/settings/containers/helpContainer/HelpContainer.stories.tsx
new file mode 100644
index 00000000..e7712352
--- /dev/null
+++ b/src/webapp/features/settings/containers/helpContainer/HelpContainer.stories.tsx
@@ -0,0 +1,17 @@
+import type { Meta, StoryObj } from '@storybook/nextjs-vite';
+import HelpContainer from './HelpContainer';
+import HelpContainerSkeleton from './Skeleton.HelpContainer';
+
+const meta = {
+ title: 'Features/Settings/HelpContainer',
+ component: HelpContainer,
+} satisfies Meta;
+
+export default meta;
+type Story = StoryObj;
+
+export const Default: Story = {};
+
+export const Skeleton: Story = {
+ render: () => ,
+};