Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
16 commits
Select commit Hold shift + click to select a range
face9dc
refactor(editor): 에디터에서의 확장자 세부 설정 및 확장자에 따른 아이콘 설정 / DP-204
ssoogit Aug 2, 2025
c4a5b54
Merge pull request #205 from DeepDirect/fix/DP-204/에디터-확장자-세부설정
ssoogit Aug 2, 2025
fd177a9
fix: origin 주소 비교문때문에 발생한 것 확인하여 제거함. / DP-205
Shin-Yu-1 Aug 2, 2025
12426e5
Merge pull request #207 from DeepDirect/feat/DP-205/github
Shin-Yu-1 Aug 2, 2025
4ab7a7f
fix(CreatFileModal): 잘못된 토스트 안내 문구 수정 / DP-203
Jammanb0 Aug 2, 2025
6989701
feat(Tab): Tab 실시간 변동사항 연동 / DP-203
Jammanb0 Aug 2, 2025
4f0e8e1
feat(TabBar): 탭 UI 수정 / DP-203
Jammanb0 Aug 2, 2025
ac6cd67
feat(CodeEditor): 변경사항 감지 로직 추가 / DP-203
Jammanb0 Aug 2, 2025
8b317e7
feat(UseTabStore): 탭 스토어 수정 / DP-203
Jammanb0 Aug 2, 2025
4af8a89
feat: 히스토리 복원시 Tab 모두 초기화 기능 추가 / DP-203
Jammanb0 Aug 2, 2025
09168ae
refactore(tabStore): 탭 스토어 수정 / DP-203
Jammanb0 Aug 2, 2025
281bd53
refactor: 에디터에 내용 추가 기능 제거 / DP-203
Jammanb0 Aug 3, 2025
7732651
fix(eslint): eslint 경고 수정 / DP-203
Jammanb0 Aug 3, 2025
56c4c2f
hotfix(ChatStompVer): 무한 로딩 로직 제거 및 최소 1초 로딩 화면 보장 / DP-206
Jammanb0 Aug 3, 2025
bbd9949
Merge pull request #210 from DeepDirect/hot-fix/DP-206/chat-infinite-…
Jammanb0 Aug 3, 2025
59f1b26
Merge pull request #208 from DeepDirect/feature/DP-203/Repo-tab
Jammanb0 Aug 3, 2025
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
3 changes: 3 additions & 0 deletions src/assets/icons/book.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions src/assets/icons/chart.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions src/assets/icons/git-merge.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions src/assets/icons/image.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions src/assets/icons/note.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,6 @@ const GitHubLoginButton = () => {
}

const handleMessage = (event: MessageEvent) => {
if (event.origin !== 'http://localhost:8080') return;

const { type, response } = event.data;
if (type === 'GITHUB_LOGIN_SUCCESS') {
setAuthSocialLogin(response);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@
background: var(--editor-bg);
}

// 에디터 컨테이너
.editorContainer {
position: relative;
flex: 1;
Expand All @@ -31,7 +30,6 @@
}
}

// 로딩 상태
.editorLoading {
display: flex;
flex-direction: column;
Expand Down Expand Up @@ -68,7 +66,6 @@
}
}

// 플레이스홀더
.editorPlaceholder {
display: flex;
align-items: center;
Expand Down Expand Up @@ -142,7 +139,120 @@
}
}

// 반응형 디자인
.readOnlyStatus {
display: flex;
align-items: center;
gap: 8px;
padding: 8px 16px;
border-bottom: 1px solid var(--readonly-border);
font-size: $font-size-xxsmall;
font-weight: $font-weight-medium;
color: var(--readonly-text);
background: var(--readonly-bg);

@media (width <= 768px) {
padding: 6px 12px;
font-size: 11px;
}
}

.readOnlyIcon {
flex-shrink: 0;
font-size: 14px;
}

.readOnlyMessage {
flex: 1;
line-height: 1.4;
}

.saveStatus {
position: absolute;
top: 8px;
right: 16px;
z-index: 100;
pointer-events: none;
}

.savingIndicator {
display: flex;
align-items: center;
gap: 6px;
padding: 4px 8px;
border: 1px solid var(--save-indicator-border);
border-radius: 4px;
font-size: 11px;
font-weight: $font-weight-medium;
color: var(--save-indicator-text);
background: var(--save-indicator-bg);
backdrop-filter: blur(4px);
}

.savingSpinner {
width: 12px;
height: 12px;
border: 2px solid var(--save-spinner-bg);
border-top: 2px solid var(--save-spinner-color);
border-radius: 50%;
animation: spin 1s linear infinite;
}

.saveMode {
font-size: 10px;
opacity: 0.8;
}

.errorStatus {
display: flex;
align-items: center;
gap: 8px;
padding: 8px 16px;
border-bottom: 1px solid var(--error-border);
font-size: $font-size-xxsmall;
font-weight: $font-weight-medium;
color: var(--error-text);
background: var(--error-bg);
}

.errorIcon {
flex-shrink: 0;
width: 16px;
height: 16px;
border-radius: 50%;
font-size: 12px;
font-weight: bold;
line-height: 16px;
text-align: center;
color: $white-2;
background: $red;
}

.errorMessage {
flex: 1;
line-height: 1.4;
}

.retryButton {
padding: 4px 8px;
border: 1px solid var(--retry-border);
border-radius: 4px;
font-size: 11px;
font-weight: $font-weight-medium;
color: var(--retry-text);
background: var(--retry-bg);
transition: all 0.2s ease;
cursor: pointer;

&:hover {
background: var(--retry-hover);
transform: translateY(-1px);
}
}

.connectionStatus {
color: var(--editor-point-color);
}

@media (width <= 768px) {
.collaborativeEditor {
height: 100%;
Expand All @@ -169,6 +279,38 @@
}
}

.connectionStatus {
color: var(--editor-point-color);
:root {
--readonly-bg: #{$gray-10};
--readonly-border: #{$gray-8};
--readonly-text: #{$red};
--save-indicator-bg: #{$white-2};
--save-indicator-border: #{$gray-8};
--save-indicator-text: #{$gray-3};
--save-spinner-bg: #{$gray-8};
--save-spinner-color: #{$blue-3};
--error-bg: rgb(220 38 38 / 10%);
--error-border: #{$red};
--error-text: #{$red};
--retry-bg: #{$white-2};
--retry-border: #{$gray-7};
--retry-text: #{$gray-3};
--retry-hover: #{$gray-10};
}

:global(.dark) {
--readonly-bg: #{$gray-2};
--readonly-border: #{$gray-4};
--readonly-text: #{$red};
--save-indicator-bg: #{$gray-2};
--save-indicator-border: #{$gray-4};
--save-indicator-text: #{$gray-7};
--save-spinner-bg: #{$gray-4};
--save-spinner-color: #{$blue-3};
--error-bg: rgb(220 38 38 / 15%);
--error-border: #{$red};
--error-text: #{$red};
--retry-bg: #{$gray-2};
--retry-border: #{$gray-4};
--retry-text: #{$gray-7};
--retry-hover: #{$gray-3};
}
Loading