Jihan Kim 2013-02-28
apply new design markups and update lesscss files
board write, board list, issue list, login/signup, project setting,
member list and more...
@85ae6dcb5291f4a4cab6230a7f17972de7480edb
app/assets/stylesheets/less/_buttons.less
--- app/assets/stylesheets/less/_buttons.less
+++ app/assets/stylesheets/less/_buttons.less
@@ -63,7 +63,7 @@
             height: 24px;
             padding: 4px 20px;
         }
-        .border-radius(5px);
+        .border-radius(2px); /*5px*/
     }
     &.small {
         font-size: 11px;
app/assets/stylesheets/less/_page.less
--- app/assets/stylesheets/less/_page.less
+++ app/assets/stylesheets/less/_page.less
@@ -18,6 +18,7 @@
         } //gnb-knob: deprecated
         
         .gnb-menu-wrap {
+            /*background-color:@gnb-color;*/
             overflow: hidden;
             
             .logo {
@@ -46,6 +47,7 @@
                     color: @gnb-link-color;
                     a {
                         font-size: 13px;
+                        /*font-family: "Myriad Pro", Din, Tahoma, Arial,sans-serif;*/
                         &:hover, &.selected {
                             color: @gnb-link-hover-color;
                         }
@@ -76,9 +78,10 @@
                     }
                     .sp-line {
                         padding: 0;
-                        color: #fafafa; /*#506D73;*/
+                        color: #ccc;/*fafafa;*/ /*#506D73;*/
                         font-size: 18px;
-                        opacity:0.5;
+                        /*opacity:0.5;*/
+                        font-family:Dotum; padding-top:3px;
                     }
                     .d-link-wrap { 
                         padding-top:2px; 
@@ -109,8 +112,8 @@
                             width: 128px; height: 13px;
                             
                             font-size: 11px;
-                            color: #898989;
-                            background-color: transparent;
+                            color: #898989; /*@white;*/
+                            background-color: transparent;/*@orange-search-bar-bg-color;*/
                            
                            .box-shadow(none);
                         }
@@ -222,6 +225,9 @@
                         color:#626262 !important; 
                         opacity:1 !important; 
                     }
+                    .search-bar {
+                        border:1px solid #2e2e2e;
+                    }
                 }
             }
         }
@@ -232,7 +238,7 @@
         &:hover { color:@orange; } 
     }
     
-    .page { padding:40px 39px; }
+    .page { padding:40px 39px 30px 39px; }
 }
 
 .page-wrap {
@@ -835,7 +841,7 @@
     width: 400px;
     .center-block;
     .act-row {
-        margin-bottom: 45px;
+        margin-bottom: 42px;
         line-height:22px;
     }
     .forgot-password {
@@ -853,7 +859,7 @@
     .btns-row {
         width: 384px;
         .center-block;
-        margin-bottom: 50px;
+        margin-bottom: 73px;
         .n-btn {
             &.log-in {
                 width: 187px;
@@ -1120,14 +1126,17 @@
 
                 color:#000;
                 .border-radius(0 2px 2px 0);
-                .linear-gradient(#fff, #f2f2f3);
+                /*.linear-gradient(#fff, #f2f2f3);*/
 
                 /*
                 .opacity(50);
                 &:hover {
                     .opacity(100);
                 }
-                */
+                */              
+               &:hover {
+                   color:@orange;
+               }
             }
             .btn-advanced {
                 color:#707070;
@@ -1368,7 +1377,8 @@
         padding: 10px 20px;
     }
     &.bottom {
-        padding: 10px 0;
+        padding: 20px 0; /*10px 0;*/
+        padding-bottom:12px;
         border-bottom: 0 none;
         text-align: center;
     }
@@ -1557,6 +1567,9 @@
                 .name {
                     font-size: 11px;
                 }
+                .btns {
+                    text-transform: capitalize;
+                }
             }
         }
     }
@@ -1610,10 +1623,12 @@
         margin: 15px 0 10px;
         padding-right: 20px;
         .filter {
-            .opacity(70);
+            /*
+             .opacity(70);
             &.active {
                 .opacity(100);
             }
+            */
         }
     }    
 }
@@ -1627,6 +1642,8 @@
         border-bottom: 1px solid @gray-d4;
         padding: 15px 30px;
         overflow: hidden;
+        &:last-of-type { border-bottom:none; }
+        
         .infos {
             width: 660px;
             float: left;
@@ -1685,6 +1702,7 @@
                 font-size: 0.6em;
                 vertical-align: top;
                 padding-top: 20px;
+                margin-left:7px;
             }
         }
     }
@@ -1724,6 +1742,7 @@
                 }
             }
             &.right {
+                height:376px;
                 margin-left: 610px;
                 padding: 15px 10px;
                 background-color: #ECECEC;
@@ -2039,6 +2058,7 @@
         margin-bottom: 10px;
     }
     .comment-btn {
+        vertical-align:top;
         background-color: @white;
         color: @orange;
         line-height: 1;
@@ -2152,7 +2172,18 @@
     }
 }
 
-.content-wrap {
+.frm-wrap {
+    dl, dt, dd { margin:0; padding:0; }
+    dt {
+        margin:3px 0px 1px 0px;
+        
+        label {
+            color:#959595; font-weight:bold;
+            margin-right:5px;
+        }
+    }
+}
+.content-wrap {    
     .text {
         width: 866px;
         resize:vertical;
@@ -2161,7 +2192,7 @@
         margin-bottom: 15px;
     }
     .content {
-        height: 320px;
+        height:177px; /*320px;*/
         background-color: #F9F9F9;
     }
     .actions {
@@ -2319,7 +2350,7 @@
         margin: 0;
         width: 350px; /*357px;*/
         .box-shadow(none);
-        .border-radius(4px 0 0 4px);
+        .border-radius(2px 0 0 2px);
         &:focus {
             .box-shadow(none);
             border: 1px solid #CCC;
@@ -2331,13 +2362,14 @@
         border: 1px solid #CCC;
         border-left: 0 none;
         line-height: 26px;
-        .inline-block;
         vertical-align: top;
         text-decoration: none;
-        .border-radius(0 4px 4px 0);
         padding: 0 19px;
         margin-right: 10px;
         font-weight: bold;
+        .inline-block;
+        .border-radius(0 2px 2px 0);
+
         &:hover {
             color: @orange;
         }
@@ -2359,7 +2391,7 @@
     overflow: hidden;
     .code-browse-header {
         color: @white;
-        background-color: #4D4D4D;
+        background-color: #6c6c6c;
         line-height: 34px;
         font-size: 11px;
         padding: 0 20px;
@@ -2956,7 +2988,16 @@
     background-color:#878787 !important;
     .linear-gradient(#878787, darken(#878787, 10%));
 }
+.dropdown-menu .active > a, .dropdown-menu .active > a:hover {
+    color:#fff;
+    background-color:#878787 !important;
+    .linear-gradient(#878787, darken(#878787, 10%));    
+}
 textarea, input[type="text"], input[type="password"], input[type="datetime"], input[type="datetime-local"], input[type="date"], input[type="month"], input[type="time"], input[type="week"], input[type="number"], input[type="email"], input[type="url"], input[type="search"], input[type="tel"], input[type="color"], .uneditable-input {
     .box-shadow(none);
     .border-radius(2px);
-}
(파일 끝에 줄바꿈 문자 없음)
+}
+/*
+hr.dark-gray { border-top:1px solid #d4d4d4; }
+*/
+.alert { position:absolute; width:910px; top:76px; margin-left:auto; }
app/assets/stylesheets/less/_sprites.less
--- app/assets/stylesheets/less/_sprites.less
+++ app/assets/stylesheets/less/_sprites.less
@@ -285,23 +285,23 @@
 
 .ico-search {
     width: 14px;
-    height: 13px;
-    background-position: -28px -27px;
+    height: 14px;/*13px;*/
+    background-position:-136px -152px;
+    
+    /*background-position: -28px -27px;*/
     /*&:hover {
         background-position: -44px -27px;
     }*/
 }
 
-/*.orange {*/
+/*.orange {
     .ico-search {
         background-position: -60px -27px;
-        /*
         &:hover {
             background-position: -76px -27px;
         }
-        */
     }
-/*}*/
+}*/
 
 .ico-open-tag {
     width: 43px;
app/views/board/editPost.scala.html
--- app/views/board/editPost.scala.html
+++ app/views/board/editPost.scala.html
@@ -6,7 +6,7 @@
 
 @main(title, project, utils.MenuType.BOARD) {
 <div class="page">
-  @views.html.prjmenu(project, utils.MenuType.BOARD)
+  @views.html.prjmenu(project, utils.MenuType.BOARD, "main-menu-only")
   
   <div class="content-wrap">
     
app/views/board/newPost.scala.html
--- app/views/board/newPost.scala.html
+++ app/views/board/newPost.scala.html
@@ -5,7 +5,7 @@
 
 @main(title, project, utils.MenuType.BOARD) {
 <div class="page">
-  @views.html.prjmenu(project, utils.MenuType.BOARD)
+  @views.html.prjmenu(project, utils.MenuType.BOARD, "main-menu-only")
   
   <div class="content-wrap">
     
app/views/board/post.scala.html
--- app/views/board/post.scala.html
+++ app/views/board/post.scala.html
@@ -7,7 +7,7 @@
 
 @main("상세보기", project, utils.MenuType.BOARD){
 <div class="page board-view">
-  @views.html.prjmenu(project, utils.MenuType.BOARD)
+  @views.html.prjmenu(project, utils.MenuType.BOARD, "main-menu-only")
   
   <div class="board-header">
     <div class="board-id div">@post.id</div>
app/views/board/postList.scala.html
--- app/views/board/postList.scala.html
+++ app/views/board/postList.scala.html
@@ -21,7 +21,7 @@
 
 @main(title, project, utils.MenuType.BOARD) {
 <div class="page">
-  @views.html.prjmenu(project, utils.MenuType.BOARD)
+  @views.html.prjmenu(project, utils.MenuType.BOARD, "main-menu-only")
   
   <div class="header-wrap">
     <div class="search-wrap board">
@@ -30,7 +30,7 @@
           <input type="hidden" name="key" value="@param.key">
           <input type="hidden" name="order" value="@param.order">
           <input type="hidden" name="pageNum" value="@param.pageNum">
-          <input name="filter" class="text" type="text" placeholder="현재 게시글에서 검색" value="@param.filter"><button type="submit" class="btn-transparent search-btn underConstruction">SEARCH</button>
+          <input name="filter" class="text" type="text" placeholder="현재 게시글에서 검색" value="@param.filter"><button type="submit" class="btn search-btn underConstruction">SEARCH</button>
         </form>
       </div>
     </div>
@@ -71,7 +71,7 @@
                 <i class="ico ico-comment-bubble"></i><span class="num">@post.commentCount</span>
             </div>
             <a href="@routes.UserApp.userInfo(post.authorLoginId)" class="author-avatar img-rounded pull-right">
-            <img class="user-picture" src="@User.findByLoginId(post.authorLoginId).avatarUrl" alt="@post.authorName"></a>
+            <img class="user-picture" src="@User.findByLoginId(post.authorLoginId).avatarUrl" alt="@post.authorName" width="34" height="34"></a>
           </div>
         </li>
     }
app/views/code/codeView.scala.html
--- app/views/code/codeView.scala.html
+++ app/views/code/codeView.scala.html
@@ -2,7 +2,7 @@
 
 @main("코드", project, utils.MenuType.CODE){
 <div class="page" style="padding-bottom:20px;"><!--  code-browse -->
-  @views.html.prjmenu(project, utils.MenuType.CODE)
+  @views.html.prjmenu(project, utils.MenuType.CODE, "main-menu-only")
   
   <ul class="nav nav-tabs code-tab">
     <li class="active">
app/views/code/nohead.scala.html
--- app/views/code/nohead.scala.html
+++ app/views/code/nohead.scala.html
@@ -3,7 +3,7 @@
 @main(Messages("Commit History"), project, utils.MenuType.CODE) {
 <div class="page">
 
-	@views.html.prjmenu(project, utils.MenuType.CODE)
+	@views.html.prjmenu(project, utils.MenuType.CODE, "main-menu-only")
 	
     <div id="codeError" class="row-fluid">
         <div class="well span12">
app/views/help/toc.scala.html
--- app/views/help/toc.scala.html
+++ app/views/help/toc.scala.html
@@ -1,142 +1,149 @@
-@(message: String)
-
-@home(message, utils.MenuType.HELP) {
-<div class="page">
-        <!--<div class="header-wrap">
-            <div class="search-wrap help">
-                <div class="inner">
-                    <form action="/project/search" method="get">
-                        <span class="labels">FAQ</span>
-                        <span class="sp-line"></span>
-                        <span class="sub labels">Help me with</span>
-                        <input name="query" class="text" type="text" placeholder="FAQ 검색"><button type="submit" class="btn-transparent search-btn">SEARCH</button>
-                    </form>
-                </div>
-            </div>
-        </div>-->
-        <ul class="qas">
-            <li class="qa">
-                <div class="question-wrap">
-                    <i class="ico ico-q"></i>
-                    <a href="#!/toggle" class="question">N4를 설치하고 싶어요.</a>
-                </div>
-                <div class="answer-wrap">
-                    <i class="ico ico-a"></i>
-                    <div class="answer" style="width:100%">
-                        N4를 설치하기 전에 준비해야 할것은 다음과 같습니다.
-                        <ul>
-                            <li><a href="http://www.oracle.com/technetwork/java/javase">JDK 1.6이상</a></li>
-                            <li><a href="http://www.playframework.org/">Play Framework</a></li>
-                            <li><a href="http://git-scm.com/">Git Client</a></li>
-                        </ul>
-                        위의 프로그램을 모두 인스톨 하신후 소스코드를 받습니다.
-                        <pre><code># git clone https://github.com/nforge/nforge4.git</code></pre>
-                        인스톨된 폴더로 가서 N4를 실행시키면 됩니다.
-                        <pre><code># play run</code></pre>
-                    </div>
-                </div>
-            </li>
-            <li class="qa">
-                <div class="question-wrap">
-                    <i class="ico ico-q"></i>
-                    <a href="#!/toggle" class="question">프로젝트를 새로 생성하고 싶어요.</a>
-                </div>
-                <div class="answer-wrap">
-                    <i class="ico ico-a"></i>
-                    <div class="answer" style="width:100%">
-                        <p>상단의 New Project를 클릭하신후 필요한 정보를 입력하시면 됩니다.</p>
-                        <p>
-                            공개설정에서 공개를 택하게 되면 해당 프로젝트의 맴버가 아닌
-                            사용자들도 해당 프로젝트를 둘러볼수 있게 되며 맴버가 아니라면
-                            code 저장소를 익명으로 접근하여 소스코드를 받아 갈 수는 있지만
-                            소스코드를 수정하지는 못합니다. 공개설정에서 비 공개를 택하게 되면
-                            해당 프로젝트의 맴버가 아닌 사용자들은 단지 설명과 
-                            이름만을 볼수 있습니다.
-                        </p>
-                        <p>
-                            코드 저장소 방식은 현재 Git과 Subvision을 지원합니다.
-                            Subvision과 Git은 전세계적으로 코드관리 시스템으로 널리 쓰이고 있으며
-                            충분한 신뢰성과 성능을 가지고 있습니다.
-                        </p>
-                        <p>
-                            위의 내용을 다 작성하셨다면 이용약관옆의 물음표를 눌러 약관을 살펴보시고 동의함을 눌러주시면 됩니다.
-                            마지막으로 save버튼을 누르면 새로운 프로젝트를 생성하실수 있습니다.
-                        </p>
-                    </div>
-                </div>
-            </li>
-            <li class="qa">
-                <div class="question-wrap">
-                    <i class="ico ico-q"></i>
-                    <a href="#!/toggle" class="question">내가 참여하는 프로젝트들은 어디서 볼수 있나요?</a>
-                </div>
-                <div class="answer-wrap">
-                    <i class="ico ico-a"></i>
-                    <div class="answer" style="width:100%">
-                        <a href="/">메인화면</a>
-                        우측 하단에 다음과 같이 참여하고 있는 프로젝트의 목록을 볼수 있습니다. 자물쇠가 있는 것은 비공개
-                        프로젝트이며 자물쇠가 없는 것은 공개 프로젝트 입니다. 괄호 안은 프로젝트를 만든사람을 나타내며 괄호 앞은
-                        프로젝트의 제목을 나타냅니다.
-                        <p><img src="/assets/help/myProjects.png"/></p>
-                        혹은 자신의 <a href="/info">정보 페이지</a>에서도 확인하실수 있습니다.
-                    </div>
-                </div>
-            </li>
-            <li class="qa">
-                <div class="question-wrap">
-                    <i class="ico ico-q"></i>
-                    <a href="#!/toggle" class="question">프로젝트 탈퇴는 어떻게 하나요.</a>
-                </div>
-                <div class="answer-wrap">
-                    <i class="ico ico-a"></i>
-                    <div class="answer" style="width:100%">
-                        혹은 자신의 <a href="/info">정보 페이지</a>에서 참여하고 있는 프로젝트 목록을 볼수있고
-                        탈퇴도 할수 있습니다. 자신이 프로젝트의 유일한 관리자라면 해당 프로젝트에서 탈퇴를 할수 없습니다.
-                    </div>
-                </div>
-            </li>
-            <li class="qa">
-                <div class="question-wrap">
-                    <i class="ico ico-q"></i>
-                    <a href="#!/toggle" class="question">게시판에서는 어떠한 것들을 할수 있나요?</a>
-                </div>
-                <div class="answer-wrap">
-                    <i class="ico ico-a"></i>
-                    <div class="answer" style="width:100%">
-                        게시판에서는 다음과 같은 기능이 가능합니다.
-                        <ul>
-                            <li>게시물 상세 조회: 사용자는 게시물의 내용을 볼 수 있다.</li>
-                            <li>게시물 댓글 등록: 로그인 유저는 게시물에 댓글을 남길 수 있다.</li>
-                            <li>게시물 댓글 조회: 사용자는 게시물의 댓글을 볼 수 있다.</li>
-                            <li>게시물 댓글 삭제: 로그인 유저는 자신이 남긴 댓글을 삭제할 수 있다.</li>
-                            <li>관리자 게시물 댓글 삭제: 프로젝트 관리자는 댓글을 삭제할 수 있다.</li>
-                            <li>관리자 게시물 수정: 프로젝트 관리자는 게시물을 편집/삭제 할 수 있다.</li>
-                        </ul>
-                    </div>
-                </div>
-            </li>
-            <li class="qa">
-                <div class="question-wrap">
-                    <i class="ico ico-q"></i>
-                    <a href="#!/toggle" class="question">N4의 버그를 발견했어요.</a>
-                </div>
-                <div class="answer-wrap">
-                    <i class="ico ico-a"></i>
-                    <div class="answer" style="width:100%">
-                        N4는 현재 Open Source로 진행되고 있습니다. 버그를 발견하셨다면 
-                        <a href="https://github.com/nforge/nforge4/issues">N4 이슈트레커에 등록</a>해 주시거나
-                        패치를 만들어 보내주시면 됩니다. 
-                    </div>
-                </div>
-            </li>
-        </ul>
-    </div>
-    <script>
-    $("a.question").click(function(){
-        $(this).parents("li").toggleClass("open");
-    });
-    </script>
-}
-
-
-
+@(message: String)
+
+@home(message, utils.MenuType.HELP) {
+<div class="page">
+        <div class="header-wrap">
+            <div class="search-wrap help">
+                <div class="inner">
+                    <form action="/project/search" method="get">
+                        <span class="labels">FAQ</span><!-- 
+                         --><input name="query" class="text" type="text" placeholder="현재 게시글에서 검색"><button type="submit" class="btn search-btn">SEARCH</button>
+                    </form>
+                </div>
+            </div>
+        </div>
+        <ul class="qas">
+            <li class="qa">
+                <div class="question-wrap">
+                    <i class="ico ico-q"></i>
+                    <a href="#!/toggle" class="question">N4를 설치하고 싶어요.</a>
+                    <i class="ico icor"></i>
+                </div>
+                <div class="answer-wrap">
+                    <i class="ico ico-a"></i>
+                    <div class="answer" style="width:100%">
+                        N4를 설치하기 전에 준비해야 할것은 다음과 같습니다.
+                        <ul>
+                            <li><a href="http://www.oracle.com/technetwork/java/javase">JDK 1.6이상</a></li>
+                            <li><a href="http://www.playframework.org/">Play Framework</a></li>
+                            <li><a href="http://git-scm.com/">Git Client</a></li>
+                        </ul>
+                        위의 프로그램을 모두 인스톨 하신후 소스코드를 받습니다.
+                        <pre><code># git clone https://github.com/nforge/nforge4.git</code></pre>
+                        인스톨된 폴더로 가서 N4를 실행시키면 됩니다.
+                        <pre><code># play run</code></pre>
+                    </div>
+                </div>
+            </li>
+            <li class="qa">
+                <div class="question-wrap">
+                    <i class="ico ico-q"></i>
+                    <a href="#!/toggle" class="question">프로젝트를 새로 생성하고 싶어요.</a>
+                    <i class="ico icor"></i>
+                </div>
+                <div class="answer-wrap">
+                    <i class="ico ico-a"></i>
+                    <div class="answer" style="width:100%">
+                        <p>상단의 New Project를 클릭하신후 필요한 정보를 입력하시면 됩니다.</p>
+                        <p>
+                            공개설정에서 공개를 택하게 되면 해당 프로젝트의 맴버가 아닌
+                            사용자들도 해당 프로젝트를 둘러볼수 있게 되며 맴버가 아니라면
+                            code 저장소를 익명으로 접근하여 소스코드를 받아 갈 수는 있지만
+                            소스코드를 수정하지는 못합니다. 공개설정에서 비 공개를 택하게 되면
+                            해당 프로젝트의 맴버가 아닌 사용자들은 단지 설명과 
+                            이름만을 볼수 있습니다.
+                        </p>
+                        <p>
+                            코드 저장소 방식은 현재 Git과 Subvision을 지원합니다.
+                            Subvision과 Git은 전세계적으로 코드관리 시스템으로 널리 쓰이고 있으며
+                            충분한 신뢰성과 성능을 가지고 있습니다.
+                        </p>
+                        <p>
+                            위의 내용을 다 작성하셨다면 이용약관옆의 물음표를 눌러 약관을 살펴보시고 동의함을 눌러주시면 됩니다.
+                            마지막으로 save버튼을 누르면 새로운 프로젝트를 생성하실수 있습니다.
+                        </p>
+                    </div>
+                </div>
+            </li>
+            <li class="qa">
+                <div class="question-wrap">
+                    <i class="ico ico-q"></i>
+                    <a href="#!/toggle" class="question">내가 참여하는 프로젝트들은 어디서 볼수 있나요?</a>
+                    <i class="ico icor"></i>
+                </div>
+                <div class="answer-wrap">
+                    <i class="ico ico-a"></i>
+                    <div class="answer" style="width:100%">
+                        <a href="/">메인화면</a>
+                        우측 하단에 다음과 같이 참여하고 있는 프로젝트의 목록을 볼수 있습니다. 자물쇠가 있는 것은 비공개
+                        프로젝트이며 자물쇠가 없는 것은 공개 프로젝트 입니다. 괄호 안은 프로젝트를 만든사람을 나타내며 괄호 앞은
+                        프로젝트의 제목을 나타냅니다.
+                        <p><img src="/assets/help/myProjects.png"/></p>
+                        혹은 자신의 <a href="/info">정보 페이지</a>에서도 확인하실수 있습니다.
+                    </div>
+                </div>
+            </li>
+            <li class="qa">
+                <div class="question-wrap">
+                    <i class="ico ico-q"></i>
+                    <a href="#!/toggle" class="question">프로젝트 탈퇴는 어떻게 하나요.</a>
+                    <i class="ico icor"></i>
+                </div>
+                <div class="answer-wrap">
+                    <i class="ico ico-a"></i>
+                    <div class="answer" style="width:100%">
+                        혹은 자신의 <a href="/info">정보 페이지</a>에서 참여하고 있는 프로젝트 목록을 볼수있고
+                        탈퇴도 할수 있습니다. 자신이 프로젝트의 유일한 관리자라면 해당 프로젝트에서 탈퇴를 할수 없습니다.
+                    </div>
+                </div>
+            </li>
+            <li class="qa">
+                <div class="question-wrap">
+                    <i class="ico ico-q"></i>
+                    <a href="#!/toggle" class="question">게시판에서는 어떠한 것들을 할수 있나요?</a>
+                    <i class="ico icor"></i>
+                </div>
+                <div class="answer-wrap">
+                    <i class="ico ico-a"></i>
+                    <div class="answer" style="width:100%">
+                        게시판에서는 다음과 같은 기능이 가능합니다.
+                        <ul>
+                            <li>게시물 상세 조회: 사용자는 게시물의 내용을 볼 수 있다.</li>
+                            <li>게시물 댓글 등록: 로그인 유저는 게시물에 댓글을 남길 수 있다.</li>
+                            <li>게시물 댓글 조회: 사용자는 게시물의 댓글을 볼 수 있다.</li>
+                            <li>게시물 댓글 삭제: 로그인 유저는 자신이 남긴 댓글을 삭제할 수 있다.</li>
+                            <li>관리자 게시물 댓글 삭제: 프로젝트 관리자는 댓글을 삭제할 수 있다.</li>
+                            <li>관리자 게시물 수정: 프로젝트 관리자는 게시물을 편집/삭제 할 수 있다.</li>
+                        </ul>
+                    </div>
+                </div>
+            </li>
+            <li class="qa">
+                <div class="question-wrap">
+                    <i class="ico ico-q"></i>
+                    <a href="#!/toggle" class="question">N4의 버그를 발견했어요.</a>
+                    <i class="ico icor"></i>
+                </div>
+                <div class="answer-wrap">
+                    <i class="ico ico-a"></i>
+                    <div class="answer" style="width:100%">
+                        N4는 현재 Open Source로 진행되고 있습니다. 버그를 발견하셨다면 
+                        <a href="https://github.com/nforge/nforge4/issues">N4 이슈트레커에 등록</a>해 주시거나
+                        패치를 만들어 보내주시면 됩니다. 
+                    </div>
+                </div>
+            </li>
+        </ul>
+    </div>
+    
+<script type="text/javascript">
+	$(document).ready(function(){
+		$(".qas > .qa").click(function(e){
+			$(e.currentTarget).toggleClass("open");
+		});		
+	});
+</script>
+}
+
+
+
app/views/issue/issueList.scala.html
--- app/views/issue/issueList.scala.html
+++ app/views/issue/issueList.scala.html
@@ -43,7 +43,7 @@
 @@IMPORT url("/assets/stylesheets/issue.css");
 </style>
 <div class="page-padding">
-  @views.html.prjmenu(project, utils.MenuType.ISSUE)
+  @views.html.prjmenu(project, utils.MenuType.ISSUE, "main-menu-only")
 
   <div class="dashboard">
     <dl class="row-fluid">
app/views/login.scala.html
--- app/views/login.scala.html
+++ app/views/login.scala.html
@@ -1,23 +1,35 @@
 @(message:String, userForm:Form[User])
 
 @home(message, utils.MenuType.NONE) {
-<div class="page full">
+
+	<div class="page full">
         <div class="center-wrap tag-line-wrap login">
-            <h1 class="title"><span class="high-light">Open Source</span> N4</h1>
+            <h1 class="title"><span class="high-light">Log In for</span> HIVE</h1>
             <p class="tag-line">Software development platform for Open Source project.</p>
         </div>
-        <div class="login-form-wrap">
+        <div class="login-form-wrap frm-wrap">
             <form action="@routes.UserApp.login()" method="POST">
-                <label for="loginId">
-                    <input type="text" class="text loginId" id="loginId" placeholder="ID" autocomplete="off" name="loginId">
-                </label>
-                <label for="password">
-                    <input type="password" class="text password" id="password" placeholder="PASSWORD" autocomplete="off" name="password">
-                </label>
+            	<dl>
+            		<dt>
+            			<label for="email">@Messages("user.loginId")</label>
+            		</dt>
+            		<dd>
+						<input type="text" class="text email" id="loginId" autocomplete="off" name="loginId">
+					</dd>
+					
+					<dt>
+						<label for="password">@Messages("user.password")</label>
+					</dt>
+					<dd>
+						<input type="password" class="text password" id="password" autocomplete="off" name="password">
+					</dd>
+            	</dl>
+
                 <div class="act-row">
-                    <span><input type="checkbox" class="checkbox" autocomplete="off" id="remember-me" name ="rememberMe"><label for="remember-me" class="bg-checkbox">@Messages("title.rememberMe")</label></span><span class='gray'>|</span><span class="forgot-password">
-                    <a href="/forgot-password" class="forgot-password">@Messages("title.forgotpassword")</a></span>
+                    <input type="checkbox" class="checkbox" autocomplete="off" id="remember-me" name="remeber-me"><label for="remember-me" class="bg-checkbox">@Messages("title.rememberMe")</label>
+                    <a href="/forgot-password" class="forgot-password">@Messages("title.forgotpassword")</a>
                 </div>
+                
                 <div class="btns-row">
                     <button type="submit" class="n-btn orange log-in"><i class="ico ico-user-white"></i>@Messages("button.login")</button><!--
                  --><a href="@routes.UserApp.signupForm()" class="n-btn blue join"><i class="ico ico-join"></i>@Messages("title.signup")</a>
@@ -25,4 +37,5 @@
             </form>
         </div>
     </div>
+    
 }
app/views/milestone/list.scala.html
--- app/views/milestone/list.scala.html
+++ app/views/milestone/list.scala.html
@@ -27,7 +27,8 @@
         "up"
         }
     } else {
-        "up hidden"
+    	/*"up hidden"*/
+        "up"
     }
 }
 @makeMilestoneListLink(_state: String) = @{
@@ -37,13 +38,15 @@
 }
 
 @project.projectMngMain(title, projectInst) {
-    @pageTitle(projectInst,"Milestone")
+    @views.html.prjmenu(projectInst, utils.MenuType.PROJECT_SETTING, "")
+    
     <div class="tab-wrap">
         <div class="pull-right btns">
             <a href="@routes.MilestoneApp.manageMilestones(projectInst.owner, projectInst.name)" class="n-btn small gray">MANAGE</a>
-            <a href="@routes.MilestoneApp.newMilestoneForm(projectInst.owner, projectInst.name)" class="n-btn small blue">NEW MILESTONE</a>
+            <a href="@routes.MilestoneApp.newMilestoneForm(projectInst.owner, projectInst.name)" class="n-btn small orange">NEW MILESTONE</a>
         </div>
-        <ul class="nav nav-tabs">
+        
+        <ul class="nav nav-tabs hive-tabs">
             <li class="@if(mCondition.state.equals("all")){active}">
                 <a href="@makeMilestoneListLink("all")">All Milestones</a>
             </li>
@@ -55,12 +58,19 @@
             </li>
         </ul>
     </div>
-    <div class="filter-wrap milestone">
-        <div class="filters">
-            <a href="@makeSortLink("dueDate")" class="filter"><i class="ico ico-sort @sortMark("dueDate")"></i>완료일순</a>
-            <a href="@makeSortLink("completionRate")" class="filter"><i class="ico ico-sort @sortMark("completionRate")"></i>완료율순</a>
-        </div>
+    
+	<div class="filter-wrap milestone">
+		<div class="filters">
+               <a href="@makeSortLink("dueDate")" class="filter"><i class="ico ico-sort @sortMark("dueDate")"></i>완료일순</a>
+               <a href="@makeSortLink("completionRate")" class="filter active"><i class="ico ico-sort @sortMark("completionRate")"></i>완료율순</a>
+           </div>
+       	<div class="legend">
+       		<i class="orange"></i>완료
+       		<i class="blue"></i>진행중
+       		<i class="gray"></i>미할당
+       	</div>
     </div>
+
     <ul class="milestones">
         @for(milestone <- milestones){
         <li class="milestone">
@@ -76,28 +86,44 @@
                         <a href="/uname" class="img-rounded"><img src="/assets/images/default-avatar-34.png"></a>
                     </li>
                 </ul>
+                
                 <div class="meta-info">
                     <strong class="version"></strong>
                     <span class="title">@milestone.title</span>
                     <span class="sp">|</span>
                     <span class="due-date">완료일 <strong>@milestone.getDueDateString</strong></span>
                 </div>
+                
                 <div class="progress-wrap">
-                    <div class="progress">
-                        <div class="bar orange" style="width: @milestone.getCompletionRate%;"></div>
-                    </div>
-                    <div class="pull-left">
-                        <a href="@makeIssuesLink(milestone.id,"closed")">완료 @milestone.getNumClosedIssues (@milestone.getCompletionRate%)</a>
-                    </div>
-                    <div class="pull-right">
-                        <a href="@makeIssuesLink(milestone.id,"open")">미완료 @milestone.getNumOpenIssues (@{100 - milestone.getCompletionRate}%)</a>
-                    </div>
-                </div>
+					<div class="progress">
+						<div class="bar orange" style="width: @milestone.getCompletionRate%;"></div>
+						<!-- 
+						<div class="bar blue" style="width: 30%"></div>  
+						-->
+					</div>
+					<div class="progress-label">
+						<div class="pull-left" style="width: @milestone.getCompletionRate%;">
+							<a href="@makeIssuesLink(milestone.id,"closed")">완료 <strong>@milestone.getCompletionRate%</strong></a>
+						</div>
+						<!-- 
+						<div class="pull-left center-txt" style="width: 30%;">
+							진행중 <strong>30%</strong>
+						</div> 
+						-->
+						<div class="pull-right">
+							<a href="@makeIssuesLink(milestone.id,"open")">미완료 <strong>@{100 - milestone.getCompletionRate}%</strong></a>
+						</div>
+					</div>
+				</div>
+				
                 <div class="desc">
                     @milestone.contents
                 </div>
             </div>
-            <div class="completion-rate @if(milestone.getCompletionRate == 100){done}">@milestone.getCompletionRate%</div>
+            <div class="completion-rate @if(milestone.getCompletionRate == 100){done}">
+            	@milestone.getCompletionRate
+            	<i>%</i>
+			</div>
         </li>
         }
     </ul>
app/views/prjmenu.scala.html
--- app/views/prjmenu.scala.html
+++ app/views/prjmenu.scala.html
@@ -1,4 +1,4 @@
-@(project:Project, menuType:utils.MenuType)
+@(project:Project, menuType:utils.MenuType, menuCSS:String)
 
 @import utils._
 @import models.enumeration.ResourceType;
@@ -6,10 +6,23 @@
 @import utils.AccessControl._
 
 @isActiveMenu(m_type:MenuType) = @{
-    if(m_type == menuType) {"highlight"}
+    if (m_type == menuType) {"highlight"}
 }
 
-<div class="project-menu main-menu-only">
+@makeSubMenu(call:Call, name:String) = {
+	<li class="@isActiveSubMenu(call)"><a href="@call">@name</a></li>
+}
+@isActiveSubMenu(calls: Call*) = @{
+    var menuState = ""
+    for(call <- calls) {
+        if(call.toString().equals(request().path().toString())) {
+            menuState = "highlight"
+        }
+    }
+    menuState
+}
+
+<div class="project-menu @menuCSS">
 	<div class="project-menu-wrap main">
 		<ul class="unstyled">
 			<li class="@isActiveMenu(MenuType.PROJECT_HOME)"><a href="@routes.ProjectApp.project(project.owner, project.name)">@Messages("title.projectHome")</a></li>
@@ -25,4 +38,17 @@
 			<li class="@isActiveMenu(MenuType.PROJECT_SETTING)"><a href="@routes.ProjectApp.settingForm(project.owner, project.name)">@Messages("menu.admin")</a></li>
 		</ul>
 	</div>
-</div>
+
+@** 프로젝트 설정 서브메뉴 **@
+	@if(menuType.equals(MenuType.PROJECT_SETTING)){
+	<div class="project-menu-wrap sub">
+		<ul class="unstyled on-admin">
+			@makeSubMenu(routes.ProjectApp.settingForm(project.owner, project.name),  Messages("project.setting"))
+			@makeSubMenu(routes.ProjectApp.members(project.owner, project.name), 	  Messages("project.member"))
+			@makeSubMenu(routes.MilestoneApp.milestones(project.owner, project.name), Messages("project.milestone"))
+			@makeSubMenu(routes.MilestoneApp.milestones(project.owner, project.name), Messages("project.sidebar.plugin"))
+			@makeSubMenu(routes.MilestoneApp.milestones(project.owner, project.name), Messages("project.sidebar.help"))
+		</ul>
+	</div>
+	}
+</div>
(파일 끝에 줄바꿈 문자 없음)
app/views/project/memberList.scala.html
--- app/views/project/memberList.scala.html
+++ app/views/project/memberList.scala.html
@@ -5,52 +5,72 @@
 
 @memberRole(userRole: String) = {
     @for(role <- roles){
-        <option value="@role.id" @(if(role.name.equals(userRole)) "selected" else "")>@role.name</option>
+       	<li @if(role.name.equals(userRole)){ class="active" }><a href="#!/@role.name" data-id="@role.id">@role.name</a></li>
     }
 }
 
 @projectMngMain(message, project) {
-    <table class="table">
-        @for(member <- members){
-            <tr>
-                <td>@member.user.loginId</td>
-                <td>
-	                <form action="@routes.ProjectApp.editMember(project.owner, project.name, member.user.id)" method="post">
-	                    <select id="role" name="id">
-	                        @memberRole(member.role.name)
-	                    </select>
-	                </form>
-                </td>
-                <td>
-                    <a id="deletion" data-toggle="modal" class="n-btn small red" href="#alertDeletion@member.user.loginId">@Messages("button.delete")</a>
-                </td>
-            </tr>
-            
-            <div class="modal hide" id="alertDeletion@member.user.loginId">
-                <div class="modal-header">
+	@views.html.prjmenu(project, utils.MenuType.PROJECT_SETTING, "")
+	
+	
+	<div class="bubble-wrap dark-gray wp">
+       <div class="inner-bubble">
+           <form class="nm" action="@routes.ProjectApp.newMember(project.owner, project.name)" method="post" id="addNewMember">
+               <input type="text" class="text uname" id="loginId" name="loginId" placeholder="@Messages("project.members.addMember")" pattern="[a-zA-Z0-9_][a-zA-Z0-9_]+" title="@Messages("user.wrongloginId.alert")" />
+               <button class="ns-btn" type="submit"><i class="ico ico-plus-blue"></i>@Messages("button.add")</button>
+           </form>
+       </div>
+       
+       <ul class="members project">
+       	@for(member <- members){
+       	
+       	
+           <li class="member">
+               <a href="@routes.UserApp.userInfo(member.user.loginId)" class="img-rounded pull-left"><img class="media-object" src="@User.findByLoginId(member.user.loginId).avatarUrl" width="64" height="64"></a>
+               <div class="m-body">
+                   <div class="td">
+                       <p><a href="@routes.UserApp.userInfo(member.user.loginId)"><strong class="uname">@member.user.loginId</strong></a></p>
+                       <p class="name">(@member.user.name)</p>
+                   </div>
+                   <div class="td">
+                       <div class="btn-group">
+                           <button data-toggle="dropdown" class="btn dropdown-toggle bgwhite d-label">@member.role.name</button>
+                           <button data-toggle="dropdown" class="btn dropdown-toggle bgwhite"><span class="caret"></span></button>
+                           <ul class="dropdown-menu">
+                               @memberRole(member.role.name)
+                           </ul>
+                       </div>
+                       <p class="btns">
+                           <a href="#alertDeletion@member.user.loginId" class="n-btn small light-gray" data-toggle="modal"><i class="ico ico-delete-small"></i>@Messages("button.delete")</a>
+                           <a href="#apply@member.user.loginId" class="n-btn small orange"><i class="ico ico-apply-small"></i>@Messages("button.apply")</a>
+                       </p>
+                   </div>
+               </div>
+              
+              @** TODO: 비효율적인 modal 마크업 반복. 제거하는 방향으로 검토 필요 **@
+			  <div class="modal hide" id="alertDeletion@member.user.loginId">
+				 <div class="modal-header">
                     <button type="button" class="close" data-dismiss="modal">×</button>
                     <h3>@Messages("project.member.delete")</h3>
-                </div>
-                <div class="modal-body">
+                 </div>
+                 <div class="modal-body">
                     <p>@Messages("project.member.deleteConfirm")</p>
-                </div>
-                <div class="modal-footer">
+                 </div>
+                 <div class="modal-footer">
                     <a href="#" class="btn" data-dismiss="modal">@Messages("button.no")</a>
                     <a href="@routes.ProjectApp.deleteMember(project.owner, project.name, member.user.id)" class="btn btn-danger">@Messages("button.yes")</a>
-                </div>
-            </div>
+                 </div>
+              </div>
+              @** **@
+              
+           </li>
+           
         }
-        <tr>
-            <form action="@routes.ProjectApp.newMember(project.owner, project.name)" method="post" id="addNewMember">
-	            <td colspan="2">
-	                <input type="text" id="loginId" name="loginId" class="span8"
-	                placeholder="@Messages("project.members.addMember")" pattern="[a-zA-Z0-9_][a-zA-Z0-9_]+" title="@Messages("user.wrongloginId.alert")">
-	            </td>
-	            <td>
-	                <input type="submit" class="btn-transparent n-btn blue med" value="@Messages("button.add")">
-	            </td>
-            </form>
-    </table>
+       </ul>
+    </div>
+       
+    <script type="text/javascript">
+    	nforge.require("project.roleChange");
+    </script>
     
-    <script>nforge.require("project.roleChange");</script>
 }
app/views/project/newProject.scala.html
--- app/views/project/newProject.scala.html
+++ app/views/project/newProject.scala.html
@@ -1,77 +1,87 @@
-@(title:String, newProjectForm:Form[Project])
-
-@import playRepository.RepositoryService
-
-@home(title, utils.MenuType.NEW_PROJECT){
-    <div class="page">
-        <div class="form-wrap new-project">
-            <form action="@routes.ProjectApp.newProject()" method="post" name="newproject">
-                <label for="name">
-                    <input id="project-name" type="text" name="name" class="text" placeholder="새 프로젝트 이름을 입력해주세요. (프로젝트 이름은 영문으로 공백없이 작성해 주세요)" maxlength="250">
-                </label>
-                <label for="overview">
-                    <textarea id="description" name="overview" class="text textarea.span4" placeholder="프로젝트 설명을 입력해주세요."></textarea>
-                </label>
-                <ul class="options unstyled">
-                    <li class="option">
-                        <div class="option-label">공개설정</div>
-                        <div class="option-desc">
-                            <input name="share_option" type="radio" checked="checked" id="public" value="true" class="radio-btn-"><label for="public" class="bg-radiobtn">공개</label>
-                            <input name="share_option" type="radio" id="private" value="false" class="radio-btn-"><label for="private" class="bg-radiobtn">비공개</label>
-                            <span class="note">비공개 프로젝트도 프로젝트 이름, 설명, 로그 등은 모든 사용자가 볼 수 있습니다.</span>
-                        </div>
-                    </li>
-                    <li class="option">
-                        <div class="option-label">코드관리시스템</div>
-                        <div class="option-desc">
-                            <div class="btn-group">
-                                <button data-toggle="dropdown" class="btn" id="vcs_msg">Git</button>
-                                <button data-toggle="dropdown" class="btn dropdown-toggle"><span class="caret"></span></button>
-                                <ul class="dropdown-menu" id="vcs_dropdown">
-                                    @RepositoryService.vcsTypes.map{ v =>
-                                        <li><a href="#!/git" value="@v._1">@Messages(v._2)</a></li>
-                                    }
-                                    <!-- 여기가 일반 input이 아니라서 submit시에 자료를 넣어줘야 할듯...-->
-                                </ul>
-                                <input type="hidden" name="vcs" id="vcs" value="GIT"/>
-                            </div>
-                        </div>
-                    </li>
-                    <li class="option">
-                        <div class="option-label">이용약관 <a href="#agreement" data-toggle="modal"><i class="ico ico-que-mark"></i></a></div>
-                        <div id="agreement" class="modal hide fade">
-                          <div class="modal-header">
-                            <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
-                            <h3>이용약관</h3>
-                          </div>
-                          <div class="modal-body">
-                            <pre>@agrements()</pre>
-                          </div>
-                          <div class="modal-footer">
-                            <a href="#" class="btn" data-dismiss="modal">Close</a>
-                          </div>
-                        </div>
-                        <div class="option-desc">
-                            <input type="checkbox" class="stipulation checkbox" autocomplete="off" id="stipulation" name="accept"><label for="stipulation" class="bg-checkbox">본인은 약관에 대한 안내를 읽었으며 동의 합니다.</label>
-                        </div>
-                    </li>
-                </ul>
-                <div class="actions">
-                    <button class="btn-transparent n-btn orange med">@Messages("project.create")</button>
-                    <a href="/" class="n-btn gray med cancel">CANCEL</a>
-                </div>
-            </form>
-        </div>
-    </div>
-    <script>
-    $("#vcs_dropdown li a").click(function(e){
-      var $target = $(this);
-
-      var data = $target.attr("value");
-      var msg = $target.text();
-      $("#vcs").attr("value",data);
-      $("#vcs_msg").text(msg);
-    });
-    nforge.require('validation.newProject', 'newproject');
-    </script>
-}
+@(title:String, newProjectForm:Form[Project])
+
+@import playRepository.RepositoryService
+
+@home(title, utils.MenuType.NEW_PROJECT){
+    <div class="page">
+        <div class="form-wrap new-project">
+            <form action="@routes.ProjectApp.newProject()" method="post" name="newproject" class="frm-wrap">
+            	<dl>
+            		<dt>
+            			<label for="name">새 프로젝트 이름을 입력해주세요</label>
+            		</dt>
+            		<dd>
+            			<input id="project-name" type="text" name="name" class="text" placeholder="영문으로 공백없이 작성해 주세요" maxlength="250">
+            		</dd>
+            		
+            		<dt>
+						<label for="overview">프로젝트 설명을 입력해주세요</label>
+					</dt>
+					<dd>
+						<textarea id="description" name="overview" class="text textarea.span4" style="resize:vertical;"></textarea>
+					</dd>
+            	</dl>
+
+                <ul class="options unstyled">
+                    <li class="option">
+                        <div class="option-label">공개설정</div>
+                        <div class="option-desc">
+                            <input name="share_option" type="radio" checked="checked" id="public" value="true" class="radio-btn"><label for="public" class="bg-radiobtn label-public">공개</label>
+                            <input name="share_option" type="radio" id="private" value="false" class="radio-btn"><label for="private" class="bg-radiobtn label-private">비공개</label>
+                            <span class="note">비공개 프로젝트도 프로젝트 이름, 설명, 로그 등은 모든 사용자가 볼 수 있습니다.</span>
+                        </div>
+                    </li>
+                    <li class="option">
+                        <div class="option-label">코드관리시스템</div>
+                        <div class="option-desc">
+                            <div class="btn-group">
+                                <button data-toggle="dropdown" class="btn" id="vcs_msg">Git</button>
+                                <button data-toggle="dropdown" class="btn dropdown-toggle"><span class="caret"></span></button>
+                                <ul class="dropdown-menu" id="vcs_dropdown">
+                                    @RepositoryService.vcsTypes.map{ v =>
+                                        <li><a href="#!/git" value="@v._1">@Messages(v._2)</a></li>
+                                    }
+                                    <!-- 여기가 일반 input이 아니라서 submit시에 자료를 넣어줘야 할듯...-->
+                                </ul>
+                                <input type="hidden" name="vcs" id="vcs" value="GIT"/>
+                            </div>
+                        </div>
+                    </li>
+                    <li class="option">
+                        <div class="option-label">이용약관 <a href="#agreement" data-toggle="modal"><i class="ico ico-que-mark"></i></a></div>
+                        <div id="agreement" class="modal hide fade">
+                          <div class="modal-header">
+                            <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
+                            <h3>이용약관</h3>
+                          </div>
+                          <div class="modal-body">
+                            <pre>@agrements()</pre>
+                          </div>
+                          <div class="modal-footer">
+                            <a href="#" class="btn" data-dismiss="modal">Close</a>
+                          </div>
+                        </div>
+                        <div class="option-desc">
+                            <input type="checkbox" class="stipulation checkbox checkbox-btn" autocomplete="off" id="stipulation" name="accept"><label for="stipulation" class="bg-checkbox label-agreement">본인은 약관에 대한 안내를 읽었으며 동의 합니다.</label>
+                        </div>
+                    </li>
+                </ul>
+                <div class="actions">
+                    <button class="btn-transparent n-btn orange med">@Messages("project.create")</button>
+                    <a href="/" class="n-btn gray med cancel">CANCEL</a>
+                </div>
+            </form>
+        </div>
+    </div>
+    <script>
+    $("#vcs_dropdown li a").click(function(e){
+      var $target = $(this);
+
+      var data = $target.attr("value");
+      var msg = $target.text();
+      $("#vcs").attr("value",data);
+      $("#vcs_msg").text(msg);
+    });
+    nforge.require('validation.newProject', 'newproject');
+    </script>
+}
app/views/project/projectHome.scala.html
--- app/views/project/projectHome.scala.html
+++ app/views/project/projectHome.scala.html
@@ -2,7 +2,7 @@
 
 @main(message, project, utils.MenuType.PROJECT_HOME) {
 <div class="page">
-	@views.html.prjmenu(project, utils.MenuType.PROJECT_HOME)
+	@views.html.prjmenu(project, utils.MenuType.PROJECT_HOME, "")
     
     <div class="bubble-wrap dark-gray project-home">
         <div class="inner logo">
app/views/project/projectList.scala.html
--- app/views/project/projectList.scala.html
+++ app/views/project/projectList.scala.html
@@ -1,51 +1,77 @@
 @(message: String, currentPage: List[Project], filter:String, state:String)
 
 @home(message, utils.MenuType.PROJECTS) {
-  <div class="page">
-    <div class="header-wrap">
-      <div class="stats-wrap">
-        @for(state <- Array("all", "public", "private")) {
-        <div class="stat">
-          <a href="@routes.ProjectApp.projects(state=state)">
-          <span class="desc"><strong>@Messages("project." + state.toLowerCase)</strong> @Messages("projects")</span>
-          <strong class="num @state">@Project.countByState(state)</strong>
-          </a>
-        </div>
-        }
-      </div>
-      <div class="search-wrap projects">
-        <div class="inner">
-          <form action="@routes.ProjectApp.projects()" method="get">
-            <input name="state" type="hidden" value="@state">
-            <input name="filter" class="text" type="text" placeholder="@Messages("site.project.filter")" value="@filter"><button type="submit" class="btn-transparent search-btn">SEARCH</button>
-          </form>
-        </div>
-      </div>
-    </div>
-    <ul class="all-projects">
+<div class="page">
+  
+	   <div class="header-wrap">
+         <div class="stats-wrap">
+             <div class="stat">
+             	<a href="@routes.ProjectApp.projects(state="all")">
+                 <span class="desc"><strong>@Messages("project.all")</strong> @Messages("projects")</span>
+                 <span class="num all">@Project.countByState("all")</span>
+                 </a>
+             </div>
+             <div class="stat">
+             	<a href="@routes.ProjectApp.projects(state="public")">
+                 <span class="desc"><strong>@Messages("project.public")</strong> @Messages("projects")</span>
+                 <span class="num open">@Project.countByState("public")</span>
+                 </a>
+             </div>
+             <div class="stat">
+             	<a href="@routes.ProjectApp.projects(state="private")">
+                 <span class="desc"><strong>@Messages("project.private")</strong> @Messages("projects")</span>
+                 <span class="num closed">@Project.countByState("private")</span>
+                 </a>
+             </div>
+         </div>
+         <div class="search-wrap projects">
+             <div class="inner">
+                 <form action="@routes.ProjectApp.projects()" method="get">
+                 	<input name="state" type="hidden" value="@state">
+                     <input name="filter" class="text" type="text" placeholder="@Messages("site.project.filter")" value="@filter"><button type="submit" class="btn search-btn">SEARCH</button>                        
+                     <a href="#" class="btn-advanced"><i class="ico"></i>Advanced Search</a>
+                 </form>
+                     
+                 <div class="srch-advanced">
+                 	상세검색 조건
+                 </div>
+             </div>
+         </div>
+     </div>
+      
+      <ul class="all-projects">
       @for(project <- currentPage) {
-      <li class="project">
-        <div class="info-wrap">
-          <div class="header">
-            <a href="@routes.UserApp.userInfo(project.owner)">@project.owner</a> / <a href="@routes.ProjectApp.project(project.owner, project.name)" class="project-name">@project.name</a>
-            @if(!project.share_option){
-            <i class="ico ico-lock"></i>
-            }
-          </div>
-          <div class="desc">
-            @project.overview
-          </div>
-          <p class="name-tag">by <a href="@routes.UserApp.userInfo(project.owner)">@project.owner</a> <!--<span>20 days ago.--></span></p>
-        </div>
-        <div class="stats-wrap">
-          <!--<div class="like">
-            <i class="ico ico-like"></i><span class="num">1</span>
-          </div>
-          <i class="ico ico-activity low"></i>-->
-          <a href="@routes.UserApp.userInfo(project.owner)" class="user-thumb-wrap"><img src="@project.getOwnerByName(project.owner).avatarUrl"></a>
-        </div>
-      </li>
-      }
-    </ul>
-  </div>
+          <li class="project">
+              <div class="info-wrap">
+                  <div class="header">
+                      <a href="@routes.UserApp.userInfo(project.owner)">@project.owner</a> / <a href="@routes.ProjectApp.project(project.owner, project.name)" class="project-name">@project.name</a>
+            		  @if(!project.share_option){ <i class="ico ico-lock"></i> }
+                  </div>
+                  <div class="desc">
+                      @project.overview
+                  </div>
+                  <p class="name-tag">by <a href="@routes.UserApp.userInfo(project.owner)">@project.owner</a> <!--<span>20 days ago.</span>--></p>
+              </div>
+              <div class="stats-wrap">
+                  <div class="like">
+                      <i class="ico ico-like"></i><span class="num">1</span>
+                  </div>
+                  <i class="ico ico-activity low"></i>
+                  <a href="@routes.UserApp.userInfo(project.owner)" class="user-thumb-wrap"><img src="@project.getOwnerByName(project.owner).avatarUrl" width="34" height="34"></a>
+              </div>
+          </li>
+	  }
+</ul>
+
+</div>
+
+
+<script type="text/javascript">
+$(document).ready(function(){
+	$(".btn-advanced").click(function(){
+		$(".inner").toggleClass("advanced");
+	});
+});
+</script>
+
 }
(파일 끝에 줄바꿈 문자 없음)
app/views/project/setting.scala.html
--- app/views/project/setting.scala.html
+++ app/views/project/setting.scala.html
@@ -6,8 +6,8 @@
 
 
 @projectMngMain(message, project) {
-    @views.html.prjmenu(project, utils.MenuType.PROJECT_SETTING)
-    
+    @views.html.prjmenu(project, utils.MenuType.PROJECT_SETTING, "")
+
     <div class="bubble-wrap gray">
         @form(action=routes.ProjectApp.settingProject(project.owner, project.name), 'id->"saveSetting" , 'enctype->"multipart/form-data", 'class->"nm"){
             <input type="hidden" name="id" value="@projectForm("id").value.toLong">
 
app/views/project/submenu.scala.html (deleted)
--- app/views/project/submenu.scala.html
@@ -1,21 +0,0 @@
-@(currPage: String, projectInst: Project)
-@isActiveMenu(calls: Call*) = @{
-    var menuState = ""
-    for(call <- calls) {
-        if(call.toString().equals(request().path().toString())) {
-            menuState = "selected"
-        }
-    }
-    menuState
-}
-@makeMenu(call:Call, name:String) = {
-    <li class="menu @isActiveMenu(call)"><a href="@call">@name</a></li>
-}
-<div class="sub-menu-wrap">
-    <ul class="sub-menus">
-        @makeMenu(routes.ProjectApp.settingForm(projectInst.owner, projectInst.name), Messages("project.setting"))
-        @makeMenu(routes.ProjectApp.members(projectInst.owner, projectInst.name), Messages("project.member"))
-        @makeMenu(routes.MilestoneApp.milestones(projectInst.owner, projectInst.name), Messages("project.milestone"))
-        <li class="menu"></li>
-    </ul>
-</div>(파일 끝에 줄바꿈 문자 없음)
app/views/user/signup.scala.html
--- app/views/user/signup.scala.html
+++ app/views/user/signup.scala.html
@@ -1,23 +1,23 @@
 @(message: String, newUserForm: Form[User])
 
 @home(message, utils.MenuType.NONE) {
-    <div class="page full">
+	@** Messages("title.signup") **@
+	<div class="page full">
         <div class="center-wrap tag-line-wrap signup">
-            <h1 class="title">@Messages("hive.name") <span class="high-light">@Messages("title.signup")</span></h1>
-            <p class="tag-line signup"><span>Open Source</span> Project. <span>Code</span> Repository. <span>Issue</span> Tracker. <span>Task</span> Managspanent</p>
+            <h1 class="title"><span class="high-light">Sign Up for</span> @Messages("hive.name")</h1>
+            <p class="tag-line">Software development platform for Open Source project.</p>
         </div>
+        
         <div class="signup-form-wrap">
-            <form action="@routes.UserApp.newUser()" name="signup" method="POST">
-                <label for="loginId" class="inline">
-                    <input type="text" class="text loginId" id="loginId" placeholder='@Messages("user.signupId")' autocomplete="off" name="loginId">
-                    <a class="isValid"></a>
+            <form action="@routes.UserApp.newUser()" method="POST" name="signup">
+				<label for="loginId">
+                    <input type="text" class="text password" id="loginId" placeholder="@Messages("user.signupId")" autocomplete="off" name="loginId">
                 </label>
-                <label for="username" class="inline">
-                    <input type="text" class="text uname" id="username" placeholder='@Messages("user.name")' autocomplete="off" name="name">
+				<label for="uname">
+                    <input type="text" class="text password" id="uname" placeholder="@Messages("user.name")" autocomplete="off" name="name">
                 </label>
                 <label for="email">
-                    <input type="text" class="text email" id="email" placeholder='@Messages("user.email")' autocomplete="off" name="email">
-                    <a class="isValid"></a>
+                    <input type="text" class="text password" id="email" placeholder="@Messages("user.email")" autocomplete="off" name="email">
                 </label>
                 <label for="password">
                     <input type="password" class="text password" id="password" placeholder="@Messages("user.password")" autocomplete="off" name="password">
@@ -29,11 +29,12 @@
                     @Messages("user.isAlreadySignupUser") <a href="@routes.UserApp.loginForm()" class="go-login">@Messages("title.login")</a>
                 </div>
                 <div class="btns-row">
-                    <button type="submit" class="n-btn orange sign-up">@Messages("title.signup")</button>
+                    <button type="submit" class="n-btn orange sign-up">@Messages("user.signupBtn")</button>
                 </div>
             </form>
         </div>
     </div>
+    
     <script type="text/javascript">
         var passwordField = $('#password');
         var emailField = $('#email');
conf/messages.en
--- conf/messages.en
+++ conf/messages.en
@@ -25,7 +25,7 @@
 title.projectList = Project List
 title.help = HELP
 
-hive.name = nFORGE
+hive.name = HIVE
 hive.title = Collaborative Software Development Platform
 hive.description = Make it better and simpler!
 
@@ -80,6 +80,7 @@
 button.signup = Create an account
 button.newProject = Create your project
 button.detail = Detail
+button.apply = Apply
 
 checkbox.commented = Comment
 checkbox.fileAttached = File Attached
@@ -276,6 +277,7 @@
 user.logout.success = Logout successfully
 user.isAlreadySignupUser = HAVE AN ACCOUNT ALREADY?
 user.signupId = ID (lower case)
+user.signupBtn = Sign Up 
 
 #Time
 time.just = just now
conf/messages.ko
--- conf/messages.ko
+++ conf/messages.ko
@@ -17,7 +17,7 @@
 title.login = 로그인
 title.logout = 로그아웃
 title.signup = 회원 가입
-title.forgotpassword = 패스워드를 잊어버리셨나요?
+title.forgotpassword = 비밀번호를 잊어버리셨나요?
 title.rememberMe = 로그인 유지하기
 title.commitHistory = 커밋 히스토리
 title.mailSetting = 메일 설정
@@ -25,7 +25,7 @@
 title.projectList = 프로젝트 목록
 title.help = 도움말
 
-hive.name = nFORGE
+hive.name = HIVE
 hive.title = 협업개발 플랫폼
 hive.description = Make it better and simpler!
 
@@ -81,6 +81,7 @@
 button.signup = 가입하기
 button.newProject = 여러분의 프로젝트를 만드세요.
 button.detail = 상세조회
+button.apply = 적용
 
 checkbox.commented = 댓글
 checkbox.fileAttached = 첨부파일
@@ -274,7 +275,8 @@
 user.login.failed = 아이디 또는 비밀번호가 잘못되었습니다.
 user.logout.success = 성공적으로 로그아웃되었습니다.
 user.isAlreadySignupUser = 이미 가입하셨나요?
-user.signupId = 아이디 (영문 소문자)
+user.signupId = 아이디
+user.signupBtn = 참여하기
 
 #Time
 time.just = 방금 전
@@ -345,9 +347,9 @@
 none = 없음
 
 #validation
-validation.tooShortPassword = 패스워드를 4자 이상으로 만들어 주세요!
-validation.passwordMismatch = 입력한 두 개의 패스워드가 서로 일치하지 않습니다.
-validation.retypePassword = 패스워드를 한 번 더 입력해 주세요.
+validation.tooShortPassword = 비밀번호를 4자 이상으로 만들어 주세요!
+validation.passwordMismatch = 입력한 두 개의 비밀번호가 서로 일치하지 않습니다.
+validation.retypePassword = 비밀번호를 한 번 더 입력해 주세요.
 validation.invalidEmail = 올바른 이메일을 입력해 주세요.
 validation.required = 필수 항목 입니다.
 validation.duplicated = 이미 존재합니다!
public/images/sprite.png (Binary)
--- public/images/sprite.png
+++ public/images/sprite.png
Binary file is not shown
Add a comment
List