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
241 changes: 241 additions & 0 deletions css/journey.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,241 @@
/* Journey Page Styles */

#journey-controls {
padding: 0 11.8%;
margin: 2em 0;
display: flex;
gap: 0.5em;
flex-wrap: wrap;
}

.btn-primary,
.btn-secondary {
font-family: 'premiera book', georgia, serif;
font-size: 1em;
padding: 0.5em 1em;
border: 1px solid #8b7355;
background: #fff;
color: #000;
cursor: pointer;
transition: all 0.2s ease;
}

.btn-primary {
background: #8b7355;
color: #fff;
}

.btn-primary:hover {
background: #6d5940;
}

.btn-secondary:hover {
background: #f5f5f0;
}

#journey-container {
padding: 0;
margin: 2em 0;
}

.empty-state {
padding: 0 11.8%;
color: #666;
font-style: italic;
margin: 2em 0;
}

.journey-step {
padding: 1.5em 11.8%;
margin: 1em 0;
border-top: 1px solid #d4c4a8;
position: relative;
}

.journey-step:first-child {
border-top: 2px solid #8b7355;
}

.step-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 1em;
}

.step-number {
font-family: 'premiera bold', georgia, serif;
font-weight: bold;
font-size: 1.2em;
color: #8b7355;
}

.step-controls {
display: flex;
gap: 0.5em;
}

.btn-icon {
background: none;
border: none;
cursor: pointer;
font-size: 1.2em;
padding: 0.25em 0.5em;
color: #8b7355;
transition: color 0.2s ease;
}

.btn-icon:hover {
color: #6d5940;
}

.step-field {
margin: 1em 0;
}

.step-field label {
display: block;
font-family: 'premiera bold', georgia, serif;
font-weight: bold;
margin-bottom: 0.25em;
font-size: 0.9em;
color: #666;
}

.step-field input,
.step-field textarea {
width: 100%;
font-family: 'premiera book', georgia, serif;
font-size: 1em;
line-height: 1.375em;
padding: 0.5em;
border: 1px solid #d4c4a8;
background: #fff;
box-sizing: border-box;
transition: border-color 0.2s ease;
}

.step-field input:focus,
.step-field textarea:focus {
outline: none;
border-color: #8b7355;
}

.step-field textarea {
min-height: 4em;
resize: vertical;
}

.step-title-input {
font-family: 'premiera bold', georgia, serif;
font-weight: bold;
font-size: 1.1em;
}

/* Move up/down buttons */
.btn-move {
background: none;
border: 1px solid #d4c4a8;
cursor: pointer;
padding: 0.25em 0.5em;
font-size: 0.9em;
color: #8b7355;
transition: all 0.2s ease;
}

.btn-move:hover {
background: #f5f5f0;
border-color: #8b7355;
}

/* Import/Export Modal */
.modal {
display: none;
position: fixed;
z-index: 1000;
left: 0;
top: 0;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.5);
align-items: center;
justify-content: center;
}

.modal.active {
display: flex;
}

.modal-content {
background-color: #fff8e5;
padding: 2em;
border: 2px solid #8b7355;
max-width: 600px;
width: 90%;
max-height: 80vh;
overflow-y: auto;
}

.modal-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 1em;
padding-bottom: 0.5em;
border-bottom: 1px solid #d4c4a8;
}

.modal-header h2 {
margin: 0;
font-size: 1.5em;
}

.modal-close {
background: none;
border: none;
font-size: 1.5em;
cursor: pointer;
color: #8b7355;
padding: 0;
width: 1.5em;
height: 1.5em;
line-height: 1;
}

.modal-close:hover {
color: #6d5940;
}

.modal-body textarea {
width: 100%;
min-height: 200px;
font-family: monospace;
font-size: 0.9em;
padding: 0.5em;
border: 1px solid #d4c4a8;
background: #fff;
box-sizing: border-box;
}

.modal-footer {
margin-top: 1em;
display: flex;
gap: 0.5em;
justify-content: flex-end;
}

/* Responsive adjustments */
@media screen and (max-width: 768px) {
#journey-controls {
flex-direction: column;
}

.btn-primary,
.btn-secondary {
width: 100%;
}

.step-controls {
flex-wrap: wrap;
}
}
1 change: 1 addition & 0 deletions index.php
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,7 @@
<ul>
<li><a href="/intro/">Read the Introduction</a></li>
<li><a href="/toc/">Table of Contents</a></li>
<li><a href="/journey/">User Journey</a></li>
<li><span style="left:-3.5em">Latest: </span><a href="/<?php echo $latest_num ?>"><?php echo $latest_num." ".$latest ?></a></li>
</ul>
</div>
Expand Down
64 changes: 64 additions & 0 deletions journey.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
<?php
// Turn on PHP Error Reporting
#ini_set("display_errors","2");
#ERROR_REPORTING(E_ALL);

$dr = str_replace($_SERVER['SCRIPT_NAME'], '/includes/', $_SERVER['SCRIPT_FILENAME']);
?>
<!DOCTYPE html>
<html lang="en-gb">
<head>
<title>User Journey | The Elements of Typographic Style Applied to the Web</title>
<?php include($dr . "headlinks.inc.php") ?>
<link rel="stylesheet" type="text/css" href="/css/journey.css" />
</head>

<body class="bits">
<?php include($dr . "header.inc.php") ?>

<div id="main">
<h1>User Journey</h1>

<p>Create your own typographic journey by adding steps, inputs, and results. Each step represents a stage in your design process, helping you document and track your typography decisions.</p>

<div id="journey-controls">
<button id="add-step" class="btn-primary">Add Step</button>
<button id="clear-journey" class="btn-secondary">Clear Journey</button>
<button id="export-journey" class="btn-secondary">Export</button>
<button id="import-journey" class="btn-secondary">Import</button>
</div>

<div id="journey-container">
<!-- Steps will be dynamically added here -->
</div>

<div id="journey-empty" class="empty-state">
<p>No steps yet. Click "Add Step" to begin your journey.</p>
</div>

</div> <!-- /main -->

<div id="supp">
<h2>About User Journeys</h2>
<p>A user journey helps you:</p>
<ul>
<li>Document your design process</li>
<li>Track typography decisions</li>
<li>Record inputs and outcomes</li>
<li>Share your workflow</li>
</ul>

<h3>How to Use</h3>
<p><strong>Add Step:</strong> Create a new step in your journey</p>
<p><strong>Edit:</strong> Click on any field to edit it</p>
<p><strong>Delete:</strong> Remove steps you no longer need</p>
<p><strong>Export/Import:</strong> Save and share your journey</p>

<?php include($dr . "book.inc.php") ?>
</div> <!-- /supp -->

<script src="/js/journey.js"></script>

<?php include($dr . "footer.inc.php") ?>
</body>
</html>
Loading