Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 7 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,17 @@
# GitHub Stories

View stories on your GitHub dashboard.
View stories on your GitHub dashboard and keep local chat notes on GitHub pages.

No uploads required. Just [install](#how-to-install) and visit [github.com](https://github.com).

![GitHub Stories Demo](./github-stories.gif)

## GitHub Chat

The extension adds a `Chat` button in the lower-right corner of every `github.com` page. Open it to write page-specific notes, review previous messages, or clear the current page history.

Messages are stored locally with `chrome.storage.local`. Repository pages share one chat thread per `owner/repo`, while GitHub system pages use their page path. The panel also updates when GitHub changes pages without a full reload.

## How to Install

1. [Download ZIP](https://github.com/inquid/github-stories/archive/master.zip) and unzip on your computer.
Expand Down
215 changes: 215 additions & 0 deletions github-chat.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,215 @@
#github-stories-chat-root {
color-scheme: light;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
position: fixed;
z-index: 2147483647;
}

#github-stories-chat-root * {
box-sizing: border-box;
}

.ghs-chat-toggle {
align-items: center;
background: #24292f;
border: 1px solid rgba(255, 255, 255, 0.18);
border-radius: 999px;
bottom: 24px;
box-shadow: 0 10px 28px rgba(31, 35, 40, 0.25);
color: #ffffff;
cursor: pointer;
display: inline-flex;
font-size: 14px;
font-weight: 600;
gap: 8px;
line-height: 1;
min-height: 44px;
padding: 0 15px;
position: fixed;
right: 24px;
}

.ghs-chat-toggle:focus-visible,
.ghs-chat-panel button:focus-visible,
.ghs-chat-input:focus {
outline: 2px solid #0969da;
outline-offset: 2px;
}

.ghs-chat-count {
align-items: center;
background: #ffffff;
border-radius: 999px;
color: #24292f;
display: inline-flex;
font-size: 12px;
justify-content: center;
min-width: 22px;
padding: 4px 6px;
}

.ghs-chat-panel {
background: #ffffff;
border: 1px solid #d0d7de;
border-radius: 8px;
bottom: 78px;
box-shadow: 0 16px 48px rgba(31, 35, 40, 0.22);
display: flex;
flex-direction: column;
max-height: min(560px, calc(100vh - 110px));
overflow: hidden;
position: fixed;
right: 24px;
width: min(380px, calc(100vw - 32px));
}

.ghs-chat-hidden {
display: none;
}

.ghs-chat-header {
align-items: flex-start;
background: #f6f8fa;
border-bottom: 1px solid #d8dee4;
display: flex;
justify-content: space-between;
gap: 12px;
padding: 12px 14px;
}

.ghs-chat-header strong {
color: #24292f;
display: block;
font-size: 14px;
line-height: 20px;
}

.ghs-chat-context {
color: #57606a;
display: block;
font-size: 12px;
line-height: 18px;
max-width: 220px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}

.ghs-chat-actions {
display: flex;
gap: 6px;
}

.ghs-chat-actions button,
.ghs-chat-send {
background: #f6f8fa;
border: 1px solid #d0d7de;
border-radius: 6px;
color: #24292f;
cursor: pointer;
font-size: 12px;
font-weight: 600;
line-height: 18px;
padding: 4px 8px;
}

.ghs-chat-actions button:disabled {
color: #8c959f;
cursor: default;
}

.ghs-chat-close {
min-width: 28px;
}

.ghs-chat-messages {
background: #ffffff;
display: flex;
flex: 1;
flex-direction: column;
gap: 10px;
min-height: 170px;
overflow-y: auto;
padding: 14px;
}

.ghs-chat-empty {
color: #57606a;
font-size: 13px;
margin: auto;
text-align: center;
}

.ghs-chat-message {
background: #f6f8fa;
border: 1px solid #d8dee4;
border-radius: 8px;
color: #24292f;
padding: 9px 10px;
}

.ghs-chat-message-meta {
color: #57606a;
font-size: 11px;
line-height: 16px;
margin-bottom: 4px;
}

.ghs-chat-message-body {
font-size: 13px;
line-height: 19px;
overflow-wrap: anywhere;
white-space: pre-wrap;
}

.ghs-chat-form {
border-top: 1px solid #d8dee4;
display: flex;
flex-direction: column;
gap: 8px;
padding: 12px;
}

.ghs-chat-input {
border: 1px solid #d0d7de;
border-radius: 6px;
color: #24292f;
font: inherit;
font-size: 13px;
line-height: 19px;
min-height: 74px;
padding: 8px;
resize: vertical;
}

.ghs-chat-footer {
align-items: center;
display: flex;
gap: 12px;
justify-content: space-between;
}

.ghs-chat-status {
color: #57606a;
font-size: 12px;
line-height: 18px;
}

.ghs-chat-send {
background: #1f883d;
border-color: #1f883d;
color: #ffffff;
min-width: 64px;
}

@media (max-width: 480px) {
.ghs-chat-panel {
bottom: 72px;
right: 16px;
}

.ghs-chat-toggle {
bottom: 18px;
right: 16px;
}
}
Loading