5 changed files with 71 additions and 13 deletions
@ -1,9 +1,29 @@
@@ -1,9 +1,29 @@
|
||||
.logo { |
||||
display: flex; |
||||
flex-direction: column; |
||||
align-items: center; |
||||
justify-content: center; |
||||
overflow: hidden; |
||||
width: 120px; |
||||
height: 120px; |
||||
border-radius: 50%; |
||||
border-width: 3px; |
||||
border-style: solid; |
||||
border-color: var(--theme-primary-color); |
||||
background-color: var(--theme-background-secondary); |
||||
padding: 3px; |
||||
} |
||||
|
||||
.container { |
||||
width: 90%; |
||||
height: 90%; |
||||
border-radius: 50%; |
||||
overflow: hidden; |
||||
} |
||||
|
||||
.image { |
||||
width: 100%; |
||||
height: 100%; |
||||
background-size: cover; |
||||
background-position: center; |
||||
overflow: hidden; |
||||
} |
@ -1,5 +1,15 @@
@@ -1,5 +1,15 @@
|
||||
import s from './Logo.module.scss'; |
||||
|
||||
export default function SocialLinks() { |
||||
return <img className={s.logo} src="/logo" alt="logo" />; |
||||
interface Props { |
||||
src: string; |
||||
} |
||||
|
||||
export default function Logo({ src }: Props) { |
||||
return ( |
||||
<div className={s.logo}> |
||||
<div className={s.container}> |
||||
<div className={s.image} style={{ backgroundImage: `url(${src})` }} /> |
||||
</div> |
||||
</div> |
||||
); |
||||
} |
||||
|
@ -0,0 +1,23 @@
@@ -0,0 +1,23 @@
|
||||
import React from 'react'; |
||||
import { ComponentStory, ComponentMeta } from '@storybook/react'; |
||||
import { OwncastLogo } from '../components/common'; |
||||
|
||||
export default { |
||||
title: 'owncast/Components/Header Logo', |
||||
component: OwncastLogo, |
||||
parameters: {}, |
||||
} as ComponentMeta<typeof OwncastLogo>; |
||||
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
const Template: ComponentStory<typeof OwncastLogo> = args => <OwncastLogo {...args} />; |
||||
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
export const Logo = Template.bind({}); |
||||
Logo.args = { |
||||
url: '/logo', |
||||
}; |
||||
|
||||
export const DemoServer = Template.bind({}); |
||||
DemoServer.args = { |
||||
url: 'https://watch.owncast.online/logo', |
||||
}; |
@ -1,23 +1,28 @@
@@ -1,23 +1,28 @@
|
||||
import React from 'react'; |
||||
import { ComponentStory, ComponentMeta } from '@storybook/react'; |
||||
import { OwncastLogo } from '../components/common'; |
||||
import Logo from '../components/ui/Logo/Logo'; |
||||
|
||||
export default { |
||||
title: 'owncast/Components/Logo', |
||||
component: OwncastLogo, |
||||
title: 'owncast/Components/Page Logo', |
||||
component: Logo, |
||||
parameters: {}, |
||||
} as ComponentMeta<typeof OwncastLogo>; |
||||
} as ComponentMeta<typeof Logo>; |
||||
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
const Template: ComponentStory<typeof OwncastLogo> = args => <OwncastLogo {...args} />; |
||||
const Template: ComponentStory<typeof Logo> = args => <Logo {...args} />; |
||||
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
export const Logo = Template.bind({}); |
||||
Logo.args = { |
||||
url: '/logo', |
||||
export const LocalServer = Template.bind({}); |
||||
LocalServer.args = { |
||||
src: 'http://localhost:8080/logo', |
||||
}; |
||||
|
||||
export const DemoServer = Template.bind({}); |
||||
DemoServer.args = { |
||||
url: 'https://watch.owncast.online/logo', |
||||
src: 'https://watch.owncast.online/logo', |
||||
}; |
||||
|
||||
export const RandomImage = Template.bind({}); |
||||
RandomImage.args = { |
||||
src: 'https://picsum.photos/600/500', |
||||
}; |
||||
|
Loading…
Reference in new issue