Skip to content

[dashboard] Redesign of dashboard #3295

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 53 commits into from
Mar 22, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
53 commits
Select commit Hold shift + click to select a range
ca08b35
[dashboard] v2 initial commit
svenefftinge Mar 1, 2021
705838c
try build
AlexTugarev Mar 5, 2021
ca405df
fix yarn.lock, typescript, supervisor-api gen, etc.
AlexTugarev Mar 5, 2021
05c5cf1
add gitpod-schema.json
AlexTugarev Mar 5, 2021
5721a36
Integrated gitpod service
svenefftinge Mar 7, 2021
3221d49
Fix external links in top-level menu
jankeromnes Mar 8, 2021
3e89761
[dashboard] profile page minor updates
svenefftinge Mar 9, 2021
2ce7153
disable tos temporarily
AlexTugarev Mar 9, 2021
0b00032
disable error_404_dashboard in proxy
AlexTugarev Mar 9, 2021
0a10ee9
add login page and user context
AlexTugarev Mar 9, 2021
5ee3227
fix PREVIEW_URL
AlexTugarev Mar 9, 2021
fd0f911
applying changes from review
AlexTugarev Mar 9, 2021
e401255
fix proxy for browserrouter
AlexTugarev Mar 12, 2021
f12f163
attach gitpod service to window
AlexTugarev Mar 10, 2021
b43d520
add login page (50%)
AlexTugarev Mar 12, 2021
b67bca6
FIXME: Workaround to fix dashboard in iframe
jankeromnes Mar 11, 2021
25c9ed0
[dashboard] Import MAD color scheme into Tailwind
jankeromnes Mar 12, 2021
2f62be6
[dashboard] Re-implement create workspace page (Gitpod URL prefix)
jankeromnes Mar 9, 2021
3ef9a3d
[dashboard] Re-implement workspace /start page
jankeromnes Mar 12, 2021
503873d
[dashboard] Simplify context URL hashchange listener
jankeromnes Mar 12, 2021
ece45f4
[dashboard] Improve workspace start UI
jankeromnes Mar 12, 2021
8bf7a13
[dashboard] Improve workspace start status messages
jankeromnes Mar 12, 2021
1c8f8bb
[dashboard] Apply code review suggestions
jankeromnes Mar 13, 2021
ed5a4ad
[dashboard] Merge Account and Settings pages into a single sub-menu, …
jankeromnes Mar 15, 2021
ec89eec
[dashboard] Re-implement running workspace selector for new dashboard
jankeromnes Mar 16, 2021
15909cc
[dashboard] Update Tailwind green shades for buttons
jankeromnes Mar 16, 2021
ca020f3
[dashboard] Hide running workspace open button when group isn't hovered
jankeromnes Mar 16, 2021
c8d8df0
Merge pull request #3457 from gitpod-io/minor-updates
svenefftinge Mar 17, 2021
8b9f64a
apply 💄 to login page
AlexTugarev Mar 15, 2021
39ac141
[server] disable tos check on signup
AlexTugarev Mar 15, 2021
ce09517
extract getGitpodService function
AlexTugarev Mar 17, 2021
9515285
fix screen breakpoints
AlexTugarev Mar 17, 2021
4690fa6
[dashboard] Change font stack, update logo, change menu colors (#3478)
gtsiolis Mar 17, 2021
4c29443
[dashboard] added favicons
svenefftinge Mar 17, 2021
ae8355a
[dashboard] addition workspaces list features
svenefftinge Mar 18, 2021
e5db9c6
[dashboard] allow open workspace in new tab
svenefftinge Mar 18, 2021
cc31012
[dashboard] fix deletion of workspaces
svenefftinge Mar 18, 2021
75f249c
[dashboard] improve modal
svenefftinge Mar 19, 2021
57fa242
[dashboard] avatar menu
svenefftinge Mar 19, 2021
3f99699
[code] Graduate VS Code out of Feature Preview
jankeromnes Mar 18, 2021
19607a8
[dashboard] Re-implement default IDE switch for new dashboard
jankeromnes Mar 16, 2021
2f2ceb6
[dashboard] Adjust styles in Settings menu and Account page
jankeromnes Mar 17, 2021
e6c383e
[dashboard] Simplify SettingsPage component by folding the SubMenu ba…
jankeromnes Mar 18, 2021
ade6978
[dashboad] Apply Default IDE code review feedback
jankeromnes Mar 18, 2021
4b33f11
[dashboard] Make the new Default IDE page actually change the user se…
jankeromnes Mar 18, 2021
d5cac4f
[code] Make VS Code the default IDE for new users
jankeromnes Mar 19, 2021
1f09114
[dashboard] Delete custom IDE image option from new dashboard again
jankeromnes Mar 19, 2021
596ee47
[dashboard] Improve new workspace start experience ⚡
jankeromnes Mar 19, 2021
618b7cd
[dashboard] added notifications
svenefftinge Mar 20, 2021
f3bcb0b
[dashboard] prefetch components
svenefftinge Mar 21, 2021
1bd34c3
[dashboard] Update workspaces, settings, and header layout (#3521)
gtsiolis Mar 22, 2021
8a625d3
[dashboard] Add Git Providers
AlexTugarev Mar 22, 2021
a666dd1
[dashboard] updated license headers
svenefftinge Mar 22, 2021
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
24 changes: 12 additions & 12 deletions chart/config/proxy/lib.locations.conf
Original file line number Diff line number Diff line change
Expand Up @@ -44,18 +44,18 @@ location / {

proxy_pass http://dashboard$request_uri;

# # Page Not Found
# Let's redirect the browser agent to the web app, if no resources are found in the locations specified here.
#
# This is derived from the issue https://github.com/gitpod-io/gitpod/issues/2659, which
# was appearently caused by Twitter's link shortening. So, if the leading www is missing
# in the URL by accident, we will redirect to the web on 404 – Not Found.
error_page 404 @error_404_dashboard;
}

location @error_404_dashboard {
return 302 https://www.${PROXY_DOMAIN}$request_uri;
}
# # # Page Not Found
# # Let's redirect the browser agent to the web app, if no resources are found in the locations specified here.
# #
# # This is derived from the issue https://github.com/gitpod-io/gitpod/issues/2659, which
# # was appearently caused by Twitter's link shortening. So, if the leading www is missing
# # in the URL by accident, we will redirect to the web on 404 – Not Found.
# error_page 404 @error_404_dashboard;
}

# location @error_404_dashboard {
# return 302 https://www.${PROXY_DOMAIN}$request_uri;
# }

##### Authentication
# GitHub authentication callback endpoint does not like CORS headers
Expand Down
10 changes: 3 additions & 7 deletions components/dashboard/.gitignore
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
# See https://help.github.com/ignore-files/ for more about ignoring files.
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.

# dependencies
/node_modules
/.pnp
.pnp.js

# testing
/coverage
Expand All @@ -19,9 +21,3 @@
npm-debug.log*
yarn-debug.log*
yarn-error.log*

lib
dist

/public/libs/*
!/public/libs/.keep
54 changes: 10 additions & 44 deletions components/dashboard/BUILD.yaml
Original file line number Diff line number Diff line change
@@ -1,58 +1,24 @@
packages:
- name: app
type: yarn
srcs:
- "public/images/**"
- "src/**/*.ts"
- "src/**/*.tsx"
- "src/**/*.css"
- "ee/src/**/*.ts"
- "ee/src/**/*.tsx"
- "ee/src/**/*.css"
- "typings/**"
- package.json
- postinstall.js
- webpack.config.js
- webpack.entrypoints.js
- tsconfig.json
deps:
- components/gitpod-protocol:lib
argdeps:
- removeSources
env:
- REMOVE_SOURCES=${removeSources}
config:
commands:
build: ["yarn", "build-app"]
yarnLock: ${coreYarnLockBase}/yarn.lock
dontTest: true
- name: lib
type: yarn
srcs:
- "public/**"
- "ee/public/**"
- "src/**/*.ts"
- "src/**/*.tsx"
- "build/**"
- "src/**/*.ts*"
- "src/**/*.css"
- "ee/src/**/*.ts"
- "ee/src/**/*.tsx"
- "ee/src/**/*.css"
- "src/**/*.svg"
- "typings/**"
- package.json
- postinstall.js
- webpack.config.js
- webpack.entrypoints.js
- tsconfig.json
- tsconfig.lib.json
- tailwind.config.js
- tsconfig.*
deps:
- components/gitpod-protocol:lib
config:
packaging: library
commands:
build: ["yarn", "build-lib"]
build: ["yarn", "build"]
yarnLock: ${coreYarnLockBase}/yarn.lock
tsconfig: tsconfig.lib.json
dontTest: true
packaging: archive
- name: static
type: generic
srcs:
Expand All @@ -78,9 +44,9 @@ scripts:
script: |-
trap "kill 0" EXIT
export NODE_OPTIONS='--max-old-space-size=3192'
yarn run webpack-dev-server --mode=development &
yarn start &

telepresence --swap-deployment dashboard \
--method inject-tcp \
--expose 13001:80 \
--run socat TCP-LISTEN:13001,reuseaddr,fork TCP:localhost:3001
--expose 13000:80 \
--run socat TCP-LISTEN:13000,reuseaddr,fork TCP:localhost:3000
35 changes: 27 additions & 8 deletions components/dashboard/README.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,31 @@
# Gitpod Workspaces
# Dashboard Redesign POC

The workspaces page provides a UI for the gitpod server.
The dashboard is written in TypeScript and React. For styling it uses TailwindCSS which is a bit nicer than inlining CSS as it supports pseudo classes and a is a little more abstract/reusable.

## How to use
The App.tsx is the entry point for the SPA and it uses React-Router to register all pages.

Install it and run:
```ts
<Switch>
<Route path="/" exact component={Workspaces} />
<Route path="/profile" exact component={Profile} />
<Route path="/notifications" exact component={Notifications} />
<Route path="/subscriptions" exact component={Subscriptions} />
<Route path="/env-vars" exact component={EnvVars} />
<Route path="/git-integration" exact component={GitIntegration} />
<Route path="/feature-preview" exact component={FeaturePreview} />
<Route path="/default-ide" exact component={DefaultIDE} />
</Switch>
```
Pages are loaded lazily using `React.lazy` so that not everything needs to be loaded up-front but only when needed:

```bash
yarn install
yarn start
```
```ts
const Notifications = React.lazy(() => import('./account/Notifications'));
const Profile = React.lazy(() => import('./account/Profile'));
const Subscriptions = React.lazy(() => import('./account/Subscriptions'));
const DefaultIDE = React.lazy(() => import('./settings/DefaultIDE'));
const EnvVars = React.lazy(() => import('./settings/EnvVars'));
const FeaturePreview = React.lazy(() => import('./settings/FeaturePreview'));
const GitIntegration = React.lazy(() => import('./settings/GitIntegration'));
```

Global state is passed through `React.Context`.
1 change: 1 addition & 0 deletions components/dashboard/conf/conf.d/server-80.conf
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,6 @@ server {

location / {
root /www/data/dashboard;
try_files $uri $uri/ /index.html;
}
}
34 changes: 0 additions & 34 deletions components/dashboard/ee/public/admin/index.html

This file was deleted.

34 changes: 0 additions & 34 deletions components/dashboard/ee/public/license/index.html

This file was deleted.

64 changes: 0 additions & 64 deletions components/dashboard/ee/src/admin.tsx

This file was deleted.

Loading