Skip to content

Commit dbe7555

Browse files
author
Ananya Rana
authored
feat: created connection button (#48)
* created connection button * added restprops to parent class * added onClick btn and storybook
1 parent d5a0c5f commit dbe7555

File tree

4 files changed

+187
-130
lines changed

4 files changed

+187
-130
lines changed
Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,15 @@
1-
import type { Preview } from '@storybook/svelte'
1+
import type { Preview } from "@storybook/svelte";
2+
import "../src/app.css";
23

34
const preview: Preview = {
4-
parameters: {
5-
controls: {
6-
matchers: {
7-
color: /(background|color)$/i,
8-
date: /Date$/i,
9-
},
10-
},
11-
},
5+
parameters: {
6+
controls: {
7+
matchers: {
8+
color: /(background|color)$/i,
9+
date: /Date$/i,
10+
},
11+
},
12+
},
1213
};
1314

14-
export default preview;
15+
export default preview;
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
import Connection from "./Connection.svelte";
2+
3+
export default {
4+
title: "UI/Connection",
5+
component: Connection,
6+
tags: ["autodocs"],
7+
render: (args: any) => ({
8+
Component: Connection,
9+
props: args,
10+
}),
11+
};
12+
13+
export const Primary = {
14+
args: {
15+
imgSrc:
16+
"https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRGPvo_J4nWlDM0kxFW0rsfR5UeOOC6uMvpfQ&s",
17+
connectionName: "Facebook.com",
18+
lastConnected:
19+
new Date().toDateString() + ", " + new Date().toLocaleTimeString(),
20+
onClick: () => alert("Disconnected!"),
21+
},
22+
};
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
<script lang="ts">
2+
import { cn } from '$lib/utils';
3+
import type { HTMLAttributes } from 'svelte/elements';
4+
5+
interface IConnection extends HTMLAttributes<HTMLElement>{
6+
imgSrc: string;
7+
connectionName: string;
8+
lastConnected: Date;
9+
onClick?: () => void;
10+
}
11+
12+
let { imgSrc, connectionName, lastConnected, onClick, ...restProps}: IConnection = $props();
13+
14+
</script>
15+
16+
<div {...restProps} class={cn("flex items-center justify-between px-3 py-2", restProps.class)}>
17+
<div class="flex items-center gap-2">
18+
<div class="p-3 bg-gray-900 max-w-max rounded-4xl object-cover flex items-center">
19+
<img class="size-6" src={imgSrc} alt={connectionName}>
20+
</div>
21+
<div>
22+
<h2 class="text-md font-medium text-black-900">{connectionName}</h2>
23+
<p class="text-xs text-black-700">Last Active {lastConnected}</p>
24+
</div>
25+
</div>
26+
<button
27+
class="p-2 text-md font-semibold text-primary-900"
28+
onclick={onClick}
29+
30+
>
31+
Disconnect
32+
</button>
33+
</div>

0 commit comments

Comments
 (0)